著者: Jean-Bastien Grill*,(1) Florian Strub*,(1) Florent Altché*,(1) Corentin Tallec*,(1) Pierre H. Richemond*,(1,2) Elena Buchatskaya(1) Carl Doersch(1) Bernardo Avila Pires(1) Zhaohan Daniel Guo(1) Mohammad Gheshlaghi Azar(1) Bilal Piot(1) Koray Kavukcuoglu(1) Rémi Munos(1) Michal Valko(1)
DeepMind
Imperial College
Negative pairなしで SimCLR超え
SimCLRより、batch size減らしても精度劣化しないし、AugmentationをSimpleにしていっても精度劣化しない
準備
online側とtarget側という2つの初期値が一緒のencoder \(f_\theta, f_\xi\) , projection \(g_\theta, g_\xi\) を用意
encoderはResNetとか、projectionはMLP
online側にだけ prediction \(q_\theta\) (例えばMLP) を用意
以下繰り返し
同じ画像を別々のAugmentationして (\(v, v'\))、それぞれをonline側とtarget側に流して出力を得る
target側のネットワークはstop gradientする
online側とtarget側の出力の距離を最小化する (online側だけ更新)
厳密にはonlineとtargetの入力を入れ替えて同じことをして、入れ替えていないものと和をとったものを損失関数とする
target側をmomentum updateする : \(\xi \leftarrow \tau \xi + (1-\tau) \theta\)
positive pairの距離だけを最小化するのであれば、ネットワークは常に定数を出力するようになってしまえばよいので簡単に学習は崩壊してしまいそう。
なぜBYOLは崩壊しないのか? → よくわかんない
読んでないけどその疑問にタックルした論文: http://proceedings.mlr.press/v139/tian21a/tian21a.pdf (ICML’21)