본문 바로가기
AI/Paper Review

[논문 리뷰] Dense Passage Retrieval for Open-Domain Question Answering

by hyeok1235 2025. 1. 8.

핵심 : Dense embedding을 사용해서 semantic한 정보를 더 많이 포착하고자 하는 Retrieval System

0. Abstract

Open-domain Question Answering의 핵심은 효율적이고 좋은 context(passage, information)을 retrieve하는 것이다. 기존의 방법들은 Sparse 벡터 모델들을 사용했다. (e.g. TF-IDF, BM25, 단어의 사용 횟수를 바탕으로 표현) 해당 논문에서는 dense 벡터 모델을 사용하는 **Dense Passage Retrieval(DPR)**을 소개한다. simple dual-encoder 구조로 학습하며, 적은 수의 question-passage 쌍만을 필요로 하는 장점이 있다.

1. Introduction

기존의 QA 시스템은 1) Retriever를 사용해 관련된 context를 선택하고 2) Reader를 통해 retrieve된 context를 보고 올바른 정답을 찾아내는 것이다. Retrieval을 할 때 필요한 indexing을 기존에는 sparese vector (단어의 출연 빈도수 등)을 사용했다. 반면에, dense vector를 사용하면 semantic한 정보를 더 담을 수 있다. 예를 들면 “bad guy”와 “villain”이 유사한 의미를 가지고 있다는 것을 표현할 수 있다. 또 다른 장점은 dense encoding은 learnable해서 더 유연하다는 것이다.

좋은 dense vector를 얻기 위해서는 많은 양의 question-context 쌍이 필요했고, 기존 dense 방식들은 sparse 방식들보다 성능이 안좋거나 연산량이 많았다. 이를 해결하기 위해 해당 논문은 상대적으로 작은 수의 question-passage 쌍으로만 학습해서 뛰어난 성능을 보여주는 **Dense Passage Retriever (DPR)**을 소개한다.

2. Background

여러 개의 document를 text passage들로 쪼갠 것들을 모아둔게 Corpus이다. Retriever는 query와 유사한 passage를 들고 오는 것이다. 만약 k개를 들고 온다면, top-k retrieval accuracy로 평가할 수 있다.

M개의 text passage들 중, input과 관련된 k개의 passage들을 retrieve한다

M : 보통 매우 큰 수(논문에서는 2천백만), k : 작은 수 (보통 20-100)

3. Dense Passage Retriever (DPR)

3.1 Overview

passage들을 encoder(dense encoder)를 사용해 벡터화시켰다면, query도 동일하게 벡터화해야 한다. 유사도를 측정하는 방법에는 내적, L2 norm, 코사인 유사도 등이 있지만, 성능은 비슷하고 계산은 내적이 가장 간단하므로 내적을 선택하였다. 인코딩은 BERT를 사용하였고, 인덱싱은 FAISS를 사용하였다.

3.2 Training

positive passage의 likelihood가 높아지고 negative passage의 likelihood가 낮아지면 loss가 작아지는 형식으로 학습한다. 무엇을 negative로 할지는 기존의 3가지 방식이 있다:

① Random

② BM25 : question token을 많이 포함하지만 정답은 없는 passage

③ Gold : 다른 question의 positive passage

DPR은 Gold의 positive passage와 BM25의 negative passage를 사용한다. In-batch negative를 활용해서 training때 similiarity 행렬을 재사용할 수 있게 한다.

4-6. Experiment 관련

passage는 Wikipedia 데이터를 사용했고 다섯 개의 Question Answering 데이터셋을 사용한다. 전처리를 하면서 answer가 passage에 없는 질문들은 폐기하고, passage를 일부 변경하는 경우가 있었다.

SQuAD 데이터셋을 제외하고, DPR이 BM25보다 나은 성능을 보여줬다. SQuAD의 경우에는 annotator들이 passage를 보고 question을 작성한 것과 training 예시들이 500개의 예시들로부터만 만들어져서 biased된 것의 영향이라고 예측한다.

Ablation으로는 sample 개수에 따른 효율성, in-batch negative 학습, gold passage의 영향, L2 loss 등이 있다. 그리고 다른 cross-dataset에 대한 성능도 확인한다.

다른 Retriever들과 DPR을 ODGA task에 대해서 비교를 한다. QA 결과도 SQuAD를 제외한 모든 데이터셋에 대해서 DPR이 성능이 좋았다.

7. Related Work

dense vector 표현은 cross-lingual이나 ad relevance 예측, 웹 검색, entity retireval등에 활용되었다.

open-domain QA에 대해서도 활용되고 있으며, DPR 또한 최근 연구에서 활용되고 있는 것을 확인할 수 있다.

8. Conclusion

open-domain question answering에서 기존 sparse retrieval보다 성능이 좋은 dense retrieval 방식을 소개한다.

 

 

논문 링크 :
https://arxiv.org/abs/2004.04906
728x90
반응형