Limitation of Sparse Embedding
- 차원의 수가 매우 크다 ( compressed format으로 극복 가능)
- 유사성을 고려하지 못한다.
Dense Embedding
- 더 작은 차원의 고밀도 벡터
- 각 차원이 특정 term에 대응되지 않음
- 대부분의 요소가 non-zero 값
- 단어의 유사성 또는 맥락을 파악해야 하는 경우 성능이 뛰어남
- 학습을 통해 임베딩을 만들며 추가적인 학습 또한 가능
1. Dense Embedding 을 생성한 인코더 훈련
2. 질문과 문서를 비교하여 관련 문서 추출
Training Dense Encoder
- BERT와 같은 Pretrained language Model(PLM) 이 자주 사용
- 다양한 neural network 구조 가능
- CLS 토큰의 output 사용
DENSE Encoder의 학습 목표 : 연관된 question 과 passage dense embedding 간의 거리를 좁히는 것 (higher similarity)
challenge : 연관된 question/ passage를 어떻게 찾을 것인가 ? -> 기존 mrc dataset 활용
Negative Sampling
choosing negative examples
1. corpus 내 랜덤 뽑기
2. 더 헷갈리는 샘플 뽑기 ( 높은 TF-IDF 스코어를 가지지만 답을 포함하지 않는 샘플 )
Positive passage 에 대한 negative log likelihood (NLL) loss 사용
open-domain question answering
Passage와 query를 각각 embedding 한 후, query로부터 가까운 순서대로 passage의 순서를 매김
retriever를 통해 찾아낸 passage를 활용, MRC 모델로 답을 찾음
to make better dense encoding
- 학습 방법 개선 (DPR)
- 인코더 모델 개선 ( BERT 보다 큰, 정확환 Pretrained 모델 )
- 데이터 개선 ( more data, preprocessing)
'Boostcamp AI Tech > [week 6-14] LEVEL2' 카테고리의 다른 글
[MRC] Passage Retrieval - Sparse Embedding (0) | 2021.10.30 |
---|---|
[MRC] Generation- based MRC (0) | 2021.10.30 |
[MRC] Extraction Based MRC (0) | 2021.10.20 |
[MRC] Machine Reading Comprehension (0) | 2021.10.19 |
[Week 10] PStage 과정 정리 (0) | 2021.10.06 |