딥러닝의 시작은 ‘가중치 초기화’부터! GPT는 왜 1/√N으로 초기화했을까?

Bean·2025년 7월 16일
0

인공지능

목록 보기
84/123

개요

딥러닝 모델의 성능은 단지 구조나 데이터만으로 결정되지 않습니다. 학습의 시작점인 '가중치 초기화(weight initialization)'가 의외로 중요한 역할을 합니다.
이번 글에서는 특히 GPT와 같은 Transformer 모델에서 사용된 초기화 기법 — 1/√N 스케일링 방식 — 에 대해 알아보겠습니다.


가중치 초기화란?

딥러닝 모델 학습 전에, 각 뉴런의 가중치를 어떤 값으로 시작할지를 정하는 과정가중치 초기화라고 합니다.

이 과정이 중요한 이유는 다음과 같습니다:

문제 상황설명
너무 큰 값그래디언트가 폭주해 학습이 발산함
너무 작은 값그래디언트가 소멸되어 학습이 멈춤
모든 값이 동일뉴런 간 학습이 비대칭성을 잃음

따라서, 적절한 가중치 초기화는 모델의 안정성, 수렴 속도, 최종 성능에 직결됩니다.


GPT는 왜 1/√N으로 초기화했을까?

GPT 논문에서는 Transformer 모델에서 사용된 잔차 연결(residual connection)이 학습 중 출력값을 과도하게 누적시키는 문제를 고려했습니다.

이를 방지하기 위해 다음과 같은 초기화 전략을 사용했죠:

“We scale the weights of residual layers at initialization by a factor of 1/√N where N is the number of residual layers.”

쉽게 설명하면:

  • 잔차 연결이 많아질수록 출력값이 누적되어 과도하게 커질 수 있음
  • 이를 막기 위해, 가중치를 N의 제곱근으로 나눈 값(1/√N)만큼 스케일 다운
  • 이 스케일링을 모든 residual layer에 동일하게 적용

예시로 이해하기

잔차 레이어 수(N)적용할 스케일 계수 (1/√N)의미
40.5가중치를 절반으로 줄임
160.25가중치를 1/4로 줄임
12약 0.2887GPT-2 기준 예시

이렇게 하면 잔차 경로를 따라 전달되는 값이 안정적으로 유지되어, 깊은 네트워크에서도 학습이 원활히 진행됩니다.


GPT 초기화 vs 일반 초기화

방식설명
일반 초기화 (Xavier, He 등)각 레이어의 입력/출력 노드 수에 따라 가중치 분포를 조절
GPT 초기화 (1/√N)잔차 경로가 누적되므로, 전체 레이어 수 N 기준으로 동일한 스케일링 적용

일반적인 초기화는 레이어 개별 특성에 집중하지만,
GPT 초기화는 모델 전체의 안정성을 고려한 방식이라고 할 수 있습니다.


한줄 요약

"Transformer 구조에서 잔차 연결이 많을수록 출력 폭주를 막기 위해, GPT는 모든 residual layer의 가중치를 1/√N만큼 줄여 초기화했다."


profile
AI developer

0개의 댓글