목차
지은이ㆍ옮긴이 소개 = 4
추천사 = 5
옮긴이의 말 = 7
들어가며 = 9
감사의 말 = 14
CHAPTER 1 헬로 파이썬
1.1. 파이썬이란? = 25
1.2. 파이썬 설치하기 = 26
1.2.1. 파이썬 버전 = 26
1.2.2. 사용하는 외부 라이브러리 = 26
1.2.3. 아나콘다 배포판 = 27
1.3. 파이썬 인터프리터 = 27
1.3.1. 산술 연산 = 28
1.3.2. 자료형 = 29
1.3.3. 변수 = 29
1.3.4. 리스트 = 30
1.3.5. 딕셔너리 = 31
1.3.6. bool = 31
1.3.7. if 문 = 32
1.3.8. for 문 = 33
1.3.9. 함수 = 33
1.4. 파이썬 스크립트 파일 = 34
1.4.1. 파일로 저장하기 = 34
1.4.2. 클래스 = 34
1.5. 넘파이 = 36
1.5.1. 넘파이 가져오기 = 36
1.5.2. 넘파이 배열 생성하기 = 37
1.5.3. 넘파이의 산술 연산 = 37
1.5.4. 넘파이의 N차원 배열 = 38
1.5.5. 브로드캐스트 = 39
1.5.6. 원소 접근 = 40
1.6. matplotlib = 41
1.6.1. 단순한 그래프 그리기 = 42
1.6.2. pyplot의 기능 = 43
1.6.3. 이미지 표시하기 = 44
1.7. 정리 = 45
CHAPTER 2 퍼셉트론
2.1. 퍼셉트론이란? = 47
2.2. 단순한 논리 회로 = 49
2.2.1. AND 게이트 = 49
2.2.2. NAND 게이트와 OR 게이트 = 49
2.3. 퍼셉트론 구현하기 = 51
2.3.1. 간단한 구현부터 = 51
2.3.2. 가중치와 편향 도입 = 52
2.3.3. 가중치와 편향 구현하기 = 52
2.4. 퍼셉트론의 한계 = 54
2.4.1. 도전! XOR 게이트 = 54
2.4.2. 선형과 비선형 = 56
2.5. 다층 퍼셉트론이 출동한다면 = 57
2.5.1. 기존 게이트 조합하기 = 57
2.5.2. XOR 게이트 구현하기 = 59
2.6. NAND에서 컴퓨터까지 = 61
2.7. 정리 = 62
CHAPTER 3 신경망
3.1. 퍼셉트론에서 신경망으로 = 63
3.1.1. 신경망의 예 = 64
3.1.2. 퍼셉트론 복습 = 65
3.1.3. 활성화 함수의 등장 = 66
3.2. 활성화 함수 = 68
3.2.1. 시그모이드 함수 = 68
3.2.2. 계단 함수 구현하기 = 69
3.2.3. 계단 함수의 그래프 = 70
3.2.4. 시그모이드 함수 구현하기 = 72
3.2.5. 시그모이드 함수와 계단 함수 비교 = 74
3.2.6. 비선형 함수 = 75
3.2.7. ReLU 함수 = 76
3.3. 다차원 배열의 계산 = 77
3.3.1. 다차원 배열 = 77
3.3.2. 행렬의 내적(행렬 곱) = 79
3.3.3. 신경망의 내적 = 82
3.4. 3층 신경망 구현하기 = 83
3.4.1. 표기법 설명 = 83
3.4.2. 각 층의 신호 전달 구현하기 = 84
3.4.3. 구현 정리 = 89
3.5. 출력층 설계하기 = 90
3.5.1. 항등 함수와 소프트맥스 함수 구현하기 = 91
3.5.2. 소프트맥스 함수 구현 시 주의점 = 93
3.5.3. 소프트맥스 함수의 특징 = 94
3.5.4. 출력층의 뉴런 수 정하기 = 95
3.6. 손글씨 숫자 인식 = 96
3.6.1. MNIST 데이터셋 = 96
3.6.2. 신경망의 추론 처리 = 100
3.6.3. 배치 처리 = 102
3.7. 정리 = 105
CHAPTER 4 신경망 학습
4.1. 데이터에서 학습한다! = 107
4.1.1. 데이터 주도 학습 = 108
4.1.2. 훈련 데이터와 시험 데이터 = 110
4.2. 손실 함수 = 111
4.2.1. 평균 제곱 오차 = 112
4.2.2. 교차 엔트로피 오차 = 113
4.2.3. 미니배치 학습 = 115
4.2.4. (배치용) 교차 엔트로피 오차 구현하기 = 118
4.2.5. 왜 손실 함수를 설정하는가? = 119
4.3. 수치 미분 = 121
4.3.1. 미분 = 121
4.3.2. 수치 미분의 예 = 124
4.3.3. 편미분 = 125
4.4. 기울기 = 127
4.4.1. 경사법(경사 하강법) = 129
4.4.2. 신경망에서의 기울기 = 133
4.5. 학습 알고리즘 구현하기 = 136
4.5.1. 2층 신경망 클래스 구현하기 = 137
4.5.2. 미니배치 학습 구현하기 = 141
4.5.3. 시험 데이터로 평가하기 = 143
4.6. 정리 = 146
CHAPTER 5 오차역전파법
5.1. 계산 그래프 = 148
5.1.1. 계산 그래프로 풀다 = 148
5.1.2. 국소적 계산 = 150
5.1.3. 왜 계산 그래프로 푸는가? = 151
5.2. 연쇄법칙 = 152
5.2.1. 계산 그래프에서의 역전파 = 153
5.2.2. 연쇄법칙이란? = 153
5.2.3. 연쇄법칙과 계산 그래프 = 154
5.3. 역전파 = 155
5.3.1. 덧셈 노드의 역전파 = 156
5.3.2. 곱셈 노드의 역전파 = 157
5.3.3. 사과 쇼핑의 예 = 159
5.4. 단순한 계층 구현하기 = 160
5.4.1. 곱셈 계층 = 160
5.4.2. 덧셈 계층 = 162
5.5. 활성화 함수 계층 구현하기 = 165
5.5.1. ReLU 계층 = 165
5.5.2. Sigmoid 계층 = 167
5.6. Affine/Softmax 계층 구현하기 = 170
5.6.1. Affine 계층 = 170
5.6.2. 배치용 Affine 계층 = 174
5.6.3. Softmax-with-Loss 계층 = 176
5.7. 오차역전파법 구현하기 = 179
5.7.1. 신경망 학습의 전체 그림 = 180
5.7.2. 오차역전파법을 적용한 신경망 구현하기 = 180
5.7.3. 오차역전파법으로 구한 기울기 검증하기 = 184
5.7.4. 오차역전파법을 사용한 학습 구현하기 = 186
5.8. 정리 = 187
CHAPTER 6 학습 관련 기술들
6.1. 매개변수 갱신 = 189
6.1.1. 모험가 이야기 = 190
6.1.2. 확률적 경사 하강법(SGD) = 190
6.1.3. SGD의 단점 = 192
6.1.4. 모멘텀 = 194
6.1.5. AdaGrad = 196
6.1.6. Adam = 199
6.1.7. 어느 갱신 방법을 이용할 것인가? = 200
6.1.8. MNIST 데이터셋으로 본 갱신 방법 비교 = 201
6.2. 가중치의 초깃값 = 202
6.2.1. 초깃값을 0으로 하면? = 202
6.2.2. 은닉층의 활성화값 분포 = 203
6.2.3. ReLU를 사용할 때의 가중치 초깃값 = 207
6.2.4. MNIST 데이터셋으로 본 가중치 초깃값 비교 = 209
6.3. 배치 정규화 = 210
6.3.1. 배치 정규화 알고리즘 = 210
6.3.2. 배치 정규화의 효과 = 212
6.4. 바른 학습을 위해 = 215
6.4.1. 오버피팅 = 215
6.4.2. 가중치 감소 = 217
6.4.3. 드롭아웃 = 219
6.5. 적절한 하이퍼파라미터 값 찾기 = 221
6.5.1. 검증 데이터 = 221
6.5.2. 하이퍼파라미터 최적화 = 223
6.5.3. 하이퍼파라미터 최적화 구현하기 = 224
6.6. 정리 = 226
CHAPTER 7 합성곱 신경망(CNN)
7.1. 전체 구조 = 227
7.2. 합성곱 계층 = 229
7.2.1. 완전연결 계층의 문제점 = 229
7.2.2. 합성곱 연산 = 230
7.2.3. 패딩 = 232
7.2.4. 스트라이드 = 233
7.2.5. 3차원 데이터의 합성곱 연산 = 235
7.2.6. 블록으로 생각하기 = 237
7.2.7. 배치 처리 = 239
7.3. 풀링 계층 = 240
7.3.1. 풀링 계층의 특징 = 240
7.4. 합성곱/풀링 계층 구현하기 = 242
7.4.1. 4차원 배열 = 242
7.4.2. im2col로 데이터 전개하기 = 243
7.4.3. 합성곱 계층 구현하기 = 245
7.4.4. 풀링 계층 구현하기 = 247
7.5. CNN 구현하기 = 250
7.6. CNN 시각화하기 = 254
7.6.1. 1번째 층의 가중치 시각화하기 = 254
7.6.2. 층 깊이에 따른 추출 정보 변화 = 256
7.7. 대표적인 CNN = 257
7.7.1. LeNet = 257
7.7.2. AlexNet = 258
7.8. 정리 = 259
CHAPTER 8 딥러닝
8.1. 더 깊게 = 261
8.1.1. 더 깊은 신경망으로 = 261
8.1.2. 정확도를 더 높이려면 = 264
8.1.3. 깊게 하는 이유 = 265
8.2. 딥러닝의 초기 역사 = 268
8.2.1. 이미지넷 = 268
8.2.2. VGG = 270
8.2.3. GoogLeNet = 271
8.2.4. ResNet = 272
8.3. 더 빠르게(딥러닝 고속화) = 273
8.3.1. 풀어야 할 숙제 = 274
8.3.2. GPU를 활용한 고속화 = 274
8.3.3. 분산 학습 = 276
8.3.4. 연산 정밀도와 비트 줄이기 = 277
8.4. 딥러닝의 활용 = 278
8.4.1. 사물 검출 = 278
8.4.2. 분할 = 280
8.4.3. 사진 캡션 생성 = 281
8.5. 딥러닝의 미래 = 283
8.5.1. 이미지 스타일(화풍) 변환 = 283
8.5.2. 이미지 생성 = 284
8.5.3. 자율 주행 = 286
8.5.4. Deep Q-Network(강화학습) = 287
8.6. 정리 = 289
APPENDIX A. Softmax-with-Loss 계층의 계산 그래프
A.1. 순전파 = 292
A.2. 역전파 = 294
A.3. 정리 = 299
참고문헌 = 300
찾아보기 = 308
닫기