sparse embedding이 가지는 한계점들에 대해 알아보고, 이를 해결할 수 있는 dense embedding에 대해 설명한다.
Dense embedding의 개념을 알아보고, 어떻게 dense embedding을 학습하고 문서 검색을 수행할 수 있는지 설명한다.
1. Introduction to Dense Embedding
▮ Limitation of Sparse Embedding
Passage Embedding : Passage를 벡터로 변환하는 것
Sparse Embedding의 한계점
벡터의 크기는 아주 크지만 벡터 내에 실제로 0이 아닌 숫자는 상당히 적다. (사실상 90% 이상의 dimension들이 보통은 0이되는 경우가 발생) → Compressed format으로 극복 가능 : 벡터 전체를 저장하지 않고 0이 아닌 값의 위치와 값만 저장
그러나 가장 큰 문제점은 유사성을 고려하지 못한다는 점
▮ Dense Embedding
Sparse Representation의 단점을 보완한다.
작은 차원의 고밀도 벡터(length = 50~1000)
각 차원이 특정 term에 대응하지 않는다.
대부분의 요소가 non-zero 값
▮ Retrieval : Sparse vs Dense
Sparse Embedding
단어의 존재 유무를 retrieval 하는데는 유용하다.
임베딩이 구축되고 나서는 추가적인 학습이 불가능하다.
dimension이 크므로 활용할 수 있는 알고리즘에 한계가 있다.
Dense Embedding
단어의 유사성 또는 맥락을 파악해야하는 경우 유용하다.
학습을 통해 임베딩을 만들며 추가적인 학습 또한 가능하다.
dimension이 비교적 작으므로 활용할 수 있는 알고리즘도 많다.
→ 최근 사전학습 모델의 등장, 검색 기술의 발전 등으로 인해 Dense Embedding 을 활발히 이용되고 있다.
→ 현업에서 Sparse Embedding도 많이 사용되지만 Sparse 혼자만으로 많은 것을 하기는 쉽지 않다.
▮ Overview of Passage Retrieval with Dense Embedding
Question Encoder는 question을 encoding하여 [CLS] 토큰에 해당되는 $h_{q}$ vector를 출력한다.
Passage Encoder도 passage를 encoding하여 [CLS] 토큰에 해당되는 $h_{b}$ vector를 출력한다.
두 벡터는 같은 size로 dot product를 통해 유사도를 계산할 수 있다.
훈련 대상은 BERT 부분의 Encoder이다.
두 Encoder의 architecture는 동일하다.
passage들 마다의 유사도 점수를 계산해서 가장 높은 점수를 가진 passage를 추려 MRC 모델에 전달한다.
2. Training Dense Encoder
▮ What can be Dense Encoder?
BERT 와 같은 Pre-trained language model (PLM)이 사용된다. 그 외 다양한 neural network 구조도 가능하다.
BERT를 사용하는 방법은 MRC와 상당히 유사하지만 차이점은 MRC는 passage와 question을 둘 다 input으로 넣어주는 반면 Retrieval의 경우 각각의 Encoder에 passage와 question을 독립적으로 넣어주고 각각의 embedding을 구한다.
또 다른 차이점은 MRC는 passage 내 답변이 어디있을지 예측하기 위해 각 토큰 별로 score를 계산하지만 Retrieval의 경우 embedding을 구하는 것이 목적이므로 [CLS] 토큰의 output만 구한다.
▮ Dense Encoder 구조
정답일 경우 유사도가 높아지도록, 정답이 아닐 경우 유사도가 낮아지도록 BERT를 학습한다.
학습목표 연관된 Question과 Passage의 Dense Embedding 간의 거리를 좁히는 것 (inner product 값을 높이는 것)
▮ Negative Sampling
연관된 Question과 Passage 간의 dense embedding 거리를 좁힌다. → Positive
연관되지 않은 Question과 Passage 간의 dense embedding 거리는 멀게한다. → Negative
▮ Choosing Negative Examples
Corpus 내에서 랜덤하게 추출
헷갈리는 Hard Negative 샘플 추출 : 높은 TF-IDF score를 가지지만 정답은 아닌 sample
▮ Objective function
Positive passage에 대한 negative log likelihood (NLL) Loss를 사용한다.
Positive passage score를 확률화 하기 위해 positive passage 와 question간의 Similarity score와 negative sample에 대한 Similarity score를 가져와 Softmax를 취한 값의 확률값을 negative log likelihood에 적용해서 학습한다.
▮ Evaluation Metric for Dense Encoder
Top-k retrieval accuracy : retrieve 된 passage 중에 답을 포함하는 passage 의 비율
3. Passage Retrieval with Dense Encoder
▮ From dense encoding to retrieval
Inference : Passage 와 query를 각각 embedding 한 후, query로부터 가까운 순서대로 passage 의 순위를 매긴다.