본문 바로가기

ML

드롭아웃 (dropout)의 수학적·확률론적 해석

드롭아웃(Dropout)의 확률론적 심층 분석

드롭아웃 (Dropout)의 수학적·확률론적 해석

드롭아웃은 단순히 뉴런을 무작위로 끄는 기법을 넘어, 모델에 승법적 노이즈(multiplicative noise)를 주입하는 정규화(regularization) 기법입니다. 이 노이즈 주입이 어떻게 과적합을 방지하고, 어떤 수학적 의미를 갖는지 깊이 파고들어 보겠습니다. 드롭아웃은 L2 정규화, 모델 앙상블, 그리고 베이지안 추론과 깊은 관계를 맺고 있습니다.


1. 드롭아웃의 기본 메커니즘: Inverted Dropout

가장 널리 쓰이는 Inverted Dropout을 기준으로 설명하겠습니다.

  • 기본 설정: 신경망의 $l$번째 은닉층(hidden layer)의 출력 활성화 벡터를 $h^{(l)} \in \mathbb{R}^{d_l}$라고 합시다.
  • 마스크 생성: 각 뉴런을 살릴 확률 $p_l$에 따라 독립적인 베르누이 분포에서 마스크 벡터 $r^{(l)}$를 샘플링합니다. 즉, $r^{(l)}_j \sim \mathrm{Bernoulli}(p_l)$ 이며, 각 요소는 1 (keep) 또는 0 (drop)의 값을 가집니다.
  • 드롭아웃 적용: 마스크를 적용하여 드롭아웃이 적용된 활성화 벡터 $\tilde h^{(l)}$를 만듭니다. $$ \tilde h^{(l)} = \frac{r^{(l)}}{p_l} \odot h^{(l)} $$ 여기서 $\odot$는 원소별 곱셈(element-wise product)을 의미합니다.

왜 $p_l$로 나누는가? (Inverted Scaling의 중요성)

$p_l$로 나누는 이유는 훈련(training)과 테스트(test) 시의 출력값의 기댓값(expectation)을 일치시키기 위함입니다. 드롭아웃이 적용된 활성화 $\tilde h^{(l)}$의 기댓값을 계산해봅시다.

$$ \mathbb{E}[\tilde h^{(l)}_j] = \mathbb{E}\left[\frac{r^{(l)}_j}{p_l} h^{(l)}_j\right] = \frac{h^{(l)}_j}{p_l} \mathbb{E}[r^{(l)}_j] $$

$r^{(l)}_j$는 확률 $p_l$로 1이 되고 확률 $1-p_l$로 0이 되므로, 기댓값은 $\mathbb{E}[r^{(l)}_j] = 1 \cdot p_l + 0 \cdot (1-p_l) = p_l$ 입니다. 따라서,

$$ \mathbb{E}[\tilde h^{(l)}_j] = \frac{h^{(l)}_j}{p_l} \cdot p_l = h^{(l)}_j $$

이는 드롭아웃을 적용하더라도 평균적으로는 원래의 활성화 값과 동일하다는 것을 의미합니다. 이 덕분에 테스트 시에는 드롭아웃을 끄고($r^{(l)}=1$) 별도의 스케일링 없이 그대로 신경망을 사용하면 됩니다. 이는 훈련 시 수많은 서브네트워크(sub-network)를 앙상블한 것의 평균 효과를 근사하는 것과 같습니다.

한편, 분산은 다음과 같이 계산됩니다.

$$ \mathrm{Var}(\tilde h^{(l)}_j) = \mathbb{E}[(\tilde h^{(l)}_j)^2] - (\mathbb{E}[\tilde h^{(l)}_j])^2 = \mathbb{E}\left[\left(\frac{r^{(l)}_j}{p_l}h^{(l)}_j\right)^2\right] - (h^{(l)}_j)^2 $$

$\mathbb{E}[(r^{(l)}_j)^2] = 1^2 \cdot p_l + 0^2 \cdot (1-p_l) = p_l$ 이므로,

$$ \mathrm{Var}(\tilde h^{(l)}_j) = \frac{(h^{(l)}_j)^2}{p_l^2} p_l - (h^{(l)}_j)^2 = \frac{(h^{(l)}_j)^2}{p_l} - (h^{(l)}_j)^2 = \frac{1-p_l}{p_l}(h^{(l)}_j)^2 $$

드롭아웃은 원래 활성화 값의 제곱에 비례하는 분산을 갖는 노이즈를 주입하는 것과 같습니다.


2. 가장 간단한 모델: 선형 회귀와 MSE 손실

드롭아웃의 효과를 가장 명확하게 보기 위해, 입력층에 드롭아웃을 적용한 간단한 선형 회귀 모델을 분석해봅시다.

  • 모델 설정: 입력 $\tilde x = \frac{r}{p} \odot x$, 예측 $z = w^\top \tilde x$
  • 손실 함수: Mean Squared Error (MSE), $\ell(z,y) = \frac{1}{2}(y-z)^2$

