논문 : SimCSE: Simple Contrastive Learning of Sentence Embeddings
unsupervised : labeled 데이터 없이 학습하는 방법
supervised : labeled 데이터로 학습하는 방법
dropout : 학습 시, overfitting을 방지하기 위해 특정 비율에 따라 뉴런의 출력값을 0으로 바꾸는 기법
contrastive learning : 비슷한 의미를 가진 representation은 가깝고, 다른 의미를 가진 representation을 멀게 학습하는 방법. 아래 식의 N은 batch 크기로 in-batch negative 사용
이미지 쪽에서는 positive pair를 구성할 때 cropping, flipping, rotation 등을 활용할 수 있다. 자연어 쪽에서도 이와 유사하게 deletion, reordering, substitution 등의 기법을 이용할 수 있다.
하지만 자연어는 discrete하기 때문에 위와 같은 방법을 적용하기에는 무리가 있으며, 본 논문에서는 dropout이라는 간단한 방법을 적용하여 효과적인 pair를 구성한다.
Transformer model에는 기본적으로 fully-connected layer와 attention probabilites에 dropout(0.1)이 적용되어 있다.
입력 를 model에 2번 적용하여 positive pair인 를 얻는다.
anisotropy는 embedding space가 고르게 분포하지 못하는 특성을 말한다.
input/output이 묶여 학습된 언어 모델은 anisotropic word embedding을 이끈다.
이러한 문제를 완화하기 위한 간단한 방법은 post-processing(dominant prinipal components 제거, isotropic 분포로 매핑)이나 학습 중 regularization을 적용하는 방법이 있다.
anisotropy문제는 uniformity와 관련이 있으며 embedding들이 공간에 골고루 분포되어야 하는 것을 의미한다.
따라서, contrastive learning은 negative는 멀리 분포하게 하므로 uniformity를 향상시킬 수 있다.
SimCSE는 Dropout이라는 간단한 기법을 통해 unsupervised 방식을 소개했다.
supervised 방식에서는 NLI 데이터셋을 이용하여 기존의 contrastive learning을 적용한 모델들 보다 더욱 좋은 성능을 보여 주었다.