통계 실험실 차트
너멜엠 로고
너멜엠
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도구
도움말

Layer Norm과 잔차 연결

마일스톤 학습법으로 단계별 완전 정복
LLM
Layer Normalization
잔차 연결
Residual Connection
Pre-LN
Post-LN
Transformer
딥러닝
이 개념 직접 실험하기 — Residual·LayerNorm 실측 실험
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • 잔차 연결이 기울기의 지름길을 만든다는 직관 이해
  • • Layer Norm이 토큰 벡터를 자기 차원 방향으로 정규화함을 이해
  • • 두 장치가 깊은 Transformer 학습을 가능하게 하는 이유 파악
심화 학습
  • • Layer Norm의 평균·분산·정규화·γβ 적용을 손으로 계산
  • • BatchNorm과 Layer Norm의 통계 방향 차이 구분
  • • Post-LN과 Pre-LN 배치의 차이와 Pre-LN이 안정적인 이유 설명
실무 적용
  • • 잔차 스트림 관점에서 Transformer 블록의 정보 흐름 해석
  • • RMSNorm 등 정규화 변형과 설계 선택의 실무적 영향 이해
  • • 절제 실험으로 두 장치의 역할 분담을 검증하는 방법 파악
한눈에 보기

Layer Normalization과 잔차 연결은 수십~수백 층의 Transformer를 안정적으로 학습시키는 두 장치로, 잔차 연결은 기울기가 지나가는 지름길을 만들고 Layer Norm은 각 토큰 벡터를 자기 차원 방향으로 정규화한다.

이 내용은 너멜엠의 Residual·LayerNorm 실측 실험에서 직접 실험으로 확인할 수 있습니다.

학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
15
클릭
심화 학습
공식 유도와 다양한 예시
35
클릭
실무 적용
실제 케이스와 고급 응용
50

학습 진도 (완료한 단계)

0%

기초 이해지름길과 볼륨 조절기

기초 이해: 지름길과 볼륨 조절기

난이도 2/5
약 15분

층을 수십 개 쌓으면 신경망은 오히려 학습이 안 되는 문제가 생깁니다. 오차 신호(기울기)가 많은 층을 거슬러 내려가며 약해지거나 폭주하고, 층마다 값의 크기가 제멋대로 커지거나 작아지기 때문이에요. Transformer는 두 가지 장치로 이 문제를 풉니다. 잔차 연결은 입력을 층의 출력에 그대로 더해 신호가 지나갈 지름길을 만들고, Layer Normalization은 각 토큰 벡터의 값 크기를 일정한 범위로 맞춰 줍니다. 이 둘 덕분에 GPT 같은 수십~수백 층 모델이 학습 가능해집니다.

Skip Connection — 입력을 건너뛰어 더한다출력 H(x) = F(x) + x — 항등 지름길로 기울기가 잘 흘러 아주 깊은 망도 학습x층 F(가중치·활성화)F(x)+지름길: 항등(x 그대로 전달)H(x)=F(x)+x출력※ “잔차 F(x)”만 학습하면 되므로 최적화가 쉬워짐 · ResNet(He 등, 2016)이 152층 학습을 가능케 했다
핵심 포인트
  • 잔차 연결: 출력 = 입력 + 층의 변환, 즉 Loading... — 입력이 그대로 더해지는 지름길
  • 지름길 덕분에 역전파 때 기울기가 층을 우회해 아래까지 직접 전달됨 (기울기 소실 완화)
  • Layer Norm: 각 토큰 벡터를 자기 차원 방향으로 평균 0, 분산 1 근처로 정규화
  • 배치에 몇 문장이 들었는지와 무관하게 동작 — 토큰 하나만 있어도 계산 가능 (BatchNorm과 다른 점)
간단한 예시

4차원 토큰 벡터 x = [2, 4, 6, 8]을 Layer Norm에 넣어 봅니다. 1) 평균: (2 + 4 + 6 + 8) / 4 = 20 / 4 = 5 2) 분산: ((2-5)² + (4-5)² + (6-5)² + (8-5)²) / 4 = (9 + 1 + 1 + 9) / 4 = 5 3) 표준편차: √5 ≈ 2.236 4) 정규화: [(2-5)/2.236, (4-5)/2.236, (6-5)/2.236, (8-5)/2.236] ≈ [-1.342, -0.447, 0.447, 1.342] 결과의 평균은 0, 분산은 1이 됩니다. 이 계산에 배치의 다른 문장은 전혀 필요 없었다는 점에 주목하세요 — 벡터 하나로 끝납니다.

Python으로 직접 실행해보기

아래 코드는 브라우저에서 바로 실행됩니다. 숫자를 바꿔가며 결과를 눈으로 확인해 보세요.

Layer Norm 직접 계산해 보기

라이브러리 없이 벡터 하나를 정규화합니다. 위 손계산과 같은 값이 나오는지 확인하세요.

첫 실행 시 파이썬 런타임을 내려받습니다 (수 초 소요)

이해도 확인하기

정답: 입력이 그대로 더해지는 항등 경로가 생겨, 역전파 때 기울기가 층을 우회해 아래층까지 약해지지 않고 전달됩니다. 또 층은 원본 전체가 아니라 원본에 더할 변화량(잔차)만 배우면 되므로 학습이 쉬워집니다.

정답: 배치가 아니라 각 토큰 벡터 자신의 차원들을 기준으로 구합니다. 벡터 하나 안에서 평균·분산을 계산해 정규화하므로, 배치 크기가 1이어도 동작합니다.

정답: 기울기가 많은 층을 거치며 소실·폭주해 아래층이 거의 학습되지 않고, 층마다 값의 크기가 제멋대로 변해 학습이 불안정해집니다. 잔차 연결이 기울기 통로를, Layer Norm이 값 크기의 안정을 담당합니다.

LLM 이론 페이지로 돌아가기