반응형

Dropout

  • 학습 중 Overfitting을 막기 위한 방법 중 하나이다.
  • Hidden layer의 일부 유닛의 동작을 랜덤 하게 생략하여 학습 효율을 높이는 것.

 

Overfitting

 학습 데이터에 너무 특화되어 모델이 학습하지 않은 데이터에 대해 일반화되지 못한 경우를 overfitting이라고 한다.

좌 : good fit / 우 : over fit

 

 

 학습 중 아래 그림과 같이 train loss는 점차 줄어들고 있지만 학습 데이터 외의 loss값, 즉 val loss가 큰 폭으로 흔들리거나 증가한다면 이는 학습 데이터에는 적합해지지만 그 외 데이터에는 오히려 잘못된 예측을 한다는 얘기가 된다. 이런 상황을 overfitting 되었다고 할 수 있다.

 

 

train loss는 점차 감소하지만 val loss는 큰 폭으로 흔들림

 이러한 overrfitting을 막기위한 방법으로 다음과 같은 방법들이 있다.

 

  1. 데이터의 양을 늘리거나
  2. 모델의 복잡도를 줄이거나
  3. 가중치 규제(Regularization)를 적용한다 (L1, L2 Regularization)
  4. Dropout

 

Model Combination(ensemble)과 Dropout

 Model Combination(ensemble)은 구조가 다른 여러 개의 모델을 학습시키고, 그 결과를 평균으로 근사하여 추정하는 방법을 말한다. 하나의 모델로 학습하는 것보다 성능이 향상되지만 그만큼 연산량이 많아져 학습 시간과 추론 시간이 길어진다는 단점이 있다.

 

 Dropout은 학습시 랜덤 하게 일부 유닛을 생략하기 때문에 그 조합만큼 다양한 모델을 학습시키는 것과 같게 된다.

하나의 모델을 사용하면서도 Model Combination의 효과를 볼 수 있게 되는 것이다.

 

 (단, 학습 시간이 증가한다는 단점이 있다.)

실제 Dropout(p=0.5)을 사용하여 overfitting을 막은 모습

 

 

 

 

 

 

 

끝.

반응형

'DeepLearning > Concept' 카테고리의 다른 글

Supervised, Unsupervised Learning  (0) 2023.11.07
1x1 Convolution Layer  (0) 2021.08.17
Dilated Convolution(Atrous convolution)  (0) 2021.01.20
mAP(mean Average Precision)  (0) 2021.01.06
Back Propagation, 역전파  (0) 2021.01.05
woongs_93