기대 손실(Expected Loss)의 분해

우리의 학습 목표는 모든 드롭아웃 마스크 $r$에 대한 손실의 기댓값을 최소화하는 것입니다. $$ \min_w \mathbb{E}_r[\ell(z, y)] = \min_w \mathbb{E}_r\left[\frac{1}{2}(y - w^\top \tilde x)^2\right] $$

통계학의 유명한 편향-분산 분해(Bias-Variance Decomposition)를 이용하면, $\mathbb{E}[(Y-f(X))^2] = (\mathbb{E}[f(X)]-Y)^2 + \mathrm{Var}(f(X))$ 공식을 적용할 수 있습니다.

먼저 예측값 $z$의 기댓값과 분산을 구해야 합니다.

$$ \mathbb{E}[z] = \mathbb{E}[w^\top \tilde x] = w^\top \mathbb{E}[\tilde x] = w^\top x $$ $$ \mathrm{Var}(z) = \mathrm{Var}\left(\sum_j w_j \tilde x_j\right) = \sum_j w_j^2 \mathrm{Var}(\tilde x_j) = \sum_j w_j^2 \left(\frac{1-p}{p} x_j^2\right) = \frac{1-p}{p} \sum_j w_j^2 x_j^2 $$

이를 편향-분산 분해 공식에 대입하면,

$$ \mathbb{E}_r\left[\frac{1}{2}(y-z)^2\right] = \frac{1}{2} \left( (y - \mathbb{E}[z])^2 + \mathrm{Var}(z) \right) $$ $$ = \underbrace{\frac{1}{2}(y - w^\top x)^2}_{\text{Standard MSE Loss}} + \underbrace{\frac{1-p}{2p} \sum_{j=1}^d w_j^2 x_j^2}_{\text{Data-Dependent Regularization}} $$

해석: 데이터 의존적 L2 정규화

놀랍게도, 드롭아웃을 적용한 기대 손실은 원래의 MSE 손실항새로운 정규화항의 합으로 나타납니다. 이 정규화항은 표준 L2 정규화($\lambda \sum w_j^2$)와 비슷하지만, 각 가중치 $w_j$에 대한 페널티가 해당 입력 특성 $x_j$의 크기(정확히는 $x_j^2$)에 따라 동적으로 조절됩니다.

이는 입력값의 크기가 큰 특성과 연결된 가중치에 더 강한 페널티를 부여하여, 모델이 특정 특성에 과도하게 의존하는 것을 막고 여러 특성을 균형 있게 활용하도록 유도합니다. 이것이 드롭아웃이 과적합을 방지하는 핵심 원리 중 하나입니다.


3. 비선형 모델: 로지스틱 회귀와 교차 엔트로피 손실

이제 시그모이드 활성화 함수가 추가된 로지스틱 회귀 모델을 분석해봅시다. 비선형성 때문에 기대 손실을 정확하게 계산하기는 어렵지만, 테일러 근사(Taylor Approximation)를 통해 드롭아웃의 효과를 엿볼 수 있습니다.

  • 모델 설정: 로짓 $z = w^\top \tilde x$, 예측 확률 $\sigma(z) = \frac{1}{1+e^{-z}}$
  • 손실 함수: 이진 교차 엔트로피(Binary Cross-Entropy), $\ell(z,y) = -[y\log\sigma(z) + (1-y)\log(1-\sigma(z))]$

델타 방법을 이용한 기대 손실 근사

어떤 랜덤 변수 $Z$의 기댓값 $\mu$ 주변에서 함수 $f(Z)$의 기댓값은 2차 테일러 근사를 통해 다음과 같이 근사할 수 있습니다. (이를 델타 방법이라고 합니다.) $$ \mathbb{E}[f(Z)] \approx f(\mu) + f'(\mu)\mathbb{E}[Z-\mu] + \frac{1}{2} f''(\mu)\mathbb{E}[(Z-\mu)^2] = f(\mu) + \frac{1}{2} f''(\mu)\mathrm{Var}(Z) $$

우리의 경우, $Z=z$, $f(z)=\ell(z,y)$, $\mu=\mathbb{E}[z]=w^\top x$ 입니다. $\mathrm{Var}(z)$는 선형 회귀 사례와 동일합니다. 이제 손실 함수 $\ell$의 2차 도함수(Hessian, 곡률)만 구하면 됩니다.

$$ \ell'(z,y) = \sigma(z) - y $$ $$ \ell''(z,y) = \sigma(z)(1-\sigma(z)) $$

이들을 델타 방법 공식에 대입하면,

$$ \mathbb{E}_r[\ell(z,y)] \approx \ell(\mu, y) + \frac{1}{2} \ell''(\mu, y) \mathrm{Var}(z) $$ $$ = \ell(w^\top x, y) + \frac{1}{2} \left( \sigma(w^\top x)(1-\sigma(w^\top x)) \right) \left( \frac{1-p}{p} \sum_j w_j^2 x_j^2 \right) $$

