[인공지능과 로봇] 과적합(Overfitting)에 관한 고찰
[과적합(overfitting)이란]
인공지능 분야에서 가장 문제시 되는 현상은 과적합(overfitting) 현상이다. 그리고 인공지능을 처음 접하는 경우 해당 용어는 대부분 신경망이론에 대해 배우면서 접하게 되는 용어이다. 하지만 overfitting 현상은 신경망이론뿐 아니라 대부분의 인공지능 기반 알고리즘에서 자유로울 수 없는 문제이다. 아래 그림은 overfitting에 관해 설명하고 있는 그림이다.
위 문제는 붉은색과 파란색의 training data set들이 있을 때, 붉은색의 data set 들과 파란색의 data set을 구분하는 문제에서의 예제이다. 검정색으로 구분하는 상황은 일반적으로 학습이 잘 된 상황이며, 초록색으로 구분하는 상황은 overfitting 된 상황이다. 검정색으로 구분하는 경우에는 실제와 다르게 구분하는 경우가 발생하며 초록색으로 구분하는 경우에는 모든 training set에 대해 정확히 구분해 낸다. 얼핏 보면 초록색으로 구분하는 것이 좋아 보이지만 실제로는 그렇지 않은 경우가 대부분이다. 위의 예제에서도 실제로는 검정색이 이상적인 경우의 구분이며 해당 구분으로 인해 오류가 발생하는 것은 측정 오차로 인한 오류이다. 측정 오차에 의해 얻어진 data set이기에 training data set에서는 붉은색으로 구분 되는 것이 맞을지 모르나 실제 시스템 동작상에서는 해당 data set과 동일한 값의 data set의 경우 파란색으로 구분 되어야 하는 경우가 대부분일 것이다.
[overfitting 발생 원인]
인공지능에 대해 처음 접하던 시기 필자는 overfitting 현상이 학습을 과도하게 시켰기에 발생하는 현상인 것으로만 오해하였었다. 학습을 일정 수준까지 진행할 때까지는 성능이 좋아지다가 일정 수준 이상 학습을 지나치게 하면 오히려 성능이 떨어지는 것으로만 이해하였었다. 물론 틀린 것은 아니다. 하지만 overfitting 되는 원인의 일부에 해당하는 사항이다. 많은 글에서는 overfitting의 원인 중 한두 가지에 대해서만 설명하고 있지만, 필자가 정리하고 있는 overfitting 현상 발생 원인은 크게 3가지이다.
1. 과도한 학습
일반적으로 학습에서의 경우 초기 오차가 많은 경우 가중치(weight)를 크게 조정하여 빠르게 오차율을 줄이는 방향으로 학습한다. 그 결과 초기에는 오차율이 크게 줄어드는 모습을 볼 수 있다. 하지만 일정 수준 이상 오차율이 줄어든 이후에는 오차 수정률이 크게 줄어들며 여전히 오차가 발생하고 있는 데이터들에 대한 오차 개선을 위한 가중치 조정이 일어나게 된다. 그런데 위 그래프에서 보여주듯이 일정 횟수 이상 학습이 진행되게 되면 Training Set에 대한 오차는 미비할 정도로 개선이 되면서 Testing Set에 대한 오차는 오히려 크게 늘어나는 현상을 볼 수 있다. 이는 일반적이지 않은 상황에서의 데이터에 대해서까지 학습이 진행되고 오차를 줄이는 과정에서 overfitting이 발생한 것이다.
2. 과도하게 복잡한 모델 사용
실제로는 2차 시스템이지만 이를 모르고 3차 이상으로 높은 시스템으로 모델을 정한 이후 학습을 진행하게 되면 overfitting 현상이 발생 할 수 밖에 없다. 동일한 수준으로 학습을 진행한다고 가정했을 때 적용 모델의 복잡성에 따라 아래와 같은 그래프가 나올 수 있다.
모델의 복잡성 증가에 따라 발생하게 되는 현상은 아래 그림에서 잘 설명하고 있다.
위 5개의 data set을 가지는 시스템이 실제로는 2차 시스템이며 그렇기에 해당 data set들은 2차 방정식으로 표현 하는 것이 가장 적합하다. 하지만 이를 모르고 4차 방정식으로 표현하게 되는 경우 실제와는 상당히 다른 형태로 표현될 수 있는 것이다.
3. 데이터의 부족
위의 모델 선정의 오류로 overfitting 현상의 경우 아무리 과도하게 복잡한 모델로 선정하더라도 overfitting 현상을 개선 할 수 있는 방법이 있다. data set의 수를 월등히 늘리는 것이다. 인공지능을 개발하는 조직에서 많이들 저지르는 실수가 분석 요인을 많이 추가라는 것이다. 분석 요인을 추가하면 할 수록 시스템의 복잡성이 높아지며 overfitting 현상이 발생 할 가능성이 높아진다. 하지만 이 경우에도 대부분의 경우를 대표할 수 있는 매우 많은 양의 데이터가 있다면 overfitting 현상을 피해갈 수 있을 것이다. 하지만 대부분의 경우는 분석 요인을 늘려가면서 각 요인들의 조합으로 발생 가능한 데이터들의 공백이 많이 생기게 되며 그 결과 overfitting에 의해 인공지능의 실 적용에서는 성능이 크게 떨어지는 현상이 발생하게 되는 것이다.
'인공지능과 로봇 > 연구 일지' 카테고리의 다른 글
[인공지능과 로봇] Soft computing과 Hard computing의 조합 (0) | 2020.12.03 |
---|---|
[인공지능과 로봇] 불안에 떨었던 박사과정과는 다른 편안한 연구 여건 (0) | 2020.11.25 |
[인공지능과 로봇] 부게공박? (0) | 2020.11.17 |
[인공지능과 로봇] 인공지능 블로그 목표 (0) | 2020.11.17 |