BYOL and SimSiam
BYOL (Bootstrap Your Own Latent) と SimSiam は、negative sample なしで contrastive 系の representation learning を実現した代表的手法です。一見すると collapse しそうな設計が動くことで、self-supervised の理解を深めました。
BYOL の構造
- Online network: encoder + projection + predictor (backprop で更新)
- Target network: encoder + projection、online の EMA
- Predictor が target representation を予測する
- Loss は cosine similarity を最大化 (= MSE)
なぜ collapse しないのか
Negative がないと、すべての image を同じ vector にマップする trivial 解が成立しそうに見えます。しかし BYOL では、
- Predictor が online 側にのみ存在し、非対称な構造を作る
- Target encoder は EMA で slow に動く
- Online encoder は target に追随しながら augmentation 不変性を学ぶ
ことで、collapse が回避されることが経験的に確認されました。
SimSiam
SimSiam は BYOL から EMA まで取り除き、stop-gradient + predictor head だけで collapse を防げることを示した model です。
最小限の構成で BYOL と同等の性能が出ることから、collapse 回避には predictor + stop-gradient が本質的だと議論されました。
JEPA との関係
JEPA も、target encoder に対して stop-gradient / EMA を使い、context から target representation を predictor で予測します。基本構造は BYOL / SimSiam の延長線上にあると見ることができます。
| Aspect | BYOL / SimSiam | JEPA |
|---|---|---|
| Augmentation 不変性 | 強く依存 | 必ずしも依存しない |
| Mask | なし | あり |
| Predictor | あり | あり |
| Stop-grad / EMA | あり | あり |
数式で見る negative なしの予測損失
BYOL と SimSiam では、二つの view から得た representation を直接近づけます。Online branch の predictor 出力を 、target branch の projection を とすると、negative cosine similarity は次のように書けます。
ここで、 は stop-gradient です。つまり、 側には gradient を流さず、 側だけを更新します。実際には、view を入れ替えた対称項も足します。
この式の気持ちは、「一方の branch がもう一方の branch の表現を予測するが、予測される側はその step では動かさない」という非対称性を作ることです。この非対称性と predictor が、すべての入力を同じ vector に写す collapse を避けるうえで重要だと考えられています。
関連ページ
主なソース
- BYOL: https://arxiv.org/abs/2006.07733
- SimSiam: https://arxiv.org/abs/2011.10566