가중치 초기화(weight initialization)는 매개변수 초기화라고도 불리며, 딥러닝에서 신경망의 훈련 가능한 매개변수(가중치와 편향 등)에 초기 값을 할당하는 사전 훈련 단계이다. 이러한 매개변수는 훈련 중에 수정되며, 초기화 방법의 선택은 수렴 속도, 활성화 값의 규모, 역전파 중 기울기 신호의 규모, 그리고 최종 모델 품질에 영향을 미친다. 적절한 초기화는 기울기 소실 또는 폭주와 같은 문제와 활성화 함수 포화를 피하기 위해 필요하다.
다층 퍼셉트론(MLP)에서 각 층은 가중치 행렬과 편향 벡터를 포함한다. 초기화 방법은 이러한 매개변수의 시작 값을 결정한다. 이 문서는 가중치에 초점을 맞추지만, 편향도 훈련 가능하며 일반적으로 별도로 초기화된다. 합성곱 신경망(CNN)의 경우 커널과 편향에도 동일한 원리가 적용된다.
상수 초기화
가장 간단한 형태는 모든 가중치와 편향을 0으로 설정하는 영점 초기화이다. 이는 대칭성을 초래하기 때문에 가중치에는 거의 사용되지 않는다. 층의 모든 뉴런이 동일한 출력과 기울기를 계산하므로 동일한 특징을 학습하게 된다. 영점 초기화는 편향에 흔히 사용되지만, 가중치는 대칭성을 깨기 위해 무작위 값이 필요하다.
편향은 보통 0으로 초기화되지만 예외가 있다. LSTM의 망각 게이트와 같은 곱셈 단위에서 편향을 1로 설정하면 게이트를 통한 기울기 흐름이 개선될 수 있다. ReLU 뉴런의 경우 작은 양의 편향(예: 0.1)은 초기화 시 0이 아닌 기울기를 보장하여 죽어가는 ReLU 문제를 방지할 수 있다.
순환 신경망(RNN)은 폭주 값을 피하기 위해 시그모이드나 tanh와 같은 유계 활성화 함수를 자주 사용한다. 2015년 Le, Jaitly, Hinton의 연구와 같은 일부 연구는 순환 가중치를 단위 행렬로, 편향을 0으로 초기화할 것을 제안했는데, 이는 잔차 연결 및 망각 게이트가 없는 LSTM과 유사하다.
무작위 초기화
무작위 초기화는 가중치를 정규 분포 또는 균등 분포에서 추출하며, 일반적으로 독립적으로 수행된다. 분포의 선택과 분산은 네트워크를 통한 신호 전파를 유지하는 데 중요하다.
LeCun 초기화
LeCun 초기화는 1998년 Yann LeCun과 동료들에 의해 대중화되었으며, 순방향 전파 중 활성화 분산을 보존하는 것을 목표로 한다. 각 가중치를 평균 0이고 분산이 1/n_in인 분포에서 추출하는데, 여기서 n_in은 층의 입력 수(팬인)이다. 균등 분포의 경우 이는 U(±√(3/n_in))에 해당한다. 이 방법은 tanh와 같은 활성화 함수에서 잘 작동하지만 ReLU에는 차선책일 수 있다.
Glorot 초기화
Glorot 초기화는 Xavier 초기화라고도 알려져 있으며, Xavier Glorot과 Yoshua Bengio에 의해 제안되었다. 이는 두 가지 목표를 균형 있게 추구한다. 순방향 전파에서 활성화 분산을 보존하고 역방향 전파에서 기울기 분산을 보존하는 것이다. 균등 초기화의 경우 가중치는 U(±√(6/(n_in + n_out)))에서 추출되는데, 여기서 n_out은 출력 수(팬아웃)이다. 이 방법은 시그모이드 또는 tanh 활성화에 효과적이지만, 비대칭적 특성으로 인해 ReLU에서는 문제를 일으킬 수 있다.
He 초기화
He 초기화는 2015년 Kaiming He와 동료들에 의해 도입되었으며, ReLU 활성화를 위해 설계되었다. 분산을 2/n_in으로 설정하여 ReLU가 활성화의 절반을 0으로 만든다는 사실을 반영한다. 균등 분포의 경우 가중치는 U(±√(6/n_in))에서 추출된다. 이 방법은 ReLU를 사용하는 심층 네트워크에서 기울기 소실을 방지하는 데 도움이 된다.
분산 보존과 기울기 흐름
초기화의 주요 목표는 층 전반에 걸쳐 활성화와 기울기의 분산을 안정적으로 유지하는 것이다. 가중치가 너무 작으면 활성화가 줄어들어 기울기 소실이 발생한다. 너무 크면 활성화가 커져 기울기 폭주가 발생한다. Glorot 및 He 초기화는 팬인과 팬아웃을 기반으로 분산을 설정하는 원리적인 방법을 제공한다.
심층 네트워크의 경우 층 간 가중치 행렬의 곱은 지수적 성장 또는 감소를 초래할 수 있다. 적절한 초기화는 초기 신호가 극단적인 스케일링 없이 전파되도록 보장하여 처음부터 효과적인 훈련을 가능하게 한다.
훈련 역학에 미치는 영향
초기화는 수렴 속도뿐만 아니라 최종 모델의 품질에도 영향을 미친다. 잘못된 초기화는 느린 훈련, 지역 최소값, 또는 수렴 실패로 이어질 수 있다. 예를 들어, 영점 초기화는 대칭성을 유발하고, 과도하게 큰 가중치는 활성화 함수를 포화시켜 작은 기울기를 초래할 수 있다.
실제로 초기화는 배치 정규화와 같은 다른 기법과 결합되는 경우가 많으며, 이는 초기화에 대한 민감도를 줄일 수 있다. 그러나 특히 매우 깊은 네트워크나 정규화가 사용되지 않는 경우에는 좋은 초기화가 여전히 중요하다.
특수 아키텍처
다양한 아키텍처는 맞춤형 초기화 전략을 요구한다. CNN의 경우 커널은 MLP 가중치와 유사하게 초기화되지만, 팬인과 팬아웃은 커널 크기와 채널 수를 기반으로 계산된다. 층 정규화와 잔차 연결을 사용하는 트랜스포머의 경우 BERT와 같은 모델에서 볼 수 있듯이 0.02와 같은 더 작은 표준 편차를 사용하는 경우가 많다.
대규모 언어 모델의 경우 초기화는 훈련 안정성의 중요한 요소이다. 많은 현대 모델은 He 또는 Glorot 초기화의 변형을 사용하며, 때로는 모델 깊이에 따른 추가 스케일링을 적용한다.
실용적 고려 사항
대부분의 딥러닝 프레임워크에서는 기본 초기화 방법이 제공되지만, 실무자는 이를 사용자 지정할 수 있다. 예를 들어, PyTorch와 TensorFlow는 균등, 정규, 직교 초기화를 위한 함수를 제공한다. 가중치 행렬을 직교하도록 설정하는 직교 초기화는 기울기 노름을 보존하기 위해 RNN에서 때때로 사용된다.
매우 깊은 네트워크를 훈련할 때는 성능 저하를 피하기 위해 잔차 연결과 신중한 초기화를 함께 사용하는 것이 일반적이다. 초기화의 선택은 활성화 함수와 네트워크 아키텍처에 맞춰져야 한다.
역사적 배경
가중치 초기화에 대한 연구는 신경망에 대한 초기 작업으로 거슬러 올라간다. 문서 인식에 적용된 기울기 기반 학습에 관한 LeCun의 1998년 논문은 분산 보존 초기화를 도입했다. Glorot과 Bengio의 2010년 논문 "심층 순방향 신경망 훈련의 어려움 이해"는 심층 네트워크에서 초기화의 중요성을 강조했다. 심층 잔차 학습에 관한 He 등의 2015년 논문은 ReLU 네트워크를 위한 방법을 더욱 정교화했다.
이러한 기초 작업은 현대 관행을 형성했으며, 초기화는 특히 매우 깊거나 대규모 모델의 경우 여전히 활발한 연구 분야로 남아 있다.
결론
가중치 초기화는 신경망 훈련의 기본 단계이다. 영점, 무작위, LeCun, Glorot, He 초기화와 같은 방법은 각각 특정 용도와 장단점이 있다. 초기화의 선택은 훈련 역학, 수렴, 최종 성능에 상당한 영향을 미칠 수 있다. 이러한 방법을 이해하는 것은 단순한 MLP부터 복잡한 트랜스포머 아키텍처에 이르기까지 딥러닝 모델을 다루는 실무자에게 필수적이다.