[Paper Review] Dense Passage Retrieval for Open-Domain Question Answering
Open-demain question answering(ODQA) task는 large collection of document로부터 question에 대한 정보를 찾아 답변하는 task이다.
이런 task를 수행하는 framework는 retriever-reader 두 가지로 구성된다.
retriever는 질문에 대한 답이 담겨있는 small subset of passage를 선택하여 retrieve 하는 역할
reader는 retrieved context를 받아와 알맞은 answer를 산출하는 역할을 한다.
해당 연구가 진행될 시기는 retriever 부분에서 TF-IDF와 BM25와 같은 방법론들이 주로 사용되었다.
그리고 이러한 방법론이 아닌 dense encoding에 집중하였다. 이는 동음이의어나 의역과 같은 요소들을 잘 식별해낸다는 장점이 있다.
Question : “Who is the bad guy in lord of the rings?”
Answer : “Sala Baker is best known for portraying the villain Sauron in the Lord of the Rings trilogy”
악역 -> Q에는 bad guy / A에는 villain
TF-IDF, BM25 와 같은 term-based 방법론에서는 같은 의미에 대한 term이 달라졌기 때문에 해당 answer가 포함된 passage를 잘 retrieve하지 못할 수 있다.
dense encoding을 기반으로 한 dense retriever의 경우 term 이 달라져도 두 term이 embedding space에서 가까운 위치에 있기 때문에 잘 retrieve한다.
또한 dense encoding은 learnable 하다는 특징이 있어 flexibility가 좋아 task-specific 한 결과를 뽑을 수 있다는 점에서 장점이 있다.
BUT좋은 dense vector representation을 학습하기 위해서는 많은 양의 labeling된 (Question, Passage) pair가 필요하다고 믿어져왔다. 기존 연구들에서도 TF-IDF, BM25보다 월등한 성능을 보이지도 않았다.해당 연구에서도 Inverse cloze task(ICT) objective로 dense retriever에 대해 추가 사전학습을 진행한 ORQA에서 dense retriever의 성능이 BM25를 능가했지만 여전히 한계가 존재한다.ORQA의 한계1. ICT pre-training의 경우, 너무 많은 계산량이 필요하다.
2. Passage Encoder를 fine-tuning하지 않기 때문에, 이는 suboptimal이 될 수 있다.
그래서 나온게 DPR
본 연구에서는 이러한 기존 방법론들의 한계를 해결하기 위해, 적은 수의 question-passage pair만을 가지고 학습을 진행하는 것에 초점을 두었다고 하며, 이를 통해 나온 dense retriever를 Dense Passage Retriever(DPR)이라고 명명한다
1. 추가적인 pre-training 없이 question encoder와 passage encoder를 fine-tuning 시키는 retriever
2. retriever의 높은 성능이 end-to-end QA system의 높은 성능으로 이어진다는 것을 보임
DPR 설명
BERT 사전 훈련 모델을 사용하고 이중 인코더 아키텍처를 사용한다. 이는 질문(question)과 문서(passage)를 각각의 벡터로 변환하여 내적(inner product)을 계산하는 방식입니다.
Dense Retrieval을 활용하여 질문과 관련된 상위 k개의 연관된 passage를 효율적으로 제공할 수 있도록한다.
passage(document)들을 low-dimensional and continuous space에서 indexing 하고, 이를 바탕으로 효과적으로 input text와 관련 있는 top-k개의 passage를 retrieve 함이 목적이다
1. passage를 low-dimensional and continuous space로 mapping해주는 encoder: Dense encoder( $E_P(p)$ )
모든 passage들을 d차원을 가지는 real-valued vector로 mapping -> passage representation만들어냄.
2. input text도 representation으로 변환해야함.
input text를 input representation으로 만들어주는 encoder $E_Q(q)$ -> 이는 input question을 d차원 vector로 mapping한다.
두 encoder를 통해 만들어진 두 representation의 유사도를 구해서 relevant top-k passage 선정
ㅇㅣ는 dot product로 측정 (이외에도 L2 norm 등 다른 방법도 측정했지만 내적이 가장
Training
representation을 잘 만들어내도록 encoder를 학습시키는 것
-> question과 passage 쌍이 서로 관련 있으면 small distance를 가지고 관련이 없으면 bigger distance를 가지는 representation을 산출하는 encoder로 만든다는 것
loss function
- qi : question
- pi+ : relevant(positive) passage
- pi,j− : irrelevant(negative) passage
학습 데이터
passage 중에서, positive passage에 대한 log-likehood가 높아질수록 loss function의 값은 작아지고, 이를 최소화하도록 학습하여 결과적으로는 positive passage에 대한 likelihood를 높이고, negative passage에 대한 likelihood를 낮추도록 학습하는 것이다.
Q
보통 positive passage들은 명확히 선택할 수 있는데에 반해 negative passage들은 많은 passage들 중에서 다양한 방법으로 선택될 수 있다.
논문에서는 여러 옵션을 제공함.
1. Random
2. BM25: question에 대한 정답을 포함하고 있지 않으면서 BM25기반 question과 높은 유사도를 가지고 있는 passage를 선택
3. Gold : training set에서 나타난 다른 질문에 대한 positive passage를 선택.
실험결과
같은 mini-batch 안에 있는 다른 question의 positive passage들을 negative passage로 사용하고(Gold), 하나의 BM25 passage를 더해준 조합이 가장 성능이 좋았다고 한다.
In-batch negatives
mini-batch내에 B개의 question이 있다고 가정할 때 각각의 question은 positive(relevant) passage를 가진다.
Q, P가 각각 Question Matrix, Passage Matrix(Bxd)일 때(B: # of questions, d: hidden_dimension_size), 유사도는 Q와 P의 내적을 이용해 구할 수 있고 그 결과 (BxB)가 된다.
이때, 각각의 question과 passage를 qi, pi라고 할 때, i=j이면 positive(relevant) passage, i≠j이면 negative(irrelevant) passage라고 할 수 있다.
이렇게 함으로서, negative sampling을 할 때의 계산 비용이 in-batch를 하지 않을 때에 비해 비약적으로 줄어든다.(batch내에서의 similarity Matrix를 만들고 이로부터 바로바로 재사용할 수 있기 때문이다.)
experiment
dataset
BM25기반, DPR기반, BM25 + DPR기반을 활용하여 비교분석
BM25는 selective keyword에 더 민감하게 반응하고, DPR은 의미적 관계나 어휘적 변형을 더 잘 포착했다고 한다. 아래는 두 retriever가 같은 question에 대해 retrieve 한 passage의 예시이다
첫 번째 행은 DPR이 더 잘 retrieve한 경우이고, 두 번째는 BM25가 더 잘 retrieve한 경우이다.
첫 번째 예시의 경우, BM25는 England나 Ireland와 같은 keyword에만 집중하여 잘못된 passage를 가져온 반면, DPR은 body of water의 의미적인 관계를 포착하여 Irish Sea passage를 잘 가져왔다
두 번째 예시의 경우, Thoros of Myr라는 키워드가 중요한 문제였는데, DPR은 이것을 잘 포착하지 못한 반면 BM25는 이러한 요소를 잘 포착함을 확인할 수 있다.