Loading...
2022. 5. 18. 20:03

transformer의 마지막 encoder-decoder multi head attention

1. encoder-decoder multi head attention decoder의 2번째 attention layer는 특별하게 encoder decoder multi head attention으로 불린다. decoder의 masked self attention 이후 나온 결과는 Query로 들어오고 encoder의 최종 결과로 나오는 hidden vector는 적절하게 변형?되어 key,value로 들어온다 decoder의 query는 encoder가 이해한 맥락정보로부터 받아온 key value중 어떠한 정보에 더 집중할지 attention 연산을 수행하게 된다. 그 후 residual connection, layer normalization을 거치고 나온 결과에 encoder가 그랬던 것처럼 ..

2022. 4. 28. 21:28

예시와 그림으로 이해하는 self attention의 원리

1. 예시로 알아보는 self attention hidden state vector를 만들고자 하는 x1의 query를 q1으로 생성 1에서 x1의 query q1와 x1,x2,x3의 key k1,k2,k3 각각의 내적으로 score를 계산 (3.8,-0.2,5,9) softmax를 취하여 어느 벡터에 집중할지 가중치를 계산 (0.2,0.1,0.7) 가중치인 score와 x1,x2,x3의 value v1,v2,v3의 weighted sum을 구한다. 즉 x1의 hidden vector h1=0.2v1+0.1v2+0.7v3으로 구해진다. 이러면 이제 x1,x2,x3를 학습이 가능한 weight matrix인 $W^{Q}, W^{K}, W^{V}$로 변환하여 얻은 query,key,value를 이용하였는데 ..

2022. 4. 27. 22:24

NLP의 역사를 바꾼 self-attention의 기본 원리

1. self-attention transformer에 도입한 attention의 원리는 seq2seq의 attention과 비슷하지만 조금 다르다. self-attention이라고 이름이 붙여졌는데 transformer encoder의 기본 구조는 input sequence x1,x2,x3가 self attention을 지나 바로 encoding되어 h1,h2,h3의 hidden vector가 된다. 2. seq2seq의 encoder 이전 sequence의 압축정보를 전달받아 다음 sequence로 넘겨가며 전달하며 encoder의 hidden vector를 생성했다. decoder에서 마지막 encoder의 hidden vector랑 첫번째 decoding input을 입력받아 생성한 decoder..

2021. 12. 19. 23:28

enumerate와 zip

1) enumerate 리스트 element iteration할 시 index와 value를 같이 추출하는 기법 사전을 comprehension하여 생성할 수 있다 그림1은 enumerate를 이용한 dictionary comprehension의 예시를 보여준다. index : value 형태가 생각하기 쉽지만 value : index 형태로 생각할줄도 알아야함 자주 쓰니까 2) zip 두개 이상의 리스트를 병렬적으로 추출하는 기법 추출하면 원소들을 튜플로 묶어줌 이차원 행렬에서 열(column)을 추출할 때 유용하다