- Published on
Transformer 기초: Residual, LayerNorm, FFN
- Authors

- Name
- SeongHwa Lee
- @earthloverdev
왜 필요한가요
Attention만 이해하면 Transformer를 다 이해한 것처럼 느껴질 수 있습니다.
하지만 실제 Transformer 블록은 attention만으로 돌아가지 않습니다.
Residual, LayerNorm, FFN은 모델을 깊게 쌓고 안정적으로 학습시키기 위한 핵심 장치입니다.
원본 개념과 수식
Transformer 논문에서 encoder block의 큰 흐름은 단순화하면 다음과 같습니다.
x1 = LayerNorm(x + SelfAttention(x))
x2 = LayerNorm(x1 + FFN(x1))
여기서 세 구성요소를 분리해서 보면 다음과 같습니다.
- Residual:
x + f(x)처럼 입력을 다시 더합니다. - LayerNorm: 각 토큰 표현의 스케일을 정리합니다.
- FFN: 각 토큰 표현에 같은 MLP를 적용합니다.
FFN은 보통 다음 형태입니다.
FFN(x) = max(0, xW1 + b1)W2 + b2
BERT 계열에서는 ReLU 대신 GELU를 쓰는 경우가 많습니다.
1차 해설: 수식이 말하는 것
Residual은 원래 정보를 잃지 않게 하는 지름길입니다.
SelfAttention이나 FFN이 완벽하지 않아도 원래 입력 x가 계속 다음 층으로 전달됩니다.
LayerNorm은 값의 스케일을 안정화합니다.
층을 많이 쌓으면 값이 너무 커지거나 작아질 수 있는데, 이를 줄여 학습을 쉽게 만듭니다.
FFN은 토큰별 후처리 단계입니다.
Attention이 토큰 사이 정보를 섞었다면, FFN은 각 토큰 표현 자체를 더 풍부하게 변환합니다.
쉬운 예시
회의록을 정리한다고 하겠습니다.
- Attention: 여러 참석자의 발언을 서로 연결해 "누가 누구에게 답했는지"를 파악합니다.
- Residual: 원본 회의록을 옆에 그대로 둡니다. 요약이 틀려도 원문을 잃지 않습니다.
- LayerNorm: 각 문단의 길이와 표현 강도를 일정하게 정리합니다.
- FFN: 각 문장을 더 읽기 좋은 표현으로 다듬습니다.
즉, Transformer block은 단순히 "서로 보기"만 하는 장치가 아닙니다.
관계를 섞고, 원래 정보를 보존하고, 값을 안정화하고, 표현을 다시 가공하는 묶음입니다.
논문에서 다시 만났을 때 읽는 법
논문에서 다음 표현을 보면 이렇게 읽으면 됩니다.
Add & Norm
이는 보통 Residual add와 LayerNorm을 뜻합니다.
Position-wise Feed-Forward Network
이는 모든 토큰 위치에 같은 작은 MLP를 적용한다는 뜻입니다.
토큰끼리 섞는 작업은 attention이 하고, 토큰별 변환은 FFN이 맡습니다.
자주 하는 오해
- FFN은 토큰 간 정보를 직접 섞는 단계가 아닙니다. 섞기는 attention이 담당합니다.
- Residual은 단순한 편의 기능이 아니라 깊은 모델 학습의 핵심 안정화 장치입니다.
- LayerNorm은 모델의 의미를 직접 만드는 장치라기보다 학습을 안정적으로 만드는 장치에 가깝습니다.
최소 체크포인트
- Residual은 원래 입력을 보존하는 지름길입니다.
- LayerNorm은 값의 스케일을 정리해 학습을 안정화합니다.
- FFN은 각 토큰 표현을 비선형으로 가공합니다.
- Transformer block은 attention + residual + normalization + FFN의 조합입니다.