Loading...
2022. 4. 14. 01:17

예시로 이해하는 attention의 기본 아이디어

encoder의 기본 진행은 다음과 같다. 위에서 나온 4개의 encoder의 hidden vector $h_{1}^{(e)}$, $h_{2}^{(e)}$, $h_{3}^{(e)}$, $h_{4}^{(e)}$와 첫번째 step의 decoder output hidden vector $h_{1}^{(d)}$가 있는데 원래라면 첫번째 단어 생성을 위해서 $h_{1}^{(d)}$가 output layer로 들어가서 예측을 수행했을 것 그러나 attention은 첫번째 단어 생성을 위해 어떤 단어에 더욱 집중해야하는지 알기 위해 $h_{1}^{(d)}$와 $h_{1}^{(e)}$ ,$h_{2}^{(e)}$ ,$h_{3}^{(e)}$ ,$h_{4}^{(e)}$과의 내적 연산을 수행하여 각 vector에 대하여 sc..

2022. 4. 9. 02:06

attention 구조는 왜 등장했을까? -attention의 근본 아이디어-

seq2seq 논문에서는 attention구조를 alignment라고 칭하였다. 1. bottleneck problem 물건이 순차적으로 전달되는데 어느 순간 막혀서 전달되는 양이 점점 적어지는 현상. RNN에서 hidden state vector가 step이 지날수록 점점 정보량이 줄어드는 현상이 이와 비슷해서 이름 붙여짐 bottleneck problem을 그림으로 표현 RNN구조는 그 특징이 앞에서부터 읽어들인 정보를 순차적으로 hidden state vector로 쌓아간다. 심지어 모든 모듈은 공유되어있어서 모든 hidden state vector의 차원이 동일하다. sequence가 길수록 정보를 멀리 보내면서 많은 정보가 쌓이지만 동일한 차원에 압축해야 하기때문에 필연적으로 정보의 손실이 발생..

2022. 4. 5. 01:12

seq2seq model이란?

0. seq2seq는 왜 등장했는가? “말은 끝까지 들어봐야 안다.” 예를 들어 일반적인 RNN의 챗봇을 생각해보자. 사람이 I broke up yesterday라고 적으면 챗봇은 broke up를 보고 슬픈 단어를 생성할 확률이 높아져서 sorry to hear that을 생성 그런데 그 이후 사람이 Today’s perfect weather makes me much sad를 쳤는데 분명 슬픈 문맥인데 챗봇은 perfect weather만 보고 긍정적인 단어를 생성할 확률이 높다가 sad보면서 꼬이기 시작해서 제대로 생성을 못함 그래서 나온 seq2seq는 문장을 encoder에 넣어서 문맥 정보를 decoder에 보낸 뒤 단어를 생성하고 그 단어를 받아 다음 단어를 생성하는 등 모든 문장을 들은 뒤 ..