Loading...
2024. 3. 30. 00:11

Open domain question answering에서 고민해야할 issue

1. passage의 단위? 앞에서 passage의 엄밀한 정의를 하지 않았는데 위키피디아 같은 경우도 passage를 어떻게 볼지 엄밀하게 정의하지 않았다 영어 위키피디아에서 article로 보면 500만개 정도 있고 paragraph로 보면 3000만개 정도 있고 sentence로 보면 7600만개 정도 있다고 한다 retriever가 reader한테 질문과 관련된 passage를 넘겨줄 때 몇개를 넘겨줘야 적당한가? passage를 정의한 범위에 따라서도 몇개를 넘겨줄지 고려해야함 몇개의 passage를 넘겨주느냐에 따라 모형의 성능도 다르다 위와 같이 큰 단위일수록 적게 넘겨줌 위는 article일때 k=5, paragraph는 k=29, sentence는 k=78로 그냥 설정해보고 실험한 논문 ..

2022. 5. 18. 02:09

transformer decoder에 사용된 masked self attention에 대해 알아보고 구현하기

decoder는 특이하게 masked multi head attention을 먼저 수행한다. 이것은 decoder 내부에서 이루어지는 self attention 과정으로 decoder의 input sequence끼리만 이루어진다. 언어모형을 학습시킬때 이미 정답을 아는 상태에서 학습을 시킨다. i go home을 번역하라고 할때 decoder에는 ' 나는 집에 간다'를 넣고 '나는 집에 간다 '를 순차적으로 뱉게 학습을 시킨다는 것이다. decoder에 input으로 ''를 넣어주면 output이 '나는'이 나오길 바라고 '나는'을 input으로 넣어주면 '집에'가 나오길 바란다. 그런식으로 학습을 시킨다. 하지만 이런 학습이 inference에는 어울리지 않는다는 점이다. test과정에서는 정답을 모른..

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..