SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
밑바닥부터 시작하는 딥러닝
박성현 zkfthfl123@naver.com
목차
1. 신경망 학습
2. 오차 역전파법
신경망 학습
신경망 학습
• 학습?
훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것
• 신경망이 학습할 수 있도록 해주는 지표 : 손실 함수
손실 함수
• 신경망 학습에서는 현재의 상태를 ‘하나의 지표’로 표현한다.
• 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색해야 한다.
• 신경망 학습에서 사용하는 지표는 손실함수라고 한다.
• 손실 함수?
신경망 성능의 ‘나쁨’을 나타내는 지표
손실 함수
평균 제곱 오차 교차 엔트로피 오차
𝐸 =
1
2
෍
𝑘
(𝑦 𝑘 − 𝑡 𝑘 )2 𝐸 = − ෍
𝑘
𝑡 𝑘 log 𝑦 𝑘
Log(0) 을 방지
참고 : 자연로그 그래프
미니배치 학습
𝐸 = −
1
𝑁
෍
𝑛
෍
𝑘
𝑡 𝑛𝑘 log 𝑦 𝑛𝑘
N 개의 훈련 데이터에 대한 손실 함수
만약 훈련 데이터가 60,000개라면?
-> 많은 시간이 소요
-> 데이터의 일부(미니 배치)를 추려 전체의 ‘근사치’로 이용하자.
배치용 교차 엔트로피 오차 구현
왜 손실함수를 지표로 사용할까?
• 궁극적 목표 -> 정확도를 최대로
• 정확도로 지표로 사용하면 안될까?
• 신경망의 학습은…
지표를 가중치 매개변수로 미분하여 매개변수를 갱신하는 방법을 이용한다.
• 정확도를 지표로 하면…
매개변수의 미분이 대부분의 장소에서 0이 되어 매개변수를 갱신할 수 없다.
왜 손실함수를 지표로 사용할까?
계단 함수 대신 시그모이드 함수를 이용하는 이유와 같다.
계단 함수 : 매개변수의 작은 변화를 무시
시그모이드 함수 : 매개변수의 작은 변화에도 반응
수치미분
• 미분을 하는 간단한 방법
전방 차분 :
𝑑𝑓(𝑥)
𝑑𝑥
= lim
ℎ→0
𝑓 𝑥+ℎ −𝑓(𝑥)
ℎ
중심 차분 :
𝑑𝑓(𝑥)
𝑑𝑥
= lim
ℎ→0
𝑓 𝑥+ℎ −𝑓(𝑥−ℎ)
2∗ℎ
참고
편미분
• 변수가 여럿인 함수에 대한 미분
• 특정 장소의 기울기
=?
=?
편미분을 통한 기울기 계산
경사 하강법
• 기울기를 이용해 함수의 최솟값을 찾는 법 (기울기가 0 인 지점)
𝑥0 = 𝑥0 − 𝜂
𝜕𝑓
𝜕𝑥0
𝑥1 = 𝑥1 − 𝜂
𝜕𝑓
𝜕𝑥1
경사 하강법 구현
신경망에서의 적용
• 신경망에서의 기울기
𝑊 =
𝑤11 𝑤12 𝑤13
𝑤21 𝑤22 𝑤23
𝜕𝐿
𝜕𝑊
=
𝜕𝐿
𝜕𝑤11
𝜕𝐿
𝜕𝑤12
𝜕𝐿
𝜕𝑤13
𝜕𝐿
𝜕𝑤21
𝜕𝐿
𝜕𝑤22
𝜕𝐿
𝜕𝑤23
𝝏𝑳
𝝏𝑾
: 각각의 원소에 관한 편미분
𝜕𝐿
𝜕𝑤11
: 𝑤11를 조금 변경했을 때 손실함수 L 이 얼마나
변화하는지 나타낸다.
형상이 같다.
신경망에서의 적용 구현
수치 미분 함수를 다차원 배열을 처리할 수 있도록 수정
참고하는 변수값을 변경
할 수 있게 해주는 함수
신경망에서의 적용 구현
클래스 정의
랜덤수로 가중치 초기화
예측 수행
손실 함수의 값을 구함
정확도 계산
가중치 매개변수 기울기 계산
신경망에서의 적용 구현
신경망에서의 적용 구현
정리
• 신경망 학습은 손실함수를 지표로, 손실 함수의 값이 작아지는
방향으로 가중치 매개변수를 갱신한다.
• 수치 미분을 이용해 가중치 매개변수의 기울기를 구할 수 있다.
• 수치 미분은 구현이 간단하지만 시간이 오래 걸린다.
오차역전파법
오차역전파법
• 수치 미분은 단순하고 구현하기도 쉽다.
• 하지만 계산 시간이 오래 걸린다.
• 가중치 매개변수의 기울기를 효율적으로 계산하는 방법은?
오차역전파법
오차역전파법
𝑓(𝑥) 𝑔(𝑦)
𝑥 𝑦 𝑧
𝜕𝑧
𝜕𝑧
(= 1)
𝜕𝑧
𝜕𝑦
𝜕𝑧
𝜕𝑥
=
𝜕𝑧
𝜕𝑧
𝜕𝑧
𝜕𝑦
=
𝜕𝑧
𝜕𝑧
𝜕𝑧
𝜕𝑦
𝜕𝑦
𝜕𝑥
*연쇄법칙 수치 미분으로 구한다면?
𝜕𝑧
𝜕𝑥
= lim
ℎ→0
𝑔(𝑓(𝑥 + ℎ)) − 𝑔(𝑓(𝑥 − ℎ))
2 ∗ ℎ
? 불확실
각 노드의 미분을 구할 수 있다.
다양한 노드의 역전파
+
𝑧 = 𝑥 + 𝑦
𝑥
𝑦
𝑧
+
𝜕𝐿
𝜕𝑧
∗ 1
𝜕𝐿
𝜕𝑧
∗ 1
𝜕𝐿
𝜕𝑧
𝜕𝑧
𝜕𝑥
= 1
𝜕𝑧
𝜕𝑦
= 1
x
𝑧 = 𝑥𝑦
𝑥
𝑦
𝑧
x
𝜕𝐿
𝜕𝑧
∗ 𝑦
𝜕𝐿
𝜕𝑧
∗ 𝑥
𝜕𝐿
𝜕𝑧
𝜕𝑧
𝜕𝑥
= 𝑦
𝜕𝑧
𝜕𝑦
= 𝑥
다양한 노드의 역전파
relu
𝑥
𝜕𝐿
𝜕𝑥
𝑦
𝜕𝐿
𝜕𝑦
𝑅𝑒𝐿𝑈
relu
𝑥
0
𝑦
𝜕𝐿
𝜕𝑦
𝑥 > 0 𝑥 ≤ 0
sig
𝑥
𝜕𝐿
𝜕𝑦
𝑦(1 − 𝑦)
𝑦
𝜕𝐿
𝜕𝑦
𝑆𝑖𝑔𝑚𝑜𝑖𝑑
풀이과정 생략
다양한 노드의 역전파
∙
𝑌 = 𝑋 ∙ 𝑊
𝑋
𝑊
𝑌
𝑋 𝑇
∙
𝜕𝐿
𝜕𝑌
𝜕𝐿
𝜕𝑌
𝜕𝐿
𝜕𝑋
=
𝜕𝐿
𝜕𝑌
∙ 𝑊 𝑇
𝜕𝐿
𝜕𝑊
= 𝑋 𝑇
∙
𝜕𝐿
𝜕𝑌
Affine 계층 (행렬의 내적)
𝜕𝐿
𝜕𝑌
∙ 𝑊 𝑇
∙
증명 : https://edwardshu.com/posts/matrix-matrix-gradient
참고 : https://nbviewer.jupyter.org/github/metamath1/ml-simple-works/blob/master/fitting/matrix-derivative.ipynb#vec%EA%B3%BC-vec-%EC%A0%84%EC%B9%98[2]
𝑋 = 𝑚, 𝑛
𝑊 = 𝑛, 𝐻
𝑌 = 𝑚, 𝐻
𝐿 = 𝑓(𝑌)
다양한 노드의 역전파
다양한 노드의 역전파
soft
𝑎
𝑦 − 𝑡
𝐿
1
𝑠𝑜𝑓𝑡𝑚𝑎𝑥 − 𝑤𝑖𝑡ℎ − 𝑙𝑜𝑠𝑠
풀이과정 생략
corss
𝑦
𝑡
다양한 노드의 역전파
신경망에서의 적용 구현
신경망에서의 적용 구현
정리
• 신경망의 구성 요소를 계층으로 구현하여 기울기를 효율적으로
계산할 수 있다.(오차역전파법)
• 오차역전파법으로 각 노드의 미분을 구할 수 있다.

