본문으로 건너뛰기
실습하기

과적합(Overfitting) 자세히 알아보기

앞서 여러번 등장한 개념인 과적합(Overfitting)에 대해 조금 더 깊이 있게 살펴보겠습니다.

과적합은 AI 모델이 학습 데이터에는 아주 잘 맞춰져 있지만, 학습 데이터에 과도하게 최적화되어 새로운 데이터나 검증 데이터에 대해서는 성능이 좋지 않은 상태를 말합니다.

쉽게 말해, 모델이 학습 데이터의 특정 패턴, 심지어는 노이즈(데이터에 포함된 불필요한 정보나 무작위적인 변동)까지 학습해서, 일반적인 상황에서는 잘 작동하지 않게 되는 것입니다.


과적합 비유적으로 이해하기

어린이가 공룡에 대해 배우기 시작했다고 가정해 보겠습니다.

처음에는 티라노사우루스라는 단어를 들었을 때 큰 이빨과 두 발로 걷는 큰 동물이라는 이미지만 학습합니다.

이 어린이에게 공룡 그림을 몇 개 보여주고, 이 중에서 티라노사우루스를 골라봐 라고 물으면, 아마도 크고 무섭게 생긴 것들을 모두 티라노사우루스라고 지목할 수 있습니다.

그런데 이 어린이가 티라노사우루스에 대해 더 많은 정보를 학습하면서, 티라노사우루스의 이빨의 모양, 특정한 발가락의 수, 특정한 몸통의 길이를 구체적으로 지나치게 학습하게 된다면, 다른 종류의 공룡이나 비슷하게 생긴 다른 동물들까지도 티라노사우루스라고 잘못 인식할 수 있습니다.

실제로는 티라노사우루스가 아니더라도, 어린이는 학습한 매우 구체적인 조건에 맞으면 모두 티라노사우루스라고 생각하는 것입니다. 이러한 상태가 바로 과적합입니다.


과적합 해결방법

1. 데이터 증강

데이터를 변형하거나 추가하여 다양한 데이터 패턴을 학습하도록 돕습니다. 예를 들어, 텍스트의 단어를 바꾸거나, 이미지를 회전시키는 방법이 있습니다.


2. 하이퍼파라미터 조정

학습률(Learning Rate)

학습률은 모델이 학습할 때 가중치를 얼마나 빠르게 또는 천천히 조정할지를 결정하는 값입니다. 학습률이 너무 낮으면 과적합이 발생할 수 있어, 적절한 학습률을 찾아야 합니다.

배치 크기(Batch Size)

배치 크기는 한 번에 학습하는 데이터의 양을 의미합니다. 작은 배치 크기는 학습이 불안정해질 수 있지만, 더 다양한 패턴을 학습하게 도와줍니다. 반대로, 큰 배치 크기는 학습이 안정적이지만 과적합의 위험이 커질 수 있습니다.

에폭 수(Number of Epochs)

에폭 수는 전체 데이터 셋을 몇 번 반복해서 학습하는지를 나타냅니다. 너무 많은 에폭 수는 과적합을 유발할 수 있습니다.


3. 정규화 기법 사용

모델이 특정 데이터에 지나치게 의존하지 않도록 제약을 가해 과적합을 방지합니다.

드롭아웃(Dropout)

학습 과정에서 무작위로 일부 뉴런을 제외시켜 과적합을 방지합니다.

가중치 감소(Weight Decay)

큰 가중치 값을 가지지 않도록 하여 모델이 더 일반화된 패턴을 학습하게 합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!