드롭아웃(Dropout)

•
2026년 10월 18일 발행•2026년 10월 18일 수정
요약

학습 중 신경망 뉴런의 출력을 무작위로 0으로 만들어 과대적합을 줄이는 정칙화 기법

초급
신경망의 순전파·역전파와 과대적합, 정칙화 개념을 알고 있어야 하며, 확률적 해석과 변형 기법을 이해하려면 기초 확률 지식이 필요하다.

#개념

드롭아웃(Dropout)은 신경망 학습 중 각 반복마다 일부 뉴런의 출력을 무작위로 0으로 만들어 과대적합을 줄이는 정칙화 기법이다. Hinton 연구진이 2012년에 제안하고 Srivastava 등(2014)이 체계적으로 정리하였으며, 단순한 구현에 비해 효과가 커서 딥러닝의 표준 기법으로 자리 잡았다.
큰 신경망은 표현력이 높은 만큼 학습 데이터의 우연한 패턴까지 외우기 쉽다. 특히 특정 뉴런이 다른 뉴런의 출력에 의존해 함께 오류를 보정하는 공적응(Co-adaptation)이 일어나면 새 데이터에서 성능이 떨어진다. 드롭아웃은 매번 다른 뉴런 조합을 끄기 때문에 각 뉴런이 다른 뉴런 없이도 쓸모 있는 특징을 학습하도록 강제한다.
학습 단계에서는 각 뉴런의 출력 $h$에 베르누이 마스크 $m \sim \text{Bernoulli}(1-p)$를 곱해 $\tilde{h} = m \cdot h$로 만든다. 여기서 $p$는 뉴런을 끌 확률인 드롭아웃 비율(Dropout Rate)이다. 마스크는 미니배치마다 새로 샘플링되므로, 매 반복이 서로 다른 부분 신경망을 학습하는 셈이 된다.
학습과 추론 사이의 출력 규모를 맞추는 방식은 다음 두 가지가 있다.
스케일 조정 방식
  • 원래 방식: 학습 때는 마스크만 적용하고, 추론 때 모든 뉴런을 켠 뒤 가중치나 출력에 유지 확률 $1-p$를 곱한다. 논문에서 제시한 방식이지만 추론 코드를 따로 바꿔야 한다.
  • 역 드롭아웃(Inverted Dropout): 학습 때 살아남은 출력을 $\frac{1}{1-p}$배로 키워 기댓값을 보존하고, 추론 때는 아무 처리도 하지 않는다. PyTorch, Keras 등 대부분의 프레임워크가 이 방식을 기본으로 사용한다.
역 드롭아웃 덕분에 추론 시에는 모델을 평가 모드로 바꾸기만 하면 된다. 실무에서 자주 생기는 실수는 추론 단계에서 평가 모드 전환(PyTorch의 model.eval())을 빠뜨려 드롭아웃이 계속 작동하는 경우로, 이때 같은 입력에도 예측이 매번 달라지고 성능이 떨어진다.
드롭아웃은 앙상블 학습(Ensemble Learning)의 근사로 해석할 수 있다. 뉴런이 $n$개인 신경망에서는 최대 $2^n$개의 부분 신경망이 가능하며, 드롭아웃은 가중치를 공유하는 이 부분 신경망들을 번갈아 학습시킨다. 추론 시 스케일을 맞춘 전체 신경망을 쓰는 것은 이 거대한 앙상블의 예측을 기하 평균에 가깝게 한 번에 계산하는 것과 같다.
드롭아웃 비율은 하이퍼파라미터(Hyperparameter)로, 데이터 규모와 모델 크기에 맞춰 검증 성능으로 고른다. 원 논문은 은닉층에 $p=0.5$, 입력층에 $p=0.2$ 정도를 권장했다. 비율이 너무 높으면 과소적합이 생기고 수렴이 느려지며, 드롭아웃을 쓰면 학습 시간이 늘어나는 대신 더 큰 모델을 안정적으로 학습할 수 있다.
드롭아웃은 구조에 따라 적용 방식이 달라진다.
구조별 드롭아웃 적용
  • 완전 연결층: 가장 기본적인 적용 위치이며, 분류기 앞단의 은닉층에 주로 넣는다.
  • 합성곱 신경망(CNN): 인접 픽셀의 상관이 높아 개별 값을 끄는 효과가 약하므로, 특징 맵 채널 전체를 끄는 공간 드롭아웃(SpatialDropout)을 쓴다.
  • 순환 신경망(RNN): 시간 단계마다 다른 마스크를 쓰면 순환 연결의 기억이 손상되므로, 같은 마스크를 모든 시간 단계에 공유하는 변분 드롭아웃(Variational Dropout)을 쓴다.
  • 트랜스포머(Transformer): 어텐션 가중치에 적용하는 어텐션 드롭아웃(Attention Dropout)과 잔차 연결 직전 출력에 적용하는 잔차 드롭아웃을 함께 쓴다.
