-
-
인공지능 소프트웨어 품질 보증을 위한 테스트 기법 - 예제와 튜토리얼로 익히는 4가지 AI 소프트웨어 테스트 방법, 2023년 세종도서 학술부문 추천도서 ㅣ 제이펍의 인공지능 시리즈 (I♥A.I.) 42
사토 나오토 외 지음, 황석형 옮김 / 제이펍 / 2023년 3월
평점 :
AI 소프트웨어 신뢰성 검증하기

책을 선택한 이유
인공지능의 발전은 놀랍다.
생성형 인공지능은 인간의 요구 사항에 대해 신뢰성이 높은
새로운 결과물을 만들어 낸다.
인공지능의 발전으로 인공지능 사용이 늘어나면서
잘못된 인공지능은 엄청난 위험을 발생시킬 수 있다.
안전한 인공지능을 만드는 방법을 알아보기 위해
"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"을 선택한다.

"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"은
CHAPTER 0 AI 소프트웨어와 테스트
CHAPTER 1 AI의 이해
CHAPTER 2 AI 소프트웨어 테스트
CHAPTER 3 튜토리얼 준비
CHAPTER 4 메타모픽 테스트 기법
CHAPTER 5 뉴런 커버리지 테스트 기법
CHAPTER 6 최대 안전 반경 테스트 기법
CHAPTER 7 커버리지 검증 기법
으로 구성되었다.

