① SGD(확률적 경사하강법)
- 기울기를 통해 가장 크게 기울어진 방향으로 가자는 것이 SGD의 전략이다.
- $W \leftarrow W - \eta \frac{\partial L}{\partial W}$ ( W는 가중치 매개변수이고, dl/dw는 W에 대한 손실함수의 기울기이다.)
- SGD의 단점은 비효율적일 때가 있다. 비등방성(anisotropy)함수 (방향에 따라 성질, 즉 여기에서는 기울기가 달라지는 함수)에서는 탐색 경로가 비효율적이다.
- SGD가 지그재그로 탐색하는 근본 원인은 기울어진 방향이 본래의 최솟값과 다른 방향을 가리켜서라는 점도 생각해볼 필요가 있다.
② Momentum(모멘텀)
- Momentum은 '운동량'을 뜻하는 단어로, 물리와 관계가 있다.
- $v \leftarrow \alpha v - \frac{\partial L}{\partial W} $
- $ W \leftarrow W + v$
- W는 가중치 매개변수이고, dl/dw는 W에 대한 손실함수의 기울기이다. \frac은 학습률이고, v라는 변수가 새로 나오는데, 이는 물리에서 말하는 속도(velocity)에 해당한다.
- $\alpha$ v항은 물체가 아무런 힘을 받지 않을 때 서서히 하강시키는 역할을 한다.
③ AdaGrad(아다그레드)
- 학습률을 정하는 효과적인 기술로 학습률 감소(learning rate decay)가 있다. 이는 학습을 진행하면서 학습률을 점차 줄여가는 방식이다.
- AdaGrad는 '각각의' 매개변수에 '맞춤형'값을 만들어준다.
- $h \leftarrow h + \frac{\partial L}{\partial W} \bigodot \frac{\partial L}{\partial W}$
- $W \leftarrow W - \eta \frac{1}{\sqrt{h}}\frac{\partial L}{\partial W}$
- h는 기존 기울기값을 제곱하여 계속 더해준다. $ \bigodot $기호는 행렬의 원소별 곱셈을 의미한다.
- 매개변수의 원소 중에서 많이 움직인(크게 갱신된) 원소는 학습률이 낮아진다는 뜻이다.
④ Adam(아담)
- Momentum과 AdaGrad를 융합한 방법이다.
- 하이퍼파라미터의 '편향 보정'이 진행된다.
'딥러닝 > 밑바닥부터 시작하는 딥러닝1' 카테고리의 다른 글
[6장] 배치 정규화, 오버피팅, 가중치 감소, 드롭아웃 (0) | 2025.04.02 |
---|---|
[6장] 가중치의 초깃값 (0) | 2025.04.02 |
활성화 함수 (2) | 2024.10.02 |
퍼셉트론 (0) | 2024.10.01 |
파이썬 지식 (0) | 2024.10.01 |