일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Peephole Connection
- AI
- ResNet
- sigmoid
- GoogLeNet
- DCGAN
- jupyter
- classification
- version
- Linear
- GCN
- Inception V1
- Manager
- Vanilla RNN
- RNN
- Regression
- Skip Connectioin
- Bottleneck Layer
- Optimizer
- vim-plug
- python
- Gated Skip Connection
- virtualenv
- iTerm2
- Generative
- Inception Module
- Skip Connection
- cnn
- DL
- Residual Connection
- Today
- Total
목록Optimizer (6)
IT Repository
ADAM (Adaptive Moment Estimation)¶ NAG(Momentum)와 RMSProp(Adaptive Learning rate) 의 장점을 합친 Optimizer $$m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t \\ v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \\ ~\\ \array{\hat m_t = \dfrac{m_t}{1 - \beta_1^t} & \hat v_t = \dfrac{v_t}{1 - \beta_2^t}} \\ ~\\ \theta_{t+1} = \theta_t - \dfrac{\eta}{\sqrt{\hat v_t + \epsilon}} \hat m_t \\ ~\\ \begin{pmatrix} m_t : \..
Vanilla SGD Momentum 개념 Momentum NAG Adaptive learning rate 개념 AdaGrad AdaDelta, RMSProp 위의 두 방법을 병합: ADAM (RMSProp + NAG) Adagrad (Adaptive Gradient)¶ Vanilla SGD : 일괄적인 Learning rate Adagrad : 각 파라미터마다 다른 Learning rate를 적용 (Adaptive Learning rate) $$\theta_{t+1} = \theta - \dfrac{\eta}{\sqrt{G_t + \epsilon}} \cdot \nabla_\theta J(\theta_t) \\ G_t = G_{t-1} + \left( \nabla_\theta J(\theta_t) \r..
Vanilla SGD Momentum 개념 Momentum NAG Adaptive learning rate 개념 AdaGrad AdaDelta, RMSProp 위의 두 방법을 병합: ADAM (RMSProp + NAG) Momentum¶ Vanilla SGD에 관성(Momentum) 개념을 도입 로컬 미니멈에 갖히는 문제를 어느정도 해결하고, Gradient가 Oscillate하는 문제도 어느정도 해결 이전 스텝의 Gradient와 현재 스텝의 Gradient를 모두 고려 $$\theta = \theta - v_t \\ v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta) \\ (\gamma : \text{0 ~ 1 범위의 decay 상수})$$ 그러나 모멘텀이 있..
Vanilla SGD Momentum 개념 Momentum NAG Adaptive learning rate 개념 AdaGrad AdaDelta, RMSProp 위의 두 방법을 병합: ADAM (RMSProp + NAG) 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) 모든 샘플을 한번..
Development of Gradient Descent¶ 우리는 딥러닝에서 파라미터를 업데이트하는 방식에 대해 학습했습니다. (Gradient Descent) 이렇게 파라미터를 업데이트하고 모델을 최적화하는 수식을 Optimizer라고 합니다. 이제부터 기본적인 Vanilla SGD에서 ADAM Optimizer까지의 변화와 발전을 학습합니다. 학습에 앞서 더 발전된 방법의 Optimizer가 꼭 어떠한 문제를 더 잘 해결한다고는 볼 수 없다는 것을 미리 말씀드립니다. 쉬운 문제는 더 작은 크기의 모델이 더 잘 해결하는 것과 같이 Optimizer 역시 문제에 따라서 더 잘 최적화할 수도 그렇지 않을 수도 있습니다. 따라서 Optimizer 역시 하이퍼 파라미터의 한 종류로써 우리가 튜닝해야 하는 영역..
How to minimize cost¶ (손실을 나타내는 loss와 cost는 서로 동일한 의미로 사용됩니다.) 아래부터는 조금 수식이 복잡해 질 수 있으므로 편의상 b=0인 경우로 수식을 간략화하겠습니다. $H(x) = wx \\ cost(w) = \dfrac{1}{m} \displaystyle \sum_{i=1}^{m} \big( wx^{(i)} - y^{(i)} \big)^2$ 그러면 이제 모델이 얼마나 좋은지 나쁜지에 대해서는 계산할 수 있는데, 어떻게 가장 좋은 모델을 찾아낼 수 있을까요? 우선 가능한 w에 대해서 모두 대입해보는 것이 가능할 것입니다. 이와 같이 파라미터(w)가 1개인 경우에는 가능할 수도 있지만, 파라미터가 20만개 이상되는 일반적인 DL 모델에서는 거의 불가능할 것입니다. ..