본문 바로가기
IT

인공지능 소프트웨어 품질 보증을 위한 테스트 기법

by 복날집 2023. 4. 20.
반응형

국내 최초의 인공지능 소프트웨어 테스트 기술서

 

출판사 제이펍
저작권사 リックテレコム
원서명 AIソフトウェアのテスト――答のない答え合わせ [4つの手法] (9784865942910)
도서명 인공지능 소프트웨어 품질 보증을 위한 테스트 기법
부제 예제와 튜토리얼로 익히는 4가지 AI 소프트웨어 테스트 방법
지은이 사토 나오토, 오가와 히데토, 구루마 히로노부, 묘진 도모유키
옮긴이 황석형
감수자 (없음)
시리즈 I♥A.I. 42
출판일 2023. 03. 02
페이지 268쪽
판 형 46배판변형(188*245*15.7)
제 본 무선(soft cover)
정 가 26,000원
ISBN 979-11-92469-81-2 (93000)
키워드 AI, 인공지능, 머신러닝, 테스트, 메타모픽, 뉴런 커버리지, 최대 안전 반경, 커버리지 검증, 심층 신경망, 앙상블 트리
분 야 인공지능 / 머신러닝


관련 사이트
 아마존 도서 페이지
 저작권사 도서 페이지

 

관련 포스트

2023.02.21 - [출간 전 책 소식] - 챗GPT 같은 AI 소프트웨어를 테스트하고 싶다면

 

관련 시리즈

 아이러브 A.I.(IA.I.)

 

관련 도서

 개발자를 위한 시프트-레프트 테스트

 이펙티브 소프트웨어 테스팅

 

관련 파일 다운로드

 https://bit.ly/aisoftwaretest

 

교재 검토용 증정 안내
■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하는 분들은 다음 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리겠습니다. https://goo.gl/vBtPo3

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

미리보기(지은이 소개, 옮긴이 소개, 옮긴이 머리말, 추천의 글, 베타리더 후기, 이 책에 대하여, 0장, 1장 일부)

 

도서 소개

AI 소프트웨어 테스트의 기본 개념, 예제, 튜토리얼로 실전까지 정복

 

챗GPT 같은 AI 소프트웨어가 핫한 시대다. 자율주행, 로봇, 가전제품 등의 분야에서 AI 개발과 활용에 대한 수요가 급증하면서 AI 소프트웨어가 우후죽순 생겨나고 있다. 하지만 내부 결정 과정을 이해하기 어려운 AI는 검증 과정이 무척이나 까다롭기에 새로운 기술적 방법론에만 관심을 갖는 경우가 많다.

 

그러나 현실적으로 소프트웨어의 품질 보증을 위해서는 테스트가 필수적이다. 그렇다면 AI 소프트웨어는 어떻게 테스트해야 할까? 기존 소프트웨어 테스트 기법은 정답과 비교를 하지만, 정답을 정의할 수 없는 문제를 다루는 AI를 테스트하려면 다른 방법이 필요하다. 이 책의 저자들은 최신 학술 논문을 알기 쉽게 해설하며 실전 예제와 함께 그 해답을 제시한다.

 

이 책에서는 기존의 소프트웨어 테스트 기법의 한계를 뛰어넘는 메타모픽 테스트, 뉴런 커버리지 테스트, 최대 안전 반경 테스트, 커버리지 검증 기법을 소개한다. 저자들은 어려운 수학을 재치 있는 글과 그림으로 설명한다. 기법을 이해하는 데에서 그치지 않고 실무에 적용할 수 있도록 구성해 대학생부터 실무 담당자까지 두루 읽을 만한 책이다.

 

지은이 소개

사토 나오토(佐藤 直人)

2005년 히타치 제작소에 입사한 주임연구원이자 공학박사다. 전문 분야는 소프트웨어 테스트, 정형 기법 등이다. 취미는 독서이지만 최근 구독형 동영상 서비스에 밀리고 있다. 루어 낚시에도 관심이 있으나 이 책의 집필 시기에는 아직 한 마리도 낚지 못했다.

 

오가와 히데토(小川 秀人)

