티스토리 뷰

ML

7. 학습률 감쇠 (Learning Decay), Local Optima

마로그래머 2023. 7. 24. 14:35
반응형

Learning Decay (학습률 감쇠)

학습 알고리즘의 속도를 높이는 한가지 방법은 시간에 따라 학습률을 천천히 하는 것이다. 이를 Learning Decay (학습률 감쇠) 라고 부른다.


왜 학습률이 감쇠해야함?

배치를 잘게 자른 미니배치 경사하강법을 사용한다고 생각해보자.

  • 고정된 α (learning_rate) 를 사용할 경우 최솟값에 정확하게 수렴하지 않고 주변을 돌아다니게 된다.
  • α를 줄임으로써 학습 초기 단계에서는 훨씬 큰 스텝으로 진행하다가 학습이 수렴할수록 작은 스텝으로 진행하게 할 수 있다.
  • 이 경우 단계마다 진행 정도가 작아지면서 주변을 돌아다니는 대신에 최솟값 주변에서 밀집하여 진동할 것이다.

구현

  • 1 epoch 는 배치 한번을 통과하는 단위다.
  • α0 는 초기학습률이다.
  1. Learning Decay
    α = (1 / 1 + decay_rate * epoch) * α0
  1. 그 외 사람들이 사용하는 식.
    # 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 등의 알고리즘으로 도움을 받을 수 있을 것이다. (못 할 수도 있겠지)





반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
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
글 보관함