"딥러닝의 발전은 유실되는 오차 신호(Gradient)를 마지막 층에서 입력층까지 얼마나 온전하게 보존하느냐의 싸움이었습니다."
기울기 소실(Gradient Vanishing)이라는 문제를 해결한 3가지 핵심 기술을 순서대로, 그리고 구조적으로 파헤쳐 보겠습니다.
활성화 함수의 혁명, ReLU (Rectified Linear Unit)
① 문제의 재인식: 시그모이드의 '포화(Saturation)' 현상
- 앞서 보았듯, 시그모이드 함수는 입력을 0~1 사이로 압축합니다. 여기서 치명적인 문제는 입력값(z)이 조금만 크거나 작아도 미분값(기울기)이 0에 아주 가까워진다는 것입니다. 이를 포화 상태라고 하며, 이 상태에서 체인 룰을 곱하면 신호는 즉시 사라집니다.
② ReLU의 등장: "심플함이 만드는 기적"
- 데이터 과학자들이 내놓은 해법은 놀랍도록 간단했습니다. "0보다 작으면 0, 0보다 크면 그대로(x) 보내자!"
- 수식: f(x)=max(0,x)
- 미분: x>0일 때 f′(x)=1
③ 해결 원리: "1은 아무리 곱해도 1이다"
- ReLU는 x>0 영역에서 미분값이 항상 1입니다. 역전파가 수백 개의 층을 통과해도, 기울기가 1로 유지되어 입력층까지 신호가 손실 없이 전달됩니다.
(추가 장점: ex 같은 복잡한 연산이 없어 계산 속도가 시그모이드보다 수십 배 빠릅니다. 현대 딥러닝 은닉층의 표준이 된 이유입니다.)
ReLU 섹션: "단순히 음수를 0으로 만드는 것이 아니라, 기울기를 1로 고정하여 신호의 감쇄를 막는 전략적 선택입니다."
2부. 길을 뚫어라, ResNet (Residual Network)
① 새로운 문제: "ReLU를 써도 층이 너무 깊으면 학습이 안 된다?"
- ReLU 덕분에 층을 깊게 쌓을 수 있게 되었지만, 또 다른 문제가 발생했습니다. 층이 수십, 수백 개가 되자 데이터가 너무 많은 변환을 거치며 원본 정보가 희석되거나, 오히려 성능이 떨어지는 현상(Degradation)이 나타난 것이죠.
② ResNet의 아이디어: 잔차 학습 (Residual Learning)
- Microsoft 연구팀의 2015년 논문입니다. 핵심 아이디어는 "이전 층의 신호를 다음 층에 직접 더해주면 어떨까?" 입니다.
- 기본 구조: y=f(x)
- ResNet 구조: y=f(x)+x (여기서 x를 Skip Connection 또는 Shortcut이라고 부릅니다.)
③ 해결 원리: "최소 기울기 1을 보장하라"
-
이제 역전파(미분) 관점에서 이 구조를 파헤쳐 봅시다.
- ∂x∂y=∂x∂(f(x)+x)=∂x∂f(x)+1
-
f(x)가 아무리 복잡해서 미분값이 0에 가까워져도, Skip Connection 덕분에 전체 미분값은 최소 1을 유지하게 됩니다. "길이 막히면 지름길을 뚫어 신호를 직접 전달한다"는 이 직관적인 아이디어 덕분에, ResNet은 152층이라는 경이로운 깊이를 달성하며 AI 역사를 다시 썼습니다.
ResNet 섹션: "연산 결과에 원본 값을 더하는 스킵 커넥션은, 역전파의 통로를 물리적으로 확보하여 학습의 하한선을 보장합니다."
3부. 데이터의 폭주를 막아라, Batch Normalization
① 마지막 문제: 내부 공변량 변화 (Internal Covariate Shift)
② Batch Normalization의 아이디어: "층마다 데이터를 씻겨 보내자"
- Google 연구팀은 "각 층을 통과할 때마다 데이터를 정규화(Normalization)하자"는 제안을 합니다. 즉, 데이터를 평균 0, 분산 1로 강제로 맞춰주는 것이죠.
③ 작동 원리와 효과:
- 정규화: 미니배치 단위로 데이터의 평균(μ)과 분산(σ2)을 구해 정규화합니다.
- 스케일 & 시프트: 단순히 정규화만 하면 ReLU를 만났을 때 정보가 너무 많이 사라질 수 있으므로, 학습 가능한 파라미터(γ,β)를 두어 데이터 분포의 크기와 위치를 적절히 조절합니다. y=γx^+β
④ 해결 원리: "안정된 분포가 안정된 기울기를 만든다"
- 안정적인 학습: 데이터 분포를 일정하게 유지함으로써, 뒤쪽 층들이 안정적으로 특징을 학습할 수 있게 합니다.
- 초기화 의존도 감소: 가중치 초기화를 조금 잘못해도 Batch Norm이 데이터를 잡아주기 때문에 학습이 발산하지 않습니다.
- 높은 학습률 사용 가능: 학습 속도를 획기적으로 높일 수 있습니다.
Batch Norm 섹션: "데이터 분포를 강제로 정정함으로써, 기울기가 급격히 변하거나 사라지는 수치적 불안정성을 제어합니다."