티스토리 뷰
반응형
Learning Decay (학습률 감쇠)
학습 알고리즘의 속도를 높이는 한가지 방법은 시간에 따라 학습률을 천천히 하는 것이다. 이를 Learning Decay (학습률 감쇠)
라고 부른다.
왜 학습률이 감쇠해야함?
배치를 잘게 자른 미니배치 경사하강법을 사용한다고 생각해보자.
- 고정된 α (learning_rate) 를 사용할 경우 최솟값에 정확하게 수렴하지 않고 주변을 돌아다니게 된다.
- α를 줄임으로써 학습 초기 단계에서는 훨씬 큰 스텝으로 진행하다가 학습이 수렴할수록 작은 스텝으로 진행하게 할 수 있다.
- 이 경우 단계마다 진행 정도가 작아지면서 주변을 돌아다니는 대신에 최솟값 주변에서 밀집하여 진동할 것이다.
구현
- 1 epoch 는 배치 한번을 통과하는 단위다.
- α0 는 초기학습률이다.
- Learning Decay
α = (1 / 1 + decay_rate * epoch) * α0
- 그 외 사람들이 사용하는 식.
# 2-1 α = 0.95 * α0 (α가 1보다 작은 값을 가져서 빠르게 감소함)
2-2
α = (k / √epoch_num) * α0
2-3
α = (k / √t) * α0
2-4
이산계단
```
이렇게 계산하면 학습률은 점차 감소한다.
응은 학습률 감소를 잘 안 쓰는는 것 같다. 왜일까
Local Optima의 문제점
이제까지 알아본 최적화 알고리즘을 잘못쓰면 로컬 옵티마에 빠진다.
그런데 충분히 큰 신경망을 학습시킨다면 지역 최적값에 빠질일은 잘 없다.
문제는 고차원 공간이 될 수록 지역 최적값보다는 안장점이 되기가 쉽다.
앤드류 응의 안장점 설명이 귀여워서 가지고와봤다.
진짜 문제는 이 안장형태에서 나올 수 있는 Plateaus(안정지대)
이다. 뭐나면 아주 오랫동안 미분값을 0에 가깝게 유지하는 지역을 말하는데 이게 학습을 엄청 지연시킨다.
이 문제를 모멘텀이나 RMSProp, Adam 등의 알고리즘으로 도움을 받을 수 있을 것이다. (못 할 수도 있겠지)
반응형
'ML' 카테고리의 다른 글
9. 배치 정규화 (Batch Normalization) (0) | 2023.07.26 |
---|---|
8. 하이퍼파라미터 튜닝 (Hyperparameter Tuning) (0) | 2023.07.26 |
6. Adam (0) | 2023.07.24 |
5. RMSProp(Root Mean Square Prop) (0) | 2023.07.24 |
4. 모멘텀이 있는 경사하강법 (Gradient Descent with Momentum) (0) | 2023.07.24 |
댓글