드롭아웃 (Dropout)

컴퓨터과학·AI
한 줄 정의: 신경망을 학습시킬 때마다 일부 뉴런을 무작위로 꺼버려서, 모델이 특정 뉴런에만 의존하지 않고 골고루 학습하게 만드는 기법입니다.
드롭아웃드롭아웃: 왼쪽 학습 시와 오른쪽 추론 시를 비교한다. 일부 뉴런 끔 대 모든 뉴런 사용, 매번 다른 부분망 대 전체 네트워크.학습 단계 대 추론 단계학습 시training추론 시inferencevs일부 뉴런 끔확률 p로 출력 0모든 뉴런 사용드롭아웃 미적용매번 다른 부분망암묵적 앙상블 해석전체 네트워크출력 기댓값을 학습과 일치인버티드 드롭아웃: 학습 때 남은 출력을 1/(1−p)배 키워 두 단계의기댓값을 맞춤한계비율이 지나치게 높으면 과소적합드롭아웃드롭아웃: 왼쪽 학습 시와 오른쪽 추론 시를 비교한다. 일부 뉴런 끔 대 모든 뉴런 사용, 매번 다른 부분망 대 전체 네트워크.학습 단계 대 추론 단계학습 시training추론 시inferencevs일부 뉴런 끔확률 p로 출력 0모든 뉴런 사용드롭아웃 미적용매번 다른부분망암묵적 앙상블 해석전체 네트워크출력 기댓값을학습과 일치인버티드 드롭아웃: 학습 때 남은 출력을 1/(1−p)배 키워두 단계의 기댓값을 맞춤한계비율이 지나치게 높으면 과소적합

쉽게 풀면

팀 프로젝트를 할 때 매번 같은 에이스 팀원 한 명에게만 의존하면, 그 사람이 없을 때 팀 전체가 무너집니다. 그래서 연습 삼아 매 회의마다 무작위로 몇 명을 빠지게 하면, 나머지 팀원들도 각자 실력을 키우게 되고 결국 팀 전체가 더 단단해집니다. 드롭아웃도 똑같은 원리입니다. 신경망을 학습시키는 매 단계마다 일부 뉴런을 무작위로 "빠지게"(출력을 0으로) 만들면, 특정 뉴런 몇 개에만 의존하는 대신 여러 뉴런이 골고루 문제 해결에 기여하도록 훈련됩니다. 그 결과 학습 데이터에만 맞춰진 과적합을 줄이고, 새로운 데이터에도 더 잘 일반화되는 모델을 만들 수 있습니다.

왜 중요한가

대규모 신경망은 파라미터가 많아 학습 데이터를 그대로 외워버리기 쉬운데, 드롭아웃은 추가 데이터 없이도 이런 과적합을 억제할 수 있어 이미지 분류, 자연어처리, 음성인식 등 거의 모든 딥러닝 분야의 기본 정규화 도구로 자리 잡았습니다. 또한 매번 다른 뉴런 부분집합으로 학습하는 과정이 여러 개의 서로 다른 네트워크를 암묵적으로 앙상블하는 것과 비슷한 효과를 낸다는 해석이 있어, 모델의 일반화 성능과 견고성을 논하는 연구에서 비교 기준으로 자주 등장합니다.

어떤 절차인가

드롭아웃은 학습 중 매 단계마다 은닉 유닛(뉴런)을 확률적으로 제거하는 절차입니다. Srivastava 외(2014)는 이를 유닛을 연결과 함께 무작위로 떨어뜨리는 일로 설명하며, 이렇게 하면 유닛끼리 지나치게 짝을 이루어 의존하는 상호 적응(co-adaptation)이 막힌다고 봅니다. 학습 중에는 매번 서로 다른 ‘얇아진 네트워크’가 표집되고, 시험(추론) 때에는 가중치를 줄인 네트워크 하나로 그 평균을 근사한다고 합니다. 이 아이디어를 담은 초기 보고(Hinton 외, 2012)는 학습 사례마다 특징 검출기의 절반을 무작위로 생략하는 방식을 썼습니다.

작은 예 (가상의 값). 어떤 뉴런의 출력이 a = 2.0이고 끌 확률이 p = 0.25라고 합니다. 본문에서 말한 ‘인버티드’ 방식에서는 학습 때 남은 출력을 1/(1−p)배 합니다.

학습 중 상태확률이 뉴런의 출력
꺼짐0.250
유지0.752.0 ÷ 0.75 ≈ 2.667

기댓값은 0.25 × 0 + 0.75 × 2.667 = 2.0으로 원래 출력과 같습니다. 같은 규칙을 100만 번 모의 실행했을 때 평균은 약 1.999였고 유지된 비율은 약 0.7495였습니다. 즉 학습 때의 평균 출력이 추론 때(드롭아웃 없이 a = 2.0)와 맞춰집니다.

언제 쓰고 무엇을 얻나

