교보

밑바닥부터 시작하는 딥러닝

사이토 고키 | 한빛미디어
  • 등록일2021-12-03
  • 파일포맷pdf
  • 파일크기39 K  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 평점 평점점 평가없음

책소개

직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서!

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

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

저자소개

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

역자 : 개앞맵시
역자 개앞맵시(이복연)는 고려대학교 컴퓨터학과를 졸업하고 삼성소프트웨어멤버십을 거쳐, 삼성전자 소프트웨어센터와 미디어솔루션센터에서 자바 가상 머신, 바다 플랫폼, 챗온 메신저 서비스 등을 개발했다. 주 업무 외에 분산 빌드, 지속적 통합, 앱 수명주기 관리 도구, 애자일 도입 등 동료 개발자들에게 실질적인 도움을 주는 일에 적극적이었다. 그 후 창업 전선에 뛰어들어 소셜 서비스, 금융 거래 프레임워크 등을 개발하다가, 무슨 바람이 불어서인지 책을 만들겠다며 기획ㆍ편집자(자칭 Wisdom Compiler)로 변신했다.
『Effective Unit Testing』(한빛미디어, 2013)과 『JUnit 인 액션』(인사이트, 2011)을 번역했다.

〈개발자의 앞길에 맵핵 시전〉, 줄여서 ‘개앞맵시’는 역자가 어려서부터 생각한 후학 양성의 꿈을 조금 독특한 방식으로 일찍 실행에 옮긴 것이다. 현재 모습은 게임, 서버, 웹 등 주요 직군별 개발자에게 꼭 필요한 기술과 역량을 안내하는 책들을 로드맵 형태로 정리한 지도다. 필요할 때 바로 구해볼 수 있도록 판매 중인 도서만을 다룬다.
페이스북 : https://facebook.com/dev.loadmap
로드맵 모음 : https://mindmeister.com/users/channel/wegra
스카이넷도 딥러닝부터 : https://mindmeister.com/812276967/_

목차

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.6 bool
__1.3.7 if 문
__1.3.8 for 문
__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.6 matplotlib
__1.6.1 단순한 그래프 그리기
__1.6.2 pyplot의 기능
__1.6.3 이미지 표시하기
1.7 정리

2장 퍼셉트론
2.1 퍼셉트론이란?
2.2 단순한 논리 회로
__2.2.1 AND 게이트
__2.2.2 NAND 게이트와 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.2 XOR 게이트 구현하기
2.6 NAND에서 컴퓨터까지
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.7 ReLU 함수
3.3 다차원 배열의 계산
__3.3.1 다차원 배열
__3.3.2 행렬의 내적
__3.3.3 신경망의 내적
3.4 3층 신경망 구현하기
__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.1 MNIST 데이터셋
__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.1 2층 신경망 클래스 구현하기
__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.1 ReLU 계층
__5.5.2 Sigmoid 계층
5.6 Affine/Softmax 계층 구현하기
__5.6.1 Affine 계층
__5.6.2 배치용 Affine 계층
__5.6.3 Softmax-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.3 SGD의 단점
__6.1.4 모멘텀
__6.1.5 AdaGrad
__6.1.6 Adam
__6.1.7 어느 갱신 방법을 이용할 것인가?
__6.1.8 MNIST 데이터셋으로 본 갱신 방법 비교
6.2 가중치의 초깃값
__6.2.1 초깃값을 0으로 하면?
__6.2.2 은닉층의 활성화 분포
__6.2.3 ReLU를 사용할 때의 가중치 초깃값
__6.2.4 MNIST 데이터셋으로 본 가중치 초깃값 비교
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 하이퍼파

한줄 서평