01 _ 인공 신경망의 이해
인공 신경망이란?
- 인공 신경망으로 할 수 있는 일들
- 인공 신경망의 구조
인공 신경망의 학습 방법
- 지도 학습
- 비지도 학습
- 강화 학습
인공 신경 살펴보기
- 인공 신경과 생물학적 신경
- 인공 신경 내부 살펴보기
- 인공 신경 함수 수식
02 _ 딥러닝 맛보기
Hello 딥러닝
머신러닝은 무엇일까요?
구글 코랩 개발 환경 구성하기
기본 방식의 함수 정의와 사용
- 함수 정의하고 사용해 보기
머신러닝 방식의 신경망 함수 생성과 사용
축하합니다!
03 _ 인공 신경망과 근사 함수
2차 함수 근사해 보기
- 2차 함수 그리기
- 실제 데이터 생성하기
- 훈련, 실험 데이터 분리하기
- 인공 신경망 구성하기
- 인공 신경망 학습시키기
5차 함수 근사해 보기
다양한 함수 근사해 보기
- 분수 함수 근사해 보기
- sin 함수 근사해 보기
- tanh 함수 근사해 보기
- e지수함수 근사해 보기
- sigmoid 함수 근사해 보기
- 로그 함수 근사해 보기
- 제곱근 함수 근사해 보기
- relu 함수 근사해 보기
- leaky relu 함수 근사해 보기
인공 신경망 소스 살펴보기
04 _ 딥러닝 활용 맛보기
딥러닝 활용 예제 살펴보기
손 글씨 숫자 인식 예제 살펴보기
- 데이터 모양 살펴보기
- 학습 데이터 그림 그려보기 1
- 그림 픽셀 값 출력해 보기
- 학습 데이터 그림 그려보기 2
- 인공 신경망 학습시키기
- 학습된 인공 신경망 시험하기
- 예측 값과 실제 값 출력해 보기
- 시험 데이터 그림 그려보기
- 시험 데이터 그림 그려보기 2
- 잘못된 예측 출력 해보기
- 잘못 예측한 그림 살펴 보기
패션 MNIST 데이터 셋 인식시켜보기
Chapter 02. 인공지능의 딥러닝 알고리즘
01 _ PyClarm 개발 환경 구성하기
파이참 설치하기
파이썬 실습 환경 설정하기
- 파이참 실행하기
- 파이썬 프로젝트 생성하기
- 파이썬 파일 생성하기
- 파이썬 프로그램 작성하기
- 파이썬 프로그램 실행하기
- 파이썬 프로그램 종료하기
딥러닝 실습 환경 설정하기
- 텐서플로우(tensorflow) 라이브러리 설치하기
- matpiotlib 라이브러리 설치하기
- opencv 라이브러리 설치하기
02 _ 딥러닝 동작 원리 이해하기
기본 인공 신경 동작 살펴보기
- 순전파
- 목표 값과 역전파 오차
- 오차 역전파
- 순전파 정리하기
- 역전파 정리하기
- 최적화하기
- 학습률
- 경사 하강법과 인공 신경망 학습
기본 인경 신경 동작 구현해 보기
- 반복 학습 2회 수행하기
- 반복 학습 20회 수행하기
- 반복 학습 200회 수행하기
- 오차 값 계산하기
- 학습률 변경하기
y=3×x+1 학습시켜 보기
- 전체 입력 데이터 학습 수행하기
- 가중치, 편향 학습과정 살펴보기
- 반복 학습 2회 수행하기
- 반복 학습 20회 수행하기
- 반복 학습 200회 수행하기
- 반복 학습 2000회 수행하기
- 가중치, 편향 바꿔보기 1
- 가중치, 편향 바꿔보기 2
03 _ 다양한 인공 신경망 구현해 보기
2입력 1출력 인공 신경 구현하기
2입력 2출력 인공 신경망 구현하기
3입력 3출력 인공 신경망 구현하기
2입력 2은닉 2출력 인공 신경망 구현하기
04 _ 활성화 함수 추가하기
활성화 함수 살펴보기
- sigmoid 함수
- tanh 함수
- ReLU 함수
활성화 함수의 필요성
- 활성화 함수는 무엇인가요?
- 활성화 함수는 왜 필요한가요?
- 어떤 활성화 함수가 있나요?
활성화 함수의 순전파와 역전파
- sigmoid 함수 적용해 보기
- tanh 함수 적용해 보기
- ReLU 함수 적용해 보기
출력 층에 softmax 함수 적용해 보기
- softmax와 cross entropy
- 출력 층에 softmax 함수 적용해 보기
- tanh와 softmax
- ReLU와 softmax
Chapter 03. 넘파이(NumPy) DNN 구현과 활용
01 _ 넘파이(NumPy) DNN 구현하기
2입력 2출력 인공 신경망 구현하기
- 행렬 계산식 유도하기
- 순전파
- 입력 역전파
- 가중치 역전파
- 인공 신경망 행렬 계산식 정리하기
- NumPy로 인공 신경망 구현하기
3입력 3출력 인공 신경망 구현하기
- 행렬 계산식 유도하기
- 인공 신경망 행렬 계산식 정리하기
- NumPy로 인경 신경망 구현하기
2입력 1출력 인공 신경 구현하기
- 행렬 계산식 유도하기
- 인공 신경망 행렬 계산식 정리하기
- NumPy로 인공 신경망 구현하기
1입력 1출력 인공 신경 구현하기
- 행렬 계산식 유도하기
- 인공 신경망 행렬 계산식 정리하기
- NumPy로 인공 신경망 구현하기
행렬 계산식과 1입력 1출력 수식 비교하기
2입력 2은닉 2출력 인공 신경망 구현하기
- 행렬 계산식 유도하기
- 인공 신경망 행렬 계산식 정리하기
- NumPy로 인공 신경망 구현하기
활성화 함수 적용하기
- sigmoid 함수 적용해 보기
- tanh 함수 적용해 보기
- ReLU 함수 적용해 보기
출력 층에 softmax 함수 적용해 보기
- sigmoid와 softmax
- tanh와 softmax
- ReLU와 softmax
인공 신경망 행렬 계산식
가중치 초기화하기
- ReLU-sigmoid-mse 신경망
- ReLU-softmax-cee 신경망
- ReLU와 He 초기화
- sigmoid, softmax와 Lecun 초기화
- He와 Lecun 그려보기
- He와 Lecun 가중치 초기화하기
02 _ NumPy DNN 활용하기
7세그먼트 입력 2 진수 출력 인공 신경망 1
- NumPy 행렬 모양 살펴보기
7세그먼트 입력 2 진수 출력 인공 신경망 2
입력 데이터 임의로 섞기
데이터 늘려보기
MNIST 파일 읽어서 학습해 보기
- softmax, cross entropy error 함수 사용하기
- FASHION MNIST 데이터 테스트
Chapter 04. 텐서플로우(Tensorflow) 내부 동작 이해하기
01 _ NumPy로 Tensorflow 내부 동작 이해하기
2입력 2출력 인공 신경망 구현하기
- NumPy로 구현하기
- Tensorflow로 구현하기
- 반복 학습 20회 수행하기
- 반복 학습 200회 수행하기
3입력 3출력 인공 신경망 구현하기
- NumPy로 구현하기
- Tensorflow로 구현하기
2입력 1출력 인공 신경 구현하기
- NumPy로 구현하기
- Tensorflow로 구현하기
1입력 1출력 인공 신경 구현하기
- NumPy로 구현하기
- Tensorflow로 구현하기
2입력 2은닉 2출력 인공 신경망 구현하기
- NumPy로 구현하기
- Tensorflow로 구현하기
- 반복 학습 20회 수행하기
- 반복 학습 200회 수행하기
활성화 함수 적용 하기
- sigmoid 함수 적용해 보기
- tanh 함수 적용해 보기
- ReLU 함수 적용해 보기
출력 층에 softmax 함수 적용해 보기
- sigmoid와 softmax
- tanh와 softmax
- ReLU와 softmax
GradientTape 사용해 보기
- 역전파 오차 살펴보기
02 _ 경사 하강 법 이해하기
오차 함수 그래프 그려보기
왼쪽 이동 경사 하강 법
오른쪽 이동 경사 하강 법
오차 함수 기울기 구하기
- 최적화 함수 왼쪽 이동하기
- 최적화 함수 반복 적용해 보기
- 최적화 함수 오른쪽 이동하기
03 _ 확장 경사 하강 법
Momentum
AdaGrad
RMSProp
Adam
Chapter 05. CNN 알고리즘의 이해와 구현
01 _ CNN의 순전파 이해와 구현
CNN 신경망 살펴보기
3×3 입력 : filter size
4×4 입력 : stride
6×6 입력 : padding
4×4 합성 곱 : padding
6×6 입력 필터 늘리기
필터 역할 살펴보기
- 부드러운 이미지 추출하기
- 선명한 이미지 추출하기
- 경계선 추출하기
- 이미지 단순화
3×3×2 입력
6×6×2 입력
6×6×2 입력 필터 늘리기
6×6×3 입력
필터의 깊이와 개수
02 _ CNN 활용 맛보기
Conv2D-Conv2D-MaxPooling2D
Conv2D-MaxPooling2D
필터 개수 줄여보기
03 _ CNN의 역전파 이해와 구현
순전파 역전파 복습하기
합성 곱의 순전파 정리하기
합성 곱의 역전파 정리하기
- 입력 역전파
- 가중치 역전파
- 편향 역전파
3×3 순전파 역전파
- 합성 곱 순전파
- 가중치 역전파
- 편향 역전파
- 입력 역전파
4×4 순전파 역전파
- 합성 곱 순전파
- 가중치 역전파
- 편향 역전파
- 입력 역전파
6×6 순전파 역전파
- 합성 곱 순전파
- 가중치 역전파
- 편향 역전파
- 입력 역전파
4×4 max pooling 순전파 역전파
필터가 2개인 경우의 순전파 역전파
- 합성 곱 순전파
- 가중치 역전파
- 편향 역전파
- 입력 역전파
입력의 깊이가 2인 경우의 순전파 역전파
- 합성 곱 순전파
- 가중치 역전파
- 편향 역전파
- 입력 역전파
Chapter 06. 넘파이(NumPy) CNN 구현과 활용
01 _ NumPy CNN 구현하기
데이터 준비하기
- Tensorflow로 구현하기
- NumPy로 구현하기
zero padding 구현하기
- NumPy로 구현하기
합성 곱 층 추가하기
- Tensorflow로 구현하기
- NumPy로 구현하기
Max Pooling 층 추가하기
- Tensorflow로 구현하기
- NumPy로 구현하기
Flatten 층 추가하기
- Tensorflow로 구현하기
- NumPy로 구현하기
출력 층 추가하기
- Tensorflow로 구현하기
- NumPy로 구현하기
오차 계산하기
- Tensorflow로 구현하기
- NumPy로 구현하기
출력 층의 가중치와 편향 역전파 오차 구하기
- Tensorflow로 구현하기
- NumPy로 구현하기
Flatten 역전파 오차 구하기
- NumPy로 구현하기
Max Pooling 층 역전파 오차 구하기
- NumPy로 구현하기
합성 곱 층 역전파 오차 구하기
- NumPy로 구현하기
합성 곱 층의 가중치와 편향 역전파 오차 구하기
- NumPy로 구현하기
가중치와 편향 갱신하기
- Tensorflow로 구현하기
- NumPy로 구현하기
02 _ NumPy CNN 활용하기
3D 순전파 역전파 함수 구현하기
3D 순전파 역전파 함수 사용해 보기
2D 순전파 역전파 함수 구현하기
- 3D 입력 2D로 바꾸기
- 3D 가중치를 2D로 바꾸기
- I2D와 W2D의 행렬 곱 수행하기
- 2D 순전파 역전파 함수 구현하기
2D 순전파 역전파 함수 사용해 보기
NumPy CNN 확장하기
- Tensorflow로 구현하기
- NumPy로 구현하기
Fashion MNIST 파일 읽어보기
Fashion MNIST 학습시키기
부록. 편미분과 연쇄법칙을 통한 역전파 수식 유도
01 _ 기본 인공 신경
02 _ 편미분 정리하기
03 _ 2입력 1출력 인공 신경
04 _ 2입력 2출력 인공 신경
05 _ 2입력 2은닉 2출력 인공 신경