PAIR, baidu, acl2021

Ruiyang Ren et al., PAIR: Leveraging Passage-Centric Similarity Relation for Improving Dense Passage Retrieval, acl2021 

nrm 논문으로, 다음 3가지를 제안함  

  • passage centric similarity relation를 함께 사용하는 것을 제안함 
    • 기존 방법들은 query centric similarity relation을 사용했음 
      • query centric similarity relation: 질의와 positive doc의 유사도가 질의와 negative doc의 유사도보다 크게 한다. 
    • passage centric similarity relation
      • positive doc과 질의의 유사도가 positive doc과 negative doc의 유사도보다 크게 한다. 
    • 그림 1
      • (a)는 query centric similarity relation만을 사용했을 때 생길 수 있는 부적절한 경우임. positive doc과 negative doc간의 유사도가 높게 되는 문제 
      • (b)는 passage centric similarity relation을 함께 사용함으로써 이를 해결하는 경우임. 
    • nrm으로는 dual encoder 모델을 이용함 
  • cross-encoder를 이용해서 pseudo-labeled data 구축함 
  • 2단계 학습: 
    • 1단계: passage centric loss + query centric loss + pseudo labeled data로 학습 
    • 2단계: query centric loss + pseudo labeled data + labeled data로 학습 

Loss function 

  • query centric loss $L_Q$ 
    • 질의 $q$, postive doc $p^+$, negative doc $p^-$에 대한 loss는 다음과 같음. $s^{(Q)}$는 query centric similarity. 
$$ L_Q = -\frac{1}{N} \sum_{q, p^+} \log{\frac{e^{s^{(Q)}(q, p^+)}}{e^{s^{(Q)}(q, p^+)} + \sum_{p^-}e^{s^{(Q)}(q, p^-)}}} $$ 
    • 아래를 만족하도록 학습함 : 질의와 positive doc의 유사도가 질의와 negative doc의 유사도보다 크도록 함 
$$ s^{(Q)}(q, p^+) > s^{(Q)}(q, p^-)$$
  • passage centric loss $L_P$ 
    • 질의 $q$, postive doc $p^+$, negative doc $p^-$에 대한 loss는 다음과 같음. $s^{(P)}$는 passage centric similarity. 

$$ L_P = -\frac{1}{N} \sum_{q, p^+} \log{\frac{e^{s^{(Q)}(p^+, q)}}{e^{s^{(Q)}(p^+, q)} + \sum_{p^-}e^{s^{(Q)}(p^+, p^-)}}} $$ 
    • 아래를 만족하도록 학습함 : positive doc과 질의의 유사도가 positive doc과 negative doc의 유사도 보다 크도록 함 
$$ s^{(P)}(p^+, q) > s^{(P)}(p^+, p^-)$$
  • combined loss 
    • query centric loss $L_Q$와 passage centric loss $L_P$를 함께 사용 
$$L = (1 - \alpha) * L_Q + \alpha * L_P $$ 

Pseudo-labeled data 구축 

  • 다음 2단계로 구축함 
    1. dual encoder (논문에서는 DPR로 기술되어 있음)을 이용해서 top-k 문서를 검색함 
    2. cross encoder를 이용해서 positive doc의 임계치 $s_{pos}$ 보다 유사도가 큰 문서는 positive로 간주하고, negative doc의 임계치 $s_{neg}$보다 작은 문서는 negative로 간주 
  • unlabeled query와 labeled query 모두를 대상으로 pseudo-labeled data 구축 
  • labeled query에서 적용하는 이유 
    • 더 많은 positive를 얻기 위함과 reliable hard negative를 얻기 위함 

Two-stage training procedure 

  • pre-training과 fine-tuning의 2단계로 구성 
    • query centric loss는 nrm과 직접적인 관련이 있지만, passage centric loss는 그렇지 않음. 
    • 그래서 passage centric loss는 pre-training에 사용하고, fine-tuning에서는 사용하지 않음 
  • pre-training
    • passage centric loss와 query centric loss를 함께 이용함 
    • pseudo labeled data를 대상으로 학습함 
  • fine-tuning  
    • pre-training된 모델을 대상으로 query-centric loss를 이용해서 학습함 
    • labeled data와 pseudo labeled data를 함께 이용해서 학습함 

experiments 

  • 평가 데이터: MS MARCO passage retrieval dataset , DPR 논문에서 가공한 Natural questions (NQ) 
  • 180만개의 unlabeled query : yahoo answers, ORCAS, SQuAD, TriviaQA, HotpotQA 질의 

implementation details 

  • NQ (natural questions) 데이터에서는 in-batch negative를 이용함 
  • MS MARCO 데이터에서는 cross-batch negative를 이용함. (더 많은 negative를 이용하기 위함인 듯) 
  • batch size 
    • NQ의 fine-tuning 단계에서는 batch size 512 * 1을 사용. 이외에는 모두 512 * 8 을 사용 

실험 결과 (table 2) 

  • PAIR가 가장 좋은 결과를 보임. PAIR, RocketQA, ColBERT가 상위에 있음. 
  • 사족) ME-BERT가 ANCE보다 결과가 좋음. 

ablation study (table 3) 

  • pseudo labeled data를 사용하지 않으면 (w/o KD), 품질 하락이 가장 큼 
  • pretraining을 하지 않는 경우 (w/o PT), 두번째로 많은 품질 하락이 있음 
  • 다음의 경우에도 품질 하락이 있음 
    • pre-training에서 passage centric loss를 사용하지 않는 경우 (w/o PSR) 
    • fine-tuning 단계에서 passage centric loss를 함께 사용하는 경우 (w/ PSR FT) 
    • 질의 encoder와 문서 encoder를 다른 것을 사용하는 경우 (w/o SP) 
  • passage centric loss의 기여도가 있긴 하지만, 크지는 않음. 

pseudo labeled data 구축을 위한 임계치 (table 5) 

  • positive, negative 분류 정확도는 $s_{pos}=0.9$, $s_{neg}=0.1$에서 가장 좋은 결과를 보임. 
    • 그러나 좋은 결과만큼 검색 품질이 좋아지지는 않고, 검색 품질은 조금 좋아짐 
  • 임계치에 따라 생성되는 데이터 개수가 달라질텐데, 생성되는 데이터 개수에 대한 언급이 없음 
  • 테이블 5의 결과가 생성된 개수를 동일하게 맞추었는지, 아니면 데이터 개수를 달리했는지에 대한 언급도 없음.  

댓글

이 블로그의 인기 게시물

utf-8과 utf8