AI

[딥러닝] 기초 - Learning Curves 이해하기

EddyLee 2024. 4. 13. 00:33

학습 곡선은 기본적으로 모델 훈련을 돌리고 나서, 각 epoch마다 training의 loss가 어떤지 validation loss와 비교하는 그래프가 있고,

train data의 accuracy와 validation accuracy가 어떤지 비교를 할 때에 가시적으로 보기 좋아서 자주 쓰인다.

 

그렇다면 어떤 그래프가 가장 이상적인 그래프일까?

 

그러기 위해서 기본적으로 오버피팅과 언더피팅에 대해서 알아봐야 한다.

오버피팅 : 너무 세세하게 데이터에 과민한 반응.

언더피팅 : 학습이 그냥 안 되는 상태.

scikit-learn의 underfitting과 overfitting의 예시

가장 왼쪽이 언더피팅, 가장 오른쪽이 오버피팅. 가운데가 적절하게 훈련한 결과.

 

따라서 이를 바탕으로 아래의 러닝 커브를 해석해보면,

두 개는 RMSE인 것을 보아 loss를 나타내는 그래프일 것이다.

왼쪽 그림을 보니 train loss, validation loss 일단 너무 크다. 그러면 학습이 안 되고 있으므로, 이 상황은 언더피팅이라고 할 수 있다.

 

또 오른쪽 그림은 validation loss는 떨어지고 있으나, train loss는 다시 또 좀 커지고 있다. 이것은 validation에 오버피팅되고있는 상태.

 

그래서 가장 예쁜 그래프는 다음과 같다.

https://dataplay.tistory.com/32

 

정리하자면 훈련이 잘 안 되는 경우는 다음과 같이 정리할 수 있다.

1) train loss, validation loss 둘 다 오른쪽 아래로 안 떨어질 때.

2) train loss는 떨어지는데 validation loss가 안 떨어질 때.