Part 7 · Transformer Architecture - Thinking About Each Word Again

모은 정보를 바탕으로 다시 생각하다

Self-Attention은 다른 단어에서 필요한 정보를 모아 오는 과정입니다. 하지만 정보를 모았다고 해서 계산이 끝난 것은 아닙니다. Feed Forward Network는 현재 단어가 모은 문맥 정보를 다시 처리하여 더 풍부한 의미를 갖도록 변환합니다. Attention이 관계를 찾는 단계라면 Feed Forward Network는 그 관계를 바탕으로 표현을 발전시키는 단계입니다.

The Core Idea

Attention은 밖을 보고, Feed Forward는 안에서 생각한다

Self-Attention: 밖을 본다

현재 단어가 문장 속 다른 단어들을 살펴봅니다.

필요한 정보를 찾아 자신의 벡터 안으로 모읍니다.

Feed Forward: 안에서 생각한다

이미 모아온 정보를 다시 살펴봅니다.

그 정보가 무엇을 의미하는지 더 알맞은 표현으로 바꿉니다.

Attention은 다른 단어를 바라보는 과정이고, Feed Forward는 모아 온 정보를 바탕으로 현재 단어를 다시 이해하는 과정입니다.
A Detective Story

증거를 모은 뒤에는 생각해야 한다

탐정이 사건을 조사한다고 생각해 봅시다.

지문 왼손 엄지 지문이 발견됨
CCTV 검은 모자를 쓴 사람이 찍힘
목격자 범인이 왼손을 사용했다고 증언
차량 번호 근처 거주자의 차량으로 확인

증거를 모으는 것만으로는 수사가 끝나지 않습니다. 탐정은 이미 모은 증거를 머릿속에서 연결해 해석합니다.

증거 수집 Attention
증거를 함께 봄 현재 토큰 안에 정보가 모임
관계를 해석 무엇을 의미할까?
특징을 정리 왼손잡이·근처 거주
새로운 판단 용의자 표현이 구체화됨
새로운 증거를 찾은 것이 아닙니다. 이미 모은 증거를 해석해 더 구체적인 판단으로 바꾼 것입니다. 이것이 Feed Forward의 역할과 비슷합니다.
Back to the Sentence

Tom이 모아 온 정보를 다시 해석해 보자

Tom lives in New York. He loves the city.
Tom의 기본 정보 사람 이름
Attention 결과 lives·New York·He 참고
정보 해석 무슨 관계일까?
특징 재구성 사람·거주·장소 관계
새로운 Tom 표현 New York에 사는 사람
Feed Forward Network는 Tom이 다른 단어를 다시 찾아보게 하지 않습니다. Tom 안에 이미 모여 있는 정보를 다시 해석해 새로운 Tom 벡터로 바꿉니다.
Information Collection vs Interpretation

정보 수집과 정보 해석을 분리해서 보자

Attention이 하는 일
Tom은 lives를 참고한다.
Tom은 New York을 참고한다.
Tom은 He와 연결된다.
Feed Forward가 하는 일
이 정보들을 함께 해석한다.
중요한 특징을 더 분명하게 만든다.
Tom의 새 표현을 만든다.
정리하면 다음과 같습니다. Attention은 정보 수집, Feed Forward는 정보 해석과 재표현입니다.
Each Token Thinks Separately

각 단어는 자기 안에 모인 정보를 따로 생각한다

Self-Attention에서는 토큰들이 서로 정보를 주고받았습니다. Feed Forward 단계에서는 각 토큰이 자기 벡터 안에 모인 정보를 따로 처리합니다.

Tom

내가 모은 사람·거주·장소 정보를 다시 해석합니다.

lives

내가 모은 행동·주체·장소 정보를 다시 해석합니다.

New York

내가 모은 장소·사람·행동 정보를 다시 해석합니다.

Feed Forward는 토큰 사이를 다시 연결하는 단계가 아닙니다. 각 토큰을 하나씩 독립적으로 가공합니다.
A Small Peek Inside

내부에서는 무엇을 할까?

핵심 개념을 이해했다면 내부 구조도 어렵지 않습니다. Feed Forward Network는 보통 현재 벡터를 넓게 펼쳐 여러 특징을 살펴본 뒤, 필요한 특징을 골라 다시 정리합니다.

1. 펼쳐 보기

현재 토큰의 정보를 더 넓은 공간에 펼칩니다.

2. 특징 판단

어떤 특징을 강조하거나 약하게 할지 판단합니다.

3. 다시 정리

다음 층에서 사용할 새로운 벡터로 만듭니다.

내부 구현에서는 Linear Layer와 GELU 같은 계산을 사용하지만, 지금은 모아 온 정보를 펼쳐 보고, 판단하고, 다시 정리한다고 이해하면 충분합니다.
Inside a Transformer Layer

Transformer 한 층에서 두 단계가 함께 일한다

Self-Attention 다른 단어에서 정보를 모음
Residual + LayerNorm 정보를 보존하고 정리
Feed Forward 현재 단어 안에서 해석
Residual + LayerNorm 다음 층으로 전달
Transformer 한 층은 밖을 보며 정보를 모으는 단계와, 안에서 그 정보를 생각하는 단계가 함께 있어야 완성됩니다.
Interactive Story

Tom의 생각 과정을 단계별로 따라가 보자

아래 버튼을 눌러 Attention에서 Feed Forward까지 이어지는 흐름을 확인해 보세요.

현재 Tom이 가진 정보

다른 단어에서 정보를 모음

Tom은 lives, New York, He를 참고해 문장 속 관계 정보를 가져옵니다.

이 단계는 Self-Attention입니다.
먼저 Attention이 다른 단어에서 필요한 정보를 모읍니다.
Common Misunderstandings

핵심 오해를 정리하자

Feed Forward가 새로운 정보를 찾는다?

아닙니다. 새로운 토큰을 찾아보는 일은 Attention이 담당합니다.

Feed Forward는 이미 모은 정보를 해석한다

현재 토큰 벡터 안에 담긴 문맥을 더 유용한 표현으로 다시 구성합니다.

What Comes Next?

Transformer는 단어의 순서를 어떻게 알까?

Attention과 Feed Forward를 이용하면 단어 관계를 찾고, 모은 정보를 다시 해석할 수 있습니다. 하지만 Transformer는 모든 토큰을 한꺼번에 보기 때문에 단어가 몇 번째 위치에 있는지는 따로 알려줘야 합니다.

다음 페이지에서는 단어의 순서를 알려주는 Positional Encoding을 살펴봅니다.
Summary

핵심 정리

  • Self-Attention은 문장 속 다른 단어를 살펴보며 정보를 모읍니다.
  • Feed Forward Network는 모아 온 정보를 바탕으로 현재 단어를 다시 이해합니다.
  • Attention은 정보 수집, Feed Forward는 정보 해석과 재표현입니다.
  • Feed Forward는 다른 토큰을 새로 참고하지 않습니다.
  • 각 토큰은 자기 벡터 안에 모인 정보를 독립적으로 가공합니다.
  • 내부에서는 표현을 펼쳐 여러 특징을 살펴본 뒤 새 벡터로 정리합니다.
  • Transformer 한 층에는 Attention과 Feed Forward가 모두 필요합니다.