Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【論文紹介】SimCSE: Simple Contrastive Learning of Se...
Search
Kaito Sugimoto
November 22, 2021
Research
0
790
【論文紹介】SimCSE: Simple Contrastive Learning of Sentence Embeddings
研究室の日本語輪読会で発表したスライドです。
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。
Kaito Sugimoto
November 22, 2021
Tweet
Share
More Decks by Kaito Sugimoto
See All by Kaito Sugimoto
ChatGPTを活用した病院検索体験の改善 〜病院探しをもっと楽しく〜
hellorusk
0
87
【論文紹介】Word Acquisition in Neural Language Models
hellorusk
0
190
【論文紹介】Toward Interpretable Semantic Textual Similarity via Optimal Transport-based Contrastive Sentence Learning
hellorusk
0
220
【論文紹介】Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding
hellorusk
0
400
【論文紹介】Modeling Mathematical Notation Semantics in Academic Papers
hellorusk
0
170
【論文紹介】Detecting Causal Language Use in Science Findings / Measuring Correlation-to-Causation Exaggeration in Press Releases
hellorusk
0
120
【論文紹介】Efficient Domain Adaptation of Language Models via Adaptive Tokenization
hellorusk
0
350
【論文紹介】Automated Concatenation of Embeddings for Structured Prediction
hellorusk
0
210
【論文紹介】Assessing Phrasal Representation and Composition in Transformers
hellorusk
0
70
Other Decks in Research
See All in Research
SSII2024 [TS2] 深層学習に潜むバイアス
ssii
PRO
0
590
クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)
takumi1001
0
170
外積やロドリゲスの回転公式を利用した点群の回転
kentaitakura
1
530
Weekly AI Agents News!
masatoto
22
17k
「並列化時代の乱数生成」
abap34
2
310
日本語医療LLM評価ベンチマークの構築と性能分析
fta98
3
390
DiscordにおけるキャラクターIPを活用したUGCコンテンツ生成サービスの ラピッドプロトタイピング ~国際ハッカソンでの事例研究
o_ob
0
210
第60回名古屋CV・PRML勉強会:CVPR2024論文紹介(AM-RADIO)
naok615
0
200
言語処理学会30周年記念事業留学支援交流会@YANS2024:「学生のための短期留学」
a1da4
1
180
Weekly AI Agents News! 8月号 プロダクト/ニュースのアーカイブ
masatoto
1
110
3次元点群の分類における評価指標について
kentaitakura
0
110
RSJ2024「基盤モデルの実ロボット応用」チュートリアルA(河原塚)
haraduka
2
520
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Documentation Writing (for coders)
carmenintech
65
4.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
157
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
Facilitating Awesome Meetings
lara
49
5.9k
Debugging Ruby Performance
tmm1
72
12k
Optimising Largest Contentful Paint
csswizardry
30
2.8k
Building Your Own Lightsaber
phodgson
101
6k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Designing the Hi-DPI Web
ddemaree
278
34k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Transcript
SimCSE: Simple Contrastive Learning of Sentence Embeddings EMNLP 2021, Gao
et al. Kaito Sugimoto Aizawa Lab. M1 2021/11/15 1 / 21
概要 • 文埋め込みの新たな手法である SimCSE を提案, 教師無しでも効 果的に文埋め込みが作成でき, さらに NLI データセットで教師あ
り学習を加えることで SOTA 1 • 教師無し学習においては, Dropout ノイズ が正例ペアの作成にお いて効果的であることを発見 • 教師あり学習においては, 入力ペアの類似度を学習する Contrastive Learning が, 埋め込みの anisotropy (異方性) 問題の解 決により役立つことを理論的かつ実験的に示した 1https://paperswithcode.com/paper/simcse-simple-contrastive-learning-of 2 / 21
背景: 文埋め込み • 意味の近さを反映するように文章をベクトルに変換する基本的 なタスク • STS benchmark による評価が確立されている •
データセットには, ペアの文章と, その類似度が 0 (全く異なる意 味の文章) から 5 (全く同じ意味の文章) までアノテートされてお り, 埋め込みモデルで類似度を計算したときにそれがこの順位と どれくらい一致するかをスピアマン順位相関係数で評価する. 3 / 21
背景: 文埋め込み • BERT が登場してから久しいが, BERT に文を入力し [CLS] トーク ンや各トークンの平均から直接埋め込みを取っても,
意味の近さ においては効果的ではないことが知られている. (GloVe のようなもっと昔からあった static な単語ベクトルを平均 して文ベクトルを作った場合を下回る) 2 • つまり, 単語穴埋め問題をよく解けるモデルであっても, それが そのまま文の意味を分かるわけではない 2Reimers and Gurevych, Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (EMNLP 2019) の Table 1 4 / 21
背景: 文埋め込み • そこで, NLI データセットのような, 意味の同じ文章のペアや意味 の異なる文章のペアを使って BERT を
fine-tuning した Sentence-BERT (SBERT) が登場し, 強いベースラインになって いる. 5 / 21
背景: 文埋め込み しかし • NLI データセットのような教師データがどの言語にも豊富にある わけではない. 教師なしでも文埋め込みを効率的に作ることはで きないか? •
教師データがあったとしても, それをどういう Loss を使って学 習させるのが一番良いのかよく分からない (これは Metric Learning で大量に Loss が提案されてきている点にも通ずる) ... という問題があり, 教師無しでも教師有りでも文埋め込み研究が続 けられている 6 / 21
SimCSE: 教師無し 教師無しで文埋め込みを作成するにはどうすればよいか? • CV 分野で画像を埋め込む際は, 画像の切り抜きや回転, 反転など の Data
Augmentation 手法が使える. • ラベルのない画像をたくさん用意して, ある画像に対して, その 画像を切り抜いたり回転させたりした画像を正例, 他の画像を負 例とすればよい しかし, 自然言語は離散的なので, CV 分野のような連続的な Data Augmentation テクは使いにくい(例えば, ある文章を逆向きにしたら 意味が同じになるはずがない). 7 / 21
SimCSE: 教師無し そこで SimCSE では Dropout の位置を変えることで Data Augmentation とする.
• Dropout: ニューラルネットの過学習を防ぐために Node の重みを ランダムに消す手法. 例えば BERT は 12 層の Transformer Encoder から成り立っているが, その Transformer には全結合層や attention layer に Dropout (default p = 0.1) が入っている 8 / 21
SimCSE: 教師無し xi: i 番目の文章 z: 通常の Transformer の Dropout
パターン z′: z とは別に, ランダムに新しく作成した Dropout パターン hZ i = f𝜃 (xi, z): Dropout パターンが z の BERT に文 xi を入れた時の出力 埋め込み としたときの Loss は 9 / 21
SimCSE: 教師無し Dropout を従来の離散的な Data Augmentation (正例作成) テク(単語削 除、同義語置き換え、連続する次の文 など)と比較
(スコアは validation set での値) 10 / 21
SimCSE: 教師無し 既存手法との比較 SimCSE-BERT(Avg. 76.25) は, 教師ありの SBERT(Avg. 74.89) も上回っている
11 / 21
SimCSE: 教師あり SBERT のような既存手法と同様, NLI データセットを用いる • entailment, neutral, contradiction
データをどう使って学習するか? Universal Sentence Encoder や SBERT のような既存手法では, 訓 練時には entailment, contradiction, neutral の三クラス分類を行なっ ていた 12 / 21
SimCSE: 教師あり SimCSE においては, ある文に対して, entailment になっている文とを 正例ペア, 「バッチ内の他の文の entailment
になっている文 & バッチ 内の各文の contradiction になっている文」とを負例ペアとし, 正例ペ アとの類似度をなるべく大きくする. つまり, 文のペアの類似度を単体で予測するのではなく, 他のペアの 類似度と比較する というのがポイント (Contrastive Learning) 13 / 21
SimCSE: 教師あり Contrastive Learning のメリットは? → anisotropy (異方性) 問題の解決 •
anisotropy: 言語モデルにより学習された埋め込みは, ベクトル空 間の中でごく一部の空間を占めてしまっている 線形代数の言葉で言い換えると: 埋め込み行列を特異値分解する と, 特異値はいくつかを除いてほとんど 0 になってしまう 3 →せっかく BERT から 768 次元という高次元な埋め込みを取れるに もかかわらず, その次元数を活かしきれていない どの埋め込みの間でコサイン類似度をとっても 1 に近づいてしまう 3Wang et al., Improving Neural Language Generation with Spectrum Control (ICLR 2020) 14 / 21
SimCSE: 教師あり Wang et al. (ICLR 2020) では, 埋め込みを作成する上で alignment
だけ でなく uniformity(空間全体に広がっていること) も重要であることを 指摘した. 直近の研究では, BERT から得られた文埋め込みを白色化 (無相関化 + 平均 0 分散 1) するだけでパフォーマンスが上がることも知られており, uniformity の重要性が実証 されている 15 / 21
SimCSE: 教師あり 本題に戻ると... • Contrastive Learning の Loss は, 訓練中に
alignment と loss の双方 を同時に改善する形になっている • というのも, Contrastive Learning において, 負例が無限にある場合 Loss は以下のような形に帰着されるからである. 第 1 項は alignment の改善につながる 16 / 21
SimCSE: 教師あり 第 2 項についてさらにイェンセン不等式 4 を用いると以下のようになる この右辺の ∑ ∑
hT i hj は, 埋め込み行列を W とすると WWT の全要素の和になるが, WWT の要素が全て正の場合, WWT の全要素の和は WWT の最大固有値(= W の特 異値)の上界になることが知られている. すなわち, 第 2 項を小さくすることは, 埋め込み行列 W の最大特異値を小さくする ことであり, uniformity の改善につながる 4Log(Sum) >= Sum(Log) を保証する不等式 17 / 21
SimCSE: 教師あり 通常の BERT や SBERT は, SimCSE に比べると uniformity
が劣っている 白色化 BERT は, SimCSE に比べると alignment が劣っている 18 / 21
SimCSE: 教師あり 既存手法との比較 19 / 21
SimCSE: 教師あり 例 正直 SBERT でも既に十分似た文が取れている気がする... 20 / 21
感想 教師無しの方について: • Dropout という自然言語の意味の世界とは無縁な要素が性能向上 に寄与するのは面白い • 他の NLP タスクにおいて
Dropout のパターン変更を Data Augmentation や頑健性向上に活かせるのだろうか?(論文中で は特に refer されていなかった) • NLI データセットがない他の言語でもできるのでやってみたい 教師ありの方について: • 文のペアの類似度を単体で予測するのではなく, 他のペアの類似 度と比較する Contrastive Learning の優位性が明確に分かって良 かった 21 / 21