통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

피드포워드 신경망(FFN) 블록

마일스톤 학습법으로 단계별 완전 정복
LLM
FFN
피드포워드
Transformer
MLP
확장-축소
GELU
파라미터
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • FFN이 각 토큰에 독립·동일하게 적용되는 2층 신경망임을 이해
  • • 어텐션(토큰 간 교환)과 FFN(토큰별 변환)의 역할 차이 파악
  • • 확장-축소 구조에서 입력·출력 차원이 같아야 하는 이유 이해
심화 학습
  • • $\text{FFN}(x) = W_2 f(W_1 x + b_1) + b_2$ 수식의 각 요소 해석
  • • 편향 포함 파라미터 수를 손으로 계산(512·2048 기준 2,099,712개)
  • • ReLU에서 GELU로의 활성화 변천과 4배 확장 관례 이해
실무 적용
  • • FFN이 블록 파라미터의 약 2/3를 차지한다는 구조적 사실 파악
  • • FFN을 key-value 연상 기억으로 보는 해석(Geva et al. 2021) 이해
  • • 경량화·지식 편집에서 FFN이 일차 대상이 되는 이유 설명
한눈에 보기

Transformer 블록의 FFN(position-wise feed-forward network)은 각 토큰 위치에 독립적으로, 같은 가중치로 적용되는 2층 MLP로, Loading... 형태를 가진다.

학습 로드맵

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

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

학습 진도 (완료한 단계)

0%

기초 이해토큰마다 통과하는 작은 2층 신경망

기초 이해: 토큰마다 통과하는 작은 2층 신경망

난이도 2/5
약 15분

Transformer 블록 안에는 어텐션 말고 하나가 더 있습니다. 바로 피드포워드 신경망(FFN)입니다. 어텐션이 끝나면 각 토큰 벡터는 이 작은 2층 신경망을 통과합니다. 중요한 점은 두 가지예요. 첫째, 각 토큰이 따로따로(독립적으로) 통과합니다 — 이 단계에서 토큰끼리는 서로를 보지 않습니다. 둘째, 모든 토큰이 같은 신경망(같은 가중치)을 씁니다. 그래서 "위치별로(position-wise) 동일하게 적용되는 신경망"이라고 부릅니다.

Transformer 아키텍처 — 인코더·디코더 블록각 블록 = 멀티헤드 어텐션 + Add&Norm + 순전파층 · N번 쌓아 깊게 만든다인코더 (×N)멀티헤드 어텐션Add & Norm순전파(FFN)Add & Norm입력 임베딩 + 위치디코더 (×N)마스크드 어텐션Add & Norm인코더-디코더 어텐션순전파 + Add & Norm이전 출력 + 위치※ GPT는 디코더만, BERT는 인코더만 사용 · 잔차 연결·정규화로 깊은 스택을 안정적으로 학습
핵심 포인트
  • FFN은 선형변환 → 활성화 함수 → 선형변환으로 이어지는 2층 MLP
  • 각 토큰 위치에 독립적으로 적용 — 이 단계에서 토큰 간 정보 교환은 없음
  • 모든 위치가 같은 가중치를 공유 — 토큰이 몇 개든 신경망은 하나
  • 내부에서 차원을 넓혔다가(d_model → d_ff) 다시 줄이는(d_ff → d_model) 확장-축소 구조
간단한 예시

아주 작은 FFN으로 계산해 봅시다 (d_model=2, d_ff=4, 편향은 0, 활성화는 ReLU). 입력 토큰 벡터: x = [1, -1] 1단계(확장): W1은 4×2 행렬 W1 = [[1,0],[0,1],[1,1],[1,-1]] W1·x = [1, -1, 0, 2] 2단계(활성화): ReLU는 음수를 0으로 ReLU([1, -1, 0, 2]) = [1, 0, 0, 2] 3단계(축소): W2는 2×4 행렬 W2 = [[1,1,1,0],[0,1,0,1]] 출력 = [1×1+1×0+1×0+0×2, 0×1+1×0+0×0+1×2] = [1, 2] 2차원 → 4차원 → 2차원. 입력과 출력의 차원이 같아서 다음 블록에 그대로 넘길 수 있습니다.

이해도 확인하기

정답: 아니요. FFN은 각 토큰 위치에 독립적으로 적용되므로, 이 단계에서 토큰끼리는 서로를 보지 않습니다. 토큰 간 정보 교환은 어텐션이 담당합니다.

정답: 아니요. 모든 토큰 위치가 같은 가중치(같은 신경망)를 공유합니다. 하나의 FFN이 100개 토큰 각각에 동일하게 적용됩니다. 그래서 "position-wise(위치별) 동일 적용"이라고 부릅니다.

정답: Transformer는 같은 구조의 블록을 여러 층 쌓고 잔차연결로 입력을 더하기 때문에, 블록의 입력과 출력 차원(d_model)이 같아야 다음 블록으로 그대로 이어 붙일 수 있습니다. 그래서 내부에서만 넓혔다가 다시 원래 차원으로 줄입니다.

LLM 이론 페이지로 돌아가기