ML

200630

stri.destride 2020. 6. 30. 17:30

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

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

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

 

'ML' 카테고리의 다른 글

200701  (0) 2020.07.01
200701  (0) 2020.07.01
200628  (0) 2020.06.29
200625  (0) 2020.06.29
200624  (0) 2020.06.24