PROLOGUE 개발 환경 준비
0.1 이 책의 검증 환경
0.1.1 OS 환경: 우분투 16.04
0.1.2 엔비디아의 GPU
0.1.3 클라우드에서 GPU를 탑재한 인스턴스 실행하기
0.2 개발 환경 구축
0.2.1 미니콘다 설치
0.2.2 가상 환경 구축
CHAPTER 1 파이토치의 기본
1.1 파이토치의 구성
1.1.1 파이토치의 전반적인 구성
1.2 텐서
1.2.1 텐서 생성과 변환
1.2.2 텐서의 인덱스 조작
1.2.3 텐서 연산
1.3 텐서와 자동 미분
1.4 정리
CHAPTER 2 최대 우도 추정과 선형 모델
2.1 확률 모델과 최대 우도 추정
2.2 확률적 경사 하강법
2.3 선형 회귀 모델
2.3.1 선형 회귀 모델의 최대 우도 추정
2.3.2 파이토치로 선형 회귀 모델 만들기(직접 만들기)
2.3.3 파이토치로 선형 회귀 모델 만들기(nn, optim 모듈 사용)
2.4 로지스틱 회귀
2.4.1 로지스틱 회귀의 최대 우도 추정
2.4.2 파이토치를 사용한 로지스틱 회귀 분석
2.4.3 다중 분류를 위한 로지스틱 회귀 분석
2.5 정리
CHAPTER 3 다층 퍼셉트론
3.1 MLP 구축과 학습
3.2 Dataset과 DataLoader
3.2.1 Dataset과 DataLoader
3.3 학습 효율화 팁
3.3.1 Dropout을 사용한 정규화
3.3.2 Batch Normalization를 사용한 학습 가속
3.4 신경망의 모듈화
3.4.1 자체 신경망 계층(커스텀 계층) 만들기
3.5 정리
CHAPTER 4 이미지 처리와 합성곱 신경망
4.1 이미지와 합성곱 계산
4.2 CNN을 사용한 이미지 분류
4.2.1 Fashion-MNIST
4.2.2 CNN 구축과 학습
4.3 전이 학습
4.3.1 데이터 준비
4.3.2 파이토치를 사용한 전이 학습
4.4 CNN 회귀 모델을 사용한 이미지 해상도 향상
4.4.1 데이터 준비
4.4.2 모델 작성
4.5 DCGAN을 사용한 이미지 생성
4.5.1 GAN이란
4.5.2 데이터 준비
4.5.3 파이토치를 사용한 DCGAN
4.6 정리
CHAPTER 5 자연어 처리와 순환 신경망
5.1 RNN이란?
5.2 텍스트 데이터의 수치화
5.3 RNN과 문장 분류
5.3.1 IMDb 리뷰 데이터
5.3.2 신경망 정의와 훈련
5.3.3 가변 길이 계열 처리
5.4 RNN을 사용한 문장 생성
5.4.1 데이터 준비
5.4.2 모델 정의 및 학습
5.5 인코더-디코더 모델을 사용한 기계 번역
5.5.1 인코더-디코더 모델이란
5.5.2 데이터 준비
5.5.3 파이토치를 사용한 인코더-디코더 모델
5.6 정리
CHAPTER 6 추천 시스템과 행렬 분해
6.1 행렬 인수분해
6.1.1 이론적 배경
6.1.2 MovieLens 데이터
6.1.3 파이토치에서 행렬 인수분해하기
6.2 신경망 행렬 인수분해
6.2.1 행렬 인수분해를 비선형화
6.2.2 부속 정보 이용
6.3 정리
CHAPTER 7 애플리케이션 적용
7.1 모델 저장과 불러오기
7.2 플라스크를 사용한 웹 API화
7.3 도커를 이용한 배포
7.3.1 nvidia-docker 설치
7.3.2 파이토치의 도커 이미지 작성
7.3.3 웹 API 배포
7.4 ONNX를 사용한 다른 프레임워크와의 연계
7.4.1 ONNX란
7.4.2 파이토치 모델 엑스포트
7.4.3 Cae2에서 ONNX 모델 사용하기
7.4.4 ONNX 모델을 Cae2 모델로 저장
7.5 정리
APPENDIX A 훈련 상태 가시화
A1.1 텐서보드를 사용한 가시화
APPENDIX B 컬래버레터리로 파이토치 개발 환경 구축
B1.1 컬래버레터리를 사용한 파이토치 개발 환경 구축 방법
B1.1.1 컬래버레터리란
B1.1.2 장비 사양
B1.1.3 파이토치 환경 구축
B1.1.4 데이터 처리
실무에도 바로 활용할 수 있는 파이토치 입문서!
딥러닝의 파이썬 라이브러리로는 구글이 개발한 텐서플로(TensorFlow) 프레임워크가 가장 유명하지만, 심벌을 사용하는 프로그래밍 스타일 때문에 초보자가 접근하기 어렵다는 의견도 존재한다. 반면 이 책에서 다루는 파이토치는 페이스북을 중심으로 개발된 오픈 소스 프로젝트로 동적 네트워크라는 구조를 도입했으며, 일반적인 파이썬 프로그램과 같은 환경에서 간단하게 신경망을 구축할 수 있다는 점에서 많은 관심을 받고 있다. 특히, 해외 연구자들로부터 많은 지지를 받고 있어서 최신 연구들이 파이토치를 사용해 구현되는 중이다. 연구 결과들도 깃허브를 통해 빠르게 공개되는 것이 당연시되고 있다. 아직 한글 자료는 부족하지만, 사용하기 쉽고 최신 연구 결과를 바로 적용할 수 있어서 서비스에 딥러닝을 곧바로 적용하고 싶은 사람에게는 최적의 프레임워크가 될 것이다. 이 책을 통해서 독자 여러분이 신경망이나 딥러닝, 그리고 머신러닝 등에 흥미를 가지고 실제로 자신의 업무에 적용할 수 있게 되기를 바란다.