본문 바로가기
+ 펴낸 책

핵심 딥러닝 입문: RNN, LSTM, GRU, VAE, GAN 구현

by 책만 2020. 11. 30.

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

아즈마 유키나가 지음 | 최재원, 장건희 옮김

376쪽 | 28,000원 | 2020년 12월 9일 출간 | 180*235*18 | ISBN 9791189909246

원서: はじめてのディープラーニング2: Pythonで実装する再帰型ニューラルネットワーク, VAE, GAN

 

판매처 [교보문고] [YES24] [알라딘] [인터파크] + 전국 교보문고 매장

전자책 판매처 | [리디북스] [교보문고] [YES24] [알라딘] | ISBN 9791189909277 | PDF 포맷 | 

 

★ 정오표: https://www.onlybook.co.kr/entry/deeplearning2-errata
 독자문의: support (at) onlybook.co.kr

  예제 소스코드 파일 다운로드:

deeplearning2Sample_sai.zip
0.18MB

 

딥러닝의 기초 지식, 수학, 파이썬부터 실전 프로그래밍 구현까지,
RNN, LSTM, GRU, VAE, GAN을 망라하는 최신 딥러닝 모델 마스터!

현 시점에서 개발자가 꼭 알아야 할 최신 딥러닝 기술들만을 골라 수식과 코드를 번갈아가며 매우 이해하기 쉽게 알려준다. 간결하고 이해하기 쉬운 예제 코드들을 하나 하나 따라 해가다 최종적으로 실전에서도 활용할 수 있는 완결된 딥러닝 코드를 완성해본다. 이 책에서는 파이썬과 기초 수학부터 시작해서, RNN(순환 신경망)과 LSTM, GRU, VAE(변이형 오토인코더), GAN(생성적 적대 신경망)까지, 최신 딥러닝의 필수 모델과 원리, 내부 동작을 빠짐없이 자세하게 설명한다. 파이썬 프로그래밍을 직접 코딩하면서 차근차근 순서대로 공부해 나가다 보면 딥러닝의 기초를 완벽하게 습득할 수 있다.

 

추천의 글

최근 딥러닝을 위한 프로그래밍 도구나 라이브러리가 다수 공개되며 활용의 문턱은 낮아졌지만, 대신 그 원리에 대한 깊은 이해의 여지는 줄어들었다고 볼 수 있다.

이 책은 알기 어려웠던 딥러닝의 원리를 배울 수 있는 책이다. 하지만 어렵지 않게 하나씩 풀어내어 쉽게 접근할 수 있게 차근차근 알려준다. 딥러닝의 핵심 기술인 순환신경망이나 적대적신경망 등을 예시와 함께 쉽게 설명하면서, 그 동작 원리를 이론과 예시 코드를 통해 깊이 있게 설명한다.

이 책은 딥러닝을 처음 배우고자 하는 분이나 도구를 사용하는 데 익숙하지만 그 원리가 궁금했던 실무자 등 다양한 수요를 충족시켜 줄 것이다.
- 허민회 / 현대자동차, AI Research(AIR) Lab 책임연구원
딥러닝은 개발 환경과 주피터 노트북 같은 도구, 그리고 모델을 만들 때 사용할 프로그래밍 언어를 알아야 하며, 행렬과 미분 등의 수학적 지식이 있어야 내부가 어떻게 동작하는지 이해하고 직접 만든 후 학습을 통해 정확도 높은 모델을 만들 수 있습니다. 꼭 필요한 부분을 모아 정리한 책은 없을까, 라며 이 책을 집었다면 오늘 행운을 다 써버린 건 아닌지 생각해보세요. 배웠던 지식을 정리하거나 진지하게 순서대로 공부해보고 싶은 독자라면 이 책을 추천합니다.

