이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
인공지능 소프트웨어 품질 보증을 위한 테스트 기법
예제와 튜토리얼로 익히는 4가지 AI 소프트웨어 테스트 방법 2023년 세종도서 학술부문 추천도서
가격
26,000
10 23,400
YES포인트?
1,300원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

제이펍-I♥A.I 시리즈

이 상품의 시리즈 알림신청

이 상품의 태그

카드뉴스로 보는 책

카드뉴스0
카드뉴스1
카드뉴스2
카드뉴스3
카드뉴스4
카드뉴스5
카드뉴스6

상세 이미지

책소개

목차

지은이 소개 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

APPENDIX A 각종 파일의 표기법 243
A.1 XGBoost 입출력 데이터 정의 파일의 표기법 243
A.2 DNN 입출력 데이터 정의 파일의 표기법 244
A.3 검증 조건 파일의 표기법 245

맺음말 247
찾아보기 249

저자 소개5

사토 나오토

관심작가 알림신청
 

佐藤 直人

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

오가와 히데토

관심작가 알림신청
 

小川 秀人

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

구루마 히로노부

관심작가 알림신청
 

來間 啓伸

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

묘진 도모유키

관심작가 알림신청
 

明神 智之

2006년 히타치 제작소에 입사한 주임연구원이다. 전문 분야는 임베디드 시스템과 소프트웨어 공학이다. 취미는 여행지에서 만난 고양이 사진 촬영이다.
일본 오사카대학교 대학원(정보공학과)에서 공부하고, 1997년부터 선문대학교 컴퓨터공학과 교수로 재직 중이다. 저자의 대학원 선배이자, 20년지기 친구로 이 책을 한국어로 옮기고, 한국의 프로프래밍 교육 현황 등에 대한 내용을 집필했다. 국방대학교 외래강사, 충남테크노파크 겸임교수, 아일랜드국립대학 객원연 구원 등을 역임하며 프로그래밍 연구를 계속하고 있다.

황석형의 다른 상품

품목정보

발행일
2023년 03월 02일
쪽수, 무게, 크기
268쪽 | 188*245*16mm
ISBN13
9791192469812

책 속으로

지금까지 가능한 한 이해하기 수월하게 머신러닝의 개요를 설명하고 구체적인 모델의 예를 소개했다. 이 칼럼에서는 조금 더 구체적으로 ‘머신러닝이란 무엇을 하는 것인가?’에 대해서 수학적으로 설명한다. 다만, 수학적 엄밀성 측면을 조금 양보하여 가능한 한 간단한 함수를 사용해서 설명한다. 이 칼럼의 목적은 머신러닝의 일반적인 개념을 이해하는 것이다. 보다 구체적인 머신러닝 알고리즘에 대해서는 1.5절에서 설명한다. 특히, 여기에서는 지도 학습을 대상으로 설명한다.
--- p.21

AI 소프트웨어는 개발 과정에서 시행착오가 필수불가결하다는 특징을 갖는다. 기존의 소프트웨어 개발에서는 정의된 요구사항을 토대로 소프트웨어의 사양을 결정하고, 사양을 토대로 소프트웨어를 구현해가는 공정이 일반적이다. 이때 사양은 요구사항을 만족해야 하며 구현 결과는 사양을 만족해야 한다. 그러나 AI 소프트웨어의 개발에서는 요구사항이나 사양 등이 존재하지 않는다. 사양을 대신하여 훈련용 데이터가 존재하며, 훈련용 데이터를 이용하여 학습 과정을 시행하여 AI 소프트웨어를 구축한다.
--- p.24

그러나 귀납적 특징을 갖는 AI 소프트웨어 개발에서는 개별 사례를 일반화하여 결과물(법칙)을 구하기 때문에, 구해진 법칙이 항상 올바르다고 단정할 수 없다. 즉, 학습용 데이터셋을 토대로 작성한 학습 완료 모델은 학습용 데이터셋 이외의 데이터에서도 올바른 추론 결과를 출력하는지를 알 수 없다. 애초에 올바른 출력이 무엇인지 아무도 알 수 없다. 이 책의 서론 부분에서 단순하게 ‘고양이는 무엇인가?’를 정의하는 것조차 거의 불가능하다는 사실을 설명했다. 귀납적 특징을 갖는 AI 소프트웨어 개발에서는 기존의 소프트웨어 개발(연역적 개발)에서 수행하는 방식(올바른 전제를 토대로 수행하는 테스트 작업)을 적용할 수 없다.
--- p.42

메타모픽 테스트 기법의 장점으로서, (1) 단계에서 소스 입력 데이터가 준비되어 있고 메타모픽 관계가 명확하게 정의되어 있다면, 테스트 작업을 자동화할 수 있다. (2) 단계에서 수행하는 데이터 가공 작업에서도 메타모픽 관계를 기반으로 자동화할 수 있다. 또한 (3) 단계의 테스트 대상 소프트웨어를 실행하는 작업도 자동화할 수 있다. (4) 단계에서 소스 출력 데이터와 팔로업 출력 데이터의 평가 작업도 메타모픽 관계를 토대로 자동화가 가능하다.
--- p.84

그런데 은닉층에서 활성화된 뉴런의 비율에 주목하고 입력층과 출력층을 구성하는 뉴런은 무시해도 괜찮을까? 앞서 설명한 것처럼 뉴런 커버리지는 뉴런의 활성 상태에 따라 DNN 모델의 동작 패턴을 나타내려는 개념을 기반으로 하고 있다. 그렇다면 DNN 모델을 구성하는 3개 층(입력층, 은닉층, 출력층) 중에서 DNN 모델의 동작을 나타내는 층은 어느 것일까? 소프트웨어의 동작이란, 입력 데이터로부터 출력 데이터를 얻기 위한 계산 처리를 의미한다. DNN 모델의 경우에도 입력 데이터로부터 출력 데이터를 얻기 위한 계산 처리를 담당하는 층이 DNN 모델의 동작을 나타내는 층에 해당한다.
--- p.120

미분과 적분이라는 단어를 듣게 되면 고교 시절 수학 수업 시간에 고생했던 추억이 떠올라서 이 책을 덮어버리고 싶은 독자도 있을 것 같다. 편미분은 미분의 한 종류에 해당하는 내용이기 때문에 여러분은 고교 시절에 배웠던 내용을 다시 떠올리면서 이 칼럼의 내용을 읽어보고 있을 것이라고 생각한다. 미분에 대해서 전혀 배운 적도 들어본 적도 없는 독자도 이해하기 쉽게 설명하겠다.

--- p.124

출판사 리뷰

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

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

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

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

리뷰/한줄평7

리뷰

9.8 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
23,400
1 23,400