알라딘

핵심 딥러닝 입문 : RNN, LSTM, GRU, VAE, GAN 구현 - 최신 기술만 골라 배우는

아즈마 유키나가 (지은이), 최재원, 장건희 (옮긴이) | 책만
  • 등록일2021-06-21
  • 파일포맷pdf
  • 파일크기46 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 평점 평점점 평가없음

책소개

딥러닝의 기초 지식, 수학, 파이썬부터 실전 프로그래밍 구현까지,| 이 책에서 다루는 내용 || 이 책의 독자 대상 |

저자소개

인간과 AI의 공생이 미션인 회사 SAI-Lab 주식회사의 대표이사로 AI 관련 교육과 연구개발에 종사하고 있다. 토호쿠대학 대학원 이학 연구과 수료. 이학 박사(물리학)이며, 관심 분야는 인공지능(AI), 복잡계, 뇌과학, 싱귤러리티 등이다. 현재 세계 최대의 교육 동영상 플랫폼 Udemy에서 다양한 AI 관련 강좌를 전개해 약 3만명을 지도하는 인기 강사이며, 엔지니어로서 VR, 게임, SNS 등 장르를 불문하고 여러 가지 앱을 개발했다.

목차

[1장] 딥러닝의 발전

1.1 딥러닝 개요

__1.1.1 AI와 머신러닝

__1.1.2 딥러닝

1.2 딥러닝 응용 분야

__1.2.1 이미지 인식

__1.2.2 이미지 생성

__1.2.3 이상 탐지

__1.2.4 자연어 처리

__1.2.5 강화학습

__1.2.6 기타 분야에서의 응용 사례

1.3 이 책에서 다루는 딥러닝 기술

__1.3.1 RNN

__1.3.2 생성 모델



[2장] 학습 준비

2.1 아나콘다 개발 환경 구축

__2.1.1 아나콘다 다운로드

__2.1.2 아나콘다 설치

__2.1.3 주피터 노트북 실행

__2.1.4 주피터 노트북 사용

__2.1.5 노트북 종료

2.2 구글 코랩 사용

__2.2.1 구글 코랩 준비

__2.2.2 코랩 노트북 사용

__2.2.3 GPU 사용

__2.2.4 파일 사용

2.3 파이썬 기초

__2.3.1 변수와 변수형

__2.3.2 연산자

__2.3.3 리스트

__2.3.4 튜플

__2.3.5 딕셔너리

__2.3.6 if문

__2.3.7 for문

__2.3.8 함수

__2.3.9 변수의 범위

__2.3.10 클래스

2.4 넘파이와 맷플롯립

__2.4.1 모듈 임포트

__2.4.2 넘파이 배열

__2.4.3 배열을 생성하는 다양한 함수

__2.4.4 reshape를 이용한 형태 변환

__2.4.5 배열 연산

__2.4.6 원소 값에 접근

__2.4.7 그래프 그리기

__2.4.8 이미지 생성

2.5 수학 기초

__2.5.1 벡터

__2.5.2 행렬

__2.5.3 각 원소 간의 곱셈

__2.5.4 행렬 곱

__2.5.5 행렬 전치

__2.5.6 미분

__2.5.7 연쇄 법칙

__2.5.8 편미분

__2.5.9 연쇄 법칙의 확장

__2.5.10 정규분포



[3장] 딥러닝 기초

3.1 딥러닝 개요

__3.1.1 딥러닝이란?

__3.1.2 층의 방향과 층의 개수

__3.1.3 경사 하강법

__3.1.4 에포크와 배치

3.2 전결합층 순전파

__3.2.1 순전파의 수식

__3.2.2 순전파를 행렬로 표현

__3.2.3 순전파를 코드로 구현

3.3 전결합층 역전파

__3.3.1 역전파 수식

__3.3.2 역전파를 행렬로 표현

__3.3.3 역전파를 코드로 구현

3.4 전결합층 구현

__3.4.1 공통 클래스 구현

__3.4.2 은닉층 구현

__3.4.3 출력층 구현

3.5 단순한 딥러닝 구현

__3.5.1 손글씨 숫자 이미지 데이터 확인

__3.5.2 데이터 전처리

__3.5.3 순전파와 역전파

__3.5.4 미니 배치 구현

3.6 손글씨 숫자 이미지 인식의 전체 코드



[4장] RNN

4.1 RNN 개요

4.2 RNN층의 순전파

__4.2.1 순전파 개요

__4.2.2 순전파 수식

__4.2.3 순전파를 코드로 구현

4.3 RNN층의 역전파

__4.3.1 역전파 수식

__4.3.2 역전파를 행렬로 표현

__4.3.3 역전파를 코드로 구현

4.4 RNN층 구현

__4.4.1 RNN층 클래스

4.5 간단한 구조의 RNN 구현

__4.5.1 훈련 데이터 생성

__4.5.2 데이터 전처리

4.5.3 훈련

__4.5.4 예측

__4.5.5 곡선 생성

__4.5.6 sin 곡선 예측에 대한 전체 코드

4.6 2진수 덧셈 학습

__4.6.1 2진수 덧셈

__4.6.2 2진수 준비

__4.6.3 출력층

__4.6.4 훈련

__4.6.5 2진수 계산에 대한 전체 코드

4.7 RNN의 단점



[5장] LSTM

5.1 LSTM 개요

__5.1.1 LSTM 개요