만들어진 모델을 바로 사용하는 것이 목적이라면 굳이 이 책이 아니더라도 인터넷 상에서 쉽게 방법을 찾을 수 있습니다. 이 책은 몇 가지 모델의 내부 동작을 개념적으로. 또 수학적으로 이해하고 직접 프로그래밍할 수 있도록 알려줍니다. 내부 동작을 알고 싶거나 아키텍처를 직접 구성해 훌륭한 딥러닝 모델을 직접 만들고 싶은 분에게 추천하며, 이 책을 통해 얻게 될 경험은 큰 도움이 될 것으로 생각합니다.
- 현동석 / (주)네이버, 지식베이스 리더
이 책은 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』의 2부 격에 해당하는 책입니다. 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』은 퍼셉트론에서 DNN, CNN까지 신경망 순전파와 역전파 수식을 명쾌하게 유도하고, 수식을 코드로 전환하는 과정이 매우 인상적인 책입니다. 한편, 이번 책 『핵심 딥러닝 입문: RNN, LSTM, GRU, VAE, GAN 구현』은 전작의 장점을 살려 RNN, LSTM, GAN, GRU 등으로 확장하고 있습니다.

최근에 언어 모델은 Attention, Transformer, BERT로 발전하고 있습니다. 이들 모델은 모두 RNN/LSTM을 기반으로 합니다. 최신 모델에 대한 이해를 높이기 위해서는 RNN/LSTM에 대한 기초/이해가 중요합니다.

이 책에서는 RNN/LSTM의 순전파와 역전파에 적용된 수식을 유도하고 최종 수식을 코드로 구현하는 과정을 설명하기 때문에, 모델에 대한 이해와 통찰을 높이는 데 효과적입니다. RNN에 대한 이해가 필요한 분들이 읽으시면 상당히 많은 시간을 절약할 수 있을 것입니다. 언어 모델의 기본기를 고민하시는 분들께 강력히 추천하는 도서입니다.
- 김태완 / 한국오라클, 빅데이터 엔지니어, http://taewan.kim/

 

이 책의 주요 특징

  • 실전에 응용할 수 있는 최신 딥러닝 기술 RNN, LSTM, GRU, VAE, GAN 포함
  • 딥러닝 프레임워크를 사용하지 않고 딥러닝의 알고리즘을 파이썬 프로그래밍 코드로 구현
  • 파이썬과 수치연산 라이브러리 넘파이(NumPy)를 이용한 프로그래밍 기초 지식
  • 딥러닝의 근본적인 원리를 이해하는 데 필요한 핵심 수학 이론과 수식 코딩 방법
  • 독자들이 직접 응용해 수준 높은 코드로 발전시킬 수 있는 완전한 파이썬 코드 제공

이 책의 독자 대상

  • 최신 딥러닝 기술에 대해 기초부터 차근차근 공부하고 싶은 딥러닝 입문자
  • 딥러닝 알고리즘을 수식으로 이해하고 프로그래밍 코드로 구현해보고 싶은 개발자 
  • 최신 딥러닝 알고리즘 코드를 작성해 업무나 현장에서 바로 적용해보고 싶은 개발자
  • 이 모든 과정을 한 권의 책으로 해결하고 싶은 사람

지은이 아즈마 유키나가 我妻 幸長

'인간과 AI의 공존'을 미션으로 하는 주식회사 SAI-Lab의 대표이사로, AI 관련 교육과 연구 개발에 종사하고 있다. 토후쿠대학 대학원 이학연구과 수료 후 이학박사(물리학)를 취득했다.
인공지능, 복잡계, 뇌과학, 특이점(singularity) 등에 관심이 많으며 프로그래밍과 AI 분야의 온라인 강의에서 약 3만 5천 명의 학생을 가르쳤다. 세계 최대 교육 동영상 플랫폼인 유데미(Udemy)에서 '처음 시작하는 파이썬', '실전 데이터과학과 머신러닝', '모두의 딥러닝', '모두의 AI 강좌' 등을 강의하고 있다. VR, 게임, SNS 등 다양한 분야의 애플리케이션을 개발했다. 

