Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- python
- Skip Connection
- classification
- GCN
- Inception V1
- RNN
- Bottleneck Layer
- Skip Connectioin
- Manager
- iTerm2
- Gated Skip Connection
- Vanilla RNN
- Regression
- jupyter
- cnn
- Linear
- GoogLeNet
- version
- vim-plug
- virtualenv
- DL
- Optimizer
- Peephole Connection
- AI
- DCGAN
- Generative
- sigmoid
- ResNet
- Inception Module
- Residual Connection
Archives
- Today
- Total
IT Repository
(11) Optimizer - Vanilla SGD 본문
- Vanilla SGD
- Momentum 개념
- Momentum
- NAG
- Adaptive learning rate 개념
- AdaGrad
- AdaDelta, RMSProp
- 위의 두 방법을 병합: ADAM (RMSProp + NAG)
- Momentum 개념
Gradient Descent¶
$$\theta = \theta - \eta \nabla J(\theta) \\ (\theta : \text{Parameter set of the model},~\eta : \text{Learning rate},~J(\theta) : \text{Loss function})$$Batch Gradient Descent
트레이닝셋의 모든 샘플에 대해 Gradient를 한번에 계산하고 파라미터 업데이트를 진행하는 것 (Deterministic)
모든 샘플을 한번에 메모리에 올리기에는 너무 큰 메모리 용량이 필요
Gradient 계산과 Optimization이 너무 오래 걸림
Stochastic Gradient Descent(SGD)
트레이닝 셋을 작은 덩어리(Mini-batch)로 나누어, Mini-batch에 대해 Gradient를 계산하고 파라미터 업데이트를 진행 (Stochastic)
Mini-batch를 어떻게 선택하느냐 에 따라 결과값이 달라짐
Batch Gradient Descent보다 빠르지만, 수렴 정도는 비슷함
또한, Local Minimum에 빠지는 것을 확률적으로 피할 수 있음
Problem of Vanilla SGD
확률적으로 피할 수 있다고 해도 Local Minimum에 갖히면 Gradient가 0이 되므로 빠져나올수가 없음
'Basic fundamentals' 카테고리의 다른 글
(13) Optimizer - Adaptive learning rate 개념 (0) | 2020.01.13 |
---|---|
(12) Optimizer - Momentum 개념 (0) | 2020.01.13 |
(10) Optimizer (0) | 2020.01.13 |
(9) Other Techniques of Optimize (0) | 2020.01.13 |
(8) Gradient Vanishing (0) | 2020.01.13 |
Comments