- 2023년 4월 28일 오후 3:34
- 조회수: 15217
INFORMATION
- 2023년 4월 28일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

금일 세미나는 Sentence embedding task에 Contrastive learning을 접목한 내용으로 재윤이가 진행했다. 평소에 주로 다루는 도메인이 아니다보니, 조금 어색하고 낯설었다. 하지만 Contrastive learning을 차근차근 개념부터 설명해주고, 어떻게 NLP 분야에 적용되었는지 사례 논문을 들어 설명해주어서 이해가 한결 수월했다.
이미지 분야에 Contrastive learning을 적용할 때, rotation, jittering, color distort 등 다양한 augmentation을 적용하여 강건한 학습을 도모한다. 하지만, 자연어 처리 문제에 있어서도 delete, insert, replace와 같은 augmentation이 존재하는데, 이러한 augmentation을 함부로 적용하게 되면 다른 도메인보다 anchor의 특징을 더 많이 잃어버릴 수 있는 문제점이 있다.
이후에는 3개의 논문을 통해 어떻게 NLP분야에 Contrastive learning이 적용되는지 살펴보았다. 첫번째 논문인 DeCLUTR은 기준이 되는 anchor와 positive를 구성하는 방법에 특이점이 있었다. 세 종류의 positive pair 구성 방식이 적용된 각각의 세 positive sample들의 representation vector를 평균 취하는 구조로 진행되었다. 두번째 논문 SimCSE는 Dropout augmentation을 활용한다. 그리고 Contrastive learning을 활용해서 상위 레이어로 갈 때 발생하는 embedding vector의 anisotropy 문제를 해결하였다. 마지막으로 DiffCSE 논문은 언어 모델인 ELECTRA와 유사한 형태로, replaced token detection loss를 활용하여 자연어 처리 분야에서 높은 성능을 달성했다.
자연어 처리 분야는 항상 어색하고 낯설지만, 이렇게 세미나를 통해 조금씩 알아갈 수 있어서 좋은 것 같다. Transformer 모델처럼 자연어 처리에서 높은 성능을 보이기도 하면서 시계열 데이터, 이미지 데이터에도 잘 활용되는 모델도 있는 것처럼, 자연어 처리 공부도 세미나를 바탕으로 하면 좋을 것 같다는 생각을 했다. 유익한 세미나 준비를 위해 고생했을 재윤이에게 감사의 말을 전하며, 세미나 후기를 마친다.

이번 세미나는 NLP의 Sentence Embedding에서 활용되는 Contrastive Learning 방법론에 대해 진행되었다. 보통 Contrastive Learning은 이미지에서 많이 연구되고 있는 방법론인데, 본 세미나에서는 자연어처리에서 어떻게 적용되었는지 소개한다. 이미지에서는 Anchor에 대한 Positive Pair로 Data Augmentation을 활용하는 반면, 자연어에서는 Data Augmentation 자체가 Anchor를 왜곡할 수 있어 Positive Pair 정의에 어려움을 겪는다. 이러한 문제상황에 대해 본 세미나는 어떻게 자연어처리에서 Positive Pair를 정의할지에 대해 총 3가지 방법론을 소개한다. 아래는 각 방법론에서 Positive Pair를 정의하는 방법을 요약한 것이다.
(1) DeCLUTR: Document 내 구성요소인 문장들을 활용한다. Positive Pair로 Anchor 문장 안에 있는 문장으로 정의하거나, 동일한 Document의 Anchor 문장과 겹치지 않게 전후의 인접한 문장으로 정의하거나, Anchor 문장과 일부가 겹치는 문장들을 Positive Pair로 정의한다.
(2) SimCSE: Dropout으로 Positive Pair를 정의한다. 놀랍게도 Input은 동일한 문장이 들어가고, Dropout에 따라 달라지는 Output을 Positive Pair로 본다. 이는 데이터 관점이 아닌, 모델 관점에서 Data Augmentation 효과를 얻는다.
(3) DiffCSE: 의미를 유지하는 Augmentation은 기존 Contrastive Learning처럼 학습하지만, 의미를 해칠 수 있는 Augmentation에 대해서는 다르게 학습한다. 이들에 대해서는 Equivariant하게 학습하며, Augmentation Encoder의 Output과 Encoder Augmentation의 Output이 유사해지도록 학습한다. 이는 ELECTRA의 Discriminator에 원본 문장의 Embedding을 Condition으로 넣어줌으로써 구현하였다.
본 세미나를 통해 자연어처리에서 Contrastive Learning이 어떻게 활용되는지 접할 수 있었다. 이미지는 오히려 Negative Pair를 어떻게 정의하느냐에 대해 Hard Negative 문제가 많이 떠오르고 있지만, 자연어의 경우 Positive 정의가 까다롭다는 것을 새롭게 알 수 있었다. 이번 세미나를 통해 개인연구에서 시도해볼 법한 아이디어들을 많이 얻어간다. 예를 들어 Document 내 여러 Sentence를 고려하여 Augmentation을 하는 DeCLUTR은 마치 이미지 내 여러 글자들이 포함되어 있는 Text Recognition 상황과 유사한데, 기회가 된다면 개인연구에 반영해보고 싶다. 그 외 Dropout-based Positive Pair, Equivariant Learning 모두 정말 직관적인 아이디어로 간만에 신선한 충격을 얻은 세미나였다. 좋은 세미나를 준비해준 정재윤 연구원님께 고맙다는 말을 전하며 이상으로 세미나 후기를 마친다.

