Save 37% off PRO during our Black Friday Sale! »

SimCSE: Simple Contrastive Learning of Sentence Embeddings

SimCSE: Simple Contrastive Learning of Sentence Embeddings

研究室の日本語輪読会で発表したスライドです。

750d4d1ae846b2d342d99fced070db39?s=128

Kaito Sugimoto

November 22, 2021
Tweet

Transcript

  1. SimCSE: Simple Contrastive Learning of Sentence Embeddings EMNLP 2021, Gao

    et al. Kaito Sugimoto Aizawa Lab. M1 2021/11/15 1 / 21
  2. 概要 • 文埋め込みの新たな手法である SimCSE を提案, 教師無しでも効 果的に文埋め込みが作成でき, さらに NLI データセットで教師あ

    り学習を加えることで SOTA 1 • 教師無し学習においては, Dropout ノイズ が正例ペアの作成にお いて効果的であることを発見 • 教師あり学習においては, 入力ペアの類似度を学習する Contrastive Learning が, 埋め込みの anisotropy (異方性) 問題の解 決により役立つことを理論的かつ実験的に示した 1https://paperswithcode.com/paper/simcse-simple-contrastive-learning-of 2 / 21
  3. 背景: 文埋め込み • 意味の近さを反映するように文章をベクトルに変換する基本的 なタスク • STS benchmark による評価が確立されている •

    データセットには, ペアの文章と, その類似度が 0 (全く異なる意 味の文章) から 5 (全く同じ意味の文章) までアノテートされてお り, 埋め込みモデルで類似度を計算したときにそれがこの順位と どれくらい一致するかをスピアマン順位相関係数で評価する. 3 / 21
  4. 背景: 文埋め込み • BERT が登場してから久しいが, BERT に文を入力し [CLS] トーク ンや各トークンの平均から直接埋め込みを取っても,

    意味の近さ においては効果的ではないことが知られている. (GloVe のようなもっと昔からあった static な単語ベクトルを平均 して文ベクトルを作った場合を下回る) 2 • つまり, 単語穴埋め問題をよく解けるモデルであっても, それが そのまま文の意味を分かるわけではない 2Reimers and Gurevych, Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (EMNLP 2019) の Table 1 4 / 21
  5. 背景: 文埋め込み • そこで, NLI データセットのような, 意味の同じ文章のペアや意味 の異なる文章のペアを使って BERT を

    fine-tuning した Sentence-BERT (SBERT) が登場し, 強いベースラインになって いる. 5 / 21
  6. 背景: 文埋め込み しかし • NLI データセットのような教師データがどの言語にも豊富にある わけではない. 教師なしでも文埋め込みを効率的に作ることはで きないか? •

    教師データがあったとしても, それをどういう Loss を使って学 習させるのが一番良いのかよく分からない (これは Metric Learning で大量に Loss が提案されてきている点にも通ずる) ... という問題があり, 教師無しでも教師有りでも文埋め込み研究が続 けられている 6 / 21
  7. SimCSE: 教師無し 教師無しで文埋め込みを作成するにはどうすればよいか? • CV 分野で画像を埋め込む際は, 画像の切り抜きや回転, 反転など の Data

    Augmentation 手法が使える. • ラベルのない画像をたくさん用意して, ある画像に対して, その 画像を切り抜いたり回転させたりした画像を正例, 他の画像を負 例とすればよい しかし, 自然言語は離散的なので, CV 分野のような連続的な Data Augmentation テクは使いにくい(例えば, ある文章を逆向きにしたら 意味が同じになるはずがない). 7 / 21
  8. SimCSE: 教師無し そこで SimCSE では Dropout の位置を変えることで Data Augmentation とする.

    • Dropout: ニューラルネットの過学習を防ぐために Node の重みを ランダムに消す手法. 例えば BERT は 12 層の Transformer Encoder から成り立っているが, その Transformer には全結合層や attention layer に Dropout (default p = 0.1) が入っている 8 / 21
  9. SimCSE: 教師無し xi: i 番目の文章 z: 通常の Transformer の Dropout

    パターン z′: z とは別に, ランダムに新しく作成した Dropout パターン hZ i = f𝜃 (xi, z): Dropout パターンが z の BERT に文 xi を入れた時の出力 埋め込み としたときの Loss は 9 / 21
  10. SimCSE: 教師無し Dropout を従来の離散的な Data Augmentation (正例作成) テク(単語削 除、同義語置き換え、連続する次の文 など)と比較

    (スコアは validation set での値) 10 / 21
  11. SimCSE: 教師無し 既存手法との比較 SimCSE-BERT(Avg. 76.25) は, 教師ありの SBERT(Avg. 74.89) も上回っている

    11 / 21
  12. SimCSE: 教師あり SBERT のような既存手法と同様, NLI データセットを用いる • entailment, neutral, contradiction

    データをどう使って学習するか? Universal Sentence Encoder や SBERT のような既存手法では, 訓 練時には entailment, contradiction, neutral の三クラス分類を行なっ ていた 12 / 21
  13. SimCSE: 教師あり SimCSE においては, ある文に対して, entailment になっている文とを 正例ペア, 「バッチ内の他の文の entailment

    になっている文 & バッチ 内の各文の contradiction になっている文」とを負例ペアとし, 正例ペ アとの類似度をなるべく大きくする. つまり, 文のペアの類似度を単体で予測するのではなく, 他のペアの 類似度と比較する というのがポイント (Contrastive Learning) 13 / 21
  14. SimCSE: 教師あり Contrastive Learning のメリットは? → anisotropy (異方性) 問題の解決 •

    anisotropy: 言語モデルにより学習された埋め込みは, ベクトル空 間の中でごく一部の空間を占めてしまっている 線形代数の言葉で言い換えると: 埋め込み行列を特異値分解する と, 特異値はいくつかを除いてほとんど 0 になってしまう 3 →せっかく BERT から 768 次元という高次元な埋め込みを取れるに もかかわらず, その次元数を活かしきれていない どの埋め込みの間でコサイン類似度をとっても 1 に近づいてしまう 3Wang et al., Improving Neural Language Generation with Spectrum Control (ICLR 2020) 14 / 21
  15. SimCSE: 教師あり Wang et al. (ICLR 2020) では, 埋め込みを作成する上で alignment

    だけ でなく uniformity(空間全体に広がっていること) も重要であることを 指摘した. 直近の研究では, BERT から得られた文埋め込みを白色化 (無相関化 + 平均 0 分散 1) するだけでパフォーマンスが上がることも知られており, uniformity の重要性が実証 されている 15 / 21
  16. SimCSE: 教師あり 本題に戻ると... • Contrastive Learning の Loss は, 訓練中に

    alignment と loss の双方 を同時に改善する形になっている • というのも, Contrastive Learning において, 負例が無限にある場合 Loss は以下のような形に帰着されるからである. 第 1 項は alignment の改善につながる 16 / 21
  17. SimCSE: 教師あり 第 2 項についてさらにイェンセン不等式 4 を用いると以下のようになる この右辺の ∑ ∑

    hT i hj は, 埋め込み行列を W とすると WWT の全要素の和になるが, WWT の要素が全て正の場合, WWT の全要素の和は WWT の最大固有値(= W の特 異値)の上界になることが知られている. すなわち, 第 2 項を小さくすることは, 埋め込み行列 W の最大特異値を小さくする ことであり, uniformity の改善につながる 4Log(Sum) >= Sum(Log) を保証する不等式 17 / 21
  18. SimCSE: 教師あり 通常の BERT や SBERT は, SimCSE に比べると uniformity

    が劣っている 白色化 BERT は, SimCSE に比べると alignment が劣っている 18 / 21
  19. SimCSE: 教師あり 既存手法との比較 19 / 21

  20. SimCSE: 教師あり 例 正直 SBERT でも既に十分似た文が取れている気がする... 20 / 21

  21. 感想 教師無しの方について: • Dropout という自然言語の意味の世界とは無縁な要素が性能向上 に寄与するのは面白い • 他の NLP タスクにおいて

    Dropout のパターン変更を Data Augmentation や頑健性向上に活かせるのだろうか?(論文中で は特に refer されていなかった) • NLI データセットがない他の言語でもできるのでやってみたい 教師ありの方について: • 文のペアの類似度を単体で予測するのではなく, 他のペアの類似 度と比較する Contrastive Learning の優位性が明確に分かって良 かった 21 / 21