본문 바로가기

논문 리뷰/Language Model

Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever)

[Github]

[arXiv](Current version v4)

 

Abstract

비지도 dense retriever의 훈련 방법으로 대조 학습을 탐구한다.

Dense Retriever : e.g. DPR - Question과 검색으로 얻은 document를 BERT에 통과시켜 [CLS] Token을 계산한 후 내적을 통해 유사도를 구함

 

 

 

Method

쿼리 q와 문서 d가 주어지면 인코더 f를 통과한 후 내적으로 score를 구함.

 

Contrastive learning

Positive doc k+, 쿼리 q, negative docs ki가 주어지면 다음과 같이 contrastive InfoNCE loss 정의:

 

Building positive pairs from a single document

대조 학습의 중요한 요소는 단일 입력에서 positive pair를 구축하는 것이다.

 

Inverse Cloze Task

ICT에서는 일련의 텍스트 (w1, ..., wn)에서 쿼리 (wa, ..., wb)를 샘플링하고 나머지 span(w1, ..., wa-1, wb+1, ..., wn)을 pair로 사용했다.

 

Independent cropping

Independent cropping은 일련의 텍스트에서 두 범위를 독립적으로 샘플링하여 pair를 형성하는 것이다. Pair가 서로 동일한 분포를 따르기 때문에 ICT보다 더 좋음.

 

Additional data augmentation

Cropping 외에도 추가적인 데이터 섭동 사용.

 

Building large set of negative pairs

대규모 negative set를 구축하는 방법.

 

Negatives within a batch

동일한 배치의 다른 예제를 negative pair로 사용하는 방법. 단점은 매우 큰 배치가 필요하다.

 

Negative pairs across batches

또 다른 방법은 이전 배치의 표현을 대기열에 저장하고 이를 negative pair로 사용하는 것이다. 이 방법의 단점은 네트워크가 급격하게 업데이트되며 이전 표현과 현재 표현의 격차가 생기는 것인데, 이를 방지하기 위해 query network와 key network를 따로 분리해서 key network를 query network의 EMA로 업데이트한다.

 

이러한 방법을 MoCo라고 한다.