본문 바로가기
딥러닝

드롭아웃(drop-out) 개념과 꼭 알아야 할 고려사항

by 데이널 2024. 2. 8.

데이터 과학자들은 최적의 모델 성능을 위해 여러가지 노력에서 드롭아웃(drop-out)이라는 개념이 등장했습니다. 2012년 Geoffrey Hinton과 그의 동료들에 의해 드롭아웃이 소개되죠. 참고로 논문은 "Dropout: A Simple Way to Prevent Neural Networks from Overfitting"입니다. 링크에서 논문을 확인할 수 있습니다. 

 

어쨌든, 드롭아웃이 처음 등장했을 때 분석가라면 지긋지긋하게 시달리는 과적합 이슈에 대한 답안지처럼 느껴졌습니다. 이 글에서 우리는 드롭아웃의 개념과 사용하는 데 있어서 중요한 고려 사항에 대해 알아보겠습니다. 

 

 

드롭아웃(drop-out)이란?

드롭아웃은 훈련(training) 중에 무작위로 "탈락"하거나 특정 비율의 뉴런을 제외하는 벙법입니다. 이 drop-out은 각 뉴런에 독립적으로 적용됩니다. 즉, 각 훈련 반복에 따라 네트워크의 아키텍처가 동적으로 변경됩니다. 탈락된 뉴런은 특정 훈련 단계 동안 정방향 또는 역방향 전달에 아무런 영향을 미치지 않습니다.

 

drop-out
drop-out


신경망 모델이 복잡해지면서 가중치 감소(weight decay)만으로 대응이 어려울 때 바로 드롭아웃(drop-out)을 사용하게 됩니다. 여기서 포인트는 무작위성에 있습니다. 이러한 확률적 요소를 도입함으로써 신경망은 더욱 강력해지고 적응력이 높아집니다. 이는 모델이 특정 뉴런이나 기능에 지나치게 의존하는 것을 방지하여 분산되고 일반화된 모들을 만들어 줍니다.

드롭아웃 작동 방식

드롭아웃이 학습(순전파, 역전파)과 테스트 때 작동 방식에 살펴보겠습니다. 학습 때 뉴런을 무작위로 삭제하는 행위를 매번 다른 모델을 학습시키는 것으로 해석할 수 있습니다. 이는 앙상블 학습과 같은 효과를 냅니다. 

학습(순전파)  

  • self.mask에 삭제할 뉴런을 False로 표시
  • self.mask는 x와 형상이 같은 배열을 무작위로 생성하고, 그 값이 dropout_ratio보다 큰 원소만 True로 설정함

학습(역전파) 

  • ReLU와 같은 동작 방식으로 순전파 때 신호를 통과시키는 뉴런은 역전파 때도 신호를 그대로 통과함
  • 순전파 때 통과시키지 않은 뉴런은 역전파 때도 신호를 차단

테스트(평가)

  • 테스트 때는 모든 뉴런에 신호를 전달
  • 단, 시험 때는 각 뉴런의 출력에 훈련 때 삭제한 비율을 곱하여 출력
  • dropout_ratio(삭제 비율) 0.5였다면 0.5를 곱함으로써 앙상블에서 여러 모델의 평균을 내는 효과임

 

드롭아웃(drop-out) 고려 사항

 

dropout_ratio(삭제 비율)

먼저 각 훈련 반복 중에 무작위로 탈락되는 뉴런의 비율입니다. 일반적으로는 약 0.2~0.5에서 시작하는 것이 좋습니다. 탈락률이 너무 낮으면 과적합을 효과적으로 방지할 수 없고, 탈락률이 너무 높으면 학습을 방해할 수 있습니다.

drop-out 위치

드롭아웃은 신경망의 계층에 다양하게 배치할 수 있습니다. 원칙적으로는 히든 레이어에 드롭아웃을 적용하는 것으로 제한하는데요. 최근 연구에서는 입력 레이어와 출력 레이어에서도 드롭아웃 사용을 검토하기도 합니다. 입력 레이어에 적용한다면 마치 랜덤포레스트의 bagging과 같은 효과가 있겠네요. 이러한 선택은 신경망 아키텍처와 복잡성에 따라 달라질 수 있습니다.

다른 정규화 기술과의 상호 작용

드롭아웃은 가중치 감소와 같은 다른 정규화 기술과 함께 사용되는 경우가 많습니다. 잠재적인 충돌을 피하기 위해 이러한 기술이 어떻게 상호 작용이 있는지 고려해야 합니다. 

 

드롭아웃이 사용하는 이유

드롭아웃은 훈련 데이터에 과적합되어 새로운 데이터에 예측 성능이 떨어질 때 사용합니다.  드롭아웃이 오버피팅을 방어하고 모델의 견고성을 가지는 방식은 다음과 같습니다.

앙상블 효과

학습 중 각 드롭아웃 구성은 고유한 하위 신경망으로 볼 수 있습니다. 테스트 시 모델이 모든 뉴런을 사용하므로 앙상블 효과가 발생하여 여러 하위 네트워크의 예측을 효과적으로 일반화합니다. 이 앙상블 접근 방식은 모델의 예측력을 향상시킵니다.

동시적응 감소

drop-out은 알 수 없는 유닛의 공동 적응을 방해합니다. 뉴런은 특정 유닛의 존재에 의존할 수 없으므로 더 다재다능하고 적응력이 높아집니다.

노이즈 주입

드롭아웃의 확률론적 특성은 학습 과정에 노이즈를 주입합니다. 이 노이즈는 정규화 역할을 하여 모델이 훈련 데이터에 너무 가깝게 피팅되는 것을 방지하고 노이즈가 마치 신호인 것처럼 처리합니다.

 

결론

드롭아웃은 과적합을 막기 위한 정규화 기법 중에 하나입니다. 신경망이 오버피팅 문제가 없으면 드롭아웃을 사용하지 않은 것도 좋은 선택입니다. 하지만 Computer Vision 같은 경우에는 충분한 데이터가 부족하기 때문에 거의 대부분에서 과대적합이 일어납니다. 이럴 때는 드롭아웃을 사용하는 것이 좋습니다. 위에서 설명한 방법에 따라 드롭아웃을 사용하는 데 있어서 최적의 지점을 테스트하고 조정하시기 바랍니다.