원 논문은 드롭아웃이 과적합을 크게 줄이고 다른 정규화 방법보다 큰 개선을 준다고 보고하며, 시각과 음성인식 과제에서 성능이 좋아졌다고 밝힙니다(Srivastava 외, 2014). 다만 적용 위치에 따라 효과가 달라집니다.

논문에는 이렇게 적는다

드롭아웃을 쓴 모델은 아래를 명시하면 재현이 쉽습니다.

완전연결층 뒤에 드롭아웃(p = 0.5, 끌 확률 기준)을 적용하였으며 평가 시에는 비활성화하였다. (형식을 보여 주려는 가상의 문장입니다.)

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"모델의 과적합을 방지하기 위해 완전연결층 뒤에 드롭아웃(p=0.5)을 적용했으며, 검증 데이터에 대한 성능이 안정적으로 향상되었다."

이 문장은 "학습 과정에서 완전연결층의 뉴런 절반을 무작위로 꺼가며 학습시켰더니, 모델이 학습 데이터에만 지나치게 맞춰지는 현상이 줄었다"는 뜻입니다. 여기서 p=0.5는 각 뉴런이 꺼질 확률(드롭아웃 비율)을 의미합니다.

"순환신경망의 은닉 상태 전이 경로에는 드롭아웃을 적용하지 않고, 입력 및 출력 연결에만 드롭아웃을 적용하여 시계열 정보 손실을 방지하였다."

순환신경망에서는 시간 축을 따라 정보가 계속 전달되는 구조 특성상 모든 연결에 드롭아웃을 적용하면 장기 의존성 학습이 어려워질 수 있어, 어느 연결에 적용할지를 신중하게 선택했다는 의미입니다.

"합성곱 신경망의 특징 맵 단위로 통째로 비활성화하는 공간적 드롭아웃(spatial dropout)을 적용하여 인접 픽셀 간 강한 상관관계로 인한 정규화 효과 저하를 완화하였다."

이미지처럼 인접한 값들이 비슷한 정보를 담는 데이터에서는 개별 뉴런 단위 드롭아웃보다 특징 맵 전체를 꺼버리는 변형이 더 효과적이라는 컴퓨터비전 분야의 관용적 표현입니다.

조금 더 깊게 보면

드롭아웃은 추론 시에는 전체 뉴런을 그대로 사용하되, 학습 때 남은 출력을 유지 확률(1−p)로 나눠 미리 키워 두는 인버티드 드롭아웃(inverted dropout) 방식으로 구현하는 것이 일반적이며, 이를 통해 학습과 추론 사이의 출력 기댓값을 일치시킵니다. 구조에 따라 변형도 다양한데, 순환신경망에서는 시간 축에 걸쳐 같은 마스크를 유지하는 방식이, 합성곱 신경망에서는 채널 단위로 통째로 꺼버리는 공간적 드롭아웃이 주로 쓰입니다. 배치 정규화와 함께 사용할 때는 두 기법의 통계량 추정 방식이 서로 간섭할 수 있어, 적용 순서와 비율을 실험적으로 조정하는 경우가 많습니다.

주의할 점

드롭아웃은 학습(training) 과정에서만 적용되고, 실제 예측(inference)을 할 때는 모든 뉴런을 다시 사용합니다. 또한 드롭아웃 비율을 하이퍼파라미터 튜닝 없이 무조건 높게 설정하면 오히려 모델이 충분히 학습되지 못하는 과소적합이 발생할 수 있으므로, 적절한 비율을 찾는 것이 중요합니다.

헷갈리기 쉬운 용어

모두 과적합을 줄이는 ‘정규화’ 계열이지만 건드리는 대상이 다릅니다.

용어건드리는 대상드롭아웃과의 차이
정규화학습 전반드롭아웃이 속하는 상위 범주
가중치 감쇠가중치의 크기가중치에 벌점을 주는 방식이며 뉴런을 끄지 않음
조기종료학습을 멈추는 시점구조나 가중치를 바꾸지 않고 학습 횟수를 조절
레이블 스무딩정답 라벨의 분포정답을 부드럽게 만들어 지나친 확신을 줄임
배치 정규화층 입력의 통계량정규화 이름이 붙지만 주된 목적은 학습 안정화이며, 드롭아웃과 함께 쓸 때 순서에 주의

참고 문헌

  1. Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(56), 1929–1958.
  2. Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. R. (2012). Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580.
  3. Zaremba, W., Sutskever, I., & Vinyals, O. (2014). Recurrent neural network regularization. arXiv preprint arXiv:1409.2329.
  4. Gal, Y., & Ghahramani, Z. (2015). A theoretically grounded application of dropout in recurrent neural networks. arXiv preprint arXiv:1512.05287.
  5. Li, X., Chen, S., Hu, X., & Yang, J. (2018). Understanding the disharmony between dropout and batch normalization by variance shift. arXiv preprint arXiv:1801.05134.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념

분야 전체 개념 지도 보기 →

관련 용어