오늘은 자연어 분야에서 contrastive learning을 사용한 3개의 논문이 소개되었습니다. contrastive learning을 하려면 결국 positive 혹은 negative 샘플을 어떻게 만들어야 할지가 관건일 것입니다. 이미지는 반전, 확대, 회전 등의 변환이 원래의 label에 영향을 주지 않는 경우가 많아 augmentation이 다른 도메인에 비해 용이하지만 자연어의 전환 방식인 reaplce, delete, insert를 통해 핵심 단어를 잘못 변환하면 positive sample을 의도했음에도 오히려 negative sample에 가까워지는 오류가 범하기 쉽습니다. 따라서 각 논문에서 agumentation을 어떻게 고민했는지 무엇보다 주의 깊게 들었습니다.
첫 번째 논문은 이 문제를 anchor 인근의 문장을 활용하는 방식으로 풀었습니다. bath size 크기의 문장을 모아 하나의 document를 정의합니다. 그리고 이 안에서 여러 개의 anchor와 anchor와 문장이 겹치는 정도에 따라 easy 혹은 hard sample 구성합니다. 예를 들어 batch size가 3임을 가정했을 때 A, B, C의 3개 문장을 하나의 document로 간주하고, B문장이 achor일 때 A'(일부) + B(일부), B(일부)+C'(일부)를 positive로 정합니다. negative는 easy와 hard로 구분할 수 있는데 document가 다른 경우는 easy로 document가 같으나 achor와 겹치지 않는 문장으로 구성된 샘플은 hard sample로 정의하였습니다.
두 번째 논문인 SimCSE에서는 unsupervised 방법과 supervised 방법이 소개되었습니다. unsupervised 방법은 오직 dropout 만을 사용했습니다. 문장의 단어를 직접 변경하는 방식이 아닌 네트워크 구조에서 dropout 비율을 낮춰 약간의 변형을 가한 sample은 positive로 간주할 수 있다는 아이디어가 매우 좋았다고 생각합니다. 물론 dropout 이후 embedding 백터가 어떤 의미의 문장인지 사람은 이해할 수는 없는 단점은 있습니다만 데이터를 변경하는 것이 아닌 embedding 과정에서 dropout 을 통해 augmentation 하고 성능을 높였다는 점은 이미지 이외에도 다양한 도메인에서 contrastive learning 방법을 찾을 수 있는 가능성을 시사한다고 생각합니다. supervised SimCSE는 NLI의 레이블을 활용하여 contrastive learning을 진행했고 unsupervised, supervised 방법 모두 좋은 성능을 기록했습니다.
마지막 논문인 DiffCSE는 좀 더 다양한 augmentation 방법 사용합니다. SimCSE는 random dropout을 통해 문장을 변형하고 모두를 positive sample로 간주합니다. DiffCSE는 단어를 바꾸는 replace 기반의 augmentation을 추가하고 학습하는 새로운 방법을 제안합니다. 논문에서 equivariant 방법이라고 하는데 문장을 replace한 후 embedding 한 값과 embedding 한 후 변형한 결과를 같도록 학습하는 것을 말합니다. 학습 구조는 ELECTRA에서 제안한 구조를 활용했습니다.
contrastive learning는 대부분 이미지 연구 커뮤니티에서 소개가 되어 다른 분야에서의 활용 방법이 궁금했었는데 오늘 자연어에서 적용된 방법을 알 수 있어서 유익했고 특히 원본의 데이터를 변형하는 것이 아닌 2번째 소개된 논문에서 네트워크에서 변형을 가하는 방법도 있다는 것을 알게 되어 특히 유용했습니다. 다만 각 논문의 결과 비교에서 자연어 모델의 성능을 어떻게 비교했는지 궁금해서 내용들을 찾아봤는데 자연어 모델의 평가 방법도 매우 다양하여 이 또한 많은 공부가 필요함을 알게 되었습니다. SimCSE의 다른 정리 내용으로 아래의 블로그 글도 있으니 (https://velog.io/@lm_minjin/논문-리뷰-SimCSE-Simple-Contrastive-Learning-of-Sentence-Embeddings) 관심 있으신 분들은 참고하시기 바랍니다. 세미나 준비 및 발표에 수고 많으셨습니다.

이번 세미나는 Contrative Learning을 Sentence에 적용한 방법론들에 대해 설명하는 내용이었다. 주로 Contrative는 Anchor를 기준으로 Positive sample은 가깝게, Negative sample은 멀어지게 학습하는 방법으로 레이블이 없는 상황에서도 보다 좋은 Representation을 학습하기 위한 Self-supervised Learning의 방법론으로 주로 사용된다. 잉렇게 이미지 데이터와는 달리 NLP에서 Augmentation을 잘못 적용하게 되면 Anchor가 가진 레이블 정보를 크게 해치므로 조심스럽게 적용해야한다.
세미나에서는 최근 자연어 처리 연구 분야 중 Sentence embedding 쪽에서 Contrative Learning을 적용해 성능을 개선 시킨 'DeCLUTR', 'SimCSE', 'DiffCSE' 모델에 대해 소개하고 있다.
먼저, DeCLUTR은 Anchor와 Positive를 같은 Encoder 및 Pooler로 통과시키고 산출된 Embedding vector들의 거리를 최소화하는 구조를 가지고 있다. 3가지 방법으로 Anchor와 Positive의 Pair를 구성할수 있으며 한 개의 Anchor에 여러 개의 Positive sample의 평균을 이용하거나, 하나의 Document에서 여러 개의 Anchor를 생성하는 방법이 있다. 성능은 Supervised, Semi-Supervised 모델보다는 좀 낮지만 Transformer 계열의 언어 모델보다는 전반적으로 높은 성능을 보여준다.
또, SimCSE는 Dropout noise를 Augmentation 기법으로 활용하는 방법을 이용한다. Unsupervised Learning에서 Encoder내의 Random dropout을 Augmentation으로 활용하며 같은 문장을 두번 통과시켜 얻은 2개의 Embedding을 각각 Anchor, Positive로 사용한다. Supervised Learning으로는 기존 자연어 처리분야에서 활용되는 NLI계열의 데이터셋을 활용해 각 관측치가 두개의 문장으로 구성되며, 레이블로 두 문장의 관계를 Entailment, Neutral, Contradiction으로 나눠서 가지고 있는다. BERT-base, RoBERTa-base, RoBERTa-large를 Encoder로 활용하며 실험 결과 Unsupervised/Supervised 모두 가장 좋은 Sentence embedding을 가지는 성능을 보여줬다.
마지막으로 DiffCSE는 ELECTRA를 적용함으로써 좋은 성능을 나타낸다. Embedding차원에서 Positive와 Anchor가 최대한 유사하게 Invariant를 고려하는건데, Data Augmentation 과정에서 Sensitive와 Insensitive 방법으로 구분하여 Insensitive한건 Invariant하게 Sensitive한건 Equivariant하게 학습함으로써 좋은 Embedding을 찾는다. 결국 가장 성능이 좋은 방법으로 증명되었다.
위 세가지 모델 전부 이미지 데이터와는 다르게 자연어에 Data Augmentation을 적용할때 Anchor의 의미가 손상되지 않도록 Anchor-Positive Data를 잘 구축하여 효과적으로 Contrative Learning을 하는 방법론들이다. 이번 세미나를 듣기전에 Contrative Learning은 막연하게 이미지 데이터에만 사용되는 줄 알았는데, Pair와 Augmentation을 잘 이용하면 자연어 처리도 문제 없다는 것을 알게 되었다. 특히 Transformer 성능에 버금간다니 아주 놀랍다. 유익하고 신선한 세미나를 준비해주신 정재윤 연구원님께 깊은 감사를 표하며 후기를 마친다.

금번 세미나는 자연어 처리를 위한 Contrastive Learning 방법론에 대하여 진행되었다. 유사한 데이터는 가까워지게, 상이한 데이터는 멀어지게 학습한다는 기본적인 아이디어를 바탕으로 학습이 이루어지는데 주로 이미지에 대한 방법론만 공부 했었고 자연어 처리에 대해서는 생소 하였기 때문에 어떻게 대조학습이 언어모델에서 적용되는지 흥미롭게 청취할 수 있었다. 세미나에서 DeCLUTR/SimCSE/DiffCSE 총 3가지의 방법론을 소개해주었다. 최근 개인연구를 진행함에 있어서 이미지임에도 불구하고 도메인에 따라서 적용할 수 있는 데이터 증강 기법에 굉장히 제한적인것을 체감하고 있었기에 서론에서 언급한 제약사항들을 쉽게 공감할 수 있었다. 첫번째 방법론인 DeCLUTR에서는 Anchor와 Positive/Negative를 어떻게 구성하는가가 핵심이었다. Anchor와 일부 겹치거나, 겹치지 않으나 전후에 위치하거나, 그리고 Anchor 내부에 있게 Positive 샘플을 여러개로 생성하고 평균을 취하여 보다 나은 성능 개선을 이루었다고 한다. 또한 Negative 샘플도 Hard와 Easy로 구분하여 정의하였다. NLP 관련 분야를 거의 하지 않다보니 Document를 비롯하여 벤치마크, 성능 평가 척도라던지 다양한 부분이 생소하였고 새롭게 접할 수 있어서 좋았다. 특이하게도 성능 비교표에서 모든 항목에서 가장 높은 성능을 내지는 못하였어도 해당 방법론의 기여점을 어필하고 의의를 가진다는것도 재밌었다. 항상 새로운 방법론은 기존 방법론보다 모든 데이터셋 또는 환경에서 높은 성능을 낼거라고 생각하고 그래야만 논문이 된다 라는 고정관념이 있었는데 연구를 너무 단면만 보고 있지 않았나 하는 반성을 하였다. 두번째는 SimCSE로 Dropout Noise를 증강 기법으로 활용하여 비교적 간단하게 성능을 높였다고 한다. 자연어에서 데이터 증강 기법이 굉장히 민감하고 제약이 심하다 보니 Random한 Dropout을 동일한 문장에 적용하여 Positive 샘플을 생성하였다. 굉장히 단순한 방법임에도 SOTA를 달성하였다고 하니 모델이 복잡하고 어려울 수록 좋은건 아니라는걸 또 한번 깨닫게 되었다. 또한 Alignment와 Uniformity에 대해 설명하는데 이 2개의 개념은 전혀 모르던 개념이었기에 본 세미나를 통해서 쉽게 지식을 얻어갈 수 있어서 좋았다. 마지막은 DiffCSE라는 방법론인데 SimCSE보다 높은 성능을 달성한 SOTA 방법론이다. 이 방법론은 증강 기법을 통하여 내포한 의미가 달라졌을때 이를 학습에 반영하는 것인데 Insenseitive/Sensitive한 증강기법을 구분하여 학습을 진행한다. 전체적으로 자연어 분야가 생소하다보니 방법론은 본 세미나를 통해 쉽게 이해가 되어도 실제 어떻게 돌아가는지는 감이 잘 오지 않아 실제 코드를 공부해봐야 정확히 이해할 수 있을것 같다. 하지만 3가지의 방법론에서 개인연구에 적용할 아이디어는 많이 얻어가는것 같아 매우 유익한 시간이었다. 바쁜 와중에도 좋은 세미나를 준비한 정재윤 연구원님께 감사의 말을 전하며 이상으로 세미나 후기를 마친다.

이번 세미나는 "Contrastive Learning for Sentence Embedding"을 주제로 진행되었다. Contrastive Learning은 Metric Learning 기법의 하나로 특정한 기준에 따라 데이터 간의 거리 함수를 학습하는 방법론이다. 해당 방법론의 경우 자기 지도학습에서 사용하고 있는 방법으로 레이블이 없는 상황에서도 좋은 representation을 학습할 수 있다는 장점이 있다. 지금껏 이미지 분야에서 contrastive learning이 사용된 방법론(MOCO, BYOL 등)을 많이 접했었는데 본 세미나에서는 자연어 처리 분야에서 사용된 방법론 3가지 소개가 핵심적으로 다뤄지고 있다. 이미지와 달리 텍스트에 데이터 증강 기법을 적용하게 되면 해당 정보가 많이 훼손될 수 있는 한계가 있는데 이러한 한계를 어떻게 다뤘는지에 관해 관심을 두고 살펴보는 것이 중요한 것 같다.
1. DeCLUTR
- 해당 방법론은 Document에 대한 anchor-positive를 다양하게 구성해서 대조 학습을 적용하는 것이 핵심이다. NLP에서는 좋은 sentence embedding이 있어야 한다. 이를 위해 레이블이 달린 대량의 데이터가 필요한데, 항상 레이블이 있는 데이터가 부족하다는 한계가 있다. 따라서 본 논문에서는 레이블이 없는 데이터를 대조 학습을 사용해 좋은 sentence embedding을 학습하고 있다.
2. SimCSE
- 해당 방법론은 가장 익숙한 방법론으로, Dropout을 데이터 증강 기법으로 활용해 동일한 문장을 입력으로 하되 dropout에 따라 추출되는 feature가 다른 것에서 anchor와 positive를 정의한다. 그리고 당연하게도 anchor와 다른 문장은 모두 negative로 활용해 대조 학습을 진행한다. 해당 방법론에서 가장 큰 기여점은 언어 모델을 통해 나온 embedding feature들이 embedding space 상에서 한쪽으로 몰리는 Anisotropy 문제를 개선했다는 점이다.
3. DiffCSE
- 해당 방법론은 ELECTRA를 적용해 대조 학습을 진행한 연구이다. 기존 SimCSE가 적용한 데이터 증강 기법 활용에 관해 지적하며 데이터 증강 기법을 적용했을 때 각 embedding feature가 내포하는 의미가 달라진다고 할지라도 그 역시 반영할 수 있어야 한다는 측면에서 본 연구는 시작되었다. 이를 위해 데이터 증강 기법에 insensitive, sensitive 방법으로 구분해 두 증강 기법에 따른 학습 방법도 invariant, equivariant하게 학습 방법을 활용하고 있는 것이 특징이다. 결과적으로 해당 방법론이 SimCSE에 비해 더 좋은 성능을 보인다.
재윤이의 세미나는 찍는다고 했을 때부터 기대하고 있었다. 도입부부터 이미지 기반에서 사용하는 대조 학습과 자연어 처리 분야에서 사용하는 대조 학습에 관해 간략히 설명해 주는 것을 시작으로 관련 방법론 3가지를 소개해 주었는데, 워낙 부드러운 흐름이라 이해하는데 몹시 어렵지 않았다. 그뿐만 아니라, 세미나 관련 오프라인 질문도 성심성의껏 받아준 재윤이에게 정말 고맙고 이상으로 세미나 후기를 마친다.

금일은 NLP 분야에서 사용하는 contrastive learning 기법에 대한 내용을 중심으로 세미나가 진행되었다. Computer vision 분야에서 contrastive learning을 사용하기 위해서는 원본 이미지에 augmentation을 적용해 유사한 특성을 지닌 이미지 쌍(anchor - positive)을 생성해야 한다. NLP에서도 해당 기법을 적용하기 위해서는 원본 text 데이터의 특성을 크게 해치지 않으면서 anchor와 positive를 생성할 수 있는 방법이 필요하다. 해당 세미나에서는 이러한 방법들과 관련된 연구들이 소개 되었다. 먼저 DeCLUTR 연구는 선택된 document 내에서 일부분을 선택하여 anchor와 positive를 생성하게 된다. 이 때 anchor와 positive가 일부 겹치거나, 겹치지 않거나, 포함되는 관계 모두 포함한다. 두번째로 SimCSE 연구는 같은 문장을 encoder에 2번 통과시켜 얻은 embedding 값을 각각 anchor, positive 쌍으로 구성하여 학습하게 된다. 마지막으로 DiffCSE는 sensitive한 augmentation 기법과 insensitive한 augmentation 기법을 적절히 섞어서 좋은 embedding을 만들고자 한다. 개인적으로 NLP 관련된 연구에 대한 공부가 부족하다고 느꼈는데 본 세미나에서 많이 배울 수 있어서 좋았다. 특히 contrastive learning을 NLP 분야에서 사용하기 위해 적용하는 기법은 꽤 궁금한 부분이었는데, 이 부분에 대해 공부할 수 있다는 것이 특히 좋았다. 좋은 세미나를 준비해준 재윤이에게 고마움을 전한다.

이번 세미나는 자연어 분야에서의 대조 학습에 대해 재윤이형이 진행해주었다. 대조 학습은 레이블 데이터가 부족할 때, 보다 좋은 representation을 학습하기 위해 적용된다. 주로 vision 분야에서 많이 사용되는데, 자연어 분야에서는 augmentation을 잘못 적용하면 anchor가 가진 정보를 크게 해칠 수 있다는 문제점을 가지고 있다. 이번 세미나에서는 이러한 점을 보완하기 위한 논문 세가지에 대해 설명해주었다.
DeCLUTR은 document에 대한 anchor-positive를 다양하게 구성하여 대조 학습을 적용한다. 결과적으로 SOTA의 성능을 도출하지는 못했지만 downstream task에서 보통 우수하다는 transformer 계열의 언어 모델보다 좋은 성능을 도출했다는 의의를 가진다고 한다.
SimCSE는 dropout 및 NLI 데이터셋을 사용한다. Unsupervised SimCSE는 배치 내 한 문장을 encoder에 두 번 통과시켜 각각을 anchor, positive로 사용한다. Supervised SimCSE는 NLI 데이터셋에서 entailment 관계의 문장들을 positive, contradiction 관계의 문장들을 negative로 정의한다. 해당 방법론은 SOTA의 성능을 도출함과 동시에 대조 학습에서의 문제점이 될 수 있는 alignment와 uniformity도 해결하였다고 한다.
DiffCSE는 equivariant contrastive learning을 적용하였다. Augmentation 기법은 크게 sensitive와 insensitive로 구분할 수 있는데 두 가지를 적절히 학습한다면 좋은 embedding을 찾을 수 있을 것이라는 가설을 기반으로 연구가 진행되었다. 모델 프레임워크는 크게 sentence encoder, generator, discriminator로 구성된다. 그러나 generator는 학습 대상이 아니라는 부분이 눈에 띄었다. 본 방법론은 실험적으로 SOTA의 성능을 도출하였다.
이번 세미나는 대조 학습에 대한 간단한 소개를 시작으로 진행되었다. 덕분에 대조 학습에 대해 리마인드 할 수 있었고 자연어 분야에서 대조 학습을 왜 적용하기 어려웠는지에 대해 이해할 수 있었다. 접하기 어려운 자연어 분야에서의 대조 학습에 대해 좋은 세미나 자료를 준비해주신 재윤이형에게 감사드리며 본 세미나 후기를 마친다.

이번 세미나는 Contrastive Learning for Sentence Embedding를 주제로 진행되었다. 대조 학습은 Metric Learning 방법론 중 하나로 Anchor를 기준으로 Positive Samples는 가깝게, Negative Samples는 멀어지게 학습하는 방법이다. 대조 학습은 비전 분야에 특히 많이 사용되었으며, 좋은 representation을 학습하는 방법론으로 발전되었다. NLP가 대조 학습에 적용되는 사례에 대해 이번 세미나에서 소개되었으며, NLP는 비전과 다르게 Augmentation 이슈로 인해 대조 학습을 적용하는 것에 한계가 존재한다. 이를 해결하고 좋은 Sentence Embedding을 얻기 위한 3가지 논문이 소개되었다.
첫 번째 DeCLUTR은 언라벨 데이터를 대조 학습을 통해 좋은 Sentence embedding을 학습하고자 하는 모델로 도큐먼트내에 Anchor와 Positive를 추출하여 거리를 최소화하는 방법론이다. 두 번째 SimCSE는 인코더 안에 random Drop out을 통한 noise를 주는 augmentation 활용 방법으로 augmentation을 통해 같은 데이터에서 나온 데이터는 Positive로 학습하고 나머지는 Negative로 학습한다. 세 번째 DiffCSE는 Equivariant 대조 학습을 활용하여 NLP에 특화된 Replace Augmentation을 적용하여서 더 나은 임베딩 벡터를 추출하는 방법론이다.
NLP 분야는 개인적으로 생소하기도 하고 용어에 대해 어렵게 느껴졌는데 해당 세미나를 통해 도큐먼트, Sentence Embedding 등 쉽게 접하고 이해할 수 있어서 유익하게 느껴졌다. 한 쪽 분야 즉, 비전에서 발전하는 대조 학습을 NLP에 접목 시키려고 하는 노력들을 통해 각 분야가 점점 발전해 나간다는 것을 느꼈고, 현재 내 분야가 NLP와 멀게 느껴질 수 있지만 이런 아이디어를 내 개인 연구에 접목 시킬 수 있기 때문에 세미나를 더 열심히 들어야겠다는 생각이 들었다. 좋은 세미나 준비하느라 고생했다고 정재윤 연구원에게 얘기를 전하며 세미나 후기를 마친다.

대조학습을 통해 문장의 임베딩 벡터를 효과적으로 학습할 수 있는 3가지 논문 소개 세미나를 청취하였다. DeCLUTR는 대조학습에서 가장 중요한 Anchor, Positive, Negative 선정 방법을 자연어(문서) 데이터에 적합하게 정의하는 방법을 연구하였으며, 문서 데이터이기에 가능한 1.[One anchor - many positive], 2.[Many anchor] 방식을 제안하였다. Sim(ple)CSE는 드랍 아웃을 활용하여 정말 간단한 Anchor-Positive 선정 방식을 제안하였고, 이것이 약한 데이터 증강(노이즈)에도 Label 정보가 변동되기 쉬운 자연어 특성에 매우 알맞은 방법이었음을 실험적으로 입증하였다. 여기서 올바른 임베딩 벡터에 대한 조건으로 Alignment, Uniformity 개념이 소개되었는데 알게 되어 유익하였다. 또한, 대조학습 내 Invariant, Equivariant에 대한 개념 또한 새롭게 알게 되었는데, 기존에 알고 있었던 대부분의 대조학습은 Invariant 계열의 방법론이였고, 데이터 증강에 의미가 변하기 쉬운 자연어 분야에서는 Equivariant 기반의 대조학습이 효과적임을 이해하게 되었다. DiffCSE는 이에 착안하여, Conditional 개념과 Discriminator 모듈을 활용해 Equivariant 기반 대조학습 학습을 하고 좋은 성능을 낸 알고리즘이다. 좋은 세미나를 준비하느라 많이 고생했을 재윤이에게 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.