Professional Documents
Culture Documents
이런 시스템의 특징은,
· 복잡도가 높고 (예, 심층 신경망)
· 빅데이터를 기반으로 하며
· 명세가 거의 없고
· 비결정적(non-deterministic) 이다.
때문에 이런 시스템을 테스트하기 위한 많은 새로운 도전과 동시에 기회가
창출되고 있다.
2.1 AI 고유 특성 025
AI-Specific Characteristics
2.1.1 적응성 025
들어가면서 Introduction 003 Adaptability
2.1.2 자율성 026
Autonomy
1 AI와 테스팅 소개 Introduction to AI and Testing 010 2.1.3 진화 026
Evolution
1.10 좁은 AI 대 일반 AI, 기술 특이점 017 2.5 AI 기반 시스템 고유의 윤리적 요구사항 031
Narrow vs General AI and Technological Singularity Specifying Ethical Requirements for AI-Based Systems
Testing
the ‘AI Effect’)
01
옥스포드 사전은 이에 대해 다음과 같이 정의하고 있다:
AI와 테스팅 소개
지식과 기술을 습득하고 적용하는 능력
인공 지능은 사람이나 동물이 보여주는 것처럼 자연적으로 발생하는 지능이 아니다. 다음의 정의는
이 개념을 보여준다:
일반적으로 지능적인 존재와 관련된 작업을 수행할 수 있는 시스템의 능력
실제로, 사람들이 AI라고 생각하는 컨셉은 시간에 따라 변화한다. 이를 종종 ‘AI 효과(AI Effect)’
라고 한다 [AI Effect, 2019]. 위 정의를 엄격히 적용하면 AI가 아닌 기본(비AI) 컴퓨터 시스템도 AI
로 볼 수 있다. 예를 들어, 1980년대 은행 직원의 업무를 수행하는 고정 규칙에 기반한 전문 시스템은
AI로 간주되었지만 오늘날 이러한 시스템은 AI로 보기에는 너무 단순하다. 이와 유사하게, 1997년
체스 게임에서 게리 카스파로프(Garry Kasparov)를 이긴 딥블루(Deep Blue) 시스템은 무차별
공격 방식(brute force approach)을 사용한 것으로 오늘날의 관점에서는 진정한 AI로 보기 어렵다.
오늘날의 최첨단 AI도 20년 안에 ‘AI라고 하기에는 너무 단순하다’고 여겨질 것이다.
1.3 AI 사용과 시장 (AI Usage and Market) 역사적으로 소프트웨어 장애는 적절한 소프트웨어 테스팅의 필요성을 유도하는 중요한 역할을 해
왔다. 업계 조사에 따르면 AI는 소프트웨어 테스팅에서 중요한 트렌드이다.
AI 기반 시스템은 지난 어느 때보다 점점 더 광범위하게 사용되고 있다: · AI는 향후 3-5년 내에 테스팅 업계에서 중요한 신기술로 평가될 것이다 [SoTR 2019].
· 기술 경영진(technology executives)의 69%가 향후 5-10년 동안 가장 중요한 3대 기술 중 하나로 AI를 · AI는 향후 5년 동안 소프트웨어 테스팅 업계에서 두 번째로 중요한 기술(응답자의 49.9%)이라고 평가되었다
선정함에 따라 AI가 최근 가장 중요한 기술이라는 인식이 자리잡고 있다 [Edelman 2019]. [ISTQB 2018].
· 기술 경영진의 91%는 AI가 차세대 기술혁명의 중심에 있을 거라고 믿고 있다 [Edelman 2019]. · 소프트웨어 테스팅에서 가장 인기 있는 트렌드로 AI, CI/CD, 보안을 똑같은 1위로 꼽았다 [LogiGear 2018].
· AI 기술을 필요로 하는 직업의 비율은 2013년 이후 4.5배 증가했다 [AI Index 2017].
· AI를 사용하는 기업 애플리케이션의 전세계 매출은 2018년 1.89억원에서 2025년 3조 6천억원으로 증가할 아래처럼 AI 기반 시스템에서 테스팅이 이미 수행되고 있다:
것으로 예상된다 [Statista 2019]. · 응답자의 19%가 이미 AI/기계 학습(Machine Learning,ML)에 대한 테스팅을 수행하고 있다 [SoTR 2019].
· AI는 향후 10년 동안 세계 경제규모를 지금보다 13조 달러 증가시킬 것으로 예상된다 [Harvard 2018]. · 57%의 기업이 새로운 테스팅 접근법을 실험하고 있다 [WQR 2019].
· IT 예산의 22%는 AI 프로젝트에 할당된다 [WQR 세계품질리포트, 2019].
· 64%의 기업이 AI프로젝트를 시행했거나 향후 12개월 내 시행할 계획을 세웠다 [WQR, 2019].
1.5 튜링 테스트와 AI의 역사 (The Turing Test and the History of AI) [History 2019]
1.4 AI 기반 시스템의 장애와 테스팅의 중요성 (Failures and the Importance of Testing AI는 1950년대부터 시작된 것으로 알려져 있다. 1950년 앨런 튜링(Alan Turing)은 현재 ‘튜링
for AI-Based Systems) 테스트’로 불리는 테스트를 포함한 기계 지능(Machine Intelligence)에 관한 논문을 발표했다
[Turing 1950].
이미 널리 알려져 있는 AI 장애는 수없이 많다. 2019년 IDC 설문조사에 따르면, 대부분의 조직이 AI 1951년 영국에서는 체커(checkers) 게임을 성공적으로 수행하고 배우도록 개발된 페란티 마크 1
프로젝트를 실패한 경험이 있다고 보고했으며, 약 25%의 기업에서는 실패율이 최대 50%에 이른다고 (Ferranti Mark 1)을 선보였다.
한다. 실패의 가장 큰 원인은 숙련된 직원 부족과 비현실적인 기대인 것으로 나타났다. 1956년 미국의 컴퓨터 과학자인 존 매카시(John McCarthy)는 다트머스 컨퍼런스(Dartmouth
Conference)를 조직해 ‘인공 지능’ 이라는 용어를 처음 채택했다 (나중에 그는 AI 애플리케이션에서
AI 실패 사례를 살펴보면 다음과 같다: 널리 사용되는 LISP 프로그래밍 언어를 개발했다).
· IBM의 “Watson for Oncology(암환자 치료용 왓슨)” 시스템은 “안전하지 않은 치료”를 유도함으로써 6천 2 몇 년 후 뉴얼과 사이먼은 다양한 수학 문제를 해결하기 위해 처음으로 일반 문제 해결 알고리즘
백만 달러라는 손해를 입히고 취소되었다 [IEEE 2019]. (General Problem Solver algorithm)을 개발했다.
· 마이크로소프트의 AI 챗봇 타이(Tay)가 트위터 트롤(Twitter trolls)에 의해 손상되었다 [Forbes 2016]. 다트머스 컨퍼런스 이후, AI는 DARPA 연구 자금 지원을 통해 번창하는 연구 분야가 되었고,
· 조슈아 브라운(Joshua Brown)이라는 운전자는 밝은 대낮에 테슬라 모델 S(Tesla Model S)가 18륜 일본에서는 ‘지능형’ 휴머노이드 로봇에 대한 연구로 1972년 WABOT-1이 탄생했다. 또한, 1960
트레일러 트럭을 발견하지 못함으로 발생한 사고로 인해 사망했다 [Reuters 2017]. 년대에 ELIZA 시스템에 대한 작업으로 세계 최초의 챗봇(chatbot)이 탄생했다.
· 엘레인 허츠버그(Elaine Herzberg)라는 여성은 애리조나에서 밤 10시에 자전거를 타고 길을 건너던 중 시속 첫 ‘AI 겨울(AI Winter)’은 대략 1974년부터 1980년까지 이어졌다. 초기 낙관론은 연구원들이
AI 기반 시스템, 특히 패턴 인식(예, 머신 비전, 음성 인식)을 수행하는 신경망으로 구현된 기계 오픈소스 AI 개발 프레임워크는 여러 가지가 있으며, 일부는 특정 응용프로그램에 최적화되어 있다.
학습(ML) 시스템은 많은 계산을 병렬로 수행해야 한다. 이런 계산을 효율적으로 수행하지 못하는 가장 널리 쓰이는 것들은 다음과 같다:
범용 CPU 대신, 수천 개의 코어를 사용해 이미지 병렬 처리에 최적화한 그래픽 처리 장치(GPU)를 · 텐서플로우(TensorFlow): 구글의 확장 가능한 기계 학습(ML)을 위한 데이터 흐름 그래프 기반
종종 사용한다. 그러나 GPU는 AI에 최적화돼 있지 않으며 현재는 AI를 위해 특별히 개발된 차세대 · 파이토치(PyTorch): 파이썬 언어로 심층 학습을 위한 신경망
하드웨어를 사용할 수 있게 되었다. · MxNet: AWS를 위해 아마존에서 사용하는 심층 학습 오픈 소스 프레임워크
상당수의 AI 구현은 본질적으로 정확한 계산보다는 확률론적 결정에 중점을 두므로 64 비트 · 카페/카페2(Caffe/Caffe2): 파이썬 인터페이스를 사용하여 C++로 작성된 심층 학습 개방형 프레임워크
프로세서의 정확도는 불필요하고 비트 수가 적은 프로세서가 에너지를 덜 소비하면서 더 빠른 실행이 · CNTK: 마이크로소프트 인지 툴킷(CNTK), 오픈 소스 심층 학습 툴 킷
가능하다. 비교적 간단한 계산을 위한 많은 처리시간과 에너지는 RAM에서 프로세서로 대량의 · 케라스(Keras): 텐서플로우 또는 CNTK에서 실행할 수 있는 파이썬으로 작성된 상위 수준 API
데이터를 이동하는 것과 관련이 있기 때문에 메모리에서 직접 간단한 계산을 수행할 수 있는 위상
변경 메모리 장치(phase changing memory devices)의 개념도 개발되고 있다 [HPC 2018].
AI 특수 하드웨어 아키텍처(AI-specific hardware architectures)에는 차세대 GPU 외에도 1.10 좁은 AI 대 일반 AI, 기술 특이점 (Narrow vs General AI and Technological
신경망 처리 장치, FPGA(field programmable gate arrays), 응용프로그램 특화 집적 회로 및 Singularity)
뉴로모픽 컴퓨팅(neuromorphic computing) 등이 있다. 이러한 아키텍처 내의 일부 칩은 이미지
인식과 같은 AI의 특정 영역에 중점을 둔다. 기계 학습(ML)을 수행할 때(3장 참조) 모델훈련에 지금까지 성공적인 AI는 모두 '좁은(narrow)' AI였다. 즉, 바둑을 실행하거나 스팸을 걸러내고
사용한 처리과정은 배치된 모델에서 추론을 실행하는 데 사용한 처리과정과 많이 다를 수 있으며 자율주행차를 운전하는 것 같은 단일 작업을 처리할 수 있는 것이다.
이는 각 활동에 대해 서로 다른 프로세서(processors)를 고려해야 함을 뜻한다. 일반(general) AI는 좁은 AI보다 훨씬 발전된 것으로, 인간과 매우 유사한 다양한 작업을 처리할
수 있는 AI 기반 시스템을 말한다. 일반 AI는 HLMI (High-Level Machine Intelligence) 라고도
AI 하드웨어의 예는 다음과 같다: 한다. 2017년에 발표된 AI 연구자들의 조사에 따르면 HLMI 달성시기에 대한 전체 평균 추정치는
· NVIDIA: VOLTA와 같은 다양한 GPU 및 AI 특수 프로세서(AI-specific processors)를 제공한다 [Volta 2061년이었다고 한다. 이 AI 연구자들 중 15 %는 HLMI가 인간에게 부정적인 결과를 가져올
2019]. 것이라고 믿었다 [Grace 2017].
· 구글(Google): 학습 및 추론을 위한 응용프로그램 특화 집적회로(application-specific integrated circuits) 널리 알려진 가설은 일단 일반 AI가 달성되면(그리고 AI 기반 시스템이 인터넷에 액세스할
를 개발했다. 구글 TPUs(클라우드 텐서 처리 장치) [CloudTPU 2019]는 구글 클라우드와 개인 장비에 AI를 수 있게 되면) AI 기반 시스템은 가용 정보, 처리 능력, 스토리지 접근을 사용해 자체 계발(self-
실행하기 위해 설계한 특수제작 ASIC인 에지 TPU(Edge TPU) [Edge TPU 2019] 사용자가 접근할 수 있다. improvement) 주기에 진입한다는 것이다. 이렇게 되면 얼마 머지않아 시스템이 인간보다 지능적,
· 인텔(Intel): 심층 학습(훈련 및 추론)을 위한 너바나(Nervana) 신경망 프로세서 [Nervana 2019]와 컴퓨터 초지능적(super-intelligent)으로 발전하게 됨을 의미한다. 이러한 지능 폭발이 발생하는 지점을
비전 및 신경망 애플리케이션에서 추론을 위한 모비디우스 미리어드 비전 프로세싱 유닛(Movidius Myriad 2 기술 특이점(Technological Singularity)이라고 한다 [TS 2019].
Vision Processing Unit) [Myriad 2019]을 제공한다.
· 애플(Apple): 아이폰에 온디바이스 AI(on-device AI)를 위한 바이오닉 칩(Bionic chip)을 포함하고 있다
자율 시스템은 물리적(physical) 또는 순수 디지털(purely digital) 시스템일 수 있으며 다음과 같은 autonomous system)을 단일 기계 학습(ML) 시스템으로 구현할 수도 있다 (예, 비디오 입력 및 조향
일을 수행하기 위한 시스템을 포함한다: (steering) 출력을 기반으로 수동 조향 ‘관찰(observing)’의 형태로 배우는 자동차 조향 시스템).
· 운송
- 자동차/트럭
- 무인 항공기(드론) 1.12 안전관련 AI 기반 시스템 (Safety-Related AI-Based Systems)
- 선박/배
- 기차 AI 기반 시스템은 안전 관련 주요 결정을 내리는 데 이미 사용되기 시작했으며 이러한 추세는 안전관련
· 로보틱/ IoT 플랫폼 (예, 생산시설, 진공 청소기, 자동온도조절장치) 시스템을 위한 AI 사용의 증가를 예견하고 있다. 안전은 ‘시스템이 정의된 조건 하에서 인간의 생명,
· 금융 시스템 (예, 자동 시장 거래 시스템) 예측 불가능성으로 인해 피해를 일으키지 않는 증거 기반 사례를 만들기는 매우 어렵다. 그러나
결정과 함께 정확성을 제공하는 능력은 안전관련 시스템 내에서 AI와 기존의 비 AI 접근법을 결합한
[그림 1]에서와 같이, 자율 시스템은 감지(sensing), 결정(decision making), 제어(control)의 세 리스크 기반 접근 방식의 일부로 사용할 수 있다. AI 기반 시스템의 안전관련 표준은 1.13.1.2에서
가지 상위 기능을 포함하는 논리 구조로 볼 수 있다. 센서(예, 카메라, GPS, RADAR, LIDAR)는 감지 다루고 있다.
(actuator)를 호출해 결정값을 구현한다 (예, 공기 방출, 연료 밸브 열기). 품질을 개선하여 사용자의 안전을 보장하는 것을 목표로 한다. AI 표준화는 다양한 기관에서 진행할
수 있다:
· 국제 표준화 기구
· 지역 표준화 기구
· 국가 표준
· 기타 표준화 기구
[그림 1]: 자율 시스템의 논리 구조 ISO와 IEC의 공동기술위원회(JTCL) 산하 소위원회 42(ISO SC42)에서 인공 지능을 주로 담당하고
and Acceptance Criteria AI 기반 시스템도 여느 시스템과 동일하게 기능 및 비기능 요구사항을 모두 가지고 있다. 따라서
[그림 2]에서와 같이 ISO 25010 품질 모델(ISO 25010 Quality Model)의 품질 특성을 이용해 AI
02
기반 시스템의 요구사항을 부분적으로 정의할 수 있다 [25010 2011]. 그러나 AI 기반 시스템에는
AI 시스템 특성과
인수 조건
적응성, 자율성, 진화, 유연성, 편향, 성능, 투명성, 복잡성, 비결정성 등 이 품질 모델에는 없는 고유한
특성이 있다. 이런 비기능 특성은 테스팅 방법에 대한 제안과 함께 아래에 보다 자세히 설명되어 있다.
AI 기반 시스템에 대한 전체 품질 특성 세트는 테스팅으로 완화해야 하는 리스크를 식별하기 위해
테스트 계획에서 사용하는 체크리스트의 베이시스로 활용할 수 있다. 일련의 비기능 요구사항과
마찬가지로 이런 특성들 사이에는 약간의 상호작용, 중복 및 충돌이 있을 수 있다.
026 Testing AI Guidelines ver 1.8 027 AI System Characteristics and Acceptance Criteria
이고 Y이면 Z이다’라는 규칙은 없다). 투명성 부족의 또 다른 요인은 훈련 데이터의 출처나 선택이 앞에서 언급했듯이, 심층 신경망이 일억 개 이상의 매개 변수를 갖는 것은 드문 일이 아니다.
모호한 경우이다. 이런 시스템의 복잡성은 테스트 오라클 문제를 일으킨다. 복잡한 AI 기반 시스템의 단일
투명도 요구수준은 시스템마다 다르다. 가령, 마케팅 캠페인을 알려주는 데 사용하는 결과는 테스트 케이스 결과에 합의하려면 전문가들의 시간과 토론이 필요하며, 최대한 많은 양의 테스트
수술이나 형량 결정(예, 규제 대상 분야)과 같은 보다 중요한 시스템에 사용하는 결과보다는 투명성 실행이 이상적이긴 하지만 기대 결과를 서서히 만들어 내면서 이를 대부분의 전문가에게 의존해야
요구가 적을 것이다. 중요한 시스템의 경우 최소한 시스템을 신뢰하는 법을 배울 때까지 이 투명성이 한다는 건 불가능한 일이다. 테스트 오라클 문제 해결을 위해 A/B 테스팅, 대부분의 백투백 테스팅,
필요하다. 일반개인정보보호법(GDPR)에는 특정 의사결정시스템의 설명가능성에 대한 요구사항이 변형 테스팅 등 다수의 테스트 기법을 사용할 수 있다 (이런 기법에 대한 상세 내용은 6장 참조).
포함되어 있다.
AI 프레임워크마다 다른 수준의 투명도를 제공하며, 요구되는 투명도 수준에 따라 다른 프레임워크가 2.1.9 비결정성 (Non-Determinism)
선택되어야 한다. 많은 비기능 요구사항과 마찬가지로 다른 비기능 특성과 충돌이 있을 수 있다. 다른 비결정적 시스템에서는 결정적 시스템과는 달리 실행할 때마다 동일한 입력에서 동일한 출력을
프레임워크가 [그림 3]에서 보여지듯이, 이 경우 투명도 달성과 정확도 사이에 균형이 필요할 수 있다. 생성한다는 보장이 없다. 비결정적 시스템에서는 동일한 사전조건과 테스트 입력을 가진 테스트에서
잠재적 투명도 문제를 해결하는 한 가지 방법은 (불투명)배포 모델을 만드는 데 사용한 프레임워크, 유효한 여러 개의 결과가 나올 수 있다. 일반적으로 테스터가 결정성을 가정하여 테스트 재실행 시
훈련 알고리즘 및 훈련 데이터 선택에 대한 세부 정보를 공개하는 것이다. 설명 가능한 AI(XAI: 이전과 동일한 결과를 얻을 수 있게 하고, 이는 리그레션 또는 확인 테스팅에 테스트를 재사용할
Explainable AI) 분야에서는 AI기반 시스템에 대한 보다 쉬운 설명을 위한 방안을 다룬다 [XAI 때 아주 유용하다. 그러나 많은 AI 기반 시스템은 확률적 구현에 기반하므로 동일한 테스트 입력에
2019]. 대해 항상 동일한 결과를 생성하지는 않는다. 가령, 분명하지 않은 네트워크(non-trivial network)
에서 최단 경로 계산은 정확한 값을 산출하기에(강력한 컴퓨터를 쓰더라도) 너무 복잡하다고 알려져
있으며 보통은 준-최적 해결법(sub-optimal solutions) 정도가 수용 가능하다고 여겨지고 있다.
종종 AI가 아닌 그냥 전통적이고 복잡한 시스템에도 있긴 하나, AI 기반 시스템에는 동시 처리
(concurrent processing)와 같은 비결정성의 다른 원인들이 있을 수 있다.
비결정적 시스템 테스팅을 위해 테스터는 동일한 테스트 케이스에 대해 다수의 실제결과가
옳은 것일 수 있음을 설명해야 한다. 가령, 결정적 시스템에서는 단순하게 ‘실제결과 = 예상결과’를
보고 정확성을 확인하는 반면, 비결정적 시스템의 경우는 테스터가 필요한 동작에 대해 보다 깊은
지식이 있어야 테스트 통과에 대한 합리적 결론에 도달할 수 있다 (예, ‘최적 해결안의 2%이내에서
최단 경로’).
투명성 테스팅은 정성적(qualitative) 활동이며, AI 기반 시스템 동작이 이해하기 쉽고 제공된 설명이 러셀 [Russell 2019]은 AI 기반 시스템의 두 가지 주요 문제를 지적한다. 첫 째는, 명시된 기능이
충분한지 결정할 수 있도록 관련자들 또는 관련 테스터들이 수행할 것을 요구한다. 인간의 가치와 완벽하게 일치하지 않을 수 있으며 분명하게 정의하기도 매우 어렵다는 것이다. 그는
마이다스(Midas) 왕의 예를 드는데, 만지는 것마다 금으로 바꾸는 능력을 원해 그대로 되었지만, 그가
2.1.8 복잡성 (Complexity) 진정으로 원한 것은 아니었다는 것을 깨닫게 되는 것이다. AI 기반 시스템의 요구목표를 명시할 때
AI 기반 시스템, 특히 심층 학습으로 구현된 시스템은 매우 복잡할 수 있다. AI 기반 시스템은 요구사항이 실제로 필요로 하는 사항인지 확인해야 한다. 아니면 시스템이 인간의 규범을 고려하면서
복잡한 문제 특성(예, 빅 데이터 기반 의사결정)때문에 대안을 찾기 어려운 경우 종종 사용된다. 요구사항을 제공할 정도로 지능적인지 확인해야 한다.
028 Testing AI Guidelines ver 1.8 029 AI System Characteristics and Acceptance Criteria
AI 기반 시스템이 이런 인간 규범을 배우는 한 가지 방법은 관찰이지만, 관찰한 인간 행동이 해석할 때 일어난다. 청소로봇의 예에서, 매우 높은 점수를 얻는 방법 중 하나는 처음에 바닥을 아주
대표적이면서 ‘좋은’ 인간 행동인지 주의를 기울여야 한다 (비이성적 행동이 ‘좋은’ 사람에 의한 더럽게 만들어(이는 주방 청소라는 초기 목표에 부합하지 않는 활동이다) 더 많은 먼지를 제거할
것일지라도 의도적으로 나쁜 행동과 비이성적 행동은 배제하는 것으로 정의). 오늘날 받아들여지는 기회를 만드는 것이다. 이 예에서 바닥은 결국 깨끗해지겠지만 불필요한 에너지가 소비된다. AI 기반
행동들이 20년 전에 받아들여졌던 행동과는 또 상당히 다르기 때문에 인간 규범도 빠르게 변할 수 시스템이 요구목표는 충족하지 않으면서 보상 기능을 만족하는 보상 해킹의 예는 많다 (예, 비전
있는 지속적 과정으로 이해하고 학습해야 한다. 시스템을 비활성화해 먼지를 적게 보이게 하는 보상 기능을 가진 로봇 등).
러셀이 지적한 두 번째 문제는 충분히 유능한 지능 시스템은 자기를 위한다기보다 주어진 업무를 그럼에도 시스템의 혁신 능력에 제한을 두는 것은 해결책이 아니다. AI 기반 시스템의 매력적인
성공적으로 수행하기 위해 지속적으로 존재하기를 원하고, 물리적 및 계산에 필요한 자원을 기능 중 하나는 문제를 해결할 수 있는 현명한 방법, 종종 인간이 고려하지 않았거나 심지어 이해하지
확보하고자 한다는 것이다. 충분히 지능적인 시스템은 ‘끄기’ 스위치가 활성화되면 주어진 작업목표를 못하는 방식으로 문제를 해결할 수 있어야 한다는 것이다.
달성하지 못하므로 작동초기에 이 스위치를 비활성화한다는 것이다. AI 기반 시스템은 주어진 목표를
달성하려고 시도하지만 이때 발생할 수 있는 부작용(2.3참조)이나 보상 해킹(2.4 참조)을 초래하는
동작에 주의해야 한다. 2.5 AI 기반 시스템 고유의 윤리적 요구사항 (Specifying Ethical Requirements for AI-
Based Systems)
2.3 부작용 (Side-Effects) 캠브리지 사전에, ‘윤리’는 ‘동작을 제어하는 허용된 신념 체계, 특히 도덕에 기반한 시스템’이라고
정의되어 있다. AI 기반 시스템이 더 대중화됨에 따라 AI 기반 시스템이 윤리를 어떻게 구현할
부작용은 AI 기반 시스템이 목표를 달성하려고 할 때 발생하며 환경에(보통 부정적인) 영향을 준다. 것인가가 AI 분야에서 가장 많이 논의되는 주제이며, 이 토론에는 AI의 기술적 측면과 관련된
가령, 주방 청소를 맡은 가정용 청소로봇은 새 강아지를 ‘제거’하는 것이 목표 달성에 도움이 된다고 사람들보다 더 많은 사람들이 참여하고 있다.
결정할 수 있다. 물론 강아지가 주방에 있을 수 있기 때문에(그래서 제거되지 않도록) 로봇에게 AI에서 윤리에 대한 관심의 예로 MIT의 윤리 기계(Moral machine, moralmachine.mit.edu)
명시적으로 요구할 수 있지만 AI 기반 시스템이 훨씬 더 복잡한 환경에서 사용됨에 따라 로봇 를 들 수 있다 [Moral 2018]. 이는 자율주행차가 내릴 수 있는 도덕적 결정에 대한 사람들의 의견을
운영 환경의 모든 측면과 상호작용하는 법을 명시적으로 지정하는 것은 불가능하다. 예를 들어, 수집하고 해당 차량 개발자에게 지침을 제공하기 위한 플랫폼이다. 이 플랫폼은 2014년과 2018년
청소로봇은 고압 호스로 주방을 청소하면 전기 기기나 소켓에 물이 들어가 부정적 영향을 끼치므로 사이에 233개 국가 및 지역의 수백만 명의 사람들로부터 10개 언어로 4천만 가지의 윤리적 결정을
유용하지 않다는 사실을 알아야 한다. 수집했다. (진행 중인) 연구에 따르면 시스템은 어린 사람들에게 우선순위를 부여하고, 동물보다는
상위 수준에서, AI 기반 시스템의 특정 목표는 부작용을 최소화하는 경고를 포함해야 한다. 좁은 사람을 우선하며, 소수보다는 다수의 사람들을 구하는 데 우선순위를 두어야 한다 (예, 보행자 2명
(narrow) AI의 경우, 이런 부작용을 명시적으로 기술할 수 있지만, AI 기반 시스템이 더 발전하고 보다 자동차 탑승자 4명을 구함). 이 연구는 또한 세계 각지의 사람들의 선택에 큰 차이가 있음을
다양한 운영 환경에서 사용됨으로, 목표 달성을 위해 작업 시 환경에 최소한의 변경만을 가하도록 알아냈다. 즉, 자율주행차의 사용 지역에 따라 다른 윤리적 지침을 따라야 할 수도 있다.
요구하는 등의 일반적 경고를 정의하는 것이 더 효율적일 수 있다. 인공 지능에 관한 유럽위원회 상위 전문가 그룹(The European Commission High-Level
Expert Group)에서는 2019년 4월 윤리 영역에서 신뢰할 만한 AI 홍보를 위한 주요 지침을
발표했으며 [Ethics 2019] 여기에서는 AI 시스템 개발, 배포 및 사용에서 지켜야 할 윤리적 원칙을
2.4 보상 해킹 (Reward Hacking) 다음과 같이 정의한다:
· 인간의 자율성, 피해 방지, 공정성 및 설명가능성에 대한 윤리적 원칙을 준수하는 방식으로 AI 시스템을 개발,
강화 학습(3.1 참조)을 사용하는 AI 기반 시스템은 시스템이 목표를 달성할 때 시스템에 더 높은 배포 및 사용하며, 이 원리들 사이의 잠재적 긴장을 인지하고 대한다.
점수를 주는 보상 기능을 기반으로 한다. 예를 들어, 가정용 청소로봇에는 바닥에서 제거하는 · 어린이, 장애를 가진 사람, 역사적으로 불이익이나 배제 당할 위험이 있는 사람과 같은 취약 계층을 포함한
먼지의 양에 따라 보상을 받는 기능이 있을 수 있다. 제거한 먼지가 많을수록 더 높은 점수를 받는 상황에 특별한 주의를 기울인다. 또한 고용주와 근로자 간 또는 기업과 소비자 간과 같이 권력이나 정보의
것이다. 보상 해킹은 AI 기반 시스템이 보상 기능을 충족해 높은 점수를 얻지만 요구목표를 잘못 비대칭적 특징을 갖는 상황에도 각별히 주의한다.
030 Testing AI Guidelines ver 1.8 031 AI System Characteristics and Acceptance Criteria
· AI 시스템이 개인과 사회에 상당한 이익을 주지만, 동시에 특정 위험을 초래할 수 있으며, 민주주의, 법치,
분배의 공정성 또는 인간의 마음 자체와 관련해 예측, 식별 또는 측정하기 어려운 영향을 포함한 부정적 영향을
끼칠 수 있다는 것을 인식한다. 위험의 규모에 비례해 이러한 위험을 완화하기 위해 적정한 시기에 적절한
조치를 취한다.
References
25010 2011 ISO/IEC 25010:2011, Systems and software engineering - Systems and software Quality
Requirements and Evaluation (SQuaRE) - System and software quality models, 2011.
Ethics 2019 European Commission High-Level Expert Group on Artificial Intelligence,
Ethics Guidelines for Trustworthy AI, European Commission, April 2019.
Forbes 2016 Kalev Leetaru, How Twitter Corrupted Microsoft's Tay: A Crash Course In the Dangers Of
AI In The Real World, https://www.forbes.com/sites/kalevleetaru/2016/03/24/how-twitter-
corrupted-microsofts-tay-a-crash-course-in-the-dangers-of-ai-in-the-real-
world/#202233ae26d2, Mar 2016.
Moral 2018 Awad et al, The Moral Machine experiment, Nature, 563, pages 59-64, 2018.
Püschel 2018 Georg Püschel, Testing Self-Adaptive Systems - A Model-based Approach to Resilience,
Dissertation, Technischen Universität Dresden, June 2018.
QM4MAS 2016 Marir et al, QM4MAS: a quality model for multi-agent systems, Int. J. Computer Applications in
Technology, 2016, 54.
RELAX 2010 Whittle et al, RELAX: A language to address uncertainty in self-adaptive systems requirement,
Requirements Engineering, June 2010.
Russell 2019 Russell, Of Myths and Moonshine, contribution to the conversation on The Myth of AI,
https://www.edge.org/conversation/jaron_lanier-the-myth-of-ai, accessed Nov 2019.
XAI 2019 Wikipedia contributors, "Explainable artificial intelligence," Wikipedia, https://en.wikipedia.org/w/
index.php?title=Explainable_artificial_intelligence&oldid=924090418 (accessed November 20, 2019).
032 Testing AI Guidelines ver 1.8 033 AI System Characteristics and Acceptance Criteria
Machine Learning 3.1 기계 학습(ML) 소개 (Introduction to Machine learning)
03
선택된 알고리즘과 훈련 데이터를 통해 AI 개발 프레임워크에 의해 만들어진다. 이 모델은 입력과
출력 간의 학습 관계를 대변한다. 생성된 모델은 처음에 훈련하고 나서 사용상 바뀌지 않는 경우가
많다. 이와는 반대로, 어떤 조건에서는 만들어진 모델이 운영상의 사용(예, 자가 학습)을 지속적으로
학습할 수 있다. 기계 학습(ML)의 사용 예로는 이미지 분류, 게임(예, 바둑), 음성 인식, 보안 시스템(
악성 소프트웨어 감지), 항공기 충돌방지 시스템 및 자율주행차 등이 있다.
[그림 4]에서와 같이 기계 학습(ML)에는 3가지 기본 접근법이 있다.
기계 학습(ML)이 확률론적이기 때문에 우리는 이런 분류와 리그레션이 올바른지 측정할 수 있다 [그림 8]: 강화 학습
(ML 성능 메트릭에 대한 내용은 4.1 참조).
비지도 학습은 훈련 데이터에 라벨이 없기 때문에 알고리즘이 데이터 자체에서 패턴을 도출해야
한다. 비지도 학습의 예로는 시스템이 고객 관련 데이터를 사용해 특정 고객 그룹을 찾아 마케팅에
활용하는 경우를 들 수 있다. [그림 7]은 모델이 주어진 데이터에서 클러스터를 식별한 비지도 학습 3.2 기계 학습 작업흐름 (The Machine Learning Workflow)
그래프이다. 이 경우 클러스터는 개별 프로그래머를 나타낸다.
훈련 데이터에 라벨을 붙일 필요가 없기 때문에 지도 학습을 위한 훈련 데이터를 찾기가 쉽고 기계 학습 작업흐름의 활동은 다음 [그림 9]와 같다:
저렴하다.
3.8.2 인수 조건 (Acceptance Criteria) 3.8.8 적대적 사례 및 테스팅 (Adversarial Examples and Testing) [Qiu 2019]
인수 조건(기능 및 비기능 요구사항)은 애플리케이션에 적용하기 위해 정당성을 문서로 적대적 사례는 신경망에 대한 입력의 아주 작은 변화가 출력에 예기치 않은(또한 잘못된)
기록해야 하며, 성능 메트릭을 모델에 포함해야 한다. 큰 변화(즉, 변경 전의 입력과는 완전히 다른 결과)를 생성하는 경우이다. 적대적 사례는 이미지
분류기에서 처음 발견되었다. 단순히 몇 픽셀(육안으로 식별 불가)을 변경함으로써 신경망이 이를
3.8.3 프레임 워크, 알고리즘/모델 및 매개변수 선택 (Framework, Algorithm/Model and 다른 물체로 인식할 수 있다. 그러나 적대적 사례는 이미지 분류기에 제한되지 않으며 신경망의
Parameter Selection) 일반적 속성이므로 모든 신경망에서 나타날 수 있으니 유의해야 한다.
프레임워크, 알고리즘, 모델, 설명 및 초매개변수(hyperparameters) 선택에 대한 문서로 적대적 사례는 이동이 가능하다. 이 말은 하나의 신경망에서 실패를 일으킨 적대적 사례가
기록해야 한다. 종종 동일 작업을 수행하도록 훈련된 다른 신경망에도 실패를 일으킨 다는 것을 의미한다. 이런
References
AIBias 2019 Salkever et al, A.I. Bias Isn’t the Problem. Our Society Is, Fortune.com,
https://fortune.com/2019/04/14/ai-artificial-intelligence-bias/, accessed Nov 2019.
Frenay 2014 Frenay et al, Classification in the Presence of Label Noise: A Survey,
IEEE Transactions on Neural Networks and Learning Systems, May 2014.
Henderson 2018 Henderson et al, Deep reinforcement learning that matters,
Thirty-Second AAAI Conference on Artificial Intelligence, 2018.
Keevers 2019 Keevers, Cross-validation is insufficient for model validation, Technical Report,
Australian Defence Science and Technology Group, Mar 2019.
Qiu 2019 Qiu et al, Review of Artificial Intelligence Adversarial Attack and Defense Technologies,
Applied Sciences 9(5):909, Mar 2019.
Metrics and Benchmarks 다양한 기계 학습(ML) 알고리즘을 평가하기 위해 여러 성능 메트릭을 사용한다. 이 문서에서는
분류 문제에 대한 성능 메트릭만을 다룬다. 이런 메트릭은 ML 작업 흐름 초기 단계에서 합의하고
04
일반적으로 ML 작업 흐름의 두 단계에서 평가한다. 평가를 위해 개발자들은 이 메트릭을 사용해
기계 학습 성능 메트릭
및 벤치마크
평가 데이터 세트로 수용 가능한 수준의 성능에 도달할 때까지 자신들의 모델을 조정(예, 매개변수
선택)한다. 그 후에 메트릭은 (독립) 테스트 세트를 통한 최종 모델 성능의 수용 가능 여부 측정을
위해 사용된다.
참 양성
정밀도 =
참 양성 + 거짓 양성
참 양성
재현율 = F1은 데이터 분포가 고르지 않을 때 가장 유용하다.
참 양성 + 거짓 음성
이런 성능 메트릭은 ML 모델의 평균 성능을 제공하지만 예상되는 최악의 시나리오에서 모델의
성능을 보장하는 것 또한 중요하다.
4.1.5 F1-점수 (F1-Score)
F1-점수는 재현율과 정밀도 사이의 균형(조화 평균)을 제공하며 다음과 같이 계산한다:
4.1.6 성능 메트릭의 선택 (Selection of Performance Metrics) 전문가 활용에는 비용이 많이 든다. 그 대신 “대표할 수 있는” 업계 표준 벤치마크 스위트를 사용할
상황에 따라 적합한 성능 메트릭이 모두 다르다. 여기에서는 가장 기본적이고 일반적인 것만을 수 있으며 이 벤치마크 스위트는 여러 상황(예, 이미지분류, 객체 감지, 번역 및 추천)에서의 다양한
다룬다. 텍스트 출력의 정확성(예, 기계 번역)을 측정해야 하는 경우 BLEU, ROUGE 및 METEOR 업무를 다루고 있다.
등의 메트릭이 가능하다 [Raj 2019]. 이런 벤치마크 스위트는 하드웨어(정의된 모델 사용) 및 소프트웨어(예, 가장 빠른 모델 결정) 성능
정확도는 데이터 집합이 대칭을 이루는 경우 즉, 거짓 음성과 거짓 양성의 수가 비슷한 경우 측정에 사용된다. 소프트웨어 벤치마크 스위트는 훈련(예, 정의된 훈련 데이터 세트를 사용해 정확도
정밀도는 참 양성에 대해 확신하고 싶을 때 가장 유용하다 (즉, 거짓 양성이 적거나 원하지 훈련된 ML 모델이 얼마나 빨리 예측을 수행하는지)을 측정할 수 있다.
않는 경우). 테러 목표물을 공격하는 군사용 드론을 예로 들어보자. 이 경우 거짓 양성이 있어서는 기계 학습(ML) 벤치마크 세트의 예로, 소프트웨어 프레임워크, 하드웨어 가속기와 기계 학습(ML)
안되며(또는 매우 적어야 하며) 정밀도가 높아야 한다. [그림 15]에서 정밀도(precision)를 높이려면 클라우드 플랫폼을 제공하는 MLPerf [MLPerf 2019], 스탠포드 대학에서 제공하는 벤치마크
050 Testing AI Guidelines ver 1.8 051 Machine Learning Performance Metrics and Benchmarks
스위트인 DAWNBench [DAWN 2019]가 있다.
OAEI(Ontology Alignment Evaluation Initiative)는 다음과 같은 목표를 가지고 조직화된
국제 이니셔티브이다 [OAEI 2019]:
기술 성능에 대한 제어된 실험을 통해,
· 정렬/매칭(alignment/matching) 시스템의 장단점 평가;
· 기술 성능 비교;
· 알고리즘 개발자들 사이의 커뮤니케이션 증가;
· 평가 기술 개선;
· 온톨로지 정렬/매칭 작업 개선 지원
등을 수행할 수 있다.
References
052 Testing AI Guidelines ver 1.8 053 Machine Learning Performance Metrics and Benchmarks
Introduction to the Testing 5.1 AI 기반 시스템 테스팅의 과제 (Challenges in Testing AI-Based Systems)
05
발생할 수 있다. 따라서, AI 기반 시스템을 테스팅할 때, 기존의 소프트웨어 테스팅 접근법이 여전히
AI 시스템
테스팅 소개
필요하다. 그러나 AI 기반 시스템은 기존 소프트웨어 시스템과는 다른 특수한 속성이 있으므로
추가적인 테스트가 필요하다.
5.1.3 확률적 및 비결정적 시스템 (Probabilistic & Non-Deterministic Systems) 5.2 AI 기반 시스템의 테스트 오라클 문제 (The Test Oracle Problem for AI-Based
많은 AI 기반 시스템의 확률적 특성 때문에 기대 결과로 사용할 수 있는 정확한 값이 항상 Systems)
존재하는 것은 아니다. 가령, 자율주행차는 정차된 버스 주변 경로를 표시할 때, 최적의 방안을 AI 기반 시스템을 테스트할 때 반복되는 문제는 테스트 오라클 문제이다. 품질이 낮은 명세, 복잡성,
계산하기보다 좀 더 효과적인(또한 안전한) 방안을 선택한다. 그래서 괜찮은 준최적화 방안(sub- 확률성, 자가학습 및 비결정적 시스템은 예상 결과 생성을 매우 어렵게 만든다.
optimal)을 받아들인다. 또한 AI 기반 시스템의 경로 설정법 특성상 매번 동일한 결과를 얻지 못 테스트 오라클 문제를 해결하는 테스팅 접근법과 기법은 6장 블랙 박스 테스팅에서 설명한다.
할 수도 있다. (예, 임의 초기값(random seed)에 기반하여 계산이 이뤄질 수 있고, 이 경우는 매번
다르면서 실행 가능한 경로를 나타냄). 이는 시스템을 비결정적으로 만들어 재현성이 떨어지므로
리그레션 테스트 시 비결정성으로 인한 변동을 고려해 더 나은 예상 결과를 가지고 있어야 함을 References
뜻한다.
Banks 2019 Banks et al, Requirements Assurance in Machine Learning,
두 경우 모두 실제 결과의 불확실성을 감안해서 테스터는 허용 오차를 포함해 기존 시스템보다
Proceedings of the AAAI Workshop on Artificial Intelligence Safety 2019, Jan 2019.
더 정교한 기대 결과를 도출해야 한다. 확률적 AI 기반 시스템에서는 시스템이 올바르게 작동하고 Bojarski 2016 Bojarski et al, End to End Learning for Self-Driving Cars, arXiv.org, arXiv:1604.07316,
있다는 통계적 유의성을 보장하기 위해 테스터가 동일한 테스트를 여러 번 실행할 수 있다. accessed Nov 2019, Apr 2016.
056 Testing AI Guidelines ver 1.8 057 Introduction to the Testing of AI-Based System
Black Box Testing of 6.1 조합 테스팅 (Combinatorial Testing)
06
‘완벽한 테스팅(Exhaustive testing)’이라고 한다. 이런 이유로 실제 소프트웨어 테스팅에서는
AI 기반 시스템의
블랙박스 테스팅
가능한 많은 입력값과 상태 세트에서 샘플을 골라 테스트 스위트를 도출한다. 조합 테스팅은 이
입력 영역에서 유용한 조합의 하위 세트를 도출하기 위한 체계적이고 효과적인 접근법 중 하나이다
[Kuhn 2004].
관심 조합은 매개변수(parameters 예, 입력과 환경 조건)와 이런 매개변수가 가질 수 있는 값으로
구성된다. (각각 여러 다른 수치를 가진) 수많은 매개변수 조합이 가능한 경우, 이 기법은 이론적으로
테스트 스위트의 결함 검출 능력을 손상시키지 않으면서 필요한 테스트 케이스 수를 크게 줄일 수
있다.
ISO/IEC/IEEE 29119-4 [29119-4 2015]에는 모든 조합 테스팅(All Combinations), 개별 선택
테스팅(Each Choice Testing), 기본 선택 테스팅(Base Choice Testing) 및 페어와이즈 테스팅
(Pairwise Testing) 같은 몇 가지 조합 테스팅 기법이 정의되어 있다. 실제로 페어와이즈 테스팅은
이해하기 쉬우면서 지원하는 도구가 많고, 소수 매개변수의 상호작용으로 인한 대부분의 결함을
검출한다는 연구결과 때문에 가장 널리 사용된다 [Kuhn 2004].
AI 기반 시스템에서 관심 있는 매개변수의 수는 특히 시스템이 빅데이터를 사용하거나 자율주행차와
같이 외부 세계와 상호작용하는 경우 더욱 많을 수 있다. 따라서 페어와이즈 테스팅처럼 조합 테스팅
기법을 통해 관리 가능한 작은 세트로 거의 무한에 가까운 조합 가능한 수를 체계적으로 줄이는
방법이 아주 유용하다. 실제로 페어와이즈 테스팅을 사용하더라도 이런 시스템에 대한 대규모 테스트
스위트를 생성할 수 있으며 자동화나 가상 테스트 환경(8.1절 참조)이 필요할 수도 있다.
자율주행차를 예로 들면, 시스템 테스트 시나리오에서는 차량의 다양한 기능과 예상되는 작동
환경을 모두 고려해야 한다. 따라서 매개변수는 환경 제약(예, 도로 유형 및 표면 상태, 지리적 위치,
시간대, 기상 상태, 교통 상황, 가시성 등)과 함께 자율주행 기능(예, 순항 제어, 적응형 순항 제어,
차선 유지 지원, 차선 변경 지원, 신호등 지원 등)을 포함해야 한다. 이런 매개변수 외에도, 센서의
입력도 다양한 효율성 수준에서 고려해야 한다 (예, 비디오 카메라 입력은 운행이 진행됨에 따라
저하되고 더럽혀 지거나 시선으로 들어오고 나가는 여러 위성 수로 인해 GPS 장치의 정확도가 바뀔
수 있다). 자율주행차와 같이 안전이 중요한 AI 기반 시스템의 조합 테스팅에 필수적인 엄격함 수준(
예, 페어와이즈가 충분하지 않을 수 있음)에 대한 연구는 아직 진행 중이다. 그러나, 이 방법은 결함을
찾는 데 효과적이며 잔존 리스크 수준 추정에도 사용 가능한 것으로 알려져 있다.
백투백 테스팅은, 동일한 테스트 입력에 대해 비교 가능한 결과를 생성하기 위해 이미 존재하거나, A/B 테스팅은 테스터가 두 시스템 중 더 나은 성능을 결정하도록 해주는 통계적 테스팅 방식 으로
다른 팀에서 개발했거나, 다른 프로그래밍 언어로 구현한 다른 버전의 시스템을 수도-오라클 분할 실행 테스팅(Split-run Testing)이라고도 한다 [A/B 2019]. 이는 고객을 대해야 하는 디지털
(pseudo-oracle)로 사용한다. [그림 16]은 이 접근법의 그래픽 표현을 보여준다. 마케팅(예, 가장 좋은 반응을 얻는 이메일 찾아내기 등)에 자주 사용된다. [그림 17]은 휴대폰의
이를 비교 테스팅(Differential testing)이라고도 한다. 사용자 인터페이스가 그 일부를 검정색에서 회색으로 변경할 때 개선되는지의 확인을 위한 A/B
이와 같이 백투백 테스팅은 테스트 입력을 생성하지 않으므로 테스트 케이스 생성기법은 아니다. 테스트를 보여준다.
단지 수도-오라클(기능적으로 동등한 시스템)로 기대 결과만 자동으로 생성한다. 임의 또는 다른
테스트 입력 생성 도구와 함께 사용하면 대량의 자동화 테스팅을 수행하는 아주 효과적인 방법이
된다.
[그림 16]: 백투백 테스팅( Back-to-Back Testing) A/B 테스팅은 종종 사용자 인터페이스 설계를 최적화하는 데 사용한다. 예를 들어, 사용자
인터페이스 설계자가 현재 빨간색인 ‘구매’ 버튼 색상을 파란색으로 변경하면 판매가 증가할
테스팅을 지원하는 경우 수도-오라클은 테스트하고 있는 시스템과 동일한 비기능 제약 조건을 것이라고 가정해보자. 파란색 버튼으로 된 새로운 인터페이스를 생성하고 두 인터페이스를 각각
충족하지 않아도 된다. 예를 들어, 수도-오라클은 테스트 중인 시스템이 요구하는 것보다 훨씬 느리게 다른 사용자에게 할당한다. 두 가지의 다른 버전에 대한 판매율을 비교해 통계적으로 유의미한 사용
동작할 수 있다. 또한 백투백 테스팅이 테스트 중인 시스템의 일부만 수도-오라클로 수행될 수 있기 횟수를 실행하면 가설이 올바른지 판단할 수 있다. 만약 파란 버튼에서 판매율이 높았다면 파란
때문에 수도-오라클이 항상 기능적으로 완벽하게 동일한 시스템일 필요는 없다. 버튼으로 된 새 인터페이스가 빨간 버튼인 현재 인터페이스를 대체하게 된다. 이런 형태의 A/B
ML의 경우 수도-오라클을 생성하기 위해(어떤 상황에서는 기존의 비 AI 소프트웨어를 사용해 수도- 테스팅은 통계적으로 매우 많은 사용횟수가 필요하며 도구(종종 AI 사용)의 지원을 받더라도 많은
오라클을 생성할 수도 있다.) 다양한 프레임워크, 알고리즘 및 설정을 사용할 수 있다. 수도-오라클 시간이 걸릴 수 있다.
사용에 대해 알려진 문제점은 이것이 제대로 동작하기 위해서는 테스트 중인 소프트웨어와 완전히 A/B 테스팅은 테스트 입력을 생성하는 것이 아니므로 테스트 케이스 생성 기법은 아니다. A/B
독립적이어야 한다는 것이다. AI 기반 시스템 개발에는 재사용할 수 있는 오픈 소스 소프트웨어가 테스팅은 기존 시스템을 부분적인 오라클로 사용해 테스트 오라클 문제를 해결하는 수단 중에
많이 사용되므로 이런 독립성이 쉽게 손상될 수 있다. 하나이다. 새로운 시스템을 현재 시스템과 비교함으로써 새로운 시스템이 어떤 면에서 더 나은지
판단할 수 있다. 디지털 마케팅에 사용할 때는 더 많은 판매량으로 성공 여부를 측정할 수 있지만 기계
학습 분류기(ML Classifier) 같은 AI 기반 시스템에서는 정확도(accuracy), 민감도(sensitivity),
060 Testing AI Guidelines ver 1.8 061 Black Box Testing of AI-Based Systems
재현율(recall) 같은 성능 메트릭을 사용할 수 있다 (4.1절 참조). ※ [사례 1] 시작과 종료 지점 사이의 거리를 측정하는 테스트 항목. 소스 테스트 케이스는 테스트 케이스를
인수 조건(예, ‘명시된 성능 지표가 개선되거나 동일하게 유지되어야 한다’)이 정의되고 합의된다면 수행해 입력 A(시작 지점)와 B(종료 지점) 및 기대 결과 C(거리)를 갖는다. 변성 관계는 시작과 종료 지점이 서로
AI 기반 시스템 컴포넌트가 수정될 때마다 A/B 테스팅을 사용할 수 있다. A/B 테스팅을 자동화하면 바뀌더라도 기대 결과는 변함이 없다고 명시한다. 그러므로 시작 지점으로 B, 종료 지점으로 A, 기대 결과로 C
시스템의 새로운 성능을 이전 성능과 비교하고, 자가학습으로 시스템 성능을 개선할 수 없다면 이전 를 갖는 후속 테스트 케이스를 생성할 수 있다.
버전으로 되돌리는 방식으로 자가학습 AI 기반 시스템에 사용할 수 있다. 여기서는 유효한 인수 조건
(acceptance criteria)을 수립할 수 있도록 주의해야 한다. ※ [사례 2] 생활방식 매개변수 세트를 기반으로 개인의 기대 수명을 예측하는 테스트 항목.
하루 흡연 10개피 등의 값을 포함한 다양한 테스트 입력값을 통해 소스 테스트 케이스를 수행하고 그 결과 기대
수명이 58년이라는 결과값을 갖는다. 변성 관계는 어떤 사람이 담배를 더 많이 피우게 되면 아마도 기대 수명이
6.4 변성 테스팅 (Metamorphic Testing) [Chen 2018] [Segura 2016] 줄어들 것(또는 증가하지 않을 것)이라고 명시한다. 그러므로 하루 흡연량을 20개피로 늘린 것을 제외하고는
동일한 생활 방식 매개변수를 갖는 후속 테스트 케이스를 생성할 수 있다. 이 후속 테스트 케이스의 기대 결과(
변성 테스팅은 AI 기반 시스템에서 발견하기 쉬운 복잡성(complexity), 비결정성(non-determinism), 기대 수명)는 58년 보다 적거나 같은 값으로 설정할 수 있다.
확률적 시스템(probabilistic systems) 등의 이유로 기대 결과 생성이 쉽지 않은 테스트 오라클
문제를 다루는 테스트 케이스 생성법이다. 변성 테스팅으로 테스트 케이스를 생성하는 것과 기존의 후속 테스트 케이스의 기대 결과가 항상 정확한 값은 아니지만 종종 소스 테스트 케이스를 실행해서
테스트 케이스 설계 기법의 주요 차이는 변성 테스팅의 기대 결과가 고정값(fixed value)이 아니라 달성한 실제 결과의 함수로 설명된다 (예, 후속 테스트 케이스의 기대 결과가 소스 테스트 케이스의
다른 기대 결과와의 관계에 의해 정의된다는 것이다. 실제 결과보다 크다).
변성 테스팅은 정확하다고 판명된 소스(source) 테스트 케이스에서 후속(follow-up) 테스트 단일 변성 관계를 사용해 여러 후속 테스트 케이스를 도출할 수 있다 (예, 음성을 텍스트로 변환하는
케이스를 생성하기 위해 변성 관계(metamorphic relations)를 사용한다. 테스트 중인 소프트웨어의 기능에 대한 변성 관계를 사용해 소리의 크기만 다른 같은 음성 파일을 입력함으로써 같은 텍스트를
변성 관계는 소스 테스트 케이스에서 후속 테스트 케이스로 바뀐 입력값이 소스 테스트 케이스에서 기대 결과로 갖는 다수의 후속 테스트 케이스를 생성할 수 있다). 변성 관계가 공식적(또는 준공식적)
후속 테스트 케이스로 바뀐 기대 결과의 변경(또는 변경되지 않은)에 어떤 영향을 주는지 설명하는 으로 기술되고 소스 테스트 케이스가 제공되는 경우 도메인 지식이 필요하므로 변성 관계 자동
것이다. 생성은 어렵겠지만 후속 테스트 케이스 생성을 자동화할 수 있다.
[그림 18]은 변성 관계를 보여주며, 해당 기능의 입력과 출력에 관련한 필수 기능의 특성을 나타낸다.
특정 방식으로 입력을 변경하면(왼쪽의 하향 화살표) 출력에 어떤 영향을 미치는지(오른쪽의 하향 변성 테스팅 수행 프로세스는 다음과 같다:
화살표)를 알게 된다. 1. 변성 관계(MRs) 구축
- 테스트 중인 프로그램의 속성을 식별하고 그것을 소스 테스트 케이스에 기반해 후속 테스트 케이스를
생성하는 방법과 함께 테스트 입력과 기대 결과 사이의 변성 관계로 표현한다.
2. 변성 관계 리뷰
- 고객이나 사용자와 함께 변성 관계를 리뷰하고 확인한다.
3. 소스 테스트 케이스 생성
- 소스 테스트 케이스 세트를 생성한다 (테스트 기법이나 임의 테스팅 사용).
4. 후속 테스트 케이스 생성
- 후속 테스트 케이스 생성을 위해 변성 관계를 사용한다.
5. 변성 테스트 케이스 실행
- 소스 테스트 케이스와 후속 테스트 케이스를 모두 실행하고, 결과가 변성 관계를 해치지 않는지 확인해 변성
[그림 18]: 변성 관계(Metamorphic Relation) 테스트 케이스의 실패와 결함의 유무를 판단한다.
062 Testing AI Guidelines ver 1.8 063 Black Box Testing of AI-Based Systems
변성 테스팅은 생물정보학(bioinformatics), 웹 서비스(web services), 기계 학습 분류기
(machine learning classifiers), 검색 엔진(search engines) 및 보안(security) 등 다양하고
광범위한 AI 기반 애플리케이션 영역에 성공적으로 사용되고 있다. 연구에 따르면 3~6개의 변성
관계만 사용하는 경우에도 기존 테스트 오라클로 발견할 수 있는 결함의 90% 이상을 밝혀낼 수
있다 [Liu 2014].
References
29119-4 2015 ISO/IEC/IEEE 29119-4, Software and systems engineering - Software testing - Part 4:
Test techniques, ISO, 2015.
A/B 2019 Wikipedia contributors, "A/B testing," Wikipedia,
https://en.wikipedia.org/w/index.php?title=A/B_testing&oldid=926805728 (accessed November 21,
2019).
Chen 2018 Chen et al, Metamorphic Testing: A Review of Challenges and Opportunities,
ACM Comput. Surv. 51, 1, Article 4, January 2018.
Kuhn 2004 Kuhn et al, Software Fault Interactions and Implications for Software Testing,
IEEE Transactions on Software Engineering 30(6):418 - 421, July 2004.
Liu 2014 Liu et al, How effectively does metamorphic testing alleviate the oracle problem?,
IEEE Transactions on Software Engineering 40, 1, 4-22, 2014.
Segura 2016 Segura et al, A Survey on Metamorphic Testing,
IEEE Trans. on Software Engineering, Vol 42, No. 9, Sept 2016.
064 Testing AI Guidelines ver 1.8 065 Black Box Testing of AI-Based Systems
White Box Testing of 7.1 신경망 구조 (Structure of a Neural Network)
07
나왔고 가장 단순한 형태를 가진 인공 신경망인 전방전달 신경망(feedforward neural network)
신경망 화이트박스
테스팅
을 예로 사용한다. 여기에 추가할 유일한 복잡성은 다층 퍼셉트론(multi-layer perceptron) 또는
은닉층(hidden layers) 등의 여러 레이어를 갖는 심층 신경망의 네트워크를 고려한다는 것이다.
7.2 신경망의 테스트 커버리지 측정 (Test Coverage Measures for Neural Networks)
실제로 구문 커버리지 100%는 보통 단일 테스트 케이스로 달성되므로 전통적인 커버리지 측정은 [그림22]: 임계점 커버리지(Threshold Coverage)
신경망에 유용하지는 않다. 결함은 보통 신경망 자체에 숨겨져 있다. 따라서, 신경망을 테스트할 때는
신경망의 뉴런(또는 뉴런 쌍)의 활성값에 기반한 다른 커버리지 측정 방법이 제안된다. 7.2.3 부호 변경 커버리지 (Sign Change Coverage)
일련의 테스트에 대한 부호변경 커버리지는 양 또는 음의 활성값을 가진 활성 뉴런을 신경망의
7.2.1 뉴런 커버리지 (Neuron Coverage) 총 뉴런 수로 나눈 비율이다 (보통 백분율로 표시). 활성값이 0이면 음의 활성값으로 간주한다
일련의 테스트에서 뉴런 커버리지는 활성화된 뉴런을 신경망의 총 뉴런 수로 나눈 비율이다 [DeepCover 2018].
(보통 백분율로 표시). 뉴런 커버리지에서 활성값이 0을 초과하면 뉴런이 활성화된 것으로 간주한다. [그림 23]은 두 개의 테스트, T1과 T2의 결과이다. 회색 뉴런은 활성값이 0보다 큰 뉴런을
[그림 21]에서 회색 뉴런은 활성값이 0을 초과한 뉴런을 보여준다. 따라서 뉴런 커버리지는 표시하고 흰색 뉴런은 활성값이 0개의 이하인 뉴런을 표시한다. T2에서 회색(양성 활성값)인 두 개
16/30 x 100 = 53% 이다. 뉴런의 부호가 변경되었으며 이제 흰색으로 표시되는 것을 볼 수 있다. 따라서 이 두 테스트의 부호
변경 커버리지는 2/30 x 100 = 7% 이다.
068 Testing AI Guidelines ver 1.8 069 White Box Testing of Neural Networks
7.2.4 값 변경 커버리지 (Value Change Coverage) 유사하게 양성에서 음성으로 바뀐 반면, 해당 레이어의 다른 뉴런은 부호를 변경하지 않았음을 알 수
일련의 테스트에 대한 값 변경 커버리지는 정해진 범위보다 활성값이 더 많이 바뀐 활성 뉴런 있다. 따라서 이 두 가지가 첫 번째 테스트이다. 다른 뉴런 중 어느 것도 이 수준의 변경을 달성하지
수를 신경망의 총 뉴런수로 나눈 비율이다 (보통 백분율로 표시). 못하면, 값 변화 커버리지는 1/30 x 100 = 3% 이다.
값 변경 범위의 경우 변경량(change amount)으로 0에서 1 사이의 값을 선택해야 한다
[DeepCover 2018].
[그림 24]에는 T1과 T2라는 두 개의 테스트 결과가 나와 있다. 검정색 뉴런에 대한 활성값 1과
활성값 2가 두 테스트에서 합의된 두 개의 변경량과 다른 경우 이 뉴런은 값 변경 커버리지를 달성한
것으로 간주된다. 다른 뉴런 중 어느것도 이 수준의 변경을 달성하지 못하면, 값 변화 커버리지는
1/30 * 100 = 3% 이다.
[그림24]: 값 변경 커버리지(Value Change Coverage) 7.2.7 화이트 박스 측정의 테스트 효과 (Test Effectiveness of the White Box Measures)
신경망에 대한 화이트 박스 테스팅으로 여러 화이트 박스 커버리지를 측정하는 테스트 효과에
7.2.5 부호-부호 커버리지 (Sign-Sign Coverage) 대한 자료는 현재까지는 미미한 상태이다. 그러나 일반적으로, 테스트를 많이 하면 적게 하는 것보다
일련의 테스트에 대한 부호-부호 커버리지는 뉴런들이 주로 다음 레이어에서 같은 상태(예, 더 많은 결함을 찾아내므로, 측정의 상대적 효과를 추론할 수 있다.
부호를 변경하지 않음)에 머무는 동안, 각 뉴런이 부호를 변경함으로 인해(7.2.3절 참조) 다음 층에서 7.2.1-7.2.5에서 설명된 측정 커버리지에서 몇몇 포함 관계(subsumes relationships)를
뉴런에 개별적으로 부호 변경이 일어나는 경우에 달성된다. 개념적으로 이 수준의 뉴런 커버리지는 도출할 수 있다. 다른 모든 측정값은 뉴런 커버리지를 포함하고 부호-부호 커버리지도 부호 변경
변형된 조건/결정 커버리지(MC/DC)와 유사하다 [DeepCover 2018]. 커버리지를 포함한다. 이론 측정값의 전체적인 포함 계층 구조가 [그림 26]에 표시되어 있다. 화살표가
[그림 25]에는 두 가지 테스트, T1과 T2의 결과가 표시되어 있다. 회색 뉴런은 활성값이 0보다 한 측정값에서 다른 측정값을 가리키는 경우는 첫 번째 측정값이 완전히 달성되면 두 번째 측정값이
큰 뉴런을 보여주고(양성), 흰색 뉴런은 활성값이 0 이하인 뉴런을 보여준다(음성). 세 번째 레이어의 자동으로 달성됨을 의미한다. 예를 들어, 임계값 커버리지가 달성되면 뉴런 커버리지가 자동으로
한 뉴런이 양성(회색)에서 음성(흰색)으로 부호가 바뀌었고, 다음 레이어에서는 오직 하나의 뉴런이 달성됨을 보여준다.
070 Testing AI Guidelines ver 1.8 071 White Box Testing of Neural Networks
References
7.3 신경망을 위한 화이트 박스 테스팅 도구 (White Box Testing Tools for Neural
Networks)
072 Testing AI Guidelines ver 1.8 073 White Box Testing of Neural Networks
Test Environments for 8.1 AI 기반 시스템의 테스트 환경 (Test Environments for AI-Based Systems)
AI-Based Systems AI 기반 시스템의 테스트 환경은 단위 레벨의 개발 환경, 시스템이나 인수 레벨의 생산 관련 테스트
환경과 같은 기존의 시스템을 테스팅하는 환경과 공통점이 많다. 기계 학습 모델을 격리해서 테스트할
08
때 3.8절에 설명한 것과 같이 일반적으로 개발 프레임워크 내에서 테스트하는 경우가 많다.
AI 기반 시스템의
테스트 환경
AI 기반 시스템과 기존 시스템이 요구하는 테스트 환경의 차이를 가져오는 두 가지 주 요인은,
첫째, 많은 AI 기반 시스템이 작동하는 환경은 규모가 크고 복잡하며 끊임없이 변화할 수 있기
때문이다. 가능한 모든 환경을 테스트하고, 실제 환경과 유사한 테스트 환경을 조성해 적절한 시간
안에 테스트한다면 테스팅에 들어가는 비용은 어마어마하게 높아질 것이다.
둘째, 인간과 물리적으로 상호작용할 수 있는 AI 기반 시스템에는 안전관련 컴포넌트가 있어
실제환경에서 테스트하기에는 부담과 리스크가 있다. 두 가지 요소 모두 가상 테스트 환경의 필요성을
보여준다.
안전관련 AI 기반 시스템의 경우, 시스템에 일정 수준의 규제가 적용돼야 한다. 이 규제를 적용하기
가상 테스팅은 주어진 시스템에 특수하게 설치된 시뮬레이터로 수행할 수 있지만 특정 도메인을 위한 위해 관련 기관은 두 가지 방식으로 접근할 수 있다. 즉, 개발하는 조직이 자체적으로 규제를
재사용 시뮬레이터는 상용 제품이나 오픈 소스 둘 다 사용이 가능하다. 예를 들면, 확인하는 방법이 있고, 규제 기관이 시스템의 최소한의 표준을 준수했는지(인증 방식) 독립적인
· 모스(Morse)는 모듈화된 로봇 오픈 시뮬레이터 엔진으로 블렌더 게임 엔진 기반의 범용 모바일 로봇 보증을 제공하는 방법이 있다.
시뮬레이터(단일 또는 다중 로봇)이다 [Morse 2019]. 인증 방식을 따르게 되면, 테스팅 접근법에 따라 규제 기관과 인증 대상 시스템을 제공하는 주체
· AI 해비타트(AI Habitat)는 페이스북 AI 에서 개발한 시뮬레이터 플랫폼으로 사실적인 3D 환경에서 내장 사이에 정보가 공유돼야 한다. 이 접근 방식의 핵심적인 부분은 테스트 환경 정의 및 해당 환경에서
에이전트(가상 로봇 등)를 교육하도록 설계되었다 [Habitat 2019]; 테스트 자동화를 사용해 실행할 수 있는 공유 테스트 시나리오이다. 과적합(overfitting)을 방지하기
· 드라이브 컨스텔레이션(DRIVE Constellation)은 클라우드 기반 플랫폼에서 작동하는 NVIDA사의 위해 각 테스트에 대한 매개변수값을 변경하여 새로운 시나리오를 생성할 수 있도록 공유 테스트
자율주행차용 개방 및 확장가능 플랫폼으로 수십억 마일의 자율주행 테스팅을 생성할 수 있다 [DRIVE 2019]. 시나리오의 핵심 세트를 매개변수화(parameterized)해야 하며, 규제 기관은 공유되지 않은 일련의
개인 테스트 시나리오를 유지한다. 매개변수화(parameterization)와 개인 시나리오는 시스템이
단지 알려져 있는 테스트를 통과하기 위해 구축되지는 않았는지 확인해야 하며, 이 접근 방식을 통해
8.2 테스트 시나리오 도출 (Test Scenario Derivation) 규제 기관은 시스템의 실제 사용으로 인한 잠재적인 문제 상황을 파악함으로써 새로운 시나리오를
추가할 수 있다.
AI 기반 시스템의 체계적 테스팅을 위해서는, 개별 AI 컴포넌트, 이 컴포넌트와 시스템의 나머지
컴포넌트 간 상호작용, 상호작용하는 컴포넌트가 통합된 전체 시스템, 환경과 상호작용하는 시스템을
테스트할 테스트 시나리오를 생성해야 한다. References
테스트 시나리오는 다음과 같이 여러 원천에서 도출할 수 있다: Drive 2019 NVIDIA DRIVE CONSTELLATION - Virtual Reality Autonomous Vehicle Simulator,
NVIDIA Products, https://www.nvidia.com/en-us/self-driving-cars/drive-constellation/,
· 시스템 요구사항 (System requirements)
accessed Nov 2019.
· 사용자 이슈 (User issues) Habitat 2019 Savva et al, Open-sourcing AI Habitat, an advanced simulation platform for embodied AI research,
· 규제 기관 데이터 (Regulatory body data) (예, 관련법에서 도출) Nokia 2019 Nokia's revolutionary 5G virtual testing speeds deployment, Press Release,
https://www.globenewswire.com/news-release/2019/04/23/1807667/0/en/Nokia-s-
· 다양한 레벨에서의 테스팅 (Testing at various levels) (예, 테스트 트랙 또는 실제 도로에서 발생한 테스트
revolutionary-5G-virtual-testing-speeds-deployment.html, accessed Nov 2019, April 2019.
장애 및 이상치가 다른 테스트 레벨에서 자율주행차를 테스트 하는 테스트 시나리오로 사용될 수 있다.
반면 가상 테스트 환경에서의 테스트 시나리오 예제는 가상 테스트 환경의 대표성을 확인하기 위해 실제
도로에서도 실행해야 한다.)
자율주행차의 시스템 테스팅을 위해 테스트 시나리오를 생성하는 조합 테스팅 사용은 6.1절에
설명되어 있다. 변성 테스팅(Metamorphic testing)(6.4절 참조)과 퍼즈 테스팅(fuzz testing)도
테스트 시나리오를 생성하기 위해 사용할 수 있다.
076 Testing AI Guidelines ver 1.8 077 Test Environments for AI-Based Systems
Using AI for Testing 9.1 AI 주도 테스팅 소개 (Introduction to AI-Driven Testing)
테스팅에 AI 수년 동안 소프트웨어 테스팅에서 자동화 규모를 늘리려는 소프트웨어 테스터들의 지속적인 노력에도
활용하기 불구하고 자동화 증가율은 기대만큼 빠르지 않은 것이 현실이다. 테스트 중인 소프트웨어가 변경되면
09
초기에 자동화 스크립트를 작성하는 것처럼 여전히 수동으로 자동화 스크립트를 재작성해야 하는
것이 주요 문제였다. 그러나, 최근 AI 기술의 발달로 수동 테스트 작업을 더 많이 자동화할 수 있다.
이 문서는 AI 기반 시스템의 테스팅에 중점을 두고 있지만, AI를 소프트웨어 테스팅(AI기반
시스템을 포함한 모든 형태의 소프트웨어) 수행 도구로 사용할 수도 있다. 이 장에서는 이에 대한
개념을 간략하게 소개하고 유스 케이스 예제를 통해 AI가 소프트웨어 테스팅을 지원하는 방법을
보여준다.
AI로 지원할 수 없는 소프트웨어 테스팅 영역은 거의 없다. 다음은 테스팅에 AI를 사용하는 예이다:
· 명세 리뷰(Specification Review) - AI는 자연어로 작성된 명세서를 해석하고 잠재적인 오류(anomalies) 및
결함(defects)을 식별한다. 유사하게, AI 기반 모델 검사기(AI-Based model checkers)를 사용해 공식 및
준공식(semi-formal) 모델에서 문제를 찾을 수 있다.
· 명세 기반 스크립트 생성(Specification-Based Script Generation) - AI는 자연어로 작성된 명세서를
규제 표준(regulatory standards)에서 요구하는 커버리지 기준을 달성하는 것 외에도 이런 AAAI'16 Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, Feb 2016.
Hall 2012 Hall et al, A systematic literature review on fault prediction performance in software engineering",
도구들은 리그레션 테스트 스위트 자동 생성에 큰 잠재력을 가지고 있다. 종종 리그레션 테스트를
Software Engineering, IEEE Transactions on, vol. 38, 2012.
수행해야 하지만 리그레션 테스트 스위트를 사용하지 못하는 경우가 있다. 테스트 입력 생성 AI 기반 Harman 2016 Harman, The Role of Artificial Intelligence in Software Engineering,
In First International Workshop on Realizing AI Synergies in Software Engineering (RAISE), pp. 1-6.
A/B testing A/B 테스팅 automated exploratory testing 자동화된 탐색적 테스팅
테스터가 두 시스템 중 어느 시스템 성능이 나은지 판단 가능하게 하는 통계적(statistical) 테스팅 접근법 (분리-수행 테스팅 도구의 지원을 받는 탐색적 테스팅
(split-run testing)이라고도 함)
autonomous system 자율 시스템
accuracy 정확성 인간의 개입 없이 일정 기간 동안 작업 가능한 시스템
분류모델(classifier)을 평가하는 데 사용하는 성능 메트릭(performance metric)으로 분류 예측 중 맞은 비율 측정
autonomy 자율성
activation value 활성값 인간의 개입 없이 일정 기간 동안 작업할 수 있는 시스템의 능력
신경망(neural network) 내 노드(node)의 활성화 함수(activation function)의 결과값
back-to-back testing 백투백 테스팅
adaptability 적응성 대체 시스템을 일종의 수도-오라클(pseudo-oracle)로 사용해서 같은 입력값에 대해 비교할 수 있는 기대 결과를 만드는 테
기능 및 비기능 요구사항을 지속적으로 충족하기 위해 환경 변화에 대응하는 시스템의 능력 스팅 접근법
※ 예: 수도-오라클(pseudo-oracle)은 이미 존재하는 시스템, 독립적인 팀이 개발한 시스템 또는 다른 프로그래밍 언어
adversarial attack 적대적 공격 로 구현된 시스템일 수 있다. (일명, 차등 테스팅: differential testing)
신경망에 오작동을 일으키기 위해 의도적으로 적대적 데이터 예제를 사용하는 것
backward propagation 역전파
adversarial example 적대적 예제 네트워크 결과를 가지고 계산된 에러를 기반으로 망에서 사용하는 가중치를 결정하기 위해 인공 신경망에서 사용하는 방법
신경망이 높은 확률로 잘못된 결과를 예측하도록 대상 데이터 예제를 일부 수정한 입력값 ※ 참조 1: 심층 신경망을 훈련하는 데 사용한다.
A
DeepCover 2018 Sun et al, Testing Deep Neural Networks,
https://www.researchgate.net/publication/323747173_Testing_Deep_Neural_Networks,
A/B 2019 Wikipedia contributors, "A/B testing," Wikipedia, accessed Nov 2019, Mar 2018.
https://en.wikipedia.org/w/index.php?title=A/B_testing&oldid=926805728 DeepTest 2018 Tian et al, DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars,
(accessed November 21, 2019). ICSE ’18: 40th International Conference on Software Engineering, May 2018.
AI Effect 2019 Wikipedia contributors, "AI effect," Wikipedia, DeepXplore 2017 Pei et al, DeepXplore: Automated Whitebox Testing of Deep Learning Systems,
https://en.wikipedia.org/w/index.php?title=AI_effect&oldid=920651009 Proceedings of ACM Symposium on Operating Systems Principles (SOSP ’17), Jan 2017.
(accessed November 20, 2019). DF 2019 Stilgoe , Who killed Elaine Herzberg? One year on from the Uber crash, Driverless Futures?,
AI Index 2017 "The AI Index 2017 Annual Report”, AI Index Steering Committee, https://driverless-futures.com/2019/03/18/who-killed-elaine-herzberg-one-year-on-from-the-
Human-Centered AI Initiative, Stanford University, Stanford, CA, December 2017. uber-crash/, Mar 2019.
AIBias 2019 Salkever et al, A.I. Bias Isn’t the Problem. Our Society Is, Fortune.com, Drive 2019 NVIDIA DRIVE CONSTELLATION - Virtual Reality Autonomous Vehicle Simulator,
https://fortune.com/2019/04/14/ai-artificial-intelligence-bias/, accessed Nov 2019. NVIDIA Products, https://www.nvidia.com/en-us/self-driving-cars/drive-constellation/,
accessed Nov 2019.
B
Banks 2019 Banks et al, Requirements Assurance in Machine Learning, E
Proceedings of the AAAI Workshop on Artificial Intelligence Safety 2019, Jan 2019. Edelman 2019 2019 Edelman AI Survey Results Report, Edelman Digital,
BBC 2018 Chinese AI caught out by face in bus ad, BBC Technology News, https://www.digitalmarketingcommunity.com/researches/edelman-artificial-intelligence-survey-
https://www.bbc.com/news/technology-46357004, Nov 2018. results-report-2019/ (accessed Nov 20, 2019).
Bionic 2019 Chris Wiltz, Can Apple Use Its Latest AI Chip for More Than Photos?, EdgeTPU 2019 Edge TPU, https://cloud.google.com/edge-tpu/, accessed Nov 2019.
Electronics & Test, Artificial Intelligence, Ethics 2019 European Commission High-Level Expert Group on Artificial Intelligence,
https://www.designnews.com/electronics-test/can-apple-use-its-latest-ai-chip-more- Ethics Guidelines for Trustworthy AI, European Commission, April 2019.
photos/153617253461497, Sep 2019. EVOSUITE 2019 EVOSUITE - Automatic Test Suite Generation for Java,
Bojarski 2016 Bojarski et al, End to End Learning for Self-Driving Cars, arXiv.org, arXiv:1604.07316, http://www.evosuite.org/, accessed Nov 2019.
accessed Nov 2019, Apr 2016.
F
C Facebook 2019 A tool to detect bugs in Java and C/C++/Objective-C code before it ships,
Chen 2018 Chen et al, Metamorphic Testing: A Review of Challenges and Opportunities, https://fbinfer.com/, accessed Nov 2019.
ACM Comput. Surv. 51, 1, Article 4, January 2018. Forbes 2016 Leetaru, How Twitter Corrupted Microsoft's Tay:
CloudTPU 2019 Cloud TPU, https://cloud.google.com/tpu/, accessed Nov 2019. A Crash Course In the Dangers Of AI In The Real World,
Confusion 2019 Wikipedia contributors, "Confusion matrix," Wikipedia, https://www.forbes.com/sites/kalevleetaru/2016/03/24/how-twitter-corrupted-microsofts-tay-a-
https://en.wikipedia.org/w/index.php?title=Confusion_matrix&oldid=922488584 crash-course-in-the-dangers-of-ai-in-the-real-world/#202233ae26d2, Mar 2016.
(accessed November 21, 2019). Fraser 2015 Fraser et al, Does Automated Unit Test Generation Really Help Software Testers?
A Controlled Empirical Study, ACM Transactions on Software Engineering and Methodology,
D
Volume 24 Issue 4, August 2015.
Frenay 2014 Frenay et al, Classification in the Presence of Label Noise: A Survey, IEEE Transactions on Neural
DAWN 2019 Stanford DAWN Deep Learning Benchmark, Website: Networks and Learning Systems, May 2014.
L
arXiv e-print, https://arxiv.org/abs/1705.08807, May 2017.
H
Lakhotia 2012 Lakhotia et al, AUSTIN: A tool for Search Based Software Testing for the C Language and its
Evaluation on Deployed Automotive Systems, 2nd International Symposium on Search Based
Habitat 2019 Savva et al, Open-sourcing AI Habitat, an advanced simulation platform for embodied AI research, Software Engineering, 2010.
https://ai.facebook.com/blog/open-sourcing-ai-habitat-an-simulation-platform-for-embodied-ai- Liu 2014 Liu et al, How effectively does metamorphic testing alleviate the oracle problem?,
research/, accessed Nov 2019, June 2019. IEEE Transactions on Software Engineering 40, 1, 4-22, 2014.
Hall 2012 Hall et al, A systematic literature review on fault prediction performance in software engineering", LogiGear 2018 Hackett, 2018 Trends Survey Results,
Software Engineering, IEEE Transactions on, vol. 38, 2012. https://www.logigear.com/magazine/survey/2018-trends-survey-results/, accessed Nov 2019.
M
Harman 2016 Harman, The Role of Artificial Intelligence in Software Engineering, In First International Workshop
on Realizing AI Synergies in Software Engineering (RAISE), pp. 1-6. IEEE, June 2012.
Harvard 2018 Agrawal et al, “Prediction Machines: The Simple Economics of Artificial Intelligence”,
Machiry 2013 Machiry et al, Dynodroid: an input generation system for Android apps,
Harvard Business Review Press, 2018
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, Aug 2013.
History 2019 Wikipedia contributors, "History of artificial intelligence", Wikipedia,
Mao 2016 Mao et al, Sapienz: multi-objective automated testing for Android applications,
https://en.wikipedia.org/w/index.php?title=History_of_artificial_intelligence&oldid=926947877
Proceedings of the 25th International Symposium on Software Testing and Analysis, July 2016.
(accessed November 20, 2019).
MLPerf 2019 ML Training Benchmarks, Website: https://mlperf.org/, accessed Nov 2019.
Henderson 2018 Henderson et al, Deep reinforcement learning that matters,
Monkey 2019 UI/Application Exerciser Monkey, Android Studio User Guide,
Thirty-Second AAAI Conference on Artificial Intelligence, 2018.
https://developer.android.com/studio/test/monkey, accessed Nov 2019.
HPC 2018 Russel, Phase Change Memory Shows Promise for AI Use Says IBM, HPC Wire,
Moral 2018 Awad et al, The Moral Machine experiment, Nature, 563, pages 59-64, 2018.
https://www.hpcwire.com/2018/10/24/phase-change-memory-shows-promise-for-ai-use-says-
Morse 2019 Official documentation for the MORSE project,
ibm/, Oct 2018.
http://www.openrobots.org/morse/doc/0.2.1/morse.html, accessed Nov 2019.
I
Myriad 2019 Intel® Movidius™ Myriad™ VPU 2: A Class-Defining Processor,
https://www.movidius.com/myriad2, accessed Nov 2019.
IEEE 2019 Strickland, How IBM Watson Overpromised and Underdelivered on AI Health Care,
N
IEEE Spectrum, April 2019.
Nagappan 2008 Nagappan et al, The Influence of Organizational Structure on Software Quality:
IFR 2018 Robot density rises globally, IFR Press Release, https://ifr.org/ifr-press-releases/news/robot-
An Empirical Case Study, Proceedings of the 30th international conference on Software engineering
density-rises-globally, Feb 2018.
(ICSE’08), May 2008.
IntelliTest 2015 How to: Generate unit tests by using IntelliTest, https://docs.microsoft.com/en-us/visualstudio/
Nervana 2019 Intel® Nervana™ Neural Network processors deliver the scale and efficiency demanded by deep
test/generate-unit-tests-for-your-code-with-intellitest?view=vs-2019, accessed Nov 2019.
learning model evolution, https://www.intel.ai/nervana-nnp/, accessed Nov 2019.
ISTQB 2018 ISTQB® Worldwide Software Testing Practices Report 2017-18 (Revised), ISTQB,
Nokia 2019 Nokia's revolutionary 5G virtual testing speeds deployment, Press Release,
https://www.istqb.org/references/surveys/istqb%C2%AE-worldwide-software-testing-practices-
https://www.globenewswire.com/news-release/2019/04/23/1807667/0/en/
survey-2017-18.html, October 2018.
Nokia-s-revolutionary-5G-virtual-testing-speeds-deployment.html, accessed Nov 2019, April
K
2019.
NS 2018 Cossins, Discriminating algorithms: 5 times AI showed prejudice, NewScientist,
https://www.newscientist.com/article/2166207-discriminating-algorithms-5-times-ai-showed-
Keevers 2019 Keevers, Cross-validation is insufficient for model validation, Technical Report, prejudice/ , April 2018.
Australian Defence Science and Technology Group, Mar 2019.
Kim 2007 Kim et al, Predicting Faults from Cached History, 29th International Conference on Software
Engineering (ICSE’07), 2007.
P V
Püschel 2018 Püschel, Testing Self-Adaptive Systems - A Model-based Approach to Resilience, Volta 2019 NVIDIA VOLTA, https://www.nvidia.com/en-us/data-center/volta-gpu-architecture/,
Dissertation, Technischen Universität Dresden, June 2018.
accessed Nov 2019.
Q W
Qiu 2019 Qiu et al, Review of Artificial Intelligence Adversarial Attack and Defense Technologies, WP 2015 Carpenter, Google’s algorithm shows prestigious job ads to men, but not to women.
Applied Sciences 9(5):909, Mar 2019. Here’s why that should worry you., Washington Post, https://www.washingtonpost.com/news/
QM4MAS 2016 Marir et al, QM4MAS: a quality model for multi-agent systems, Int. J. Computer the-intersect/wp/2015/07/06/googles-algorithm-shows-prestigious-job-ads-to-men-but-not-
Applications in Technology, 2016, 54. to-women-heres-why-that-should-worry-you/ , July 2015.
R
WQR 2019 World Quality Report, 10th Edition, Gap Gemini, https://www.sogeti.com/explore/reports/world-
quality-report-201819/, Sep 2018.
X
Rai 2014 Rai et al, Regression Test Case Optimization Using Honey Bee Mating Optimization Algorithm with
Fuzzy Rule Base, World Applied Sciences Journal 31 (4): 654-662, 2014.
Raj 2019 Raj, Metrics for NLG evaluation, Medium.com, https://medium.com/explorations-in-language-and- XAI 2019 Wikipedia contributors, "Explainable artificial intelligence," Wikipedia,
learning/metrics-for-nlg-evaluation-c89b6a781054 , accessed Nov 2019. https://en.wikipedia.org/w/index.php?title=Explainable_artificial_intelligence&oldid=924090418
RELAX 2010 Whittle et al, RELAX: A language to address uncertainty in self-adaptive systems requirement, (accessed November 20, 2019).
Requirements Engineering, June 2010.
Reuters 2017 Shepardson, Tesla driver in fatal 'Autopilot' crash got numerous warnings: U.S. government, 25010 2011 ISO/IEC 25010:2011, Systems and software engineering - Systems and software Quality
https://www.reuters.com/article/us-tesla-crash/tesla-driver-in-fatal-autopilot-crash-got- Requirements and Evaluation (SQuaRE) - System and software quality models, 2011.
numerous-warnings-u-s-government-idUSKBN19A2XC, June 2017. 29119-4 2015 ISO/IEC/IEEE 29119-4, Software and systems engineering - Software testing - Part 4:
Robot 2019 Wikipedia contributors, "Robot," Wikipedia, https://en.wikipedia.org/w/index. Test techniques, ISO, 2015.
php?title=Robot&oldid=926707635 (accessed November 20, 2019).
Russell 2019 Russell, Of Myths and Moonshine, contribution to the conversation on The Myth of AI,
https://www.edge.org/conversation/jaron_lanier-the-myth-of-ai, accessed Nov 2019.
S
Segura 2016 Segura et al, A Survey on Metamorphic Testing, IEEE Trans. on Software Engineering,
Vol 42, No. 9, Sept 2016.
SoTR 2019 State of Testing Report 2019, version 1.3, PractiTest, https://qablog.practitest.com/
state-of-testing/, July 2019.
Statista 2019 In-depth: Artificial Intelligence 2019, Statista Report 2019,
https://people.stfx.ca/x2011/x2011aqi/School/2018-2019/Winter/BSAD%20471%20-%20Strat/
Case/AI%20statista.pdf, February 2019.
T
Tosun 2010 Tosun et al, AI-Based Software Defect Predictors: Applications and Benefits in a Case Study,
Proceedings of the Twenty-Second Innovative Applications of Artificial Intelligence Conference
(IAAI-10), 2010.
김원희 부산정보산업진흥원
안형준 부산정보산업진흥원
최유진 부산정보산업진흥원
이창석 경남테크노파크
김중한 경남테크노파크
전영준 부산IT융합부품연구소
김수욱 부산IT융합부품연구소
김장주 부산IT융합부품연구소
강지수 부산IT융합부품연구소
권선이 (사)KSTQB
천호정 (사)KSTQB
권원일 (주)STA테스팅컨설팅
박창환 (주)STA테스팅컨설팅
최영재 (주)STA테스팅컨설팅