Transformer

Q. Transformer에서 K, Q, V는 각각 어떻게 만들어지나요?

 - Query :  디코더의 이전 레이어 hidden state , 영향을 받는 디코더의 토큰 (고프다)

 - K : 인코더의 output state , 영향을 주는 인코더의 토큰들 (I am hungry)

 - V : 인코더의 output state , 그 영향에 대한 가중치가 곱해질 인코더 토큰들


- query는 현재 토큰을 의미하고, key는 query와 비교할 토큰입니다. Self-Attention은 query와 key의 유사성을 가중치로 하여 value들의 가중합을 내게 됩니다.


Q2. transformer는 rnn, lstm, gru를 사용하지 않고 단어간의 위치정보를 보존할 수 있었는데 그 역할을 하는 레이어는 무엇인가요?

 - self-attention layer


Q3. transformer의 long term dependecy는 어떻게 개선해나갔을까요?

 - 정보가 위치한 거리와 관계없이 유사도를 측정하여 attention을 분배함으로써  long-term dependecy 문제를 개선

 - 학습 시 encoder에서는 각각의 position에 대해, 즉 각각의 단어에 대해 attention을 해주기만 하고, decoder에서는 masking 기법을 이용해 병렬 처리


Q4. scaling factor 루트(dk) 하는 이유?

 - 학습 시 안정적인 그래디언트를 얻기 위해


Q5. self attention이란? + transformer의 어텐션 3가지는?

- 입력을 Query(q), Key(k), Value(v)로 선형 변환하고 내적 연산을 실행하는 것을 의미합니다.


인코더의 Attention, 디코더의 Attention, 디코더의 Masked Attention

 - self attention

 - multi-head attention

 - Masked Self-Attention


Q6. multi-head attention이란? 효과는?

 - 입력받은 query, key, value를 헤드 수만큼 나누어 병렬적으로 계산해주는 것

 - 기존의 Attention 모듈을 좀 더 유용하게 확장한 모듈로 셀프 어텐션(self attention)을 여러 번 수행한 걸 가리킵니다. 여러 헤드가 독자적으로 셀프 어텐션을 계산함

 -  동일한 입력문 기준으로도 필요에 따라 중점을 두어야 할 단어들이 다를 경우가 있기 때문


 - 아무리 계산 결과가 무지막지하게 복잡해도 차원의 크기를 유지하면서 계산함.(병렬처리)


https://pozalabs.github.io/transformer/ 

https://triple-f-coding.tistory.com/9 

https://deepseow.tistory.com/34 

https://kmhana.tistory.com/28 

https://acdongpgm.tistory.com/220 

https://wikidocs.net/31379 

https://wdprogrammer.tistory.com/72 

https://moon-walker.medium.com/transformer-%EB%B6%84%EC%84%9D-2-transformer%EC%9D%98-encoder-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1edecc2ad5d4 

https://medium.com/platfarm/%EC%96%B4%ED%85%90%EC%85%98-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98%EA%B3%BC-transfomer-self-attention-842498fd3225 


https://better-tomorrow.tistory.com/entry/Transformer-%EC%A0%95%EB%A6%AC 

https://moondol-ai.tistory.com/460 

https://blogik.netlify.app/BoostCamp/U_stage/28_transformer/ 

https://ratsgo.github.io/nlpbook/docs/language_model/transformers/ 


0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

AI / BIg Data

번호 제목 글쓴이 날짜 조회수
5 [MacOS] 텐서플로우(Tensorflow2.x) GPU 딥러닝 개발환경 구축 관리자 10-06 432
4 Google Cloud Platform 으로 AutoML Vision 관리자 05-03 552
3 Transformer 관리자 03-30 602
2 gpu 관리자 03-18 608
1 머신러닝 개념과 교차검증 수행하기 K 폴드, Stratified K 폴드, cross_val_score 관리자 01-13 707