Loss landscape?
loss landscape는 파라미터에 따른 손실 값(loss)의 변화를 나타냅니다. neural network를 훈련한다는 것은 loss landscape를 미끄러져 내려가면서 최소값을 찾는 과정이라고 해석할 수 있습니다. 따라서 loss landscape를 잘 보면 neural network 학습을 이해하는데 도움이 됩니다.
밑의 그림은 sam optimizer를 사용하지 않았을 때와 사용 했을 때의 loss landscape를 보여줍니다. sam을 사용하지 않았을때(middle)는 loss landscape가 굉장히 복잡한 모양으로, 학습 시작점(initialization)이 어디냐에 영향을 크게 받으며, local minima에 빠질 수 있다. 반면 sam을 사용했을때는 거의 볼록한 모양으로 최적점까지 쉽게 미끄러져 내려가 학습이 잘 될 것으로 추측할 수 있다. 이처럼 loss landscape는 neural network이해에 직관적인 도움을 줍니다.
Generalization?
Generalizaiont이란 학습 데이터로 훈련했을 때 보지 못한 데이터(테스트 데이터)도 잘 맞추는 것을 말합니다. 보통 학습 데이터와 테스트 데이터는 분포가 다릅니다. 그ㅐ서 학습데이터로 훈련했을때 테스트 데이터를 잘 못 맞추는 경우가 발생합니다. 모델의 구조나 학습 방법등에 영향을 받습니다. 모델의 generalization 성능을 평가 할때는 generalization gap이라는 용어를 사용합니다. 같은 분포에서 추출된 학습 데이터와 테스트 데이터 사이의 성능 차이를 generalization gap이라고 합니다. 특히 학습 데이터가 적으면 generalization gap이 커지는 문제가 종종 발생합니다.
Flat Minima & Sharp Minima
Generalization gap은 loss landscape와도 깊은 연관이 있습니다.
x축은 파라미터, y축은 loss를 나타내고, 검정 선은 학습 데이터에 대한 loss landscape function을 빨간 점선은 테스트 데이터에 대한 loss landscape function을 나타냅니다. 훈련 데이터와 테스트 데이터의 분포가 다르기 때문에 조금 이동한 모양입니다. 학습을 통해 training function의 minimum point까지 파라미터를 업데이터했다고 가정했을때, trainingfunction은 minimum loss 값을 가지게 되지만, testing function은 오른쪽으로 약간 이동하여 존재하므로 학습데이터로 훈련하여 얻은 파라미터로는 최적의 loss를 갖지 못합니다. 이 차이는 minima의 모양(flat vs sharp)에 따라 커지거나 작아질 수 있습니다.
flat minima일때 testing function의 y값은 training function의 y값과 크게 차이가 나지않음을 확인할 수 있습니다. 반면 sharp minima일때 testing function의 y값은 training function의 y값과 차이가 많이 나는 거승ㄹ 확인할 수 있습니다.
따라서 Sharp Minimum은 loss function의 작은 변화에도 민감하게 반응하기 때문에 Flat Minimum에 비해 generalization 측면에서 훨씬 불리하다고 볼 수 있습니다.
'딥러닝 이론' 카테고리의 다른 글
Knowledge Distillation (0) | 2022.11.16 |
---|---|
AutoEncoder (0) | 2022.08.24 |
Meta Learning (0) | 2022.08.22 |
*NAS(neural architecture search) (0) | 2022.07.28 |
*Transformer (0) | 2022.07.06 |