관심있는 NLP 논문을 읽어보고 간단히 정리했습니다. (Language & Knowledge Lab의 Retreival 관련)
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[Facebook AI, University of Washington, Princeton University]
- dense representation을 사용하여 효과적으로 implemented될 수 있다.
- 적은 숫자의 question과 passage로 학습된 embedding과 simple dual-encoder framework
- 배경
- Open-Domain Question Answering (ODQA) 문제를 풀기 위해 (1) context retriever (2) machine reader를 사용하는 two-stage framework
- 실질적으로 성능이 많이 부족하기 때문에 retriever의 성능을 높여야 한다는 과제가 주어짐
- 기존에는 TF-IDF, BM25와 같은 retriever를 사용
- Related Works
- ODQA에서 passage retrieval은 오래 전부터 중요한 요소로 인식되었음 (1999)
- TF-IDF, BM25와 같은 strong spare vector space가 다양한 QA 태스크에서 사용되었음
- Latent Semantic Analysis와 같은 연구를 통해 dense vector representation이 도입된지도 꽤 오래 되었음 (1990)
- Dense Passage Retriever (DPR)
- Overview
- 총 M개의 passage가 retrieval을 위한 d 차원의 index vector를 갖게 됨
- 또다른 encoder를 사용하여 query에 대한 representation vector를 구하고 이와 가장 유사한 k개의 passages를 retrieve
- 유사도는 두 벡터의 dot product로 계산
- Encoder: 두 개의 독립적인 BERT 모델에서 [CLS] 토큰의 representation을 취함 (768 차원)
- Inference: 모든 passage에 대해 passage encoder를 적용하여 representation vector를 구하고, 빠른 탐색을 위해 FAISS 라이브러리를 활용
- Training
- encoder의 목표는 관련성이 높은 question, passage pair가 짧은 거리를 갖는 벡터 공간을 만드는 것
- positive passage에 대한 negative log-likelihood를 loss function으로 삼음 (in-batch negative)
- Positive and Negative passages: 1) Random 2) BM25 3) Gold
- In-batch negatives
- (B x d) 차원을 갖는 Q(uery), P(assage) 행렬을 곱해 S(core)를 구함 -> (B, B) 차원의 행렬 생성
- 이는 각 Batch마다 question에 대한 B개의 passage 스코어를 구했다는 의미가 됨
- 이중에서 한 개는 positive example, 나머지 (B-1)개는 negative examples에 대한 스코어
- Overview
- End-to-end QA System
- k개의 passage가 주어지면 각 passage에 대해 answer span을 추출하고 span score를 할당
- passage selection model은 question과 passage 간의 cross-attention을 이용하는 reranker
- k=100으로 설정되어 총 100개의 passages를 retrieve -> 그중에서 1개의 positive, 23개(m-1)의 negative passage를 추출
- objective: positive passage에서 correct answer span에 대한 marginal log-likelihood를 최대화 & 선택된 positive passage에 대한 log-likelihood
- answer span, selected passage에 대한 스코어는 다음 공식으로 구함
- Benchmarks
- Natural Questions (NQ), TriviaQA, WebQuestions (WQ), Curated (TREC), SQuAD v1.1
출처 : https://arxiv.org/abs/2004.04906