본문 바로가기

Upstage AI Lab 2기

Upstage AI Lab 2기 [Day126] Information Retrieval (3) 신경망 기본 정보 추출

Upstage AI Lab 2기
2024년 6월 14일 (금) Day_126

 

신경망 기본 정보 추출

Vector Similarity

임베딩 생성 : 단어/문장 → 벡터

문제점 : 반대 의미인 경우에도 유사도가 높게 나올 수 있음

 

1. Word2Vec - CBoW, Skip-gram → Doc2Vec, Top2Vec (Topic), Biovectors (BioVec, ProtVec, GeneVec)

→ 맥락 고려 x

 

2. ELMo, ULMFiT, Transformer, BERT

→ pretrained model 활용, 맥락 고려

질의-문서 pair로 BERT를 fine-tuning 해서 information retrieval 할 수는 있지만 실제로는 잘 쓰이지 않음

예) [CLS] query [SEP] document [SEP]

 

 

Query-Document Matching 알고리즘

1. Cross-Encoder 모델의 특징

<qi, doc+, {doc-}> qi : query, doc+ : relevant doc, doc- : irrelevant doc

positive pair 간 score ↑, negative pair 간 score ↓

출력된 [CLS] 토큰의 임베딩 값으로 classify

문제점 : 질의가 들어올 때마다 유사도 계산, 시간 소요

 

2. Bi-Encoder 모델의 특징

DPR (Dense Passage Retrieval)

<qi, doc+, {doc-}> qi : query, doc+ : relevant doc, doc- : irrelevant doc

 

상용 벡터 인코더 분석

Sentence-BERT

https://arxiv.org/pdf/1908.10084

BERT 2개로 query, document 각각 embedding, weight 공유

<qi, doc+, {doc-}> qi : query, doc+ : relevant doc, doc- : irrelevant doc

objective function : ① classification ② regression ③ triplet

문장 간 비교 성능 good

 

OpenAI Embeddings

API로만 가능

Contrastive Pre-Training

입력 8K 까지 가능

 

 

임베딩 생성 API 실습

 

 

 

 

 

ref :

https://web.stanford.edu/class/cs224u/background.html#

https://arxiv.org/pdf/1908.10084

https://arxiv.org/pdf/2201.10005