잔차 연결이란, 레이어의 입력을 출력과 더해서 다음 레이어로 넘기는 구조입니다.
이 방식은 정보 손실을 줄이고, 기울기 소실 문제를 완화해줍니다.
x → Layer → y
x → Layer → F(x)
↘
F(x) + x → 다음 레이어
즉, 레이어의 출력(F(x))과 입력(x)을 더해주는 방식입니다.

ResNet(2015)은 CNN에 처음으로 잔차 연결을 도입한 대표적인 구조입니다.
GPT와 같은 Transformer 구조에서도 잔차 연결은 모든 서브 블록에 적용됩니다.
Input x
↓
LayerNorm
↓
Self-Attention → A
↓
(x + A) ← 잔차 연결 #1
↓
LayerNorm
↓
FeedForward → B
↓
(x + A) + B ← 잔차 연결 #2
Transformer는 ResNet보다 훨씬 더 깊은 네트워크입니다.
문제: 잔차 연결이 누적되면서 출력의 크기(값)가 커짐
해결: 잔차 연결에 쓰이는 가중치를 줄임
GPT 논문에서는 다음과 같이 제안합니다:
“잔차 연결에 사용되는 가중치를 로 초기화하자.”
| 항목 | ResNet | GPT (Transformer) |
|---|---|---|
| 모델 구조 | CNN | Transformer |
| 잔차 연결 위치 | Conv 블록 사이 | Attention, FeedForward 블록 사이 |
| 도입 목적 | 깊은 CNN의 학습 안정화 | 깊은 Transformer의 누적 방지 |
| 부가 처리 | 없음 (단순 덧셈) | 가중치 초기화 조정 (1/√N로 스케일 다운) |
- 잔차 연결은 입력 정보를 손실 없이 전달하여 학습 효율을 높이는 핵심 기술입니다.
- ResNet에서는 기울기 소실 방지가 목적이고, GPT에서는 출력 크기 폭주 방지가 핵심입니다.
- GPT 구조에서는 모든 블록마다 잔차 연결이 들어가며, 이에 따라 가중치 초기화 전략이 중요합니다.