$30 off During Our Annual Pro Sale. View Details »

(最先端NLP2022)DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings

Kaori Abe
September 27, 2022

(最先端NLP2022)DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings

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

・最先端NLP勉強会:https://sites.google.com/view/snlp-jp/home/2022?authuser=0

・論文情報
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
    ※資料中の図表は注釈がない限り元論⽂からの引⽤です

    View Slide

  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/

    View Slide

  3. • 幅広い下流タスクで性能を出す“汎⽤”⽂表現モデル
    (sentence encoder) の学習が重要
    • 下流タスク︓レビュー予測,感情分析,検索 …
    • モデル︓Universal Sentence Encoder, Sentence-BERT, SimCSE …
    • 近年のトレンドは対照学習 (contrastive learning) による
    ⾃⼰教師あり学習 (self-supervised learning)
    • 似ている表現ペアは近づける(異なる表現ペアは遠ざける)
    背景1: 対照学習で汎⽤⽂表現を獲得
    2022/09/27 最先端NLP勉強会2022 3
    私は学⽣です。
    僕は⾼校⽣です。
    りんごが5個ある。
    みかんが3個ある。
    りんごが3個ある。
    ※⽂表現空間のイメージ図

    View Slide

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

    View Slide

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

    View Slide

  6. •対照学習で⾃⼰教師あり学習 → 正例・負例ペアを
    擬似的に⽣成(data augmentation)
    •Computer vision (CV) 分野の場合
    背景1: Data augmentationにより対照学習
    2022/09/27 最先端NLP勉強会2022 6
    正例︓ 元画像 元画像からの transformation
    負例︓ 元画像 同⼀バッチ中の他の例
    近づける
    遠ざかる
    上⼿い擬似事例
    の作り⽅が鍵
    ※画像は[Dangovski+, 2021]
    [Chen+, 2020]より拝借
    グレースケール
    (distortion)
    回転
    (rotation)

    View Slide

  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]より拝借

    View Slide

  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の回転然り,実際に悪影響があるかどうかで判断︖
    → しばらくモデルを触ってみないとわからない…︖︖😥

    View Slide

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

    View Slide

  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あり

    View Slide

  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]
    より引⽤

    View Slide

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

    View Slide

  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, 𝑇: ⽂⻑
    𝑥: 元⽂, 𝑥′′: 置換後の⽂, 𝐡: 隠れ層 (=𝑓(𝑥)), 𝑡: トークンの位置

    View Slide

  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を使った評価はダメ」
    • これが主流になっていくのかどうかは不明

    View Slide

  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で異なるはず

    View Slide

  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で提案

    View Slide

  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

    View Slide

  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 : ⼤きな変化はなし

    サイズ

    View Slide

  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を損なう︖︖

    View Slide

  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の悪化︖

    View Slide

  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

    View Slide

  22. Appendix
    2022/09/27 最先端NLP勉強会2022 22

    View Slide

  23. •Unsupervised SimCSE (Gao+, 2021) の場合
    背景1: Data augmentationにより対照学習
    2022/09/27 最先端NLP勉強会2022 23
    正例︓ 元⽂ 元⽂のembeddingをdropout
    負例︓ 元⽂ 同⼀バッチ中の他の例
    私は学⽣です。 私は学⽣です。
    近づける
    私は学⽣です。 りんごが5個ある。
    遠ざける
    上⼿い擬似事例
    の作り⽅が鍵
    •Supervised SimCSE の場合
    正例︓ NLIデータにおけるentailment(含意)ペア
    負例︓ 〃 contradict(⽭盾)ペア

    View Slide

  24. Ablation Study 2: MLMで置換 → 挿⼊/削除
    2022/09/27 最先端NLP勉強会2022 24
    • STS : 置換が最も良い
    • Transfer : 削除が最も良いが,どの作成⽅法(置換/挿⼊/削除)
    でも全体的に同程度の性能(変化なし)

    View Slide

  25. Ablation Study 3: [MASK]する割合・lossの重みλ
    2022/09/27 最先端NLP勉強会2022 25
    • [MASK]する割合は30%が最も良いが,⼤きな変化はない
    (個⼈的にはちょっと意外)
    • λの値は0.005が最も良い

    View Slide

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

    View Slide

  27. Ablation Study 4: lossの形式
    2022/09/27 最先端NLP勉強会2022 27
    • Contrastive lossなし(prediction lossのみ)︓STSの性能が顕著に低下
    • 「次⽂の予測」 loss︓性能低下
    • 別の条件付きLM(corrective language model)︓性能低下

    View Slide

  28. Uniformity & Alignment (Wang&Isola, 2020)
    2022/09/27 最先端NLP勉強会2022 28
    図は(Wang&Isola, 2020)より引⽤
    Alignment: positive pairとされた例
    が適切に近く配置されているか
    Uniformity: 全体的なembeddingの
    分布がuniform(⼀様)になっているか

    View Slide

  29. Analysis: Semantic Retrieval
    2022/09/27 最先端NLP勉強会2022 29
    DiffCSEは
    単語overlapが少ない
    but 似た意味の例を
    抽出できている

    View Slide

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

    View Slide