인프런 커뮤니티 질문&답변

kokp님의 프로필 이미지
kokp

작성한 질문수

최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지

비전 트랜스포머 - 최신 모델

Self Attention 질문 있습니다.

해결된 질문

작성

·

201

·

수정됨

0

1.q와 k를 내적 하는 이유가 궁금합니다. 이는 입력의 유사도 행렬을 얻기 위함으로 알고 있습니다. 그렇다면 q와 k가 아닌 q와 q의 트랜스포즈로 내적하면 안되는걸까요?

음 ...업데이트 할때 q와 k가 비슷하게 학습되었다는 가정을 가지고 내적 한걸까요?

2.그리고 Multi Head와 그냥 Self attention의 차이가 궁금합니다.

별도의 파라미터로 학습되기때문에 하나일때보다 많은 관점이 녹아있다고 생각하면 될까요?

3.다른 댓글에서 코드A@V가 리니어 라고 하셨는데요

PPT에서는 SA(z)=Av와 [SA1(z)...]Umsa가 따로 있습니다. 코드에서는 A@V만 있는데 어떻게 연결지어서 봐야 할지 잘 모르겠습니다.

답변 1

0

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

안녕하세요.

  1. 말씀하신 유사도 개념이 맞습니다. 그리고 K대신 Q로 대체하신다는 것은 구조적으로는 가능하다고 보는데 내적 Q^TQ를 하면 Q의 시퀀스 내부에서의 관계들이 계산되기 때문에 우리가 정의한 개념하고는 맞지 않습니다. 그래서 구조적인 것만 보면 Av에서 A가 v의 마스킹 역할을 하는 것인데 K, Q대신 다른 구조를 가진 A를 직접 정의해서 사용하셔도 됩니다. 당연히 성능은 검증을 하셔야 합니다 :)

     

  2. 맞습니다.

  3. 각각의 AV를 통해 SA1, SA2, ...를 각각 구해서 단순히 합친 것(concatenate)입니다!

감사합니다.

kokp님의 프로필 이미지
kokp

작성한 질문수

질문하기