Loss functions
우리가 배울때,
얼마나 틀렸는지를 알아야 합니다. 그래야 얼만큼 고칠지를 알 수 있습니다.
정답지랑 비교해서 얼마나 틀렸는지를 통해 학습을 진행합니다.
따라서 최대한 틀리지 않게 학습해야 합니다.
= minimize the Loss
= Optimization
결국 어떤함수의최솟값찾기
출처: 하용호님 발표
VanishingGradient
Back-prop에서 발생할 수 있는 문제
Layer가 많을수록 업데이트가 사라져간다
그래서 fitting이 잘 안 된다[underfitting]
Best choice: ReLU
121.
Gradient Descent
전체 Data를다 본 후 loss를 구해서
Weight를 업데이트 해주면서
어떤 loss 함수의 진짜 최솟값 찾기
전체 데이터를 다 보고
1 걸음 간다 (update)
이걸 m번 반복
BATCH
Gradient Descent
122.
S T OC H A S T I C
Gradient Descent
Data 1개 본 후 loss를 구해서
Weight를 업데이트 해주면서
어떤 loss 함수의 진짜 최솟값 찾기
→ update → → update →
→ update → → update →
→ update → → update →
… → update → …
이걸 m번 반복
반복 때마다 랜덤하게 섞는다
123.
M I NI B AT C H
Gradient Descent
Data B개 본 후 평균 loss를 구해서
Weight를 업데이트 해주면서
어떤 loss 함수의 진짜 최솟값 찾기
→ update →
… → update → …
→ update →
→ update →→ update →
이걸 m번 반복
반복 때마다 랜덤하게 섞는다
GPU !
124.
S T OC H A S T I C
Gradient Descent
M I N I B AT C H
Gradient Descent≅
헷갈리기 쉬운 핵심용어들
•Epoch [이폭, 에픽]
• Mini-batch size
• Iteration
update →
… → update → …
update →
update →update →
이걸 m번 반복
반복 때마다 랜덤하게 섞는다
전체 데이터를 보는 걸 1바퀴라 했을 때, 몇 바퀴 돌 것인지 : m
하나의 mini-batch는 몇 개의 데이터로 이루어져있을지
대개 2의 제곱수: 16, 32, 64, …
전체 데이터 수와 mini-batch사이즈에 따라 자동으로 결정됨
=number of updates in 1 epoch
=number of mini-batches
딥러닝 모델 구축하기
•Dataset & DataLoader
• Model
• Loss function
⚬ MSE, Cross-entropy, KL-divergence 등등
• Optimizer
⚬ SGD, AdaGrad, RMSProp, Adam 등등
• Training & Testing
출처: DeepBrick
Facebook - TensorFlowKR
Community
Lectures
초짜대학원생 시리즈
https://brunch.co.kr/@kakao-it
http://kvfrans.com/
http://colah.github.io/
모두를 위한 머신러닝/딥러닝 강의
http://cs231n.stanford.edu/
3Blue1Brown 강의
Blogs
TA K E AWAYS
Sung
Kim