Contenu connexe

Tendances

Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2KyeongUkJang
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
Alexnet paper review
Alexnet paper reviewAlexnet paper review
Alexnet paper review오 혜린
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)홍배 김
 
Chapter 7 Regularization for deep learning - 3
Chapter 7 Regularization for deep learning - 3Chapter 7 Regularization for deep learning - 3
Chapter 7 Regularization for deep learning - 3KyeongUkJang
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
합성곱 신경망
합성곱 신경망합성곱 신경망
합성곱 신경망Sunggon Song
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Jinwon Lee
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트혜승 이
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련Haesun Park
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류Haesun Park
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networksHaesun Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리Haesun Park
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2KyeongUkJang
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Othersjdo
 
Boosting_suman
Boosting_sumanBoosting_suman
Boosting_sumansuman_lim
 

Tendances (20)

Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
Alexnet paper review
Alexnet paper reviewAlexnet paper review
Alexnet paper review
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
Chapter 7 Regularization for deep learning - 3
Chapter 7 Regularization for deep learning - 3Chapter 7 Regularization for deep learning - 3
Chapter 7 Regularization for deep learning - 3
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
합성곱 신경망
합성곱 신경망합성곱 신경망
합성곱 신경망
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networks
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2
 
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others [컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
[컴퓨터비전과 인공지능] 8. 합성곱 신경망 아키텍처 5 - Others
 
Boosting_suman
Boosting_sumanBoosting_suman
Boosting_suman
 

Similaire à DL from scratch(4~5)

Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명Woonghee Lee
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagationDea-hwan Ki
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본deepseaswjh
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningSang Jun Lee
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들종현 최
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향홍배 김
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc우진 신
 
Deep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkDeep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkJinSooKim80
 
neural network 기초
neural network 기초neural network 기초
neural network 기초Dea-hwan Ki
 

Similaire à DL from scratch(4~5) (20)

Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagation
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
인공신경망
인공신경망인공신경망
인공신경망
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised Learning
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc
 
Deep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkDeep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural network
 
neural network 기초
neural network 기초neural network 기초
neural network 기초
 

Dernier

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 

Dernier (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

DL from scratch(4~5)

  • 2. 목차 1. 신경망 학습 2. 오차 역전파법
  • 4. 신경망 학습 • 학습? 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것 • 신경망이 학습할 수 있도록 해주는 지표 : 손실 함수
  • 5. 손실 함수 • 신경망 학습에서는 현재의 상태를 ‘하나의 지표’로 표현한다. • 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색해야 한다. • 신경망 학습에서 사용하는 지표는 손실함수라고 한다. • 손실 함수? 신경망 성능의 ‘나쁨’을 나타내는 지표
  • 6. 손실 함수 평균 제곱 오차 교차 엔트로피 오차 𝐸 = 1 2 ෍ 𝑘 (𝑦 𝑘 − 𝑡 𝑘 )2 𝐸 = − ෍ 𝑘 𝑡 𝑘 log 𝑦 𝑘 Log(0) 을 방지 참고 : 자연로그 그래프
  • 7. 미니배치 학습 𝐸 = − 1 𝑁 ෍ 𝑛 ෍ 𝑘 𝑡 𝑛𝑘 log 𝑦 𝑛𝑘 N 개의 훈련 데이터에 대한 손실 함수 만약 훈련 데이터가 60,000개라면? -> 많은 시간이 소요 -> 데이터의 일부(미니 배치)를 추려 전체의 ‘근사치’로 이용하자.
  • 9. 왜 손실함수를 지표로 사용할까? • 궁극적 목표 -> 정확도를 최대로 • 정확도로 지표로 사용하면 안될까? • 신경망의 학습은… 지표를 가중치 매개변수로 미분하여 매개변수를 갱신하는 방법을 이용한다. • 정확도를 지표로 하면… 매개변수의 미분이 대부분의 장소에서 0이 되어 매개변수를 갱신할 수 없다.
  • 10. 왜 손실함수를 지표로 사용할까? 계단 함수 대신 시그모이드 함수를 이용하는 이유와 같다. 계단 함수 : 매개변수의 작은 변화를 무시 시그모이드 함수 : 매개변수의 작은 변화에도 반응
  • 11. 수치미분 • 미분을 하는 간단한 방법 전방 차분 : 𝑑𝑓(𝑥) 𝑑𝑥 = lim ℎ→0 𝑓 𝑥+ℎ −𝑓(𝑥) ℎ 중심 차분 : 𝑑𝑓(𝑥) 𝑑𝑥 = lim ℎ→0 𝑓 𝑥+ℎ −𝑓(𝑥−ℎ) 2∗ℎ 참고
  • 12. 편미분 • 변수가 여럿인 함수에 대한 미분 • 특정 장소의 기울기 =? =?
  • 14. 경사 하강법 • 기울기를 이용해 함수의 최솟값을 찾는 법 (기울기가 0 인 지점) 𝑥0 = 𝑥0 − 𝜂 𝜕𝑓 𝜕𝑥0 𝑥1 = 𝑥1 − 𝜂 𝜕𝑓 𝜕𝑥1
  • 16. 신경망에서의 적용 • 신경망에서의 기울기 𝑊 = 𝑤11 𝑤12 𝑤13 𝑤21 𝑤22 𝑤23 𝜕𝐿 𝜕𝑊 = 𝜕𝐿 𝜕𝑤11 𝜕𝐿 𝜕𝑤12 𝜕𝐿 𝜕𝑤13 𝜕𝐿 𝜕𝑤21 𝜕𝐿 𝜕𝑤22 𝜕𝐿 𝜕𝑤23 𝝏𝑳 𝝏𝑾 : 각각의 원소에 관한 편미분 𝜕𝐿 𝜕𝑤11 : 𝑤11를 조금 변경했을 때 손실함수 L 이 얼마나 변화하는지 나타낸다. 형상이 같다.
  • 17. 신경망에서의 적용 구현 수치 미분 함수를 다차원 배열을 처리할 수 있도록 수정 참고하는 변수값을 변경 할 수 있게 해주는 함수
  • 18. 신경망에서의 적용 구현 클래스 정의 랜덤수로 가중치 초기화 예측 수행 손실 함수의 값을 구함 정확도 계산 가중치 매개변수 기울기 계산
  • 21. 정리 • 신경망 학습은 손실함수를 지표로, 손실 함수의 값이 작아지는 방향으로 가중치 매개변수를 갱신한다. • 수치 미분을 이용해 가중치 매개변수의 기울기를 구할 수 있다. • 수치 미분은 구현이 간단하지만 시간이 오래 걸린다.
  • 23. 오차역전파법 • 수치 미분은 단순하고 구현하기도 쉽다. • 하지만 계산 시간이 오래 걸린다. • 가중치 매개변수의 기울기를 효율적으로 계산하는 방법은? 오차역전파법
  • 24. 오차역전파법 𝑓(𝑥) 𝑔(𝑦) 𝑥 𝑦 𝑧 𝜕𝑧 𝜕𝑧 (= 1) 𝜕𝑧 𝜕𝑦 𝜕𝑧 𝜕𝑥 = 𝜕𝑧 𝜕𝑧 𝜕𝑧 𝜕𝑦 = 𝜕𝑧 𝜕𝑧 𝜕𝑧 𝜕𝑦 𝜕𝑦 𝜕𝑥 *연쇄법칙 수치 미분으로 구한다면? 𝜕𝑧 𝜕𝑥 = lim ℎ→0 𝑔(𝑓(𝑥 + ℎ)) − 𝑔(𝑓(𝑥 − ℎ)) 2 ∗ ℎ ? 불확실 각 노드의 미분을 구할 수 있다.
  • 25. 다양한 노드의 역전파 + 𝑧 = 𝑥 + 𝑦 𝑥 𝑦 𝑧 + 𝜕𝐿 𝜕𝑧 ∗ 1 𝜕𝐿 𝜕𝑧 ∗ 1 𝜕𝐿 𝜕𝑧 𝜕𝑧 𝜕𝑥 = 1 𝜕𝑧 𝜕𝑦 = 1 x 𝑧 = 𝑥𝑦 𝑥 𝑦 𝑧 x 𝜕𝐿 𝜕𝑧 ∗ 𝑦 𝜕𝐿 𝜕𝑧 ∗ 𝑥 𝜕𝐿 𝜕𝑧 𝜕𝑧 𝜕𝑥 = 𝑦 𝜕𝑧 𝜕𝑦 = 𝑥
  • 26. 다양한 노드의 역전파 relu 𝑥 𝜕𝐿 𝜕𝑥 𝑦 𝜕𝐿 𝜕𝑦 𝑅𝑒𝐿𝑈 relu 𝑥 0 𝑦 𝜕𝐿 𝜕𝑦 𝑥 > 0 𝑥 ≤ 0 sig 𝑥 𝜕𝐿 𝜕𝑦 𝑦(1 − 𝑦) 𝑦 𝜕𝐿 𝜕𝑦 𝑆𝑖𝑔𝑚𝑜𝑖𝑑 풀이과정 생략
  • 27. 다양한 노드의 역전파 ∙ 𝑌 = 𝑋 ∙ 𝑊 𝑋 𝑊 𝑌 𝑋 𝑇 ∙ 𝜕𝐿 𝜕𝑌 𝜕𝐿 𝜕𝑌 𝜕𝐿 𝜕𝑋 = 𝜕𝐿 𝜕𝑌 ∙ 𝑊 𝑇 𝜕𝐿 𝜕𝑊 = 𝑋 𝑇 ∙ 𝜕𝐿 𝜕𝑌 Affine 계층 (행렬의 내적) 𝜕𝐿 𝜕𝑌 ∙ 𝑊 𝑇 ∙ 증명 : https://edwardshu.com/posts/matrix-matrix-gradient 참고 : https://nbviewer.jupyter.org/github/metamath1/ml-simple-works/blob/master/fitting/matrix-derivative.ipynb#vec%EA%B3%BC-vec-%EC%A0%84%EC%B9%98[2] 𝑋 = 𝑚, 𝑛 𝑊 = 𝑛, 𝐻 𝑌 = 𝑚, 𝐻 𝐿 = 𝑓(𝑌)
  • 29. 다양한 노드의 역전파 soft 𝑎 𝑦 − 𝑡 𝐿 1 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 − 𝑤𝑖𝑡ℎ − 𝑙𝑜𝑠𝑠 풀이과정 생략 corss 𝑦 𝑡
  • 33. 정리 • 신경망의 구성 요소를 계층으로 구현하여 기울기를 효율적으로 계산할 수 있다.(오차역전파법) • 오차역전파법으로 각 노드의 미분을 구할 수 있다.