여러 전문가의 의견을 하나의 보고서로 합친다
프로젝트 회의가 끝났습니다. 네 명의 전문가가 같은 회의를 보고 서로 다른 내용을 정리했습니다.
기획자
목표와 사용자 요구를 정리했습니다.
개발자
기술 구조와 구현 방법을 정리했습니다.
디자이너
화면과 사용자 경험을 정리했습니다.
운영 담당
일정과 운영 조건을 정리했습니다.
이 네 의견을 따로 보관할 수도 있지만, 실제 결정을 하려면 하나의 보고서로 정리하는 편이 좋습니다.
각 Head는 자신만의 결과 벡터를 만든다
Head 1은 사람 관계를, Head 2는 장소 관계를, Head 3은 행동 관계를, Head 4는 전체 연결을 잘 본다고 가정해 봅시다.
사람 관계 정보
장소 관계 정보
행동 관계 정보
전체 문맥 정보
먼저 결과를 옆으로 이어 붙인다
여러 Head의 결과를 합치는 첫 단계는 매우 단순합니다. 각 벡터를 앞에서부터 차례대로 옆에 붙입니다.
이어 붙이기만 하면 너무 길고 정리되지 않은 정보가 된다
여러 Head의 정보가 모두 들어 있습니다.
하지만 벡터가 길고, 관점별 정보가 아직 따로 놓여 있습니다.
여러 관점이 서로 섞여 하나의 일관된 표현이 됩니다.
다음 Transformer 층에서 사용하기 좋은 형태가 됩니다.
모아 놓은 정보를 하나의 새 표현으로 정리한다
네 전문가의 메모를 하나의 보고서로 만드는 편집자를 생각해 봅시다.
여러 Head의 결과
정리된 최종 표현
여러 관점을 필요한 비율로 섞어 하나의 새로운 벡터로 만듭니다.
예: “Tom이 New York에 산다”는 사람·행동·장소 관계가 함께 담긴 표현
전체 흐름은 세 단계다
Head를 하나씩 추가해 보자
버튼을 눌러 사용할 Head의 수를 바꿔보세요.
Concatenate 결과
현재 포함된 관점
자주 생기는 오해
단순 평균은 각 Head가 찾은 서로 다른 정보를 흐리게 만들 수 있습니다.
모델이 상황에 따라 어떤 관점을 얼마나 섞을지 학습할 수 있기 때문입니다.
핵심 정리
- 각 Attention Head는 자신만의 결과 벡터를 만듭니다.
- 여러 Head의 결과를 옆으로 이어 붙이는 것을 Concatenate라고 합니다.
- Concatenate한 벡터는 여러 관점을 모두 담지만 길고 정리되지 않은 상태입니다.
- Transformer는 학습된 Linear Projection으로 이 정보를 다시 섞어 정리합니다.
- 그 결과 하나의 풍부한 최종 문맥 벡터가 만들어집니다.
- 전체 흐름은 Head별 계산 → Concatenate → Projection → 최종 출력입니다.