1996년 히타치 제작소에 입사한 관리연구원이자 공학박사다. AI 제품 품질 보증 컨소시엄(QA4AI) 운영 부위원장 겸 로고 디자인 담당이며, 머신러닝 품질 관리 검사위원회(AIQM) 위원이다. 전문 분야는 소프트웨어 공학이고, 《AIビジネス戦略(AI 비즈니스 전략)》(情報機構, 2020)을 공동 저술했다. 취미는 사용하지도 않는 그림 도구 수집과 저렴한 제품으로 밤하늘 촬영하기다.

 

구루마 히로노부(來間 啓伸)

1984년 히타치 제작소에 입사한 시니어 사원이자 공학박사다. 2007~2014년에는 국립정보학연구소 특임교수를 지냈다. 전문 분야는 소프트웨어 공학과 정형 기법이다. 저서로는 《Bメソッドによる形式仕様記述(B 메서드에 의한 정형 기법)》(2007), 《Event-B Refinement》(이상 近代科学社, 2015) 등이 있다. 취미는 추리소설 읽기와 산속 온천 탐방이며, 최근에는 플라이 낚시를 익히고 있다.

 

묘진 도모유키(明神 智之)

2006년 히타치 제작소에 입사한 주임연구원이다. 전문 분야는 임베디드 시스템과 소프트웨어 공학이다. 취미는 여행지에서 만난 고양이 사진 촬영이다.

 

옮긴이 소개

황석형

선문대학교 AI소프트웨어학과 교수. 일본 오사카 대학 대학원에서 공학석사와 공학박사 학위(소프트웨어 공학 전공)를 취득했다. 국방대학교 국방정보화사업 관리자 과정 외래 강사, 재단법인 충남테크노파크 상근 겸직교수, 선문대학교 IT교육원장과 전산센터장, 아일랜드 골웨이 대학교 Digital Enterprise Research Institute의 Visiting Researcher 등을 역임했다. 1997년부터 선문대학교 컴퓨터공학부 교수로 재직을 시작하여, 2017년부터는 AI소프트웨어학과에서 인공지능, 데이터사이언스, 소프트웨어 분야의 학생 교육과 연구에 더욱 힘쓰고 있다. 주요 관심 연구 분야는 형식개념분석, 데이터마이닝, 데이터 분석, 소프트웨어 공학 등이며, 번역서로 《인공지능 시대의 AI 리터러시 교과서》, 《데이터사이언스 입문》, 《프로그래머처럼 생각하라》, 《똑똑한 엄마는 국영수보다 코딩을 가르친다》, 《소프트웨어 공학》, 《시맨틱 웹을 위한 RDF/OWL 입문》 등이 있다.

 

차례

지은이 소개 x

옮긴이 소개 xi

옮긴이 머리말 xii

추천의 글 xiii

베타리더 후기 xiv

이 책에 대하여 xvi

 

CHAPTER 0 AI 소프트웨어와 테스트 1

0.1 AI 소프트웨어 테스트의 필요성 1

__0.1.1 AI의 보급에 따른 과제 1

__0.1.2 AI 기술의 핵심 ‘머신러닝’ 3

0.2 귀찮은 문제 = 과제와 해결 방법에 관련된 모순 4

__0.2.1 머신러닝의 장점에 내포된 문제점 4

__0.2.2 이 책의 주제와 대상 독자 5

 

CHAPTER 1 AI의 이해 7

1.1 AI의 종류 7

__1.1.1 강한 AI와 약한 AI 7

__1.1.2 규칙 기반 AI와 머신러닝 8

더보기
닫기

__1.1.3 지도 학습 9

__1.1.4 지도 학습으로 해결할 수 있는 문제들 9

__1.1.5 비지도 학습 10

__1.1.6 강화 학습 10

__1.1.7 휴리스틱스와 메타휴리스틱스 11

1.2 AI 소프트웨어 12

__1.2.1 머신러닝과 AI 소프트웨어 12

__1.2.2 AI 모델 12

__1.2.3 학습과 훈련 및 평가 13

__1.2.4 훈련 결과에 대한 평가와 AI 소프트웨어 테스트 15

