오버피팅(Overfitting)이란 인공지능이 학습 데이터에선 매우 좋은 성능을 보이나, 학습에 사용하지 않은 검증 데이터에선 처참한 성능을 보이는 현상이다. 이는 주로 모델은 너무 복잡한데 학습 데이터는 적을 때 나타나는데, 학습 데이터의 디테일을 몽땅 외워버리느라 일반화 능력은 떨어지기 때문이다.
예를 들어, 정말 작은 디테일까지 꼼꼼히 공부하는 모범생이 시험 범위가 교과서 한 페이지인 쪽지 시험을 준비한다고 하자. 그 페이지엔 태극기 사진과 태극기에 대한 설명이 실려있다. 그러면 이 모범생은 아마 그 페이지를 다 외워버릴 것이다. 해당 페이지에 실린 태극기 사진을 안 보고도 따라 그릴 수 있을 정도로 외우고 태극기 설명도 토씨 하나 안 틀리고 다 외워버렸다. 그런데 안타깝게도 실제 쪽지 시험에는 그 페이지에 있는 태극기 사진이 아니라 약간 다른 각도에서 찍은 태극기 사진이 출제되었다. 이 모범생은 아주 작은 차이지만 시험에 출제된 사진이 교과서의 사진과 다르다는 것을 깨닫고 이 사진은 태극기가 아니라고 판단한다. 그래서 시험 문제를 틀릴 수밖에 없었다.
반면에 어느 정도만 열심히 공부하는 다른 학생도 있다. 이 학생은 시험 치기 30분 전에 이 페이지를 3번 정도 읽었다. 당연히 페이지를 몽땅 다 외울 정도로 공부하진 않았다. 그랬더니 이 학생은 시험에 나온 사진과 교과서에 실린 사진이 다른 지도 몰랐다. 시험에 나온 사진도 태극기라고 생각했고 시험 문제를 맞혔다. 이 예시에서 꼼꼼히 공부한 모범생은 매개변수의 수가 많은 복잡한 모델, 어느 정도만 열심히 공부한 학생은 매개변수의 수가 상대적으로 적은 간단한 모델이다. (책 <인공지능만 믿고 공부는 안 해도 될까요?>의 내용을 발췌했다.)
인공지능에게 오버피팅은 피해야 할 무서운 존재지만, 인간에게 오버피팅은 필요한 존재일 수 있다. 인간은 너무 쉽게 일반화를 한다. 잘못된 판단을 일으킬 정도로 지나친 일반화를 하기도 한다. 운동을 못 하는 한 명의 여성을 보고, '역시 여자는 운동을 못 해'라든지. 범죄를 저지른 한 명의 흑인을 보고, '역시 흑인은 위험해'라든지. 섣부른 일반화를 끝없이 한다.
운동을 못 하는 한 명의 여성이 학습 데이터라면, 이후 만나게 될 수많은 여성은 검증 데이터다. 이들이 여성이란 이유만으로 운동을 못할 거라고 판단한다면, 당신이 얼마나 단순한 존재인지 보여주는 셈이다. 일반 사람들보다 매개변수가 훨씬 적고 부족한 모델이라고 떠들고 다니는 셈이다.
인간이 살아가면서 접할 수 있는 사람의 수는 한정되어 있다. 이 세상의 모든 사람을 만나볼 수는 없는 노릇이다. 그러니 오버피팅이 되지 않는다면 오히려 이상한 일이다. 운동을 못 하는 한 명의 여성을 보면, 그 사람이 운동을 못한다고 판단하면 된다. 범죄를 저지른 한 명의 흑인을 보면 그 사람이 범죄자라고 판단하면 된다. 그 판단을 모든 여성, 모든 흑인에게 적용할 이유는 없다. 못난 편견을 가진 사람을 보면 비웃어주자. 당신은 매개변수가 참 부족하군요.
Thumbnail Image by Jeffrey F Lin on Unsplash