위키득계정 ↗
기술

몬테카를로 드롭아웃

몬테카를로 드롭아웃기술
영문명
Monte Carlo dropout
약칭
MC dropout
핵심 동작
추론 시 드롭아웃 마스크를 반복 추출
계산 비용
한 입력에 여러 순전파 수행
몬테카를로 드롭아웃은 예측할 때도 드롭아웃의 무작위 마스크를 사용해 여러 번 계산한 결과를 모으는 방법이다. 같은 학습 가중치에서 나온 다양한 출력을 평균하고 그 변동을 살펴 예측의 불확실성을 추정한다.

한 번의 고정 계산과의 차이

일반적인 추론에서는 드롭아웃의 무작위 제거를 끄고 고정된 계산을 사용한다. 몬테카를로 드롭아웃에서는 학습한 가중치를 유지하면서 마스크를 바꿔 반복 계산한다. 적절한 학습 목적과 모형 조건 아래 근사 베이지안 추론으로 해석할 수 있지만, 단순히 임의의 신경망에 마스크를 붙였다고 정확한 사후분포를 얻는 것은 아니다.

출력을 모으는 예제

어떤 회귀 입력의 네 계산 결과가 2,3,3,4라고 하자. 평균은 3이고 1/T를 사용한 경험 분산은 [(2−3)²+0+0+(4−3)²]/4=0.5다. 이는 반복 출력의 퍼짐을 보여 주는 자체 계산이다. 관측 잡음까지 포함하는 회귀 예측 분산을 구하려면 가정한 확률 모형의 잡음 항도 구별해야 한다.

분류에서는 확률을 평균하기

각 반복에서 얻은 클래스별 확률을 평균하면 예측 분포를 구성할 수 있다. 로짓을 먼저 평균한 뒤 소프트맥스를 적용한 결과는 일반적으로 확률들의 평균과 다르다. 반복 횟수를 늘리면 몬테카를로 평균의 수치적 변동을 줄일 수 있지만 모형의 구조적 한계가 사라지는 것은 아니다.

추론 모드의 범위

드롭아웃을 활성화하려고 모든 계층을 학습 모드로 바꾸면 배치 정규화처럼 별도의 동작을 가진 계층도 영향을 받을 수 있다. 어떤 무작위성을 샘플링하는지 명확히 정해야 한다. 확률 보정과 실제 오류 예측 능력은 별도로 평가하며, 출력이 비슷하다는 이유만으로 새로운 입력에 대한 신뢰성을 보장하지 않는다.

관련 문서

드롭아웃 / 딥 앙상블 / 몬테카를로 방법 / 소프트맥스 함수 / 배치 정규화 / 분산