← AI 용어집

AI 용어집 · 기초 · 데이터·평가

과적합 Overfitting

과적합은 AI 모델이 학습 데이터에 지나치게 맞춰져, 배운 데이터에서는 성적이 좋지만 처음 보는 데이터에서는 성능이 크게 떨어지는 현상이다.

쉽게 말하면 원리를 이해하지 않고 기출문제의 답만 통째로 외운 학생과 같다. 똑같은 문제는 다 맞히지만, 숫자만 조금 바뀌어도 풀지 못한다.

어떻게 작동하나

모델은 학습 데이터에서 일반적인 규칙을 배워야 하는데, 너무 오래 또는 너무 세밀하게 학습하면 데이터에 우연히 섞인 잡음이나 예외까지 외워 버린다. 이렇게 되면 학습 데이터에 대한 오차는 계속 줄어드는데, 처음 보는 데이터에 대한 오차는 오히려 늘어난다. 모델이 데이터 양에 비해 너무 복잡하거나, 학습 데이터가 적거나 한쪽으로 치우쳐 있을 때 특히 잘 생긴다. 반대로 모델이 너무 단순해 기본 패턴조차 못 배우는 상태는 '과소적합'이라고 부른다.

왜 중요한가

AI를 만드는 목적은 이미 본 데이터가 아니라 앞으로 들어올 새 데이터를 잘 처리하는 것이다. 과적합된 모델은 개발할 때는 성능이 좋아 보이다가 실제 서비스에서 기대에 못 미치는 경우가 많다. 그래서 개발자들은 학습에 쓰지 않은 데이터를 따로 떼어 두고, 그 데이터로 성능을 확인해 과적합 여부를 살핀다. 학습 데이터 성적과 따로 떼어 둔 데이터 성적의 차이가 크게 벌어지면 과적합을 의심한다.

알아 둘 점

대표적인 대처법은 데이터를 더 많이·다양하게 모으기, 성능이 더 좋아지지 않을 때 학습을 일찍 멈추기, 모델이 너무 복잡해지지 않도록 제약을 거는 '정규화' 등이다. 학습 중 일부 연결을 무작위로 꺼 두는 '드롭아웃'도 신경망에서 널리 쓰인다. 벤치마크 문제가 학습 데이터에 섞여 들어가는 데이터 오염도 비슷한 착시를 만든다. 모델이 문제를 외워 점수만 높게 나오고 실제 실력은 그만큼이 아닐 수 있기 때문이다.

예시

어떤 회사가 사내 고객 문의 데이터로 문의 유형 분류 모델을 만들었다고 하자. 개발 단계에서는 거의 완벽하게 맞혔지만, 실제로 써 보니 새로 나온 상품이나 낯선 표현이 들어간 문의는 자주 틀렸다. 학습 데이터 속 특정 단어와 문장 습관을 외웠을 뿐 문의의 뜻을 일반화하지 못한 과적합 사례다. 이럴 때는 다양한 문의 데이터를 더 모으고, 학습에 쓰지 않은 데이터로 꾸준히 성능을 점검한다.

함께 보면 좋은 용어