__1.2.5 AI 소프트웨어와 AI 시스템의 관계 16

__[칼럼] AI의 진화 발전 사례: 일본식 장기인 쇼기 프로그램 16

1.3 지도 학습의 체계 18

__1.3.1 학습 완료 모델에 기반한 추론 18

__1.3.2 훈련용 입력 데이터와 훈련용 정답 데이터 18

__1.3.3 훈련 완료 모델의 평가 19

__1.3.4 학습 완료 모델의 테스트 20

__[칼럼] 머신러닝의 수학적 해석 21

1.4 AI의 개발 공정 24

__1.4.1 AI 개발 공정의 특징: 시행착오의 반복 24

__1.4.2 AI 컴포넌트 개발 공정 26

__1.5 AI 모델의 구체적인 사례 27

__1.5.1 심층 신경망 27

__1.5.2 앙상블 트리 30

__1.5.3 분류 문제 33

__1.5.4 회귀 문제 37

1.6 요약 39

 

CHAPTER 2 AI 소프트웨어 테스트 41

2.1 기존의 소프트웨어와 AI 소프트웨어의 차이점 41

__[칼럼] 수학적 귀납법과 과학적 접근법 43

2.2 기존의 소프트웨어 테스트 43

__2.2.1 입장료 계산 문제의 예 44

__2.2.2 동치 클래스와 경곗값을 이용한 테스트 45

__[칼럼] 생일 계산 46

__[칼럼] 동치 클래스와 경곗값의 수학적 표현 47

2.3 기존 테스트 기법의 적용 가능성 48

__2.3.1 동치 클래스 기법의 적용 가능성 48

__2.3.2 머신러닝의 특성 50

2.4 AI 소프트웨어 테스트 기법 52

__2.4.1 메타모픽 테스트 기법의 개요 53

__2.4.2 뉴런 커버리지 테스트 기법의 개요 54

__2.4.3 최대 안전 반경 테스트 기법의 개요 55

__2.4.4 커버리지 검증 기법의 개요 55

__[칼럼] AI의 품질 57

 

CHAPTER 3 튜토리얼 준비 59

3.1 실행 환경 설정 59

__3.1.1 파이썬 설치 59

__3.1.2 외부 라이브러리 설치 62

__[칼럼] pip를 이용한 외부 라이브러리 설치 63

3.2 테스트 도구 다운로드 65

__3.2.1 참조 파일 다운로드 65

__3.2.2 기타 파일 다운로드 66

3.3 학습에 사용할 데이터셋 68

__3.3.1 MNIST 데이터셋 68

__3.3.2 HouseSales 데이터셋 69

3.4 AI 모델의 학습 69

__3.4.1 MNIST 데이터셋 기반의 DNN 모델의 학습 70

__[칼럼] DNN 모델의 저장 방법 72

__3.4.2 HouseSales 데이터셋 기반의 DNN 모델의 학습 74

__3.4.3 HouseSales 데이터셋 기반의 XGBoost 모델 학습 76

3.5 학습 완료 모델의 실행 확인 77

__3.5.1 숫자 이미지 식별을 위한 DNN 모델의 실행 확인 77

__3.5.2 주택 가격 예측을 위한 DNN 모델 실행 확인 79

__3.5.3 주택 가격 예측을 위한 XGBoost 모델 실행 확인 80

 

CHAPTER 4 메타모픽 테스트 기법 81

4.1 메타모픽 테스트 기법이란? 81

__4.1.1 테스트 오라클의 문제점 81

__4.1.2 메타모픽 관계 84

__[칼럼] 수식을 이용한 메타모픽 테스트 기법의 정의 85

__4.1.3 AI 소프트웨어에 적용 87

__4.1.4 메타모픽 테스트 기법으로 알 수 있는 사항 89

__[칼럼] 테스트 성공인 경우에 알 수 있는 사실들 91

__4.1.5 기존의 테스트 기법과의 차이점 94

__4.1.6 메타모픽 테스트 기법의 활용 96

__[칼럼] 테스트 성공인 경우에 알 수 있는 사실들(Part 2) 99

