드롭아웃 (Dropout)
쉽게 풀면
팀 프로젝트를 할 때 매번 같은 에이스 팀원 한 명에게만 의존하면, 그 사람이 없을 때 팀 전체가 무너집니다. 그래서 연습 삼아 매 회의마다 무작위로 몇 명을 빠지게 하면, 나머지 팀원들도 각자 실력을 키우게 되고 결국 팀 전체가 더 단단해집니다. 드롭아웃도 똑같은 원리입니다. 신경망을 학습시키는 매 단계마다 일부 뉴런을 무작위로 "빠지게"(출력을 0으로) 만들면, 특정 뉴런 몇 개에만 의존하는 대신 여러 뉴런이 골고루 문제 해결에 기여하도록 훈련됩니다. 그 결과 학습 데이터에만 맞춰진 과적합을 줄이고, 새로운 데이터에도 더 잘 일반화되는 모델을 만들 수 있습니다.
왜 중요한가
대규모 신경망은 파라미터가 많아 학습 데이터를 그대로 외워버리기 쉬운데, 드롭아웃은 추가 데이터 없이도 이런 과적합을 억제할 수 있어 이미지 분류, 자연어처리, 음성인식 등 거의 모든 딥러닝 분야의 기본 정규화 도구로 자리 잡았습니다. 또한 매번 다른 뉴런 부분집합으로 학습하는 과정이 여러 개의 서로 다른 네트워크를 암묵적으로 앙상블하는 것과 비슷한 효과를 낸다는 해석이 있어, 모델의 일반화 성능과 견고성을 논하는 연구에서 비교 기준으로 자주 등장합니다.
어떤 절차인가
드롭아웃은 학습 중 매 단계마다 은닉 유닛(뉴런)을 확률적으로 제거하는 절차입니다. Srivastava 외(2014)는 이를 유닛을 연결과 함께 무작위로 떨어뜨리는 일로 설명하며, 이렇게 하면 유닛끼리 지나치게 짝을 이루어 의존하는 상호 적응(co-adaptation)이 막힌다고 봅니다. 학습 중에는 매번 서로 다른 ‘얇아진 네트워크’가 표집되고, 시험(추론) 때에는 가중치를 줄인 네트워크 하나로 그 평균을 근사한다고 합니다. 이 아이디어를 담은 초기 보고(Hinton 외, 2012)는 학습 사례마다 특징 검출기의 절반을 무작위로 생략하는 방식을 썼습니다.
작은 예 (가상의 값). 어떤 뉴런의 출력이 a = 2.0이고 끌 확률이 p = 0.25라고 합니다. 본문에서 말한 ‘인버티드’ 방식에서는 학습 때 남은 출력을 1/(1−p)배 합니다.
| 학습 중 상태 | 확률 | 이 뉴런의 출력 |
|---|---|---|
| 꺼짐 | 0.25 | 0 |
| 유지 | 0.75 | 2.0 ÷ 0.75 ≈ 2.667 |
기댓값은 0.25 × 0 + 0.75 × 2.667 = 2.0으로 원래 출력과 같습니다. 같은 규칙을 100만 번 모의 실행했을 때 평균은 약 1.999였고 유지된 비율은 약 0.7495였습니다. 즉 학습 때의 평균 출력이 추론 때(드롭아웃 없이 a = 2.0)와 맞춰집니다.
언제 쓰고 무엇을 얻나
원 논문은 드롭아웃이 과적합을 크게 줄이고 다른 정규화 방법보다 큰 개선을 준다고 보고하며, 시각과 음성인식 과제에서 성능이 좋아졌다고 밝힙니다(Srivastava 외, 2014). 다만 적용 위치에 따라 효과가 달라집니다.
- 순환 신경망: LSTM 같은 순환망에서는 드롭아웃이 잘 듣지 않는다는 지적이 있었고, Zaremba 외(2014)는 LSTM에 드롭아웃을 ‘올바르게’ 적용하는 방법을 제시했습니다. Gal과 Ghahramani(2015)도 순환층에 그대로 적용하면 실패한다고 보고, 드롭아웃을 근사 베이즈 추론으로 해석하는 틀에서 순환망에 쓰는 방법에 대한 시사점을 제시했습니다. 이들이 제안한 변형은 입력·출력·순환 연결 모두에서 모든 시간 단계에 같은 드롭아웃 마스크를 반복해 쓰는 방식입니다. 본문에서 구조에 따라 적용 방식이 달라진다고 한 것은 이런 연구 흐름 때문입니다.
- 배치 정규화와의 조합: Li 외(2018)는 드롭아웃을 배치 정규화 앞에 두면 성능이 오히려 나빠지는 일이 흔한 이유를, 학습에서 시험으로 넘어갈 때 드롭아웃이 유닛의 분산을 바꾸는 ‘분산 이동(variance shift)’으로 설명했습니다.
논문에는 이렇게 적는다
드롭아웃을 쓴 모델은 아래를 명시하면 재현이 쉽습니다.
- 비율
p와 그 정의(‘끌 확률’인지 ‘남길 확률’인지는 논문과 라이브러리마다 같지 않을 수 있으므로 문서를 확인해 적습니다) - 어느 층에 적용했는지(입력층, 완전연결층, 합성곱 뒤, 순환 경로 여부)
- 추론 때 드롭아웃을 끈다는 점과, 불확실성 추정 등으로 켜 둔 경우 그 사실
- 배치 정규화 등과 함께 쓴 순서
- 비율을 어떻게 골랐는지(탐색 범위와 검증 기준)
완전연결층 뒤에 드롭아웃(p = 0.5, 끌 확률 기준)을 적용하였으며 평가 시에는 비활성화하였다. (형식을 보여 주려는 가상의 문장입니다.)
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 "학습 과정에서 완전연결층의 뉴런 절반을 무작위로 꺼가며 학습시켰더니, 모델이 학습 데이터에만 지나치게 맞춰지는 현상이 줄었다"는 뜻입니다. 여기서 p=0.5는 각 뉴런이 꺼질 확률(드롭아웃 비율)을 의미합니다.
순환신경망에서는 시간 축을 따라 정보가 계속 전달되는 구조 특성상 모든 연결에 드롭아웃을 적용하면 장기 의존성 학습이 어려워질 수 있어, 어느 연결에 적용할지를 신중하게 선택했다는 의미입니다.
이미지처럼 인접한 값들이 비슷한 정보를 담는 데이터에서는 개별 뉴런 단위 드롭아웃보다 특징 맵 전체를 꺼버리는 변형이 더 효과적이라는 컴퓨터비전 분야의 관용적 표현입니다.
조금 더 깊게 보면
드롭아웃은 추론 시에는 전체 뉴런을 그대로 사용하되, 학습 때 남은 출력을 유지 확률(1−p)로 나눠 미리 키워 두는 인버티드 드롭아웃(inverted dropout) 방식으로 구현하는 것이 일반적이며, 이를 통해 학습과 추론 사이의 출력 기댓값을 일치시킵니다. 구조에 따라 변형도 다양한데, 순환신경망에서는 시간 축에 걸쳐 같은 마스크를 유지하는 방식이, 합성곱 신경망에서는 채널 단위로 통째로 꺼버리는 공간적 드롭아웃이 주로 쓰입니다. 배치 정규화와 함께 사용할 때는 두 기법의 통계량 추정 방식이 서로 간섭할 수 있어, 적용 순서와 비율을 실험적으로 조정하는 경우가 많습니다.
주의할 점
드롭아웃은 학습(training) 과정에서만 적용되고, 실제 예측(inference)을 할 때는 모든 뉴런을 다시 사용합니다. 또한 드롭아웃 비율을 하이퍼파라미터 튜닝 없이 무조건 높게 설정하면 오히려 모델이 충분히 학습되지 못하는 과소적합이 발생할 수 있으므로, 적절한 비율을 찾는 것이 중요합니다.
헷갈리기 쉬운 용어
모두 과적합을 줄이는 ‘정규화’ 계열이지만 건드리는 대상이 다릅니다.
| 용어 | 건드리는 대상 | 드롭아웃과의 차이 |
|---|---|---|
| 정규화 | 학습 전반 | 드롭아웃이 속하는 상위 범주 |
| 가중치 감쇠 | 가중치의 크기 | 가중치에 벌점을 주는 방식이며 뉴런을 끄지 않음 |
| 조기종료 | 학습을 멈추는 시점 | 구조나 가중치를 바꾸지 않고 학습 횟수를 조절 |
| 레이블 스무딩 | 정답 라벨의 분포 | 정답을 부드럽게 만들어 지나친 확신을 줄임 |
| 배치 정규화 | 층 입력의 통계량 | 정규화 이름이 붙지만 주된 목적은 학습 안정화이며, 드롭아웃과 함께 쓸 때 순서에 주의 |
참고 문헌
- 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.
- 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.
- Zaremba, W., Sutskever, I., & Vinyals, O. (2014). Recurrent neural network regularization. arXiv preprint arXiv:1409.2329.
- Gal, Y., & Ghahramani, Z. (2015). A theoretically grounded application of dropout in recurrent neural networks. arXiv preprint arXiv:1512.05287.
- 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.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.