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
850
【論文紹介】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
96
【論文紹介】Word Acquisition in Neural Language Models
hellorusk
0
210
【論文紹介】Toward Interpretable Semantic Textual Similarity via Optimal Transport-based Contrastive Sentence Learning
hellorusk
0
230
【論文紹介】Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding
hellorusk
0
420
【論文紹介】Modeling Mathematical Notation Semantics in Academic Papers
hellorusk
0
190
【論文紹介】Detecting Causal Language Use in Science Findings / Measuring Correlation-to-Causation Exaggeration in Press Releases
hellorusk
0
130
【論文紹介】Efficient Domain Adaptation of Language Models via Adaptive Tokenization
hellorusk
0
380
【論文紹介】Automated Concatenation of Embeddings for Structured Prediction
hellorusk
0
230
【論文紹介】Assessing Phrasal Representation and Composition in Transformers
hellorusk
0
72
Other Decks in Research
See All in Research
The Fellowship of Trust in AI
tomzimmermann
0
150
情報処理学会関西支部2024年度定期講演会「自然言語処理と大規模言語モデルの基礎」
ksudoh
10
2.1k
Weekly AI Agents News!
masatoto
26
35k
Weekly AI Agents News! 10月号 プロダクト/ニュースのアーカイブ
masatoto
1
150
最近のVisual Odometryと Depth Estimation
sgk
1
310
湯村研究室の紹介2024 / yumulab2024
yumulab
0
350
The many faces of AI and the role of mathematics
gpeyre
1
1.4k
Introducing Research Units of Matsuo-Iwasawa Laboratory
matsuolab
0
1.3k
Weekly AI Agents News! 8月号 論文のアーカイブ
masatoto
1
220
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
530
20240918 交通くまもとーく 未来の鉄道網編(太田恒平)
trafficbrain
0
350
打率7割を実現する、プロダクトディスカバリーの7つの極意(pmconf2024)
geshi0820
0
130
Featured
See All Featured
Done Done
chrislema
181
16k
GitHub's CSS Performance
jonrohan
1030
460k
Gamification - CAS2011
davidbonilla
80
5.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Unsuck your backbone
ammeep
669
57k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Adopting Sorbet at Scale
ufuk
73
9.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
GraphQLとの向き合い方2022年版
quramy
44
13k
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