인간과 AI, 혹은 지구와 AI가 공존하는 미래 사회가 조금씩 다가오고 있습니다. AI 기술 중에서도 딥러닝(Deep Learning)은 전 세계적인 관심을 받으며 다양한 모습으로 발전하고 있습니다. 딥러닝을 활용한 얼굴 인식, 음성 인식, 보안 기술은 이미 우리 생활 깊숙이 침투해 있습니다.
그러나 딥러닝을 이해하기란 쉽지 않습니다. 딥러닝을 이해하려면 선형대수, 미분 같은 수학은 물론, 파이썬 프로그래밍 기술, 신경망이나 역전파 같은 알고리즘 지식까지 갖춰야 합니다. 이처럼 높은 배움의 진입 문턱을 조금이라도 낮추기 위해 저의 전작 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』에서는 파이썬 프로그래밍과 기초 수학을 설명하고 프레임워크를 쓰지 않고도 딥러닝을 구현하는 방법을 살펴봤습니다. 또한, 딥러닝에 필요한 수식을 간결한 코드로 구현하고 딥러닝의 구조와 원리를 명료하게 설명했습니다.
이 책에서는 이전 책을 기반으로 조금 더 깊은 내용을 다룹니다. RNN(순환 신경망)과 RNN이 발전된 형태인 LSTM을 비롯해 GRU, 생성 모델 VAE와 GAN까지 살펴 봅니다.
이번 책에서도 마찬가지로 프레임워크는 사용하지 않으며, 필요한 수식을 직접 코딩하면서 딥러닝을 구현합니다. 이런 방식으로 학습하면 딥러닝의 내부 원리와 구현 방법을 더 잘 이해할 수 있고, 문제가 발생했을 때 원인을 찾기 쉬워 작업이 더 즐거워집니다. 되도록 프레임워크를 이용하지 않고 딥러닝을 응용하고 구현할 수 있는 실력을 갖추는 것이 바람직합니다. 이 책은 저의 전작인 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』을 굳이 읽지 않았어도 학습할 수 있도록 전작에서 다룬 핵심 내용을 다시 한번 요약 정리해뒀습니다.

이 책의 독자 대상은 딥러닝을 공부하려는 모든 사람이지만, 2가지 배경 지식이 필요합니다. 첫째는 객체 지향 프로그래밍 경험입니다. 이 책에서도 파이썬을 이용해 객체 지향 프로그래밍을 설명하지만, 프로그래밍 경험이 없다면 초심자용 파이썬 책으로 미리 공부해두기를 권장합니다.
둘째는 중고교 수준의 수학 지식입니다. 이 책에서는 딥러닝에 필요한 선형대수와 미분을 간략하게 설명하지만, 어느 정도 수학 지식이 있다면 더 순조롭게 학습을 진행할 수 있습니다. 부족한 부분은 다른 책이나 웹 사이트로 보완하면서 공부하는 방법도 좋습니다.
책을 읽기만 해도 공부가 되도록 내용을 구성했지만, 파이썬 코드를 직접 실행해보면서 학습하는 것이 바람직합니다. 책에 나오는 소스 코드는 웹 사이트에서 내려받을 수 있으며 이 코드를 바탕으로 자신만의 딥러닝 코드를 작성해보기 바랍니다. 스스로 새로운 AI 기술을 개발해 보는 것도 재미있는 도전이 될 것입니다.
딥러닝 코드를 실행하는 데 간혹 며칠 또는 몇 주가 걸리는 경우도 있지만, 이 책의 실습 코드 실행은 짧으면 10초 이내, 길어도 몇 분 안에 끝납니다. 코드는 확장성을 고려해, 코드의 일부분을 수정하면서 시행착오를 반복할 수 있도록 구성했습니다. 프로그래밍 실행 환경이 다소 좋지 않아도 코드가 원활하게 실행되도록 가능한 한 작은 크기의 이미지 데이터를 활용했으며, 수식 또한 코드로 작성하기 쉽게 정리했습니다.
딥러닝은 인간의 뇌 조직을 닮은 신경망을 모방해 개발됐습니다. 지능의 구조를 프로그래밍으로 재현하는 것은 지적인 호기심을 매우 자극하는 일입니다. 물론 기술을 하루아침에 익힐 수는 없지만, 시간을 들여 직접 손과 머리를 써서 공부해나간다면 딥러닝 코드를 읽어 이해하거나 직접 구현해낼 수 있을 것입니다. 서두르지 말고 한걸음씩 착실하게 공부해봅시다.