변분 드롭아웃은 Gal과 Ghahramani가 베이지안 관점에서 정당화한 방법으로, LSTM 기반 언어 모델의 정칙화에 널리 쓰였다. 원래 트랜스포머 논문도 기본 모델에 $p=0.1$의 드롭아웃을 사용했으며, BERT와 같은 사전 학습 모델도 비슷한 설정을 따랐다. 이처럼 모델 구조마다 어디에 드롭아웃을 넣느냐가 성능에 큰 차이를 만든다.
드롭아웃의 아이디어는 무엇을 끄느냐에 따라 여러 변형으로 확장되었다.
주요 변형 기법
  • 드롭커넥트(DropConnect): 뉴런 출력 대신 개별 가중치 연결을 무작위로 0으로 만든다. 드롭아웃보다 더 세밀한 수준의 무작위성을 준다.
  • 드롭패스(DropPath): 잔차 블록의 경로 전체를 확률적으로 건너뛰는 기법으로, 확률적 깊이(Stochastic Depth)라고도 한다. 학습 중 네트워크 깊이를 무작위로 줄여 매우 깊은 ResNet과 ViT 학습에 쓰인다.
  • 드롭블록(DropBlock): 특징 맵에서 연속된 사각형 영역을 통째로 끄는 기법으로, CNN에서 공간 드롭아웃보다 세밀하게 정칙화한다.
  • 임베딩·토큰 드롭아웃: 단어 임베딩 행이나 입력 토큰 전체를 지워 언어 모델이 특정 단어에 과의존하지 않게 한다.
MC 드롭아웃(Monte Carlo Dropout)은 추론 시에도 드롭아웃을 켠 채 같은 입력을 $T$번 예측하는 방법이다. Gal과 Ghahramani(2016)는 드롭아웃 학습이 베이지안 신경망의 근사 추론과 같다는 것을 보였으며, 여러 예측의 평균을 최종 예측으로, 분산을 모델 불확실성으로 사용할 수 있다.
MC 드롭아웃은 별도의 모델 구조 변경 없이 기존 모델로 불확실성을 얻을 수 있다는 장점이 있다. 의료 영상 판독처럼 확신이 낮은 예측을 사람에게 넘겨야 하는 경우, 능동 학습에서 라벨링할 샘플을 고르는 경우, 추천이나 광고에서 탐색과 활용의 균형을 잡는 경우에 활용된다. 다만 $T$번 추론하므로 계산 비용이 그만큼 늘어난다.
배치 정규화(Batch Normalization)와 드롭아웃을 함께 쓸 때는 주의가 필요하다. 드롭아웃은 학습과 추론 사이에 활성값의 분산을 바꾸는데, 배치 정규화는 학습 중 측정한 이동 평균 통계를 추론에 그대로 사용하므로 두 단계의 분포가 어긋나는 분산 이동(Variance Shift)이 생긴다. 이 때문에 배치 정규화를 쓰는 CNN에서는 드롭아웃을 빼거나 마지막 배치 정규화 뒤에만 두는 경우가 많다.
배치 정규화 자체가 미니배치 노이즈로 약한 정칙화 효과를 내므로, ResNet 계열 이후의 CNN은 드롭아웃 의존도가 크게 줄었다. 대신 데이터 증강, 가중치 감쇠, 레이블 스무딩, 드롭패스 같은 다른 정칙화 기법이 조합되어 쓰인다. 다만 분류기 바로 앞의 완전 연결층에는 여전히 드롭아웃을 두는 경우가 많다.
최근 대규모 언어 모델(Large Language Models)의 사전 학습에서는 드롭아웃을 끄는 추세가 뚜렷하다. 수천억 개 이상의 토큰을 한두 번만 훑는 설정에서는 같은 데이터를 반복해 외울 기회가 적어 과대적합보다 과소적합이 더 문제가 되기 때문이다. 실제로 LLaMA 계열 등 여러 공개 모델이 사전 학습에서 드롭아웃을 사용하지 않았다.
반면 작은 데이터셋으로 하는 미세 조정에서는 여전히 드롭아웃이 유용하다. LoRA 같은 파라미터 효율적 미세 조정에서도 어댑터 입력에 드롭아웃을 넣는 옵션이 흔히 제공되며, 데이터 양과 반복 횟수에 따라 드롭아웃 사용 여부를 다시 판단하는 것이 일반적이다. 즉 드롭아웃의 필요성은 모델 크기보다 데이터 대비 학습 반복량에 더 크게 좌우된다.
드롭아웃을 적용할 때 실무에서 확인할 사항은 다음과 같다.
적용 시 고려사항
  • 모드 전환: 학습과 평가 모드를 정확히 전환해야 하며, 평가 지표는 반드시 드롭아웃이 꺼진 상태로 측정한다.
  • 비율 조정: 학습 손실과 검증 손실의 격차가 크면 비율을 높이고, 둘 다 높으면 비율을 낮춘다.
  • 재현성: 마스크가 난수로 생성되므로 실험 비교 시 난수 시드를 고정한다.
  • 다른 정칙화와의 조합: 가중치 감쇠, 조기 종료, 데이터 증강과 함께 쓸 때 효과가 겹칠 수 있어 하나씩 바꿔가며 검증한다.
