dense embedding encoder modeling -개요와 학습방법-
1. overview
가지고 있는 passage를 BERTp라는 encoder에 넣어 hp라는 passage embedding을 가지고 있는 모든 passage에 대해 얻음
query는 BERTp와는 parameter가 다른 BERTq라는 encoder에 넣어 question embedding hq를 얻는다.
여기서 중요한 점은 hp와 hq는 size가 같아야한다. inner product score를 구하려면..
passage embedding과 query embedding을 얻으면 유사도를 계산할 수 있다.
일반적인 방식은 dot product로 유사도에 대한 scalar value를 얻는다.
질문은 하나고, passage는 여러개니까 하나의 질문 embedding인 hq에 대해 모든 hp와의 유사도 점수를 계산
가장 높은 유사도 점수를 갖는 passage를 결과로 내놓는다.
2. training
embedding을 생성하는 encoder 모델들을 훈련함
참고로 BERTp와 BERTq는 완전히 parameter도 동일한 모형을 쓸 수도 있음
BERT말고도 encoder가 있는 다른 모형을 써도 물론 가능
BERT같은 encoder 기반의 다양한 pretrained language model을 이용하여 fine tuning을 수행한다
3. MRC model과 dense encoder의 차이?
MRC model에서는 하나의 BERT에 question과 context를 전부 넣었음
그러면서 답이 어디있는지 예측하고자 정답의 후보 token에 대한 embedding vector를 가지고와 확률로 변환하여 start, end position을 예측했음
sentence의 token별 embedding을 가져와 확률로 변환시켜
반면 dense embedding을 위한 encoding에서는 question과 passage를 위한 각각 BERT가 따로 있음
물론 두 BERT는 같은 BERT를 쓸 수 있고 parameter가 다른 BERT를 쓸 수 있음
그리고 MRC와는 다르게 sentence의 token embedding이 아니라 special token인 [CLS]의 embedding만 가져옴
[CLS]의 embedding을 passage나 question의 embedding으로 가지고 온다
question에 대한 BERT와 passage에 대한 BERT의 fine tuning 수행
실제 ground truth인 passage와 주어진 question이 유사도가 가장 높도록 학습을 하고 정답이 아닌건 최대한 -점수가 되도록 학습을 수행함
다시한번 언급을 하지만 BERTp와 BERTq는 완전히 parameter도 동일한 모형을 쓸지 다른 parameter를 가진 모형을 쓸지는 설계자의 선택이다.
'딥러닝 > Machine Reading Comprehension' 카테고리의 다른 글
Machine reading comprehension 개요 (0) | 2024.03.01 |
---|---|
in batch negative를 이용한 dense embedding encoder modeling (0) | 2022.05.26 |
dense embedding과 sparse embedding 비교 (0) | 2022.05.24 |
TF-IDF(term frequency - inverse document frequency) 기본 맛보기 (0) | 2022.05.20 |
Sparse embedding (0) | 2022.05.19 |