Upgrade to Pro — share decks privately, control downloads, hide ads and more …

(SNLP2022)DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings

Kaori Abe
September 27, 2022

(SNLP2022)DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings

最先端NLP2022(2022/9/26-27開催)勉強会にて,発表に用いたスライドです.

・論文情報
Title: DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings (NAACL 2022)
Authors: Yung-Sung Chuang, Rumen Dangovski, Hongyin Luo, Yang Zhang, Shiyu Chang, Marin Soljačić, Shang-Wen Li, Wen-tau Yih, Yoon Kim, James Glass
paper URL (OpenReview): https://openreview.net/forum?id=SzGgMLQfSb5

・発表者情報
東北大学 乾・坂口・徳久研究室
阿部 香央莉

Kaori Abe

September 27, 2022
Tweet

More Decks by Kaori Abe

Other Decks in Research

Transcript

  1. 紹介︓ 乾・坂⼝・徳久研究室 博⼠3年 阿部 ⾹央莉 2022/09/27 最先端NLP勉強会2022 1 ※資料中の図表は注釈がない限り元論⽂からの引⽤です

  2. • SimCSE [Gao+, 2021] より頑健な教師なし⽂表現学習の枠組みを 提案 • SimCSE: 最新のBERT系⽂表現モデルでとりあえずコレ,なモデル •

    SimCSEのlossにsensitiveな擬似事例を考慮する項を追加 (= 擬似事例のうち,元⽂と区別してほしい例はちゃんと区別したい) • Sensitiveな擬似事例 : (今回は)MLMでトークン置換した⽂ • Computer Vision分野 [Dangovski+, 2021] からinspired • Ablation, analysisが厚め Overview 2022/09/27 最先端NLP勉強会2022 2 [Dangovski+, 2021] Equivariant Self-Supervised Learning: Encouraging Equivariance in Representations. ICLR2022 https://openreview.net/forum?id=gKLAAfiytI [Gao+, 2021] SimCSE: Simple Contrastive Learning of Sentence Embeddings. EMNLP2021 https://aclanthology.org/2021.emnlp-main.552/
  3. • 幅広い下流タスクで性能を出す“汎⽤”⽂表現モデル (sentence encoder) の学習が重要 • 下流タスク︓レビュー予測,感情分析,検索 … • モデル︓Universal

    Sentence Encoder, Sentence-BERT, SimCSE … • 近年のトレンドは対照学習 (contrastive learning) による ⾃⼰教師あり学習 (self-supervised learning) • 似ている表現ペアは近づける(異なる表現ペアは遠ざける) 背景1: 対照学習で汎⽤⽂表現を獲得 2022/09/27 最先端NLP勉強会2022 3 私は学⽣です。 僕は⾼校⽣です。 りんごが5個ある。 みかんが3個ある。 りんごが3個ある。 ※⽂表現空間のイメージ図
  4. •対照学習で⾃⼰教師あり学習 → 正例・負例ペアを 擬似的に⽣成(data augmentation) •Unsupervised SimCSE [Gao+, 2021] の場合

    背景1: Data augmentationにより対照学習 2022/09/27 最先端NLP勉強会2022 4 正例︓ 元⽂ 元⽂の隠れ層表現をdropout 負例︓ 元⽂ 同⼀バッチ中の他の例 私は学⽣です。 私は学⽣です。 近づける 私は学⽣です。 りんごが5個ある。 遠ざかる
  5. •対照学習で⾃⼰教師あり学習 → 正例・負例ペアを 擬似的に⽣成(data augmentation) •Unsupervised SimCSE [Gao+, 2021] の場合

    背景1: Data augmentationにより対照学習 2022/09/27 最先端NLP勉強会2022 5 正例︓ 元⽂ 元⽂の隠れ層表現をdropout 負例︓ 元⽂ 同⼀バッチ中の他の例 私は学⽣です。 私は学⽣です。 近づける 私は学⽣です。 りんごが5個ある。 遠ざかる 上⼿い擬似事例 の作り⽅が鍵
  6. •対照学習で⾃⼰教師あり学習 → 正例・負例ペアを 擬似的に⽣成(data augmentation) •Computer vision (CV) 分野の場合 背景1:

    Data augmentationにより対照学習 2022/09/27 最先端NLP勉強会2022 6 正例︓ 元画像 元画像からの transformation 負例︓ 元画像 同⼀バッチ中の他の例 近づける 遠ざかる 上⼿い擬似事例 の作り⽅が鍵 ※画像は[Dangovski+, 2021] [Chen+, 2020]より拝借 グレースケール (distortion) 回転 (rotation)
  7. 先⾏研究︓equivariant contrastive learning [Dangovski+, 2021] • 気持ち︓“正例” 扱いしていた擬似事例をより細かく識別しよう︕ • [Chen+,

    2020]「回転にinsensitiveな表現であるモデルがベンチマーク上で の性能良くない」 (※CV分野の研究) → insensitive/sensitiveな擬似事例に対し,2種類のlossを⽤いる Insensitiveな例 : グレースケール → contrastive loss Sensitiveな例 : 回転 → prediction loss 背景2: Insensitive/Sensitiveな事例を区別して対照学習 2022/09/27 最先端NLP勉強会2022 7 元の例と似ている例の表現を, 元の例の表現と近づける 元の例と異なる例に対し, 元の例からの変更箇所を予測 [Chen+, 2020] A simple framework for contrastive learning of visual representations. In International conference on machine learning, pages 1597–1607. PMLR. https://arxiv.org/pdf/2002.05709 ※図は[Dangovski+, 2021]より拝借
  8. • Insensitive/sensitiveな擬似事例に対し,2種類のlossを⽤いる Insensitive : 隠れ層dropout → contrastive loss Sensitive :

    MLMによるトークン置換 → prediction loss • [Gao+, 2021] 「(正例として)隠れ層dropout > 特定のトークン置換」 → 後者は時として意味が変わるため,元⽂ <-> 置換後⽂の表現同⼠を必ずしも 近づける必要がないのでは︖ 本研究︓これをNLP(⽂表現獲得)に応⽤ 2022/09/27 最先端NLP勉強会2022 8 🤔 どこからinsensitive/sensitiveな擬似事例︖ • 結局,何を基準に判断するのか︖ • dropoutも割合を⾼くすると本来の意味を損なう(=sensitive) • MLMによる置換でも本来の意味を損なわない場合もありえる(=insensitive) • NLPの置換然りCVの回転然り,実際に悪影響があるかどうかで判断︖ → しばらくモデルを触ってみないとわからない…︖︖😥
  9. Architecture: 2種類のloss 2022/09/27 最先端NLP勉強会2022 9 Contrastive loss (隠れ層dropout) Prediction loss

    (MLMによる置換)
  10. Architecture: Contrastive loss(隠れ層dropout) 2022/09/27 最先端NLP勉強会2022 10 Contrastive loss (隠れ層dropout) Prediction

    loss (MLMによる置換) • Unsupervised SimCSE [Gao+, 2021]と同じ ※図は[Gao+, 2021] より引⽤ N: バッチサイズ,sim: cos類似度, τ: 温度 (hyper parameter) 元⽂隠れ層 元⽂隠れ層 dropout 元⽂隠れ層 ランダム取得 した⽂の 隠れ層dropout 厳密にはこっちにも Transformer標準の dropoutあり
  11. Architecture: Prediction loss(MLMによる置換) 2022/09/27 最先端NLP勉強会2022 11 Contrastive loss (隠れ層dropout) Prediction

    loss (MLMによる置換) • 基本的発想︓ELECTRA [Clark+, 2020] のprediction objectiveの「条件付き」ver (復習)ELECTRA : Generator & Discriminatorの組み合わせ (1) 元の例をランダムに[MASK] (2) MLM (Generator) で[MASK]を予測 (3) Discriminator(下式)により,どのトークンが置換されたか予測 [Clark+, 2020] ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators https://arxiv.org/abs/2003.10555 位置𝑡にあるトークンが 元⽂と同じ 位置𝑡にあるトークンが 元⽂と異なる ※式は[Clark, 2020] より引⽤
  12. Architecture: Prediction loss(MLMによる置換) 2022/09/27 最先端NLP勉強会2022 12 Contrastive loss (隠れ層dropout) Prediction

    loss (MLMによる置換) • 基本的発想︓ELECTRA [Clark+, 2020] のprediction objectiveの「条件付き」ver 位置𝑡にあるトークンが 元⽂と同じ 位置𝑡にあるトークンが 元⽂と異なる 𝐷: Discriminator, 𝑇: ⽂⻑ 𝑥: 元⽂, 𝑥′′: 置換後の⽂, 𝐡: 隠れ層, 𝑡: トークンの位置
  13. Architecture: Prediction loss(MLMによる置換) 2022/09/27 最先端NLP勉強会2022 13 Contrastive loss (隠れ層dropout) Prediction

    loss (MLMによる置換) • 基本的発想︓ELECTRA [Clark+, 2020] のprediction objectiveの「条件付き」ver 条件付きDiscriminator 𝐷 により, 𝐷の勾配が 𝐡 = ⽂エンコーダ𝑓に 逆伝播される 𝐷: Discriminator, 𝑇: ⽂⻑ 𝑥: 元⽂, 𝑥′′: 置換後の⽂, 𝐡: 隠れ層 (=𝑓(𝑥)), 𝑡: トークンの位置
  14. • 2種類のタスクで評価 • STS : 2⽂間の類似度予測タスク • Transfer task :

    SentEval [Conneau&Kiela, 2018] 中のタスク • review, sentiment analysisなどの1⽂に対する分類タスクが中⼼ • モデルから得られた⽂表現を各タスクに対しロジスティック回帰 で転移学習(transfer learning) Evaluation: STS & Transfer task in SentEval 2022/09/27 最先端NLP勉強会2022 14 [Conneau&Kiela, 2018] SentEval: An Evaluation Toolkit for Universal Sentence Representations. * https://github.com/facebookresearch/SentEval [Wang+, 2022] Just Rank: Rethinking Evaluation with Word and Sentence Similarities. https://aclanthology.org/2022.acl-long.419/ 余談︓🤔 STSとTransfer taskの評価結果の傾向が合わない [Wang+, 2022] • 原因︓ドメインの不⼀致やSTSの類似度基準の曖昧性(クラウドソーシングに よるアノテーション) • 本論⽂でも,Ablation StudyやAnalysis部分では頻繁に傾向が異なる • [Wang+, 2022]では新しい⽂類似度評価指標の提案も = 「STSを使った評価はダメ」 • これが主流になっていくのかどうかは不明
  15. Experiment: STS & Transfer task in SentEval 2022/09/27 最先端NLP勉強会2022 15

    STS, Transfer task ともにDiffCSEが SimCSEを上回る STS(上), Transfer task(下) ともに “概ね” DiffCSE > SimCSE ※DiffCSEはSimCSEと完全に 同じデータで学習 「元としたデータ」は同じだが, 「⾒た例」は厳密には augmentationで異なるはず
  16. Experiment: STS & Transfer task in SentEval 2022/09/27 最先端NLP勉強会2022 16

    よく⾒ると…🔍 🤔 DiffCSEは SimCSE w/ MLM (MLMを⽂表現学習 のauxiliary taskとし て使ったもの)より 少し劣る…︖ ※SimCSE w/ MLMは Transfer taskの性能を Boostする⽅法として [Gao+, 2021]のAppendixで提案
  17. 1. Generatorのサイズ 2. Maskに関するあれこれ(割合,置換/挿⼊/削除) 3. BatchNormが効果的 4. Contrastive lossを抜いてみた 5.

    Quick-Thoughts [Logeswaran&Lee, 2018] 期における 「次の⽂」を予測するobjectiveを試してみた • 本研究は「同じ⽂のどこに⼿を加えたか」の予測 6. Prediction lossを他の条件付きMLMに置き換えてみた Ablation Study(たくさん) 2022/09/27 最先端NLP勉強会2022 17 [Lageswaran&Lee, 2018] An efficient framework for learning sentence representations. https://openreview.net/forum?id=rJvJXZb0W
  18. Ablation Study: Generatorのサイズ 2022/09/27 最先端NLP勉強会2022 18 ELECTRA [Clark+, 2020] :

    GeneratorはDiscriminatorの1/4-1/2程度 = 弱めが良い → Discriminatorに程よい難しさの擬似事例を与えると良い DiffCSE︓ • STS : largeでも下がる(ELECTRA同様?)が,medium → tinyで結構下がる → ⼩さすぎると条件付きDiscriminatorで学習した⽂エンコーダにとって簡単すぎる︖ • Transfer : ⼤きな変化はなし ⼩ サイズ ⼤
  19. Analysis: Uniformity & Alignment 2022/09/27 最先端NLP勉強会2022 19 SimCSEはUniformity,DiffCSEはAlignmentの観点でそれぞれ優れている [Wang&Isola, 2020]

    Understanding contrastive representation learning through alignment and uniformity on the hypersphere. https://proceedings.mlr.press/v119/wang20k.html [Wang&Isola, 2020] 「対照学習で得られたembedding分布において,以下の2要素と 下流タスクの性能に相関あり」 • Alignment : 正例とされたペアが近く配置されているか • Uniformity : embeddingの分布がuniform(⼀様)になっているか 🤔 性能が低いAvg. BERTとUniformityは同程度 but STSでの性能はSimCSEより上 • Prediction lossがAlignmentに寄与︖ & 対照学習で得られるUniformityを損なう︖︖
  20. Analysis: 出⼒される類似度の分布 2022/09/27 最先端NLP勉強会2022 20 DiffCSEの⽅が⾼い値に 寄っている → [Meng+, 2021]らが⾔及

    しているTransformer系の 表現空間の縮退の影響︖ Representation Degeneration Problem? Anisotropy? [Meng+, 2021] COCO-LM: Correcting and Contrasting Text Sequences for Language Model Pretraining https://arxiv.org/pdf/2102.08473.pdf → uniformityの悪化︖
  21. • まとめ • 汎⽤⽂表現モデルとして,SimCSEより頑健な教師なし(⾃⼰教師あり) 学習の枠組みとなるDiffCSEを提案 • 元⽂に対しMLMによる置換で⽣成した擬似事例を考慮するlossを追加 → STS, Transfer

    task (SentEval) での性能向上 • DiffCSEはSimCSEよりAlignment(正例同⼠が近い)の観点で優れた表現 が得られる • 個⼈的感想 • 👍 CVで効果あり → NLPに適⽤してみる系の取り組み • 👍 分析が分厚い • hyperparameterの⽐較で幅を取っていると⾒れなくもない…︖ • 🤔 Insensitive/Sensitiveな擬似事例の境界線 • 現状は「分析により区別しないのが悪影響だとわかった」からsensitive扱い → 潜在的なsensitive事例はまだありそう • 🤔 Uniformity/Alignmentについての分析がもう少しできそう • 「Uniformityを損なっているのにSTS/Transfer task共に性能が良い」ことへの考察︖ • [Gao+, 2021]もAppendixで「『”good uniformity” → transfer taskの性能向上』とは 限らない」と⾔ってたり… まとめ & 感想 2022/09/27 最先端NLP勉強会2022 21
  22. Appendix 2022/09/27 最先端NLP勉強会2022 22

  23. •Unsupervised SimCSE (Gao+, 2021) の場合 背景1: Data augmentationにより対照学習 2022/09/27 最先端NLP勉強会2022

    23 正例︓ 元⽂ 元⽂のembeddingをdropout 負例︓ 元⽂ 同⼀バッチ中の他の例 私は学⽣です。 私は学⽣です。 近づける 私は学⽣です。 りんごが5個ある。 遠ざける 上⼿い擬似事例 の作り⽅が鍵 •Supervised SimCSE の場合 正例︓ NLIデータにおけるentailment(含意)ペア 負例︓ 〃 contradict(⽭盾)ペア
  24. Ablation Study 2: MLMで置換 → 挿⼊/削除 2022/09/27 最先端NLP勉強会2022 24 •

    STS : 置換が最も良い • Transfer : 削除が最も良いが,どの作成⽅法(置換/挿⼊/削除) でも全体的に同程度の性能(変化なし)
  25. Ablation Study 3: [MASK]する割合・lossの重みλ 2022/09/27 最先端NLP勉強会2022 25 • [MASK]する割合は30%が最も良いが,⼤きな変化はない (個⼈的にはちょっと意外)

    • λの値は0.005が最も良い
  26. Ablation Study 3: BatchNorm 2022/09/27 最先端NLP勉強会2022 26 • Batch Normalizationの効果が良い感じ

  27. Ablation Study 4: lossの形式 2022/09/27 最先端NLP勉強会2022 27 • Contrastive lossなし(prediction

    lossのみ)︓STSの性能が顕著に低下 • 「次⽂の予測」 loss︓性能低下 • 別の条件付きLM(corrective language model)︓性能低下
  28. Uniformity & Alignment (Wang&Isola, 2020) 2022/09/27 最先端NLP勉強会2022 28 図は(Wang&Isola, 2020)より引⽤

    Alignment: positive pairとされた例 が適切に近く配置されているか Uniformity: 全体的なembeddingの 分布がuniform(⼀様)になっているか
  29. Analysis: Semantic Retrieval 2022/09/27 最先端NLP勉強会2022 29 DiffCSEは 単語overlapが少ない but 似た意味の例を

    抽出できている
  30. Analysis: Semantic Retrieval 2022/09/27 最先端NLP勉強会2022 30 SimCSE, DiffCSE共に ⼆重否定には 対応できていない