정의
인공지능은 예시 자료를 잔뜩 보면서 규칙을 익혀요. 그런데 연습에 쓴 자료의 사소한 특징까지 통째로 외워 버리면, 처음 보는 자료 앞에서는 오히려 성적이 떨어져요. 이렇게 배운 자료에만 지나치게 맞춰져 새 자료에서 힘을 못 쓰는 상태를 과적합이라고 불러요.
기출문제 답만 외운 친구
시험 기간에 기출문제집만 붙잡고 답을 통째로 외운 친구를 본 적 있나요? 그 문제집을 다시 풀면 거의 만점이 나와요. 그런데 정작 시험장에서는 점수가 뚝 떨어져요.
이 친구가 머리에 담은 것은 문제를 푸는 방법이 아니었어요. '세 번째 문제는 2번' 같은 답의 위치를 외운 것에 가까워요. 그러니 문제 순서가 바뀌거나 숫자만 살짝 달라져도 손을 못 대요.
인공지능도 이런 식으로 공부할 수 있어요. 자료를 보며 공통된 규칙을 찾는 대신, 자료 하나하나를 통째로 외워 버리는 거예요.
그러면 연습에 쓴 자료에서는 성적이 눈부시게 좋아요. 하지만 새 자료를 만나면 기출문제만 외운 친구처럼 흔들려요. 이 상태를 과적합이라고 불러요.
왜 이해하는 대신 외우게 될까요
사람도 규칙을 이해하는 쪽이 어렵고 답을 외우는 쪽이 쉬워요. 특히 시험 범위가 좁고 문제 수가 적으면 외우기 유혹이 커지죠. 다섯 문제뿐이라면 굳이 원리를 따질 이유가 없으니까요.
인공지능도 사정이 비슷해요. 배울 자료는 적은데 기억할 공간이 넉넉하면, 규칙을 찾기보다 자료를 통째로 담는 쪽이 더 쉬운 길이 돼요.
같은 자료를 여러 번 되풀이해 볼 때도 그래요. 처음 몇 번은 실력이 쑥쑥 늘어요. 그러다 어느 순간부터는 자료에 우연히 섞인 잡티까지 외우기 시작해요.
그래서 개발자들은 시험지를 따로 떼어 둬요. 연습에 한 번도 쓰지 않은 자료를 남겨 두었다가 마지막에 채점하는 거예요. 기출문제집이 아니라 처음 보는 모의고사로 실력을 재는 셈이죠.
조금 더 정확히 말하면
연습 점수가 높다는 것 자체는 흠이 아니에요. 눈여겨볼 것은 연습 점수와 처음 보는 자료의 점수 사이에 벌어진 간격이에요. 둘 다 높으면 잘 배운 것이고, 앞쪽만 높으면 외운 쪽에 가까워요.
반대 방향의 실수도 있어요. 문제집을 너무 대충 훑어서 연습 점수마저 낮은 경우예요. 이때는 오히려 더 오래, 더 꼼꼼히 공부해야 해요. 두 실수 사이의 알맞은 지점을 찾는 일이 학습의 핵심이에요.
그 지점을 찾는 방법도 공부하는 학생의 요령과 닮았어요. 문제집을 여러 권으로 늘리고, 답 대신 풀이 과정을 보게 하고, 점수가 더 오르지 않는 때에 책을 덮는 거예요. 그러면 머리에 답의 위치가 아니라 문제를 푸는 규칙이 남아요.
흔한 오해
학습에 쓴 자료에서 거의 만점이 나오면 성능이 좋은 인공지능이다.
연습에 쓴 자료의 점수는 답을 미리 보고 채점한 것과 비슷해요. 실력은 학습에 한 번도 쓰지 않은 자료로 재야 알 수 있어요.
과적합은 오래 학습시키지 않아서 생기는 문제다.
오히려 같은 자료를 너무 오래 되풀이해 볼 때 잘 생겨요. 어느 지점을 지나면 자료에 섞인 잡티까지 외우기 시작하거든요.
일상에서 만나요
개와 고양이를 가려내는 프로그램이 학습 사진의 잔디밭 배경까지 외워서, 잔디밭에 앉은 고양이를 개라고 답하는 경우예요.
지난 몇 달 매출 자료에만 딱 들어맞게 만든 예측 프로그램이 다음 달 매출은 크게 빗나가는 경우예요.
그러니까 한마디로
연습한 자료를 통째로 외워 버려서, 그 자료에서는 만점에 가깝지만 처음 보는 자료에서는 힘을 못 쓰는 상태예요.