본문 바로가기
Stay Hungry Stay Foolish/ML & DL

[밑바닥부터 시작하는 딥러닝] 정리 링크 공유

by HANNI하니 2021. 1. 24.

파이썬으로 익히는 딥러닝 이론 및 구현을 다루는 가장 유명한 책인 [밑바닥부터 시작하는 딥러닝] 내용 및 코드 정리된 링크 공유합니다.

 

https://sdr1982.tistory.com/201

 

'밑바닥부터 시작하는 딥러닝' jupyter notebook 정리 노트.

'밑바닥부터 시작하는 딥러닝' 책 스터디 한 내용 정리해서 jupyter notebook 으로 올립니다 Github주소 : https://github.com/SDRLurker/deep-learning jupyter notebook 주소 : http://nbviewer.jupyter.org/g..

sdr1982.tistory.com

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 하이퍼파라미터 최적화 구현하기 

6.6 정리 

 

7장 합성곱 신경망(CNN)

7.1 전체 구조 

7.2 합성곱 계층 

__7.2.1 완전연결 계층의 문제점 

__7.2.2 합성곱 연산 

__7.2.3 패딩 

__7.2.4 스트라이드 

__7.2.5 3차원 데이터의 합성곱 연산 

__7.2.6 블록으로 생각하기 

__7.2.7 배치 처리 

7.3 풀링 계층 

__7.3.1 풀링 계층의 특징 

7.4 합성곱/풀링 계층 구현하기 

__7.4.1 4차원 배열 

__7.4.2 im2col로 데이터 전개하기 

__7.4.3 합성곱 계층 구현하기 

__7.4.4 풀링 계층 구현하기 

7.5 CNN 구현하기 

7.6 CNN 시각화하기 

__7.6.1 1번째 층의 가중치 시각화하기 

__7.6.2 층 깊이에 따른 추출 정보 변화 

7.7 대표적인 CNN 

__7.7.1 LeNet 

__7.7.2 AlexNet 

7.8 정리 

 

8장 딥러닝

8.1 더 깊게 

__8.1.1 더 깊은 네트워크로 

__8.1.2 정확도를 더 높이려면 

__8.1.3 깊게 하는 이유 

8.2 딥러닝의 초기 역사 

__8.2.1 이미지넷 

__8.2.2 VGG 

__8.2.3 GoogLeNet 

__8.2.4 ResNet 

8.3 더 빠르게(딥러닝 고속화) 

__8.3.1 풀어야 할 숙제 

__8.3.2 GPU를 활용한 고속화 

__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.4 Deep Q-Network(강화학습) 

8.6 정리 

 

부록 A Softmax-with-Loss 계층의 계산 그래프

A.1 순전파 

A.2 역전파 

A.3 정리 

참고문헌 

댓글