전문가가 아니어도 모든 사람에게 딥러닝을 배운다는 것은 큰 의미가 있습니다. 부디 이 책이 많은 사람이 AI를 공부하는 계기가 될 수 있기를 바랍니다.

옮긴이 최재원

일본 게이오 대학원을 졸업하고 아주대 대학원에서 학습분석으로 박사 학위를 취득했다.
현재 대학에서 교육 데이터 분석 및 인공지능 기반 교수학습 과정을 개발하고 있다. IT 관련 도서의 영어, 일어 번역가 겸 작가로도 활동 중이다.
번역서로는 『실체가 손에 잡히는 딥러닝, 기초부터 실전 프로그래밍』(책만, 2019), 『데이터 과학 트레이닝 북』(인사이트, 2020), 『IT 개발자의 영어 필살기』(책만, 2020), 『대학 혁신을 위한 빅데이터와 학습분석』(시그마프레스, 2019), 『데이터 시각화, 인지과학을 만나다』(에이콘출판, 2015), 『유니티 입문』(에이콘출판, 2012) 등이 있다. 저서로는 전자책 『VR, 가까운 미래』(리디북스, 2016)와 『스테파네트 아가씨를 찾아 헤맨 나날들』(황금가지, 2016)이 있다.
 

새로운 IT 기술은 먼저 논문으로 발표되어 전문가들 사이에서만 정보가 공유되다가 몇 년이 지나면 책으로 나와 대중에게 지식이 보급됩니다. 이때 출간되는 책은 두 종류로 나뉩니다. 하나는 ‘일단 따라하기’ 유형입니다. 이론은 깊이 다루지 않고 우선 독자들이 기술을 업무나 관심 분야에 바로 적용해볼 수 있도록 절차적인 방법을 소개합니다. 또 다른 유형의 책은 기술의 근본 원리를 깊이 있게 다룹니다. 복잡한 수식이나 어려운 코딩이 동반되고 세부 내용도 자세하게 다룹니다. 두 가지 유형은 모두 장단점이 있습니다.
그런데 『핵심 딥러닝 입문: RNN, LSTM, GRU, VAE, GAN 구현』은 이 두 유형 사이에 위치하는 독특한 책입니다. 이 책은 LSTM, GAN, VAE 등 최신 딥러닝 기술을 소개하는데, 먼저 첫 부분은 기술의 근본적인 원리를 수식으로 설명합니다. 그림을 이용하거나 비유나 예시 등의 추상적인 개념으로 설명하는 책이 많지만 이 책은 우직하게 수식으로 승부합니다. 기술의 수학적인 원리를 이해해야 하는 이유는 명확합니다. 추상적인 개념 습득은 전체 내용을 빠르게 이해하는 데는 도움이 되지만 실무에서 다양한 문제를 해결하거나 실력을 키우기에는 한계가 있습니다.
이 책에서는 먼저 수식으로 원리를 설명한 이후, 수식과 개념적으로 이어지는 예제 코드를 이용해 해당 기술의 구현 사례를 보여줍니다. 예제 코드는 독자가 스스로 변형하거나 확장해 볼 수 있도록 세심하게 배려한 흔적이 엿보입니다. 첫 부분에서 수식을 이용한 설명 부분이 약간 어렵다고 느껴진다면, 예제 코드를 이용해 일단 먼저 따라해보고 성취감을 맛보는 접근 방법도 좋습니다. 또한 특정 프레임워크를 사용하지 않기 때문에 코드를 유심히 분석해 나가다 보면 코드가 그렇게 작성된 이유가 궁금해지고 결국은 앞에서 설명한 수식과 연결된다는 사실을 깨닫게 됩니다.
이렇듯 이 책은 기술의 근본적인 원리에 대한 설명과 구체적인 따라하기 실습과의 균형이 매우 적절한 책입니다. 또한 특정 분야에만 치중하지 않고 RNN, LSTM, VAE, GAN 등 최신 기술을 모두 골고루 다루는 점도 장점입니다. 딥러닝 고급 기술에 대한 기초를 다지고 싶거나 한 단계 더 도약하고 싶은 독자들에게 매우 유익한 책이 될 것으로 기대합니다.

