이미 소장하고 있다면 판매해 보세요.
지은이 소개 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 |
佐藤 直人
小川 秀人
來間 啓伸
明神 智之
황석형의 다른 상품
지금까지 가능한 한 이해하기 수월하게 머신러닝의 개요를 설명하고 구체적인 모델의 예를 소개했다. 이 칼럼에서는 조금 더 구체적으로 ‘머신러닝이란 무엇을 하는 것인가?’에 대해서 수학적으로 설명한다. 다만, 수학적 엄밀성 측면을 조금 양보하여 가능한 한 간단한 함수를 사용해서 설명한다. 이 칼럼의 목적은 머신러닝의 일반적인 개념을 이해하는 것이다. 보다 구체적인 머신러닝 알고리즘에 대해서는 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를 테스트하려면 다른 방법이 필요하다. 이 책의 저자들은 최신 학술 논문을 알기 쉽게 해설하며 실전 예제와 함께 그 해답을 제시한다. 이 책에서는 기존의 소프트웨어 테스트 기법의 한계를 뛰어넘는 메타모픽 테스트, 뉴런 커버리지 테스트, 최대 안전 반경 테스트, 커버리지 검증 기법을 소개한다. 저자들은 어려운 수학을 재치 있는 글과 그림으로 설명한다. 기법을 이해하는 데에서 그치지 않고 실무에 적용할 수 있도록 구성해 대학생부터 실무 담당자까지 두루 읽을 만한 책이다. |