4.2 튜토리얼 100

__4.2.1 메타모픽 테스트 기법의 실행 101

__4.2.2 데이터 가공 방법 변경 109

__4.2.3 데이터 가공 횟수의 변경 111

4.3 요약 112

 

CHAPTER 5 뉴런 커버리지 테스트 기법 113

5.1 기존의 커버리지와 뉴런 커버리지 113

__5.1.1 기존 소프트웨어에 대한 커버리지 113

__[칼럼] 명령 커버리지·분기 커버리지·조건 커버리지 114

__5.1.2 DNN 모델에 커버리지 적용 116

__5.1.3 뉴런의 활성 상태 117

5.2 뉴런 커버리지를 이용한 테스트 122

__5.2.1 뉴런 커버리지를 향상시키는 데이터 122

__5.2.2 테스트용 입력 데이터 작성 방법 122

__[칼럼] 편미분과 기울기 124

__5.2.3 가이드라인을 기반으로 가공 방법 선택 129

__[칼럼] 벡터와 내적 131

__5.2.4 가공 데이터를 사용한 테스트 실행 134

5.3 튜토리얼 135

__5.3.1 뉴런 커버리지 테스트의 실행 135

__5.3.2 활성화를 판정하는 경곗값 변경 139

__5.3.3 뉴런 커버리지 테스트의 반복 실행 143

 

CHAPTER 6 최대 안전 반경 테스트 기법 145

6.1 최대 안전 반경의 이해 145

__6.1.1 강건성 145

__6.1.2 적대적 데이터 147

__6.1.3 최대 안전 반경 150

__[칼럼] 다양한 ‘거리’ 152

6.2 최대 안전 반경 계산 방법 153

__6.2.1 최대 안전 반경의 근삿값 153

__6.2.2 계산 방법의 개요 154

__6.2.3 안전 반경의 판정 156

__6.2.4 하계와 상계의 계산 방법 158

__6.2.5 하계와 상계의 단계적 계산 방법 161

__[칼럼] 시그모이드 함수에 대한 하계 함수와 상계 함수의 정의 166

6.3 튜토리얼 172

__6.3.1 DNN 모델의 변환 172

__6.3.2 CNN-Cert의 실행 174

__6.3.3 타깃 분류 그룹핑의 변경 185

 

CHAPTER 7 커버리지 검증 기법 187

7.1 커버리지 검증 187

__7.1.1 커버리지 검증의 목적 187

__7.1.2 커버리지 검증의 체계 190

__[칼럼] 인간의 추론과 AI의 추론 190

__[칼럼] 검증을 수월하게 수행하기 위한 식 변형 193

__[칼럼] SAT Solver와 SMT Solver의 동작 194

7.2 XGBoost 모델의 커버리지 검증 195

__7.2.1 예제 모델의 커버리지 검증 195

__[칼럼] 전제조건과 검증 특성 202

__[칼럼] 커버리지 검증을 단시간 내에 수행하는 방법 206

__7.2.2 학습 완료 모델에서 논리식으로의 변환 207

__7.2.3 커버리지 검증 도구의 구조 211

7.3 검증 특성을 만족하지 않는 입력 데이터 범위의 탐색 217

__7.3.1 예제 모델의 조건 비적합 범위의 검색 217

__7.3.2 조건 비적합 범위 탐색 도구의 구조 222

7.4 DNN 모델의 커버리지 검증 225

__7.4.1 예제 모델의 커버리지 검증 225

__7.4.2 학습 완료 모델로부터 논리식으로의 변환 234

__7.4.3 커버리지 검증 도구의 구조 238

7.5 요약 241

 

CHAPTER 8 코드 리뷰 107

8.1 코드 리뷰란 109

8.2 페어 프로그래밍 113

 

APPENDIX A 각종 파일의 표기법 243

A.1 XGBoost 입출력 데이터 정의 파일의 표기법 243

A.2 DNN 입출력 데이터 정의 파일의 표기법 244

A.3 검증 조건 파일의 표기법 245

https://jpub.tistory.com/1393 jpub 재아썹

반응형