옮긴이 장건희

응용수학을 전공했지만 배운 것과는 무관한 삶을 살아왔다. 그러다가 머신러닝과 딥러닝이 주목받으면서 그간 잊고 살았던 수학과 통계가 자신에게 장점이 된다는 사실을 뒤늦게 깨달았다. 앞으로 인공지능 기술을 이용해 외국어를 배우지 않아도 되는 세상을 만들면 보람찬 인생일 것으로 생각하며 꾸준하게 딥러닝 기술을 탐구 중이다. 

2010년대 후반 IT 분야에서 가장 주목받은 키워드는 누가 뭐라든 ‘인공지능’이 아닐까 합니다. 처음에는 어려워만 보였던 기술이 많은 사람에게 자연스럽게 받아들여지고 있으며, 이 분야에 자신의 인생을 건 개발자도 많이 늘었다고 생각합니다. 옮긴이도 이러한 흐름에 따라 앞으로 인공지능 기술의 발전에 많은 관심을 두고 다양한 기술을 살펴보는 중입니다.
이 책은 여러 가지 인공지능 기술 중 딥러닝에 집중합니다. 그럼 “이미 많은 딥러닝 관련 책이 출간되었는데 굳이 또 이 책을 읽어야 하나요?”라는 의문이 들 수 있습니다. 그래도 이 책은 한 번 읽을 가치가 있습니다. 딥러닝을 처음 배우려는 사람을 배려하면서도 2020년 기준 현업에서 사용하는 최신 이론과 함께 딥러닝을 알려주기 때문입니다.
알파고가 처음 나왔을 때의 딥러닝 기초와 현재의 딥러닝 기초를 비교하면 그간 많은 발전이 있었습니다. 물론 과거의 기초 개념도 중요하지만 앞으로 딥러닝을 진지하게 파고들려는 분이라면 최신 이론을 접하는 것이 매우 중요합니다. 이 책은 그러한 점을 반영해서 순전파, 역전파, RNN 같은 전통적인 딥러닝 기초는 물론이고, LSTM, GRU, VAE, GAN같이 2020년 현 시점에서 알아두면 좋은 딥러닝의 기초를 함께 담으려고 노력했습니다. 저처럼 딥러닝에 뒤늦게 관심을 갖게 된 분이라면 이 책이 많은 도움이 될 것입니다.

 

차례

[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 참고문헌

 

댓글2

  • probnmy6581@gmail.com 2021.01.27 22:59

    114p 예제 코드 n_out이란 변수 없음
    답글

    • Favicon of https://www.onlybook.co.kr 책만 2021.02.03 10:18 신고

      안녕하세요. 독자님. p114 리스트 3-5는 p117 리스트 3-8 '손글씨 숫자 이미지 인식'에 관한 전체 코드의 일부분을 설명하는 코드부입니다. 따라서 p114 리스트 3-5 코드에서는 앞에 n_out 변수를 정의하는 내용이 없고, 리스트 3-8 전체 코드에서 n_out 변수를 정의하는 내용이 있습니다.
      이 내용 외에 궁금하신 것이 있는지 좀 더 자세히 설명해주시면 답변을 드리겠습니다. 감사합니다.