드롭아웃은 하나의 신경망 안에서 수많은 부분 신경망을 학습하고 평균내는 간단한 아이디어로 일반화(Generalization) 성능을 높였다. 모델 규모와 데이터 규모가 달라지면서 쓰임새는 변했지만, 정칙화와 불확실성 추정의 기본 도구로서 여전히 중요한 위치를 차지한다.

#관련 용어

과대적합
모델이 학습 데이터에 지나치게 맞춰져 새로운 데이터에서 성능이 떨어지는 현상
정칙화
모델의 복잡도를 제한하거나 노이즈를 주어 일반화 성능을 높이는 기법
역 드롭아웃
학습 시 남은 출력을 유지 확률의 역수로 키워 추론 시 별도 스케일 조정이 필요 없게 하는 구현 방식
MC 드롭아웃
추론 시 드롭아웃을 켠 채 여러 번 예측해 평균과 분산으로 불확실성을 추정하는 방법
확률적 깊이
잔차 블록 경로를 확률적으로 건너뛰어 깊은 신경망을 정칙화하는 기법
배치 정규화
미니배치 통계로 층의 입력을 정규화해 학습을 안정시키는 기법

#직무 연관도

DA
Data Analyst
낮음
모델 학습 결과와 예측 불확실성을 해석할 때 필요한 기본 개념
DS
Data Scientist
밀접
모델 정칙화 설계와 드롭아웃 비율 튜닝, 불확실성 추정에 직접 활용
DE
Data Engineer
높음
학습·추론 모드 전환과 MC 드롭아웃 서빙 비용 등 운영 환경의 동작을 관리

#사용 사례

의료전자상거래금융인터넷 서비스자율주행
개요
드롭아웃은 데이터가 제한된 분류·회귀·추천 모델의 과대적합을 줄이는 데 널리 쓰인다. 의료와 자율주행에서는 MC 드롭아웃으로 예측 불확실성을 추정해 안전한 의사 결정을 돕고, 전자상거래와 인터넷 서비스에서는 추천·랭킹 모델과 사전 학습 언어 모델의 미세 조정 시 일반화 성능을 높이는 데 활용된다.
사례
의료 영상 분류 모델에 MC 드롭아웃을 적용해 같은 영상을 30번 예측하고, 예측 분산이 큰 사례만 전문의에게 우선 검토하도록 넘긴다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.