Klein+'22 - SCD: Self-Contrastive Decorrelation for Sentence Embeddings (ACL)
- https://arxiv.org/abs/2203.07847
- https://github.com/SAP-samples/acl2022-self-contrastive-decorrelation/
1. どんなもの?
- 自己教師の枠組みで文の類似表現を学習する Self-Contrastive Decorrelation (SCD) を提案。STS タスクにおいて、contrastive pair を用いずに SoTA と同程度の性能を達成。
2. 先行研究と比べてどこがすごい?
- 一般的にバッチサイズを大きくすると検索性能(表現学習の効率)が良くなるとされているが、本研究では contrastive pair を使用せずに同一文に対する pos-neg を作成する拡張法を提案。
- 入力文に対して摂動を与える対照学習では、摂動に対する意味表現の変化(どの摂動が正例・負例を作成するか)について不明だった。self-contrastive divergence (repulsion) および feature decorrelation (attraction) の異なるロス関数を設計する。
3. 技術や手法のキモはどこ?
- repulsion/attraction の役割を持つ二つのロスに対して共同ロスを最小化する(ことで対照ロスにおける埋め込み表現の悪化を回避する):
- Self-Contrastive Divergence (repulsion): 異なる high/low dropout 率を用いて埋め込み表現を用いる(通常これらは attraction として用いられるが、本研究では repulsion を行う)。
- N はバッチサンプルサイズ
- Feature Decorrelation (attraction):
- p は線形層で投影された埋め込み表現、i はバッチ内サンプル、j は各次元のインデックスを表す。
- p は線形層で投影された埋め込み表現、i はバッチ内サンプル、j は各次元のインデックスを表す。
- Self-Contrastive Divergence (repulsion): 異なる high/low dropout 率を用いて埋め込み表現を用いる(通常これらは attraction として用いられるが、本研究では repulsion を行う)。
4. どうやって有効だと検証した?
Semantic Textual Similarity タスク
アブレーション
5. 議論はある?
- dropout 摂動を repulsion として使用した(low-high dropout 率)ことで、摂動による埋め込み表現間の揺れに対して頑健になる?
- 学習時のメモリ使用量が大きく改善するかも?
6. 次に読むべき論文は?
Gao+'21 - SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP) [ACL Anthology][arXiv]