CHAPTER 0 AI 소프트웨어와 테스트 에서는
AI 오류는 안전에 심각한 위험을 발생시킬 수 있다.
머신러닝은 대량의 데이터에 통계 처리를 적용하여
데이터에 숨겨진 특징을 찾아내는 기술이다.
머신러닝이 발견한 특징이 옳다고 보증할 수 없으므로
AI 소프트웨어를 테스트 해야 한다.
CHAPTER 1 AI의 이해 에서는
AI, 즉 인공지능은 강한 AI, 약한 AI로 분류된다.
현재 AI는 약한 AI로, 규칙 기반 AI, 머신러닝,
메타휴리스틱스로 분류된다.
지도 학습, 비지도 학습, 강화 학습,
휴리스틱스와 메타휴리스틱스를 알아본다.
AI는 학습 완료 모델을 토대로 추론을 실행할 수 있다.
지도 학습의 체계, AI 개발 공정에 대해 알아본다.
CHAPTER 2 AI 소프트웨어 테스트 에서는
AI 소프트웨어는 학습용 데이터셋이라는 개별 사례로부터
일반적인 법칙을 찾아내는 귀납적 특징을 갖는다.
개별 사례를 일반화하여 구한 결과는 옳다는 보증이 없다.
기존 소프트웨어 테스트 방식은 인간이 개발하므로,
인간이 프로그램을 이해하여 리뷰하게 된다.
머신러닝은 AI가 데이터 변경과 재학습을 하므로
오류를 수정해도, 수정 작업 후 성능 저하 현상이
발생할 가능성이 있다.
AI 소프트웨어 테스트 기법으로
입력 데이터 변화에 따른 추론 결과를 테스트하는
메타모픽 테스트 기법,
학습 완료 모델을 사용해서 테스트 데이터를 만드는
뉴런 커버리지 테스트 기법,
타당한 값을 얻을 것으로 예상되는 범위를 구하는
최대 안전 반경 테스트 기법,
정해진 주어진 조건을 출력 데이터가 일탈하지 않음을
검증하는 커버리지 검증 기법을 소개한다.
CHAPTER 3 튜토리얼 준비 에서는
검증 도구의 실행 환경을 설정하기 위해
파이썬 및 외부 라이브러리를 설치한다.
테스트 도구 다운로드, 학습용 데이터셋,
MNIST 데이터셋 기반의 DNN 모델의 학습,
HouseSales 데이터셋 기반의 DNN 모델의 학습,
HouseSales 데이터셋 기반의 XGBoost 모델 학습,
숫자 이미지 식별을 위한 DNN 모델의 실행 확인,
주택 가격 예측을 위한 DNN 모델 실행 확인,
주택 가격 예측을 위한 XGBoost 모델 실행 확인을 설명한다.
CHAPTER 4 메타모픽 테스트 기법 에서는
테스트 오라클은 테스트 결과가 기대한 바와 같은지 판정하는 기법이다.
판정 수행 방법이 존재하지 않거나 수행 방법을 찾지 못하는 상황을
테스트 오라클 문제라고 부른다.
메타모픽 테스트 기법은 테스트 오라클 문제를 테스트한다.
메타모픽 테스트 기법의 적용 절차, 메타모픽 관계의 정의,
메타모픽 테스트 기법의 특징, 장점, 적용 절차를 설명한다.
CHAPTER 5 뉴런 커버리지 테스트 기법 에서는
뉴런 커버리지는 DNN 모델 테스트 망라율을 나타내는 지표다.
커버리지 테스트는 소프트웨어 동작 패턴을 확인하면서,
목푯값을 달성하도록 테스트를 수행한다.
DNN 모델을 대상으로 하는 뉴런 커버리지 테스트를 통해
DNN 모델이 올바르게 식별할 수 없는 입력 데이터 검출
가능성을 높이는 방법을 살펴본다.
CHAPTER 6 최대 안전 반경 테스트 기법 에서는
강건성은 입력 데이터 미세 변화가 추론 결과에
영향을 미치지 않는 것을 의미한다.
최대 안전 반경 은 강건성에 대한 지표다.
적대적 데이터는 인공적인 노이즈가 추가된 데이터이며,
강건성은 적대적 데이터 공격에 대한 내성을 보여준다.
DNN 모델의 강건성을 평가하는 최대 안전 반경 판정 계산 ,
CNN-Cert로 최대 안전 반경을 테스트 해 본다.
CHAPTER 7 커버리지 검증 기법 에서는
커버리지 검증 은 지정한 범위 내의 모든 입력 데이터에 대해
학습 완료 모델의 추론 결과가 만족되는지를 검증한다.
부적절한 추론 결과를 초래하는 데이터를 특정할 수 있다면
학습 완료 모델을 분석해 원인을 찾아내서 피드백할 수 있다.
학습 완료 모델의 특징, 커버리지 검증,
XGBOOST 커버리지 검증, 논리식으로의 전환,
검증 특성을 만족하지 않는 입력 데이터 범위의 탐색,
DNN 모델의 커버리지 검증 기법을 살펴본다.
인공지능 기술이 발전되고 다양한 분야에 사용되면서,
인공지능의 오류는 치명적 결과를 초래할 수 있다.
AI 소프트웨어는 학습용 데이터셋이라는 개별 사례로부터
일반적 법칙을 찾아내는 귀납적 특징을 갖게 되므로,
개별 사례를 일반화하여 구한 결과가 옳다는 보증이 없다.
소프트웨어 오류, 악의적 해킹 등이 발생하다면
인공지능이 사람을 공격하거나 위해를 가하는 것은
SF 속 상상의 이야기가 아니다.
"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"은
AI 기술과 AI 소프트웨어 테스트 기법을 알아보고,
메타모픽 테스트 기법, 뉴런 커버리지 테스트 기법,
최대 안전 반경 테스트 기법, 커버리지 검증 기법 등
품질 보증 테스트 기법을 소개한다.
메타모픽 테스트 기법은 입력 데이터 변화에 따른
추론 결과를 테스트하며,
뉴런 커버리지 테스트 기법은 학습 완료 모델을 사용해서
테스트 데이터를 만들고,
최대 안전 반경 테스트 기법은 타당한 값을 얻을 것으로
예상되는 범위를 구하며,
커버리지 검증 기법은 출력 데이터가 사전에 정한
조건을 일탈하지 않음을 검증한다.
기존 소프트웨어 테스트 방식은 인간이 개발하고
인간이 프로그램을 이해하여 리뷰한다.
머신러닝은 데이터 변경과 재학습으로 오류를 수정해도,
수정 작업 후 성능 저하 현상이 발생할 가능성이 있다.
AI 소프트웨어 테스트 기법으로
입력 데이터 변화에 따른 추론 결과를 테스트하는
메타모픽 테스트 기법,
학습 완료 모델을 사용해서 테스트 데이터를 만드는
뉴런 커버리지 테스트 기법,
타당한 값을 얻을 것으로 예상되는 범위를 구하는
최대 안전 반경 테스트 기법,
정해진 주어진 조건을 출력 데이터가 일탈하지 않음을
검증하는 커버리지 검증 기법을 소개한다.
"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"은
AI 품질 보증 테스트 기법의 기초 개념을 소개하고,
검증 기법에 대해 세부적으로 설명한다.
검증 도구 설치 방법을 소개하고,
튜토리얼에서 검증 도구를 사용해서 품질 보증 테스트
기법을 적용하는 절차를 사례를 통해 안내한다.
"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"은
인공지능 소프트웨어의 신뢰성을 확보하기 위한
효과적인 테스트 방법을 익혀 인공지능이 야기할 수 있는
위험을 사전에 예방할 수 있도록 한다.
AI를 바로 알고 위험성을 대비하지 못하면
AI는 잘못된 오류 뿐 아니라 생명까지 위협할 수 있다.
"인공지능 소프트웨어 품질 보증을 위한 테스트 기법"은
안전한 AI 이용을 위한 유용한 정보를 제공한다.
제이펍 에서 "인공지능 소프트웨어 품질 보증을 위한 테스트 기법"을 증정해주셨다.
감사드린다.
#사토 나오토 #佐藤直人 #오가와히데토 #小川秀人
#구루마히로노부 #來間啓伸 #묘진도모유키 #明神智之
#황석형 #제이펍 #인공지능소프트웨어품질보증을위한테스트기법