attention..이제 그만좀 까먹어야지...
* python dictionary, dict={"key1": "value1", "key2", "value2"}
attention weight: 주어진 query (decoder hidden state of timestep t)에 대해서 모든 key(overall encoder hidden state)와의 유사도(attention score)를 각각 구하여 키와 맵핑되어있는 각각의 밸류(usually key == value) 에 반영해주고, 이 밸류를 더해서 리턴함
attention input
- Q: 디코더 히든 스테이트 of timestep t
- K, V: overall encoder hidden state
attention 구하는 과정..
1) score값을 구하고 여기에 softmax를 취하여 bounded/normalized attention weight를 만든다 , 예) 특정 time-step의 encoder state vector랑 특정 time-step의 decoder state vector의 내적을 구하고, 이scalar 값을 전체 overall encoder에 대해서 쭉 모으면 time-step t에 대한 attention score vector가 될 것, size: [1, 1, T_enc]
2) weight와 encoder hidden state를 곱하여 attention value = context vector를 구한다, [1, 1, T_enc] * [1, T_enc, n_hidden] = [1, 1, n_hidden]
3) context vector와 decoder timestep t의 hidden state를 연결한 뒤 다음 step을 예측한다~~
참고한곳: https://wikidocs.net/22893
http://freesearch.pe.kr/archives/4724
딥러닝이 덧셈을 하는 방법, Attention Mechanism으로 살펴보기 - from __future__ import dream
필자가 지난번 seq2seq기반 덧셈 모형 빌드(with Gluon)을 Gluon으로 구축했으며, 잘 동작하는 모습을 보여줬다. 해당 코드를 정리하면서 딥러닝이 어떠한 방식으로 덧셈을 하는지 조금더 엿볼 수 있으
freesearch.pe.kr
어텐션 메커니즘과 transfomer(self-attention)
어텐션 메커니즘은 자연어 기계 번역을 위한 Seq2Seq 모델에 처음 도입되었습니다. 어텐션 메커니즘은 NLP 태스크 뿐만 아니라, 도메인에 관계 없이 다양하게 쓰이고 있습니다. 현재의 SOTA NLP모델��
medium.com
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net