인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

Alex님의 프로필 이미지

작성한 질문수

예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지

Transformer 모델 소개 - Attention is All You Need

가중치에 대한 질문

작성

·

41

0

안녕하세요 질문이 있습니다.

Multi-Hed Attention 에서 여러개의 Q,K,V 벡터들을 학습시켜 Concat 시키는데

1. 이 경우에는 어떤식으로 Concat이 되나요?

  1. 이렇게 Concat이 되게되면 값이 증폭하는 일이 생기지 않나요>?

답변 1

0

AISchool님의 프로필 이미지
AISchool
지식공유자

안녕하세요~. 반갑습니다.

1. 이 경우에는 어떤식으로 Concat이 되나요?

-> 말그대로 각 scale-dot attention에서 출력된 벡터를 그냥 이어주는 concatenation 과정이 이루어지는 것입니다. 예를 들어 설명하면 아래와 같이 head1의 출력값과 head2의 출력값이 있다고 임의 가정하면 각 헤드들의 출력값을 그냥 하나로 길게 쭉이어주는 것입니다. (실제로 원 논문에서는 8개의 헤드를 사용합니다.)

  • head 1: [1, 2, 3]

  • head 2: [13, 14, 15]

  • concat → [1, 2, 3, 13, 14, 15]

    2. 이렇게 Concat이 되게되면 값이 증폭하는 일이 생기지 않나요>?

     

    -> 값이 증폭한다는게 무슨 뜻인지 정확히 이해하지 못했지만 2개의 값을 더해줘서 값이 +되는 것 아니냐는 의미로 질문하신것이라면 위에 설명드린것처럼 값을 +하는 것이 아니라 뒤에 이어붙이는 것이기 때문에 값의 증폭이 이루어진다고 볼수는 없습니다. 또한 복잡한 transformer 구조에서 모든 부분이 학습가능한 weight이기 때문에 값이 너무 커질것 같으면 학습과정에서 weight들이 알아서 너무 값이 커지지 않게 조정하는 방향으로 파라미터를 변경합니다.



    좋은 하루되세요~.

     

    감사합니다.

     

Alex님의 프로필 이미지

작성한 질문수

질문하기