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
- Inception Module
- python
- Residual Connection
- GoogLeNet
- cnn
- version
- Gated Skip Connection
- Optimizer
- Skip Connectioin
- classification
- iTerm2
- jupyter
- GCN
- DCGAN
- ResNet
- Linear
- Skip Connection
- Inception V1
- vim-plug
- Vanilla RNN
- Peephole Connection
- DL
- Bottleneck Layer
- virtualenv
- Generative
- Manager
- AI
- sigmoid
- RNN
- Regression
Archives
- Today
- Total
IT Repository
(10) Optimizer 본문
Development of Gradient Descent¶
우리는 딥러닝에서 파라미터를 업데이트하는 방식에 대해 학습했습니다. (Gradient Descent)
이렇게 파라미터를 업데이트하고 모델을 최적화하는 수식을 Optimizer라고 합니다.
이제부터 기본적인 Vanilla SGD에서 ADAM Optimizer까지의 변화와 발전을 학습합니다.
학습에 앞서 더 발전된 방법의 Optimizer가 꼭 어떠한 문제를 더 잘 해결한다고는 볼 수 없다는 것을 미리 말씀드립니다.
쉬운 문제는 더 작은 크기의 모델이 더 잘 해결하는 것과 같이 Optimizer 역시 문제에 따라서 더 잘 최적화할 수도 그렇지 않을 수도 있습니다.
따라서 Optimizer 역시 하이퍼 파라미터의 한 종류로써 우리가 튜닝해야 하는 영역입니다.
이러한 관점에서 각 Optimizer가 어떠한 특징을 가지고 있는지 확인해보시기 바랍니다.
아래는 Gradient Descent 방식의 변화에 대한 순서도 입니다.
- Vanilla SGD
- Momentum 개념
- Momentum
- NAG
- Adaptive learning rate 개념
- AdaGrad
- AdaDelta, RMSProp
- 위의 두 방법을 병합: ADAM (RMSProp + NAG)
- Momentum 개념
(Optimizer에 대한 수식의 해설은 너무 수학적인 설명이 되어버리고 길어질 수 있어서 최대한 자제하였습니다. 수식이 이해가 안되시면 각 Optimizer가 뭐가 변한건지를 중점적으로 보시고, 그래도 궁금하시면 댓글 남겨주시면 제가 이해하는 한도에서 설명해보겠습니다.)
'Basic fundamentals' 카테고리의 다른 글
(12) Optimizer - Momentum 개념 (0) | 2020.01.13 |
---|---|
(11) Optimizer - Vanilla SGD (0) | 2020.01.13 |
(9) Other Techniques of Optimize (0) | 2020.01.13 |
(8) Gradient Vanishing (0) | 2020.01.13 |
(7) Regularization (0) | 2020.01.13 |
Comments