밑바닥부터 시작하는 딥러닝 : 파이썬으로 익히는 딥러닝 이론과 구현

밑바닥부터 시작하는 딥러닝 : 파이썬으로 익히는 딥러닝 이론과 구현

$24.00
Description
직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서!
『밑바닥부터 시작하는 딥러닝』은 라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며 즐겁게 배울 수 있는 본격 딥러닝 입문서다. 술술 읽힐 만큼 쉽게 설명하였고, 역전파처럼 어려운 내용은 ‘계산 그래프’ 기법으로 시각적으로 풀이했다. 무엇보다 작동하는 코드가 있어 직접 돌려보고 요리조리 수정해보면 어려운 이론도 명확하게 이해할 수 있다. 딥러닝에 새롭게 입문하려는 독자들과 기초를 다시금 정리하고 싶은 현업 연구자와 개발자에게 유용한 책이 될 것이다.

새로운 지식을 배울 때 설명만 들어서는 석연치 않거나 금방 잊어버리게 된다. 그래서 무엇보다 ‘직접 해보는 것’이 중요하다. 이 책은 딥러닝의 기본을 ‘이론 설명’과 ‘파이썬 구현 코드’라는 투 트랙으로 설명한다. 각 장은 주제 하나를 설명한 후 그것을 실습할 수 있도록 꾸몄다. 즉, 실행되는 소스 코드를 준비했다. 소스 코드를 읽으면서 스스로 생각하고 그 생각을 반영해 실험하다 보면 확실하게 자기 것으로 만들 수 있다. 여러 실험을 해보면서 겪는 시행착오 역시 큰 자산이 될 것이다.

저자

사이토고키

저자:사이토고키(?藤康毅)
1984년나가사키현쓰시마태생.도쿄공업대학교공학부를졸업하고도쿄대학대학원학제정보학부석사과정을수료했다.현재는기업에서컴퓨터비전과기계학습관련연구?개발에매진하고있다.오라일리재팬에서『실천파이썬3』,『컴퓨터시스템의이론과구현』,『실천기계학습시스템』등을번역했다.

역자:개앞맵시
고려대학교컴퓨터학과를졸업하고삼성전자에서자바가상머신,바다플랫폼,챗온메신저서비스등을개발했다.주업무외에분산빌드,지속적통합,수명주기관리도구,애자일도입등동료개발자들에게실질적인도움을주는일에적극적이었다.그후창업전선에뛰어들어좌충
우돌하다가,개발자커뮤니티에기여하는더나은방법을찾아출판시장에뛰어들었다.
한빛미디어에서『밑바닥부터시작하는딥러닝』시리즈,『리팩터링2판』,『EffectiveUnitTesting』을번역했고,인사이트에서『이펙티브자바3판』과『JUnit인액션2판』을번역했다.

목차

1장헬로파이썬
1.1파이썬이란?
1.2파이썬설치하기
__1.2.1파이썬버전
__1.2.2사용하는외부라이브러리
__1.2.3아나콘다배포판
1.3파이썬인터프리터
__1.3.1산술연산
__1.3.2자료형
__1.3.3변수
__1.3.4리스트
__1.3.5딕셔너리
__1.3.6bool
__1.3.7if문
__1.3.8for문
__1.3.9함수
1.4파이썬스크립트파일
__1.4.1파일로저장하기
__1.4.2클래스
1.5넘파이
__1.5.1넘파이가져오기
__1.5.2넘파이배열생성하기
__1.5.3넘파이의산술연산
__1.5.4넘파이의N차원배열
__1.5.5브로드캐스트
__1.5.6원소접근
1.6matplotlib
__1.6.1단순한그래프그리기
__1.6.2pyplot의기능
__1.6.3이미지표시하기
1.7정리

