책을 읽으며 손실함수와 최적화함수에 대해 공부하던 중 손실함수의 그래프에 대해 의문을 갖게 되었다. 왜냐하면 최적화함수마다 최솟값을 찾아가는 경로, 움직임이 전부 다르기 때문이다.
또한 손실함수의 global minimum을 찾을 때 안장점(saddle point), Local minima 등의 문제가 있어 초기값과 탐색경로가 중요한 것을 알 수 있었다.
따라서 손실함수의 그래프를 알 수 있다면, global minimum을 효율적으로 찾아가기 위해 어떤 초기값이 좋을지, 어떤 최적화함수가 좋을지에 대한 insight를 얻거나 inference가 가능할 수도 있겠다 싶어 손실함수의 그래프에 대해 찾아보게 되었다.
일반적으로 우리가 보는 손실함수의 그래프는 Traing Curve이고 다음과 같다.
이는 에폭마다 손실함수의 값을 표시함으로써 학습이 어떻게 진행되고 있는지, 오버피팅은 일어나지 않는지 등을 확인 할 수 있다. 그러나 2차원 그래프이고 x축의 변화율이 모델의 파라미터가 아닌 에폭이기 때문에 손실함수의 특성에 대해서도 알기 힘들다.
물론 손실함수의 파라미터는 그 갯수가 고차원이고 파라미터 하나하나 또한 고차원의 벡터이기 때문에 저차원상에 그래프로 나타낼 수 있나라는 의문이 들었는데 이에 대해 연구한 논문이 있었다.
Hao Li, Zheng Xu & Gavin Taylor. (2018). "Visualizing the Loss Landscape of Neural Nets", arxiv.org이 이에 대해 연구한 논문이다. 이 논문에선 손실함수를 Filter-Wise Normalization라는 방법을 이용해 등치선을 이용한 방식으로 시각화한다.
그리고 시각화에 대한 신뢰성을 위해 principle curvature를 계산하여 비교한다.
모델을 시각화한 자료는 일관성이 있었기에 하이퍼 파라미터, 모델구조등을 비교할 때 유용해보였다. 그러나 학습이 끝난 후의 손실함수를 시각화한 것이기에 내가 고민하던 것과는 조금 달랐다. 나는 학습을 하기 전 파라미터들의 범위를 정해놓고 그 범위 내에서 손실함수를 그린 후 하이퍼 파라미터나 최적화함수 선택에 도움을 받고 싶었기 때문이다.
따라서 시각화에 대해 더 찾아보았는데 논문을 찾던 중 두 개의 논문을 보게 되었다. Yann N. Dauphin, Razvan Pascanu & Caglar Gulcehre. (2014). "Identifying and attacking the saddle point problem in high-dimensional non-convex
optimization", arxiv.org.와 Kenji Kawaguchi. (2016). "Deep Learning without Poor Local Minima", arxiv.org가 그것이다.
이 두 논문들은 시각화와는 관련이 없는데 두 논문다 saddle point와 local minima, global minma에 관해 다루는 논문이였다. 먼저 앞의 논문은 차원이 커짐에 따라 saddle point가 지수적으로 증가하여 최적화의 문제(특정 손실함수값에 수렴하는)는 대부분 local minima의 문제가 아니라 saddle point의 문제라는 것을 이론적, 실험적으로 밝히고 그에 따라 saddle point를 빠르게 탈출하는 새로운 최적화 방법을 제시하는 논문이였다. 또한 큰 손실함수 값을 가지는 local minima는 극도로 드물다는 것을 밝혔다. 다음 논문은 두가지 가정을 사용하여 실용적으로 사용하지는 못하지만, local minima가 global minima와 같을 상황에 대해 이론적, 수식적으로 밝히는 논문이였다.
두 논문을 통해서 local minima가 global minima와 같을 수도 있고, 손실함수 값이 큰 local minima는 드무니 꼭 global minima에 집착할 필요가 없음을 배웠다. 또한 현직자분들에게 물어본 결과 내가 공부한 대로 요즘 추세는 괜찮은 local minima라면 global minima와 큰 차이가 없다고 한다.
마지막으로 손실함수의 그래프는 3차원상에 plot할 때 데이터의 손실이 많아서 최적화 함수, 하이퍼 파라미터 선택에 도움을 받기 어렵다 한다. 현업에서는 여러가지 최적화 방법을 다 사용하고 결과를 비교한다고 한다.
비록 내가 생각했던걸 실질적으로 쓰지는 못하겠지만, local minima와 global minima, saddle point 그리고 손실함수에 대해서 조금 이해가 더해진것 같다.
'AI' 카테고리의 다른 글
Deep Learning without Poor Local Minima 리뷰 (2) | 2022.09.21 |
---|---|
Identifying and attacking the saddle point problem in high-dimensional non-convex optimization 리뷰 (0) | 2022.09.20 |
Visualizing the Loss Landscape of Neural Nets 리뷰 (0) | 2022.09.19 |
밑바닥 부터 시작하는 딥러닝② 요약 (0) | 2022.09.18 |
밑바닥부터 시작하는 딥러닝①: 손실함수와 정확도 미분 (0) | 2022.09.16 |