이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 딥러닝(Deep Learning) — 인공 신경망의 세계 → 순환 신경망 및 시퀀스 모델 — 순서가 있는 데이터 다루기 → 트랜스포머(Transformers)
다중 헤드 어텐션과 위치별 피드포워드 네트워크를 구현합니다.
여러분, 트랜스포머의 어텐션에서 가장 중요한 발전이 뭐냐고 물으면 바로 멀티헤드예요.
왜 헤드를 여러 개로 나누는 게 좋을까요? 이걸 정말 직관적으로 설명해볼게요.
그림 왼쪽을 보세요. 싱글헤드 어텐션부터 봅시다.
하나의 소프트맥스가 하나의 확률 분포를 만들어요.
"The cat sat on the mat"에서 cat이 어디에 집중할까요?
싱글헤드는 하나의 분포만 만드니까 sat에 집중하거나 the에 집중하거나 해야 해요.
구문적 관계와 의미적 관계를 동시에 보고 싶은데 하나의 소프트맥스로는 불가능해요.
마치 사진작가가 한 장만 찍을 수 있다면 풍경과 인물을 동시에 담기 어려운 것처럼요.
이제 그림 오른쪽 멀티헤드를 보세요.
헤드 원은 구문 관계를 전문으로 학습해요. cat에서 sat으로 0.8의 강한 어텐션이 가요.
헤드 투는 의미 관계를 봐요. cat에서 tired로 0.75의 어텐션이 형성돼요.
헤드 쓰리는 위치 패턴, 인접한 토큰에 집중하는 로컬 패턴을 학습해요.
헤드 포는 장거리 의존성을 잡아요. it이 먼 거리의 cat을 찾아내요.
여덟 명의 사진작가가 동시에 각자 다른 앵글로 촬영하는 거예요.
그리고 놀라운 건 파라미터 수가 거의 같다는 거예요.
디모델 512를 8개로 나눠 각 헤드가 64차원만 담당하니까요.
아래쪽 결합 과정을 보면, 8개 헤드 결과를 연결하고 W_O로 투영해요.
이 W_O 행렬이 헤드 간 정보를 혼합하는 핵심 역할을 합니다.
그래서 하단 결론처럼 동일한 파라미터 수로 다양한 관점을 학습하는 거죠.
이것이 바로 멀티헤드의 핵심 동기예요. 공짜 다양성이라고 부를 수 있어요.
선생님: 싱글헤드 어텐션의 근본적인 한계가 뭐예요?
학생: 하나의 소프트맥스가 하나의 확률 분포만 만들어서 여러 관계를 동시에 볼 수 없어요.
선생님: 멀티헤드가 이걸 어떻게 해결해요?
학생: 헤드를 여러 개 만들어서 각각 독립적인 부분공간에서 다른 관계를 학습해요.
선생님: 파라미터 수는 어떻게 되나요?
학생: 디모델을 에이치개로 나눠 쓰니까 싱글헤드와 QKV 파라미터는 동일해요! 공짜 다양성이에요.
선생님: 맞아요! W_O 투영만 추가되지만 다양성이 8배가 되죠.