딥러닝 모델의 성능은 단지 구조나 데이터만으로 결정되지 않습니다. 학습의 시작점인 '가중치 초기화(weight initialization)'가 의외로 중요한 역할을 합니다.
이번 글에서는 특히 GPT와 같은 Transformer 모델에서 사용된 초기화 기법 — 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) | 의미 |
---|---|---|
4 | 0.5 | 가중치를 절반으로 줄임 |
16 | 0.25 | 가중치를 1/4로 줄임 |
12 | 약 0.2887 | GPT-2 기준 예시 |
이렇게 하면 잔차 경로를 따라 전달되는 값이 안정적으로 유지되어, 깊은 네트워크에서도 학습이 원활히 진행됩니다.
방식 | 설명 |
---|---|
일반 초기화 (Xavier, He 등) | 각 레이어의 입력/출력 노드 수에 따라 가중치 분포를 조절 |
GPT 초기화 (1/√N) | 잔차 경로가 누적되므로, 전체 레이어 수 N 기준으로 동일한 스케일링 적용 |
일반적인 초기화는 레이어 개별 특성에 집중하지만,
GPT 초기화는 모델 전체의 안정성을 고려한 방식이라고 할 수 있습니다.
"Transformer 구조에서 잔차 연결이 많을수록 출력 폭주를 막기 위해, GPT는 모든 residual layer의 가중치를 1/√N만큼 줄여 초기화했다."