딥러닝 인 더 브라우저
도서명:딥러닝 인 더 브라우저
저자/출판사:자비에르,보우리,카이,사사키,크리스토프,코너,레이이치/제이펍
쪽수:225쪽
출판일:2020-02-20
ISBN:9791188621835
목차
CHAPTER 1 딥러닝 소개 1
1.1 신경망을 위한 기초 수학 3
1.1.1 단층 퍼셉트론 3
1.1.2 다층 퍼셉트론 8
1.1.3 합성곱 계층과 풀링층 9
1.1.4 활성화 함수 12
1.2 뉴럴 네트워크 17
1.2.1 손실 함수의 중요성 17
1.2.2 정규화 18
1.2.3 역전파 알고리즘 19
1.2.4 최적화 방법 19
1.3 정리 21
CHAPTER 2 신경망 구조 23
2.1 합성곱 신경망 24
2.1.1 AlexNet 25
2.1.2 GoogLeNet 26
2.1.3 ResNet 27
2.1.4 SqueezeNet 29
2.2 순환 신경망 31
2.2.1 LSTM 33
2.2.2 GRU 34
2.3 강화 학습 35
2.3.1 DQN 38
2.4 정리 39
CHAPTER 3 자바스크립트 딥러닝 프레임워크 41
3.1 TensorFlow.js 42
3.1.1 TensorFlow.js 시작하기 42
3.1.2 XOR 문제 43
3.1.3 XOR 문제 해결 44
3.1.4 네트워크 구조 49
3.1.5 텐서 50
3.1.6 연산 52
3.1.7 학습 55
3.1.8 TensorFlow.js 생태계 58
3.2 WebDNN 61
3.3 Keras.js 63
3.4 정리 65
CHAPTER 4 딥러닝을 위한 자바스크립트 기초 67
4.1 자바스크립트 형식화 배열 68
4.1.1 ArrayBuffer 69
4.1.2 DataView 71
4.2 자바스크립트 동시성 73
4.2.1 자바스크립트 이벤트 루프 73
4.2.2 Promise 비동기 함수 75
4.2.3 async/await 비동기 함수 77
4.2.4 웹워커를 사용한 멀티스레딩 79
4.2.5 딥러닝 애플리케이션을 위한 프로세싱 반복 처리 81
4.3 CPU/GPU에서 리소스 로드하기 81
4.3.1 Fetch API 82
4.3.2 레이블 인코딩 84
4.3.3 원-핫 인코딩 85
4.4 정리 86
CHAPTER 5 WebGL을 이용한 GPU 가속화 89
5.1 WebGL 기초 91
5.1.1 WebGL 작업 흐름 93
5.1.2 프래그먼트 셰이더 렌더링 96
5.2 일반적인 WebGL 사용 102
5.2.1 WebGL 디버깅 103
5.2.2 텍스처 렌더링 104
5.2.3 정밀도 109
5.2.4 최적화 112
5.2.5 부동소수점 스페셜 113
5.2.6 CPU에서 GPU로 또는 GPU에서 CPU로 118
5.3 행렬 연산을 위한 텍스처와 셰이더 119
5.3.1 행렬의 덧셈 120
5.3.2 행렬의 곱셈 120
5.3.3 활성화 함수 122
5.3.4 WGLMatrix 메서드 122
5.4 손글씨 인식 애플리케이션 123
5.4.1 데이터 인코딩 123
5.4.2 메모리 최적화 124
5.4.3 피드포워드 126
5.4.4 첫 번째 시도 126
5.4.5 성능 향상 127
5.5 정리 129
CHAPTER 6 웹브라우저에서의 데이터 추출 131
6.1 이미지 데이터 로딩 132
6.1.1 이미지에서 픽셀 추출하기 132
6.1.2 원격 리소스 로드하기 134
6.1.3 이진 블랍 가져오기 136
6.2 픽셀 데이터를 화면에 렌더링하기 137
6.2.1 이미지 보여주기 138
6.2.2 픽셀 데이터를 캔버스에 렌더링하기 139
6.2.3 이미지 데이터 보간 141
6.2.4 캔버스에 도형 그리기 143
6.3 카메라, 마이크, 스피커 사용하기 144
6.3.1 웹캠에서 이미지 캡처하기 145
6.3.2 마이크로 오디오 레코딩하기 146
6.3.3 사운드 파일의 로딩, 디코딩, 출력 148
6.4 딥러닝 프레임워크의 유틸리티 도구 149
6.4.1 TensorFlow.js 150
6.4.2 Keras.js 151
6.4.3 WebDNN 152
6.5 정리 153
CHAPTER 7 고급 데이터 조작을 위한 레시피 155
7.1 Protobuf 직렬화 156
7.1.1 Caffe 모델 파라미터 파싱하기 158
7.1.2 텐서플로 그래프 파싱 159
7.1.3 부동소수점 정밀도 161
7.2 Chart.js 차트 구현 162
7.2.1 차트 유형 살펴보기 163
7.2.2 데이터 세트 구성 165
7.2.3 데이터 업데이트 166
7.2.4 옵션과 구성 설정 168
7.3 캔버스를 활용한 스케치 171
7.3.1 캔버스에 그림 그리기 172
7.3.2 펜 스트로크 추출하기 175
7.4 마이크에서 스펙토그램 계산하기 177
7.5 얼굴 감지 및 추적 179
7.5.1 Jeeliz FaceFilter를 사용한 얼굴 추적 179
7.5.2 Tracking.js로 얼굴 추적하기 180
7.5.3 크롬 얼굴 인식 API 182
7.6 정리 184
CHAPTER 8 TensorFlow.js 애플리케이션 개발 185
8.1 TensorFlow.js를 활용한 동작 분류 185
8.1.1 알고리즘 186
8.1.2 TensorFlow.js 프로젝트 시작하기 188
8.1.3 KNN 분류기 설정 189
8.1.4 TensorFlow.js 프로세싱 루프 190
8.1.5 정리 193
8.2 TensorFlow.js를 활용한 텍스트 생성 애플리케이션 개발 193
8.2.1 알고리즘 193
8.2.2 케라스 모델 194
8.2.3 케라스 모델을 TensorFlow.js 모델로 변환하기 195
8.2.4 프로젝트 설치하기 196
8.2.5 TensorFlow.js로 케라스 모델 가져오기 196
8.2.6 TensorFlow.js 프로세싱 반복문 197
8.2.7 모델 입력 구성하기 198
8.2.8 예측 구현 200
8.2.9 모델 출력 샘플링 201
8.2.10 마치며 203
8.3 TensorFlow.js를 활용한 이미지 노이즈 제거 204
8.3.1 알고리즘 204
8.3.2 케라스 모델을 TensorFlow.js 모델로 변환하기 206
8.3.3 프로젝트 설치 207
8.3.4 초기화 207
8.3.5 애플리케이션 동작 흐름 208
8.3.6 테스트 이미지 불러오기 209
8.3.7 노이즈 업데이트 211
8.3.8 이미지 노이즈가 제거된 이미지 생성하기 211
8.3.9 이미지 노이즈 제거 212
8.3.10 초기화 함수 213
8.3.11 마치며 214
8.4 정리 214
8.5 맺음말 216
찾아보기 218