새소식

ML | AI/논문 리뷰 - 2022.03.24

[논문 리뷰] Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence Scoring Tasks

  • -

1. 등장 배경


기존 BERT(Cross-encoder)는 STS Task를 해결할 때 두 문장 사이 [SEP] 토큰을 추가해 한번에 입력 처리

이 방법은 두 입력 문장의 self-attention을 통해 높은 성능 기록

 

하지만 두 문장 사이만의 관계를 확인하는 기존 BERT로 Semantic-Search나 Clustering에 활용하는 것은 매우 비효율적(massive computational overhead)

이를 해결하기 위해서 Siamese/Triplet 구조를 활용해 sentence-embedding을 얻을 수 있는 SBERT(bi-encoder)를 제안

 

SBERT는 BERT에 비해서 낮은 성능을 갖지만 적절한 dense-vector space(sentence-embedding)을 얻기 위해 많은 양의 데이터가 주어진다면 BERT와성능 차줄일 수 있음

 

데이터 수에 따른 test scores 차이

 

2. 제안


Augmented SBERT 개요

 

SBERT의 STS 성능을 올리기 위해서 Data Augmentation 진행

  • Data Augmentation은 기존 데이터모든 sentence를 조합 후 Sampling 하는 방법과 EDA의 SR(Synonym Replacement) 방법 제시
  • SR은 WordNet 대신 BERT(Cotextual Embeddings)를 통해서 진행
  • 논문에선 Augmented Data를 Silver-dataset, 기존 Data를 Gold-dataset이라고 지칭 

Silver-datasetLabel은 STS 성능이 높은 BERT(Cross-Encoder)로 두 문장 사이 유사도를 계산하여 얻음

  • 이때 BERT는 Gold-dataset으로 Fine-Tuning된 상태

최종적으로 기존 Gold - dataset과 Silver-dataset모두 SBERT의 입력으로 사용하여 성능 개선

3. 샘플링


Gold-dataset의 모든 sentence를 조합하면 매우 많은 sentence-pair가 생성

이때 Labeling에 BERT(Cross-encoder)가 사용되기 때문에 모든 조합을 사용하면 엄청난 연산량 발생

 

또한 단순 sentence-pair 조합의 경우 대부분의 경우 유사도가 낮기 때문에(안 비슷한 문장이 당연히 더 많음)

data 분포 측면에서도 적절하지 않음 

따라서 적절한 Sampling 기법을 선택하는 것이 매우 중요

 

논문에서 제시한 샘플링 별 density distribution은 다음과 같음

샘플링별 density distribution

1) Random Sampling

문자 그대로 sentence-pair의 일부를 무작위로 샘플링

결국 sentence-pair와 유사한 data 분포를 가져 유사도가 낮은 조합이 많이 선택

가장 낮은 성능 기록

 

2) KDE(Kernel Density Estimation)

silver-dataset의 분포가 gold-dataset을 따를 수 있도록 scores에 따른 확률 분포 $Q(s)$로 샘플링 진행

유사도가 낮은 sentence-pair를 덜 샘플링하도록 진행

많은 수의 silver-dataset이 생성 됨

 

$Q(s)=\left\{\begin{array}{cl}1 & \text { if } F_{\text {gold }}(s) \geq F_{\text {silver }}(s) \\ \frac{F_{\text {gold }}(s)}{F_{\text {silver }}(s)} & \text { if } F_{\text {gold }}(s)<F_{\text {silver }}(s)\end{array}\right.$

 

이때 $F_{gold(s)}, F_{silver(s)}$는 scores $s$에 대한 density function

 

3) BM25

lexical overlap을 기준으로 하는 BM25 샘플링(Top - 3, 5)

lexical overlap이라는 까다로운 조건 때문에 silver-dataset가장 적음

silver-dataset이 적으면 BERT를 통한 Labeling도 최소화되기 때문에 매력적

 

4) Semantic Search Sampling(S.S)

BM25유사한 문장이더라도 lexical overlap이 없으면 검출되지 않는다는 단점 존재

Semantic Search에 이용하면 의미적으로 유사한 sentence를 검출 가능

 

Semantic Search엔 Gold Dataset에 fine-tuning된 SBERT가 이용

  • Semantic Search를 통해서 sentence마다 가장 유사한 Top - 3, 5 조합 구성
5) BM25 + S.S

BM25의 샘플과 S.S의 샘플 결과를 합침

S.S 샘플의 양이 더 많기 때문에 data 분포S.S 샘플이 더 큰 영향

따라서 전체적으로 S.S 샘플의 분포를 따르게 됨

 

lexical overlap을 고려한 BM25의 샘플은 S.S 샘플보다 좀더 유사도가 높은

sentence-pair가 많지만 S.S 샘플에 비해 수가 적기 때문에 영향이 적음 

 

BM25, S.S의 경우 다양한 Top - k로 실험해본 결과 k별로 큰 차이는 없었음

따라서 BERT를 통한 Labeling(inference)를 최소화할 수 있는 k = 3 또는 5로 설정

Top - k 선택

4. 결과 확인


샘플링 별 성능 비교
샘플링 기법 별 데이터 수

 

 

KDE 샘플링이 다양한 Benchmark에서 높은 성능을 기록했지만 BM25와의 격차가 크지 않음

이때 KDE 샘플링은 BM25 샘플링과 비교했을 때 Silver-datasets의 수가 매우 많기 때문에

BERT를 통한 Labeling(inference) 시간을 고려해봤을 때 메리트가 적음

 

따라서 BM25 샘플링을 활용한 Silver-dataset 생성이 가장 합리적 


참고

EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks

Augmented SBERT: Data Augmentation Method for ImprovingBi-Encoders for Pairwise Sentence Scoring Tasks

https://en.wikipedia.org/wiki/Okapi_BM25

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.