카테고리 없음

SimCSE: Simple Contrastive Learning of Sentence Embeddings

잡담연구소 2021. 8. 18. 00:17
contrastive learning 을 이용한 sentence embedding 근데 이제 dropout을 곁들인,,,

 

1 ) unsupervise 방식

input sentence A 와 input sentence에 dropout을 적용한 A+를 positive sample 로 보는 거다. 

 

2 ) supervise 방식 

NLI에서 영감을 얻어서 "entailment"는 positive sample로 "contradiction"은 negative sample로 학습한다. 

 

contrasive learning 을 써먹으려면 pair가 필요하다. 

가장 단순하게 augmentation을 사용하면 pair를 얻을 수 있는데, 이미지에서는 연속되어있기 때문에, crop등을 해도 성능이 좋지만, 자연어는 discrete한 성질 때문에 deletion, reordering, substitution 같은 게 잘 안먹힌다고 한다. 

그래서 중간 representation에 dropout을 해주는 게 좀 더 discrete한 자연어에 더 잘먹힌다고 한다. 

또 이전까지는 dual encoder(-> 두 임베딩을 서로 다른 모델에 태움) 를 사용했었는데, 여기서는 하나의 모델로 두 개의 임베딩을 처리한다.