2장퍼셉트론
2.1퍼셉트론이란?
2.2단순한논리회로
__2.2.1AND게이트
__2.2.2NAND게이트와OR게이트
2.3퍼셉트론구현하기
__2.3.1간단한구현부터
__2.3.2가중치와편향도입
__2.3.3가중치와편향구현하기
2.4퍼셉트론의한계
__2.4.1도전!XOR게이트
__2.4.2선형과비선형
2.5다층퍼셉트론이출동한다면
__2.5.1기존게이트조합하기
__2.5.2XOR게이트구현하기
2.6NAND에서컴퓨터까지
2.7정리

3장신경망
3.1퍼셉트론에서신경망으로
__3.1.1신경망의예
__3.1.2퍼셉트론복습
__3.1.3활성화함수의등장
3.2활성화함수
__3.2.1시그모이드함수
__3.2.2계단함수구현하기
__3.2.3계단함수의그래프
__3.2.4시그모이드함수구현하기
__3.2.5시그모이드함수와계단함수비교
__3.2.6비선형함수
__3.2.7ReLU함수
3.3다차원배열의계산
__3.3.1다차원배열
__3.3.2행렬의내적
__3.3.3신경망의내적
3.43층신경망구현하기
__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손글씨숫자인식
__3.6.1MNIST데이터셋
__3.6.2신경망의추론처리
__3.6.3배치처리
3.7정리

4장신경망학습
4.1데이터에서학습한다!
__4.1.1데이터주도학습
__4.1.2훈련데이터와시험데이터
4.2손실함수
__4.2.1평균제곱오차
__4.2.2교차엔트로피오차
__4.2.3미니배치학습
__4.2.4(배치용)교차엔트로피오차구현하기
__4.2.5왜손실함수를설정하는가?
4.3수치미분
__4.3.1미분
__4.3.2수치미분의예
__4.3.3편미분
4.4기울기
__4.4.1경사법(경사하강법)
__4.4.2신경망에서의기울기
4.5학습알고리즘구현하기
__4.5.12층신경망클래스구현하기
__4.5.2미니배치학습구현하기
__4.5.3시험데이터로평가하기
4.6정리

5장오차역전파법
5.1계산그래프
__5.1.1계산그래프로풀다
__5.1.2국소적계산
__5.1.3왜계산그래프로푸는가?
5.2연쇄법칙
__5.2.1계산그래프에서의역전파
__5.2.2연쇄법칙이란?
__5.2.3연쇄법칙과계산그래프
5.3역전파
__5.3.1덧셈노드의역전파
__5.3.2곱셈노드의역전파
__5.3.3사과쇼핑의예
5.4단순한계층구현하기
__5.4.1곱셈계층
__5.4.2덧셈계층
5.5활성화함수계층구현하기
__5.5.1ReLU계층
__5.5.2Sigmoid계층
5.6Affine/Softmax계층구현하기
__5.6.1Affine계층
__5.6.2배치용Affine계층
__5.6.3Softmax-with-Loss계층
5.7오차역전파법구현하기
__5.7.1신경망학습의전체그림
__5.7.2오차역전파법을적용한신경망구현하기
__5.7.3오차역전파법으로구한기울기검증하기
__5.7.4오차역전파법을사용한학습구현하기
5.8정리

6장학습관련기술들
6.1매개변수갱신
__6.1.1모험가이야기
__6.1.2확률적경사하강법(SGD)
__6.1.3SGD의단점
__6.1.4모멘텀
__6.1.5AdaGrad
__6.1.6Adam
__6.1.7어느갱신방법을이용할것인가?
__6.1.8MNIST데이터셋으로본갱신방법비교
6.2가중치의초깃값
__6.2.1초깃값을0으로하면?
__6.2.2은닉층의활성화분포
__6.2.3ReLU를사용할때의가중치초깃값
__6.2.4MNIST데이터셋으로본가중치초깃값비교
6.3배치정규화
__6.3.1배치정규화알고리즘
__6.3.2배치정규화의효과
6.4바른학습을위해
__6.4.1오버피팅
__6.4.2가중치감소
__6.4.3드롭아웃
6.5적절한하이퍼파라미터값찾기
__6.5.1검증데이터
__6.5.2하이퍼파라미터최적화
__6.5.3하이퍼파라미터최적화구현하기
6.6정리