__5.1.2 기억 셀

__5.1.3 망각 게이트 주변

__5.1.4 입력 게이트와 새로운 기억

__5.1.5 출력 게이트

5.2 LSTM층의 순전파

__5.2.1 LSTM층의 순전파

__5.2.2 순전파 코드 구현

5.3 LSTM층의 역전파

__5.3.1 역전파 수식

__5.3.2 망각 게이트

__5.3.3 입력 게이트

__5.3.4 새로운 기억

__5.3.5 출력 게이트

__5.3.6 행렬로 표현

__5.3.7 역전파 코드 구현

5.4 LSTM층 구현

__5.4.1 LSTM층 클래스

5.5 간단한 LSTM 구현

__5.5.1 LSTM 훈련

__5.5.2 sin 곡선 예측에 대한 전체 코드

5.6 LSTM을 이용한 문장 자동 생성

__5.6.1 텍스트 데이터 읽어들이기

__5.6.2 문자와 인덱스 관련

__5.6.3 문자 벡터화

__5.6.4 출력 결과의 의미

__5.6.5 텍스트 생성용 함수

__5.6.6 기울기 클리핑

__5.6.7 문장 생성에 대한 전체 코드

__5.6.8 결과 확인



[6장] GRU

6.1 GRU 소개

__6.1.1 GRU

__6.1.2 리셋 게이트

__6.1.3 새로운 기억

__6.1.4 업데이트 게이트

6.2 GRU층의 순전파

__6.2.1 GRU의 순전파

__6.2.2 순전파를 코드로 구현

6.3 GRU층의 역전파

__6.3.1 새로운 기억

__6.3.2 업데이트 게이트

__6.3.3 리셋 게이트

__6.3.4 입력의 기울기

__6.3.5 이전 시점 출력의 기울기

__6.3.6 GRU의 각 기울기를 행렬로 나타내기

__6.3.7 GRU의 역전파를 코드로 구현하기

6.4 GRU층 구현

__6.4.1 GRU층의 클래스

6.5 GRU 구현

__6.5.1 GRU 구현의 전체 코드

6.6 RNN을 이용한 이미지 생성

__6.6.1 이미지를 시계열 데이터로 간주하기

__6.6.2 훈련 데이터 준비하기

__6.6.3 이미지 생성

__

6.7 Seq2Seq



[7장] VAE

7.1 VAE 소개

__7.1.1 오토인코더

__7.1.2 VAE

7.2 VAE의 구조

__7.2.1 잠재 변수 샘플링

__7.2.2 재파라미터화 트릭

__7.2.3 오차 정의

__7.2.4 재구성 오차

__7.2.5 규제화항

7.3 오토인코더의 구현

__7.3.1 신경망 구현

__7.3.2 각 신경망층의 구현

__7.3.3 순전파와 역전파 구현

__7.3.4 미니 배치 학습 구현

__7.3.5 오토인코더 구현의 전체 코드

__7.3.6 생성된 이미지 나타내기

7.4 VAE에 필요한 신경망층

__7.4.1 VAE 구성

__7.4.2 평균과 표준편차를 출력하는 신경망층

__7.4.3 샘플링층

__7.4.4 출력층

7.5 VAE의 구현

__7.5.1 순전파와 역전파

__7.5.2 VAE를 구현하는 전체 코드

__7.5.3 잠재 공간의 시각화

__7.5.4 이미지 생성하기

7.6 VAE에서 파생되는 기술

__7.6.1 조건부 VAE

__7.6.2 β-VAE

__7.6.3 VQ-VAE

__7.6.4 VQ-VAE-2



[8장] GAN

8.1 GAN 소개

__8.1.1 GAN

__8.1.2 DCGAN

__8.1.3 GAN의 용도

8.2 GAN의 구조

__8.2.1 식별자의 학습 과정

__8.2.2 생성자의 학습 과정

__8.2.3 오차의 정의

8.3 GAN에 필요한 신경망층

__8.3.1 생성자와 식별자의 구조

__8.3.2 생성자의 출력층

__8.3.3 식별자의 출력층

8.4 GAN의 구현

__8.4.1 순전파와 역전파

__8.4.2 GAN의 훈련

__8.4.3 GAN의 학습

__8.4.4 이미지 생성

__8.4.5 GAN을 구현하는 전체 코드

__8.4.6 오차와 정확도 추이

8.5 GAN에서 파생되는 기술

__8.5.1 조건부 GAN

__8.5.2 pix2pix

__8.5.3 Cycle GAN



[9장] 딥러닝 추가 학습을 위한 유용한 정보

9.1 최적화 알고리즘

__9.1.1 최적화 알고리즘 개요

__9.1.2 확률적 경사 하강법(SGD)

__9.1.3 모멘텀

__9.1.4 아다그라드

__9.1.5 RMSProp

__9.1.6 아담

__9.1.7 최적화 알고리즘 구현 예

9.2 학습 테크닉

__9.2.1 드롭아웃

__9.2.2 Leaky ReLU

__9.2.3 가중치 감소

__9.2.4 배치 정규화

9.3 데이터 세트 소개

__9.3.1 사이킷런 데이터 세트

__9.3.2 케라스 데이터 세트

9.4 딥러닝의 미래



[부록]

A.1 간단한 구조의 RNN을 이용한 텍스트 생성

A.2 GRU를 이용한 텍스트 생성

A.3 참고문헌

한줄 서평