Plateau Phenomenon
- 정의
학습 과정에서 손실이 더 이상 감소하지 않고, optimizer 알고리즘 성능이 느려지는 현상
위의 Training Loss V.s. Epoch curves와 같이 학습 과정에서 손실이 수렴하는 것 처럼 보이다가 (a), 임의의 epochs에서 다시 손실이 감소하고 (b), 다시 정체 구간을 겪다가 손실이 감소하는 (c) 현상을 Plateau Phenomenon 이라고 합니다.
- 문제점
- epochs에 대한 결정을 복잡하게 만듭니다.
- Plateau를 횡단하는데 사용되는 불필요한 epochs 수로 인해 수렴을 느리게 만드는 문제가 있습니다.
- 안장점과 국소 최소라는 최소 두가지 유형의 problematic areas를 갖습니다.
안장점 (Saddle Point)
다음의 loss landscape를 통해 안장점이 갖는 문제 영역을 이해할 수 있습니다.
입력 값 x, y에 대한 가상 손실 함수 z 입니다.
직관적으로 이해했을 때, 특정 x와 y의 위치에서 z의 기울기가 0을 가질 수 있고 이를 안장점이라고 합니다.
안장점 (말의 안장의 중심 부분 처럼 생겼기 때문에 안장점 입니다.) 에서 Loss 값이 최소 값이라고 말할 수 없고, 만약 최적화 알고리즘이 Gradient에 의해 최적화 된다고 한다면, Gradient 가 0일 때 모델이 고착화 될 수 있습니다.
국소 최저점 (Local Minimum)
우측의 빨간 점이 국소 최저점 입니다. 만약 학습률이 너무 낮다고 한다면 우측의 빨간 점에서 벗어나지 못할 것입니다.
만약 학습률이 더 높다면, 좌측의 전역 최저점에 도달할 수 있을 것입니다.
학습률의 영향
샘플링 된 훈련 데이터 세트를 기반으로 신경망은 입력을 가지고 출력에 최적으로 매핑하는 함수를 학습하거나 근사화합니다.
이때 학습률은 손실로부터 어느정도의 피드백을 받을 것인지 결정하여, 모델이 얼마나 빠르게 근사 또는 학습하는지를 결정합니다.
학습률 | 장점 | 단점 |
높음 | - 모델이 더 빠르게 학습 가능 | - 모델의 최적화가 충분하지 않을 수 있음 - 모델의 성능이 일정 기간 동안 상대적으로 높게 변동할 수 있습니다. (이론에 따르면, 가중치가 발산이 손실의 진동을 야기할 수 있습니다.) |
낮음 | - 모델의 손실이 전역 최저점에 도달할 가능성이 높음. | - 모델의 학습 시간이 오래 걸림 - 수렴하지 않을 수 있고, 최적해보다는 부분적으로 좋지 않은 해에 갇힐 수 있음. |
학습률이 너무 높게 되면 모델의 가중치가 너무 많이 변동 (발산) 하게 되기 때문에 모델의 학습을 불안정하게 만들고 최적의 결과를 얻기 어렵게 할 수 있습니다.
그리고 학습률이 너무 낮게 되면 모델의 학습 자체가 제대로 이루어지지 않을 수 있고, 따라서 전역 최저점에 도달하기 어려울 수 있습니다.
Plateau Problem 극복 방안
Plateau Problem은 학습 속도가 매우 낮거나 또는 손실이 제대로 감소하지 않기 때문에 발생할 수 있습니다. 따라서 적절한 학습률의 설정으로 그 문제를 해결할 수 있습니다.
다시 말해서, 우리는 어떠한 미리 정한 규칙에 따라 훈련 중 학습 속도를 업데이트 함으로써 Plateau Problem을 극복할 수 있습니다. 이를 Scheduling the Learning Rate 이라고 합니다.
Step Decay
Step Decay 는 Learning Rate Annealing의 가장 대표적인 접근법으로, 합리적으로 높은 학습률로 시작하여 훈련 중에 점전적으로 줄일 것을 제안합니다.
높은 학습률을 통해 초기 매개 변수에서 우수한 매개 변수 값의 범위로 빠르게 이동하고, 그 이후 작은 학습률을 통해 손실 함수의 보다 깊고 좁은 영역을 탐색한다는게 step decay의 아이디어 입니다.
Cyclical Learning Rate (CLR)
학습률을 사인 함수, 삼각 함수, 삼각파와 같은 주기적인 패턴으로 조정하는 방식입니다.손실 함수를 좁고 깊게 탐색하는 것과 지역 최저점을 넘기고 전역 최저점을 찾아야 하는 것 사이의 멋진 Balance를 추구한다고 합니다.
내용 출처 :
https://analyticsindiamag.com/what-is-the-plateau-problem-in-neural-networks-and-how-to-fix-it/
'DL > Basic' 카테고리의 다른 글
Cross Entropy 맛보기 (0) | 2024.05.09 |
---|---|
Optimizer (1) | 2024.05.08 |
가중치 초기화 (Weight Initialization) (0) | 2024.05.07 |
1 x 1 Conv (1) | 2023.12.06 |
What is Deeplearning? (1) | 2023.05.14 |