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를 결과로 내놓는다.

dense embedding 기반 encoder modeling

 

2. training

 

embedding을 생성하는 encoder 모델들을 훈련함

 

참고로 BERTpBERTq는 완전히 parameter도 동일한 모형을 쓸 수도 있음

 

훈련해야하는 모형은 encoder

 

BERT말고도 encoder가 있는 다른 모형을 써도 물론 가능

 

BERT같은 encoder 기반의 다양한 pretrained language model을 이용하여 fine tuning을 수행한다

 

다양한 language model

 

3. MRC model과 dense encoder의 차이?

 

MRC model에서는 하나의 BERT에 question과 context를 전부 넣었음

 

그러면서 답이 어디있는지 예측하고자 정답의 후보 token에 대한 embedding vector를 가지고와 확률로 변환하여 start, end position을 예측했음

 

extraction based MRC

 

sentence의 token별 embedding을 가져와 확률로 변환시켜

 

반면 dense embedding을 위한 encoding에서는 question과 passage를 위한 각각 BERT가 따로 있음

 

물론 두 BERT는 같은 BERT를 쓸 수 있고 parameter가 다른 BERT를 쓸 수 있음

 

그리고 MRC와는 다르게 sentence의 token embedding이 아니라 special token인 [CLS]의 embedding만 가져옴

 

BERT를 활용한 dense embedding

 

[CLS]의 embedding을 passage나 question의 embedding으로 가지고 온다

 

question에 대한 BERT와 passage에 대한 BERT의 fine tuning 수행

 

dense encoder 구조

 

실제 ground truth인 passage와 주어진 question이 유사도가 가장 높도록 학습을 하고 정답이 아닌건 최대한 -점수가 되도록 학습을 수행

 

다시한번 언급을 하지만 BERTpBERTq는 완전히 parameter도 동일한 모형을 쓸지 다른 parameter를 가진 모형을 쓸지는 설계자의 선택이다.

 

TAGS.

Comments