AI VIDEO BRIEFING

가중치 초기화 제대로 이해하기: 대칭 문제와 기울기 폭발, Xavier·He 초기화

신경망 가중치를 0이나 같은 값으로 두면 왜 학습이 망가지는지, 무작위 초기화는 어떤 한계가 있는지, 그리고 층마다 활성값의 분산을 유지하는 Xavier·He 초기화의 원리와 차이를 차근차근 정리했습니다.

신경망 가중치 초기화: 0으로 시작하면 안 되는 이유와 Xavier·He 기법 영상 대표 이미지

핵심 메시지

  • 모든 가중치를 0으로 두면 ReLU에서는 기울기가 0이 되어 학습이 아예 일어나지 않는다.
  • 모든 가중치를 같은 값으로 두면 뉴런이 전부 똑같이 동작하는 대칭 문제가 생겨 망이 사실상 뉴런 하나처럼 줄어든다.
  • 무작위 초기화도 값이 너무 작으면 기울기 소실, 너무 크면 기울기 폭발로 이어진다.
  • 핵심은 각 층을 지나도 활성값의 분산이 유지되도록 입력·출력 연결 수(fan-in/fan-out)에 맞춰 가중치 크기를 조절하는 것이다.
  • Xavier 초기화는 tanh·시그모이드에, He 초기화는 ReLU 계열에 잘 맞는다.

쉽게 이해하기

신경망 학습을 시작할 때 가중치를 어떤 값으로 두느냐는 생각보다 중요하다. 잘못 초기화하면 기울기 소실이나 폭발이 일어나 학습이 제대로 진행되지 않는다. 그래서 단순한 방법들이 왜 실패하는지를 먼저 이해한 뒤 개선책으로 넘어가는 것이 좋다.

가장 단순한 방법인 모든 가중치를 0으로 두는 경우, ReLU에서는 활성값과 그 미분이 모두 0이 되어 기울기가 0이 되고 가중치가 전혀 갱신되지 않는다. 시그모이드를 쓰면 기울기가 0은 아니지만 모든 뉴런의 활성값이 0.5로 같아져, 같은 입력을 받는 가중치들이 항상 똑같이 갱신된다. 이렇게 되면 모든 뉴런이 동일한 계산을 반복하는 대칭 문제가 생긴다.

상수로 초기화해도 결과는 같다. 한 층의 활성값이 전부 같아져 대칭이 깨지지 않으므로, 깊은 망이 비선형 활성화를 가진 큰 선형 모델처럼 무너져 복잡한 패턴을 배우지 못한다. 그래서 대칭을 깨기 위해 가중치를 무작위로 뽑는 방법이 등장한다.

하지만 무작위 초기화도 만능이 아니다. 평균 0, 분산 1의 정규분포에서 뽑은 뒤 0.01 같은 작은 수를 곱해 값을 너무 작게 만들면, tanh나 시그모이드에서 활성값이 0 근처에 몰리고 층을 지날수록 더 줄어들어 기울기가 소실된다. 반대로 값을 너무 크게 두면 활성값이 양 끝으로 쏠리거나 폭발해 학습이 불안정해진다. 균등분포를 써도 범위 설정 문제는 그대로 남는다.

해결의 핵심은 각 뉴런으로 들어오고 나가는 연결 수(fan-in, fan-out)를 고려해 가중치 분산을 조절하는 것이다. 가중치 분산을 1/n_in으로 맞추면 층을 지나도 활성값의 분산이 일정하게 유지된다. 입력과 출력 수의 평균을 함께 쓰는 방식이 Xavier 초기화이며 tanh·시그모이드에 잘 맞는다. ReLU는 활성값의 약 절반을 0으로 만들어 분산을 절반으로 줄이므로, 분산에 2를 곱해 보정한 것이 He 초기화이고 ReLU 계열에서 잘 작동한다.

주요 인사이트

  • 0 초기화의 진짜 문제는 단순히 값이 0이라는 점이 아니라, 모든 뉴런이 구분되지 않아 서로 다른 특징을 학습할 수 없게 되는 대칭성에 있다.
  • 무작위로 뽑는 것만으로는 부족하다 — 적절한 스케일링 없이는 작은 값은 소실, 큰 값은 폭발로 이어진다.
  • 좋은 초기화의 목표는 한 줄로 요약된다: 층을 거쳐도 활성값의 분산을 입력의 분산과 비슷하게 유지하는 것.
  • Xavier가 ReLU에서 실패하고 He가 잘 되는 이유는, ReLU가 활성값의 절반을 죽여 분산을 반으로 줄이기 때문이며 He는 이를 2배 보정으로 상쇄한다.

자주 묻는 질문

가중치를 모두 0으로 초기화하면 왜 안 되나요?

ReLU를 쓰면 활성값과 그 미분이 모두 0이 되어 기울기가 0이 되고 가중치가 전혀 갱신되지 않습니다. 시그모이드를 쓰면 모든 뉴런의 활성값이 같아져 가중치가 똑같이 갱신되는 대칭 문제가 생깁니다. 결국 깊은 망이 뉴런 하나짜리 모델처럼 동작하게 됩니다.

Xavier 초기화와 He 초기화는 어떻게 다른가요?

둘 다 들어오고 나가는 연결 수에 맞춰 가중치 분산을 조절합니다. Xavier는 분산을 입력 수(또는 입력·출력 평균)에 반비례하게 설정해 tanh·시그모이드에 잘 맞습니다. ReLU는 활성값의 절반을 0으로 만들어 분산을 반으로 줄이므로, 분산에 2를 곱해 보정한 He 초기화를 써야 잘 작동합니다.

무작위로 작은 값을 곱해 초기화하면 충분하지 않나요?

작은 수를 곱해 가중치를 너무 작게 만들면 활성값이 0 근처에 몰리고 층을 지날수록 줄어들어 기울기가 소실됩니다. 반대로 너무 크면 활성값이 폭발합니다. 따라서 단순한 스케일링이 아니라 연결 수에 기반해 분산을 맞추는 Xavier·He 방식이 필요합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#가중치초기화#Xavier초기화#He초기화#기울기소실#신경망학습