7장합성곱신경망(CNN)
7.1전체구조
7.2합성곱계층
__7.2.1완전연결계층의문제점
__7.2.2합성곱연산
__7.2.3패딩
__7.2.4스트라이드
__7.2.53차원데이터의합성곱연산
__7.2.6블록으로생각하기
__7.2.7배치처리
7.3풀링계층
__7.3.1풀링계층의특징
7.4합성곱/풀링계층구현하기
__7.4.14차원배열
__7.4.2im2col로데이터전개하기
__7.4.3합성곱계층구현하기
__7.4.4풀링계층구현하기
7.5CNN구현하기
7.6CNN시각화하기
__7.6.11번째층의가중치시각화하기
__7.6.2층깊이에따른추출정보변화
7.7대표적인CNN
__7.7.1LeNet
__7.7.2AlexNet
7.8정리

8장딥러닝
8.1더깊게
__8.1.1더깊은네트워크로
__8.1.2정확도를더높이려면
__8.1.3깊게하는이유
8.2딥러닝의초기역사
__8.2.1이미지넷
__8.2.2VGG
__8.2.3GoogLeNet
__8.2.4ResNet
8.3더빠르게(딥러닝고속화)
__8.3.1풀어야할숙제
__8.3.2GPU를활용한고속화
__8.3.3분산학습
__8.3.4연산정밀도와비트줄이기
8.4딥러닝의활용
__8.4.1사물검출
__8.4.2분할
__8.4.3사진캡션생성
8.5딥러닝의미래
__8.5.1이미지스타일(화풍)변환
__8.5.2이미지생성
__8.5.3자율주행
__8.5.4DeepQ-Network(강화학습)
8.6정리

부록ASoftmax-with-Loss계층의계산그래프
A.1순전파
A.2역전파
A.3정리
참고문헌

출판사 서평

★누구를위한책인가?
_외부라이브러리는최소한만이용하고파이썬을사용해딥러닝프로그램을처음부터구현합니다.
_파이썬이처음인사람도이해할수있도록파이썬사용법도간략히설명합니다.
_실제동작하는파이썬코드와독자가직접실험할수있는학습환경을제공합니다.
_간단한기계학습문제부터시작하여궁극에는이미지를정확하게인식하는시스템을구현합니다.
_딥러닝과신경망이론을알기쉽게설명합니다.
_오차역전파법(backpropagation)과합성곱(convolution)연산등복잡해보이는기술을구현수준에서이해할수있도록설명합니다.
_하이퍼파라미터결정방식,가중치초깃값등딥러닝을활용하는데도움이되는실용적인기술을소개합니다.
_배치정규화,드롭아웃,Adam같은최근트렌드를설명하고구현해봅니다.
_딥러닝이왜뛰어난지,층이깊어지면왜정확도가높아지는지,은닉층이왜중요한지와같은‘왜’에관한문제도다룹니다.
_자율주행,이미지생성,강화학습등,딥러닝을응용한예를소개합니다.

★누구를위한책이아닌가?
_딥러닝분야의최신연구에대해서는자세히다루지않습니다.
_카페(Caffe),텐서플로(TensorFlow),체이너(Chainer)등의딥러닝프레임워크사용법은설명하지않습니다.
_딥러닝,특히신경망에관한아주상세한이론까지는담지않았습니다.
_딥러닝의정확도를높이기위한튜닝은자세히설명하지않습니다.
_딥러닝성능을높여주는GPU기술은구체적으로다루지않습니다.
_주로이미지인식을다룹니다.자연어처리,음성인식등의사례는다루지않습니다.