해석: 불확실성이 큰 곳에서 강해지는 정규화

로지스틱 회귀에서도 기대 손실은 원래의 손실항과 새로운 정규화항의 합으로 근사됩니다. 여기서 정규화의 강도를 조절하는 $\ell''(\mu, y) = \sigma(\mu)(1-\sigma(\mu))$ 항은 모델의 예측 확률이 0.5에 가까울 때 (즉, 결정 경계 근처에서 모델이 가장 불확실할 때) 최댓값을 가집니다.

이는 드롭아웃의 정규화 효과가 모델이 예측을 자신 없어하는 데이터에 대해 더욱 강하게 작용함을 의미합니다. 모델이 애매한 판단을 내리는 영역에서 가중치가 커지는 것을 억제하여 더 안정적인 결정 경계를 학습하도록 돕습니다.


4. 가장 깊은 해석: 드롭아웃과 베이지안 추론

드롭아웃은 놀랍게도 베이지안 신경망(Bayesian Neural Network)에 대한 변분 추론(Variational Inference)의 한 형태로 해석될 수 있습니다. 이는 드롭아웃에 깊은 이론적 토대를 제공합니다.

  • 베이지안 신경망의 목표: 최적의 가중치 $W$ 하나를 찾는 대신, 데이터가 주어졌을 때 가능한 모든 가중치에 대한 확률 분포, 즉 사후분포 $p(W|\mathcal{D})$를 학습하는 것입니다. 예측은 이 분포에 대한 평균으로 이루어집니다.
  • 문제점: 실제 사후분포 $p(W|\mathcal{D})$는 계산이 불가능합니다.
  • 변분 추론: 계산 가능한 간단한 분포 $q(W)$를 도입하여 실제 사후분포를 근사합니다.

드롭아웃 = 베이지안 근사

Gal과 Ghahramani의 연구에 따르면, 일반적인 신경망에 L2 정규화(Weight Decay)를 적용하고 훈련 시 드롭아웃을 사용하는 것은, 특정 형태의 근사 분포 $q(W)$를 가정하고 베이지안 추론을 수행하는 것과 수학적으로 매우 유사합니다.

이 관점에서 훈련 과정은 데이터에 가장 잘 맞으면서도(Reconstruction), 우리의 근사 $q(W)$가 사전 믿음 $p(W)$에서 너무 멀어지지 않도록 하는(Regularization) ELBO(Evidence Lower Bound)를 최적화하는 과정과 같습니다.

테스트 시의 새로운 가능성: MC Dropout

이 베이지안 해석은 테스트 시에 새로운 문을 열어줍니다.

  1. 표준 방법: Inverted dropout 덕분에 테스트 시에는 드롭아웃을 끄고 단일 예측을 수행합니다. 이는 여러 드롭아웃 마스크에 대한 예측의 평균을 근사하는 효과적인 방법입니다.
  2. MC Dropout (Monte Carlo Dropout): 베이지안 관점을 적극적으로 활용하는 방법입니다. 테스트 시에도 드롭아웃을 켠 상태로, 동일한 입력 데이터 $x$에 대해 $T$번의 순방향 계산(forward pass)을 수행합니다. 매번 다른 드롭아웃 마스크가 적용되므로 $T$개의 다른 예측값이 나옵니다.
    • 예측값의 평균: 이 $T$개 예측값의 평균을 최종 예측으로 사용합니다. 이는 표준 방법보다 더 정확한 앙상블 평균 근사가 됩니다.
    • 예측값의 분산: 이 $T$개 예측값의 분산을 계산하면, 모델이 해당 예측에 대해 얼마나 확신하는지에 대한 불확실성(Uncertainty)을 정량적으로 측정할 수 있습니다. 이는 자율 주행이나 의료 진단과 같이 안전이 중요한 분야에서 매우 유용한 정보입니다.

5. 직관적 요약

"드롭아웃은 훈련 중에 일부러 뉴런들을 괴롭혀(노이즈 주입), 서로에게만 의존하지 않고 각자 독립적으로 유용한 특징을 배우도록 강제하는 기법이다. 이 '괴롭힘'은 수학적으로 데이터의 특성에 따라 가중치를 조절하는 정규화처럼 작용하며, 결과적으로는 수많은 작은 모델을 동시에 훈련시켜 앙상블하는 것과 같은 효과를 낳고, 더 나아가 모델의 예측 불확실성까지 측정할 수 있는 베이지안 추론의 문을 열어준다."

'ML' 카테고리의 다른 글

KL Divergence, MLE  (0) 2025.08.17
Batch Normalization, Layer Normalization  (0) 2025.08.17
Transformer와 Attention  (0) 2025.08.17
K-means clustering, K-NN  (0) 2025.08.17
가우시안 혼합모형 (Gaussian Mixture Model, GMM)과 EM 알고리즘  (0) 2025.08.17