본문 바로가기
Machine Learning

DL #5 : 딥러닝 Overfitting 방지 방법 (오버피팅, 과적합)

by 무적물리 2020. 5. 21.

Overfitting (과적합)


Overfitting은 학습데이터에 지나치게 맞는 모델을 학습함으로써 일반화 성능이 떨어지는 현상입니다. 학습이 계속 진행됨에 따라 학습데이터인 Training Dataset의 오차는 줄어들지만, 검증데이터인 Validation Dataset의 오차는 감소하다가 일정 시점이 지나면 증가하게 됩니다. 보통 이 시점에서 학습을 멈추어 일반화된 딥러닝 모델을 생성합니다.


Overfitting 정의 및 학습 종료 시점

Overfitting : 학습데이터에만 지나치게 Fitting

학습종료시점 : Validation Data 오차 증가 시점


Overfitting 방지 방법


Overfitting을 방지하는 방법은 위에서 설명한 바와 같이 기본적으로 Validation Dataset 오차가 감소하다가 증가하는 시점에서 학습을 중단하면 됩니다. 추가적인 오버피팅 방지 방법으로는 대표적인 두가지 방법이 있습니다. 배치 정규화와 Dropout 입니다. 배치 정규화는 가중치를 0~1 사이로 제한을 가하는 방법이며, Dropout은 랜덤하게 노드를 선택하여 제거하고 모델을 학습시키는 방법입니다. 


Overfitting 방지 방법

1. 배치 정규화 : 출력 값 0~1 정규화

2. Dropout : 랜덤 노드 제거하고 학습



▲ 배치 정규화는 활성화 함수의 출력 값을 정규화하는 작업입니다. 장점은 초기화가 비교적 자유로우며, 학습속도가 빠르다는 것입니다. 또한, 배치 정규화를 통해 직접적으로 기울기 소실을 해결할 수 있습니다. 



▲ Dropout은 신경망 학습을 할 때 모든 계층에 대해 학습을 수행하는 것이 아니라 일부 뉴런을 생략하고 학습을 수행하는 방식입니다. 뉴런을 제거하고 학습함으로써 과적합된 모델이아닌, 일반화된 모델을 학습시킬 수 있습니다. 이는 구불구불한 예측을 방지하는 역할을 합니다.


마치며


이번 포스팅에서는 Overfitting과 Overfitting 방지 방법에 대해 알아보았습니다. 과적합 방지는 딥러닝 모델을 학습시킴에 있어서 가장 중요합니다. 과적합 모델을 생성하게 되면 Training Dataset에 대해서는 적합도가 좋지만, Test Dataset은 적합도가 형편 없기 때문입니다. 따라서, 범용 딥러닝 모델을 생성하기 위해서 꼭 과적합 방지를 해야합니다.


댓글