[論文紹介] 自己教師あり学習法 BYOL

最終更新日: 2020年6月26日

今回は『Bootstrap Your Own Latent A New Approach to Self-Supervised Learning』という論文の紹介をしたいと思います。

emoji-pushpin この論文はプレプリントであり、ピアレビューによる保証はありません (2020/07/11)

Link

論文: arXiv Link
コード: GitHub Link
ベンチマーク: Papers With Code Link

Abstract

  • 自己教師ありの画像表現学習 (self-supervised image representation learning) の新しいアプローチ Bootstrap Your Own Latent (BYOL) を提案します。
  • 2つのニューラルネットを相互に作用させて同時に学習させます。
  • ネガティブペアを使わずに、Top-1 精度 で SOTA 並のパフォーマンスを実現しました。

Introduction

より良い画像表現を学習させることは、転移学習での効率化に繋がります。多くのアプローチが提案されていますが、中でも、同じ画像(ポジティブペア)の画像間の距離を減らし、違う画像(ネガティブペア)間の距離を増やすことによって学習する方法が SOTA となっています(参考:以前の記事(教師なし深層学習と腹側視覚経路)における対照的埋め込み)。この方法では、ネガティブペアの慎重な処理や適切なデータ拡張 (Data Augmentation) によってパフォーマンスが変化します。

image2.png

対照的埋め込みの例:simCLR
Google AI Blog より引用)

この論文では、新しい自己教師ありの画像表現学習 (self-supervised image representation learning) である、Bootstrap Your Own Latent (BYOL) を提案します。反復的にニューラルネットの出力をブートストラップし、拡張表現のターゲットとして用います。表現を直接ブートストラップすることが重要なのです。そのために、オンラインネットワークとターゲットネットワークといった2つのニューラルネットを使用し、相互に作用させて同時に学習させます。

BYOL が ImageNet で学習した表現と ResNet を使用したベンチマークを評価し、Top-1 精度 で 74.3 %79.6 % を達成しました。この論文の貢献は以下の3点です。

  1. BYOLの提案。自己教師あり表現学習法で、ネガティブペアを使用せずにSOTAを実現しました。
  2. 半教師あり学習・転移学習において SOTA 以上の評価を達成しました。
  3. BYOLが、対照的な埋め込みよりロバストなことを示しました。

figure1.png

図1 BYOLのパフォーマンス(Grill et al. (2020) より引用)

Method

多くの自己教師あり学習は、Cross-view Prediction Framework (Becker and Hinton (1992)) のもとに構築されています。この方法では、同じ画像の違う見かけを互いに予測することで表現を学習します。しかし、違う見かけの画像が表現空間で同じになってしまうことがあります。BYOL では、固定されたネットワークを用いて予測を生成すると表現空間の崩壊を防げることを経験的に示しました

figure2.png

図2 BYOLの構造(Grill et al. (2020) より引用)

BYOL の目標は、ダウンストリームタスクで利用できる表現 yy を学習することです。前述したように、BYOLは2つのニューラルネット(オンラインターゲット)を利用します。ターゲット(赤)の出力をオンライン(青)に予測させるさせるようにして、自己教師あり学習を行いました

入力は画像1枚でよい!

オンラインは「一貫した重み θ\theta 」を持っていて、ターゲットは「 θ\theta の移動平均による重み ξ\xi 」を持っています。したがって、ξ\xi は以下のように更新します。

ξτξ+(1τ)θdecay rate: τ[0,1]\xi \leftarrow \tau \xi + (1 - \tau) \theta \\ \text{decay rate:}\ \tau \in [0,1]

画像のデータセット D\mathcal{D} からサンプル xx が独立に生成し、2つのデータ拡張の分布 T,T\mathcal{T}, \mathcal{T}' が決まっていると仮定します。このとき、xx に対し2つの拡張見かけ(変換後画像)を

v=t(x)v=t(x)v = t(x) \\ v' = t'(x)

と定義します。ここで、tTt \sim \mathcal{T}, tTt' \sim \mathcal{T}' です。

したがって、オンラインネットワークについては、

表現 y=fθ(v)    射影 zθ=gθ(y)    出力 qθ(zθ)表現 \ y = f_{\theta}(v) \\ \ \ \ \ → 射影 \ z_{\theta} = g_{\theta}(y) \\ \ \ \ \ → 出力 \ q_{\theta}(z_{\theta})

となり、ターゲットネットワークについては、

表現 y=fξ(v)    射影 zξ=gξ(y)    出力 zξ表現 \ y' = f_{\xi}(v') \\ \ \ \ \ → 射影 \ z'_{\xi} = g_{\xi}(y') \\ \ \ \ \ → 出力 \ z'_{\xi}

となります。出力については、以下のようにL2正規化をしておきます。

qθˉ(zθ)=qθ(zθ)qθ(zθ)2zξˉ=zξzξ2\bar{q_{\theta}}(z_{\theta}) = \frac{q_{\theta}(z_{\theta})}{\| q_{\theta}(z_{\theta})\|_2} \\ \bar{z'_{\xi}} = \frac{z'_{\xi}}{\| z'_{\xi} \|_2}

最後に、2つの出力の平均二乗誤差LθBYOL\mathcal{L}_{\theta}^{\text{BYOL}} を定義します。

LθBYOL=qθˉ(zθ)zξˉ22\mathcal{L}_{\theta}^{\text{BYOL}} = \| \bar{q_{\theta}}(z_{\theta}) - \bar{z'_{\xi}} \|_2^2

次に、データ拡張を入れ替えて、L~θBYOL\tilde{\mathcal{L}}_{\theta}^{\text{BYOL}} を定義します。

zθ=gθ(fθ(v))zξ=gξ(fξ(v))L~θBYOL=qθˉ(zθ)zξˉ22z'_{\theta} = g_{\theta}(f_{\theta}(v')) \\ z_{\xi} = g_{\xi}(f_{\xi}(v)) \\ \tilde{\mathcal{L}}_{\theta}^{\text{BYOL}} = \| \bar{q_{\theta}}'(z_{\theta}) - \bar{z_{\xi}} \|_2^2

目的関数は、LθBYOL+L~θBYOL\mathcal{L}_{\theta}^{\text{BYOL}} + \tilde{\mathcal{L}}_{\theta}^{\text{BYOL}} となり、θ\theta について最小化します。最終的な表現としては、エンコーダー fθf_{\theta} によって取得できます


データ拡張

SimCLR (Chen et al. (2020)) と同じデータ拡張手法を使用します。T\mathcal{T}T\mathcal{T}' では、変換パラメータを変えています。

  • ランダム切り抜き (random cropping)
  • (任意)左右反転 (left-right flip)
  • ランダムな色ずらし (color jittering)
  • (任意)グレースケールへの変換 (color dropping)
  • ガウシアンノイズ加工 (Gaussian blurring)
  • 感光化 (solarization)

image3.png

データ拡張(Google AI Blog より引用)


モデル構造

ResNet-50 を fθ,fξf_{\theta}, f_{\xi} として利用しました。これをベースラインとして、ResNet-50, 101, 152, 200 (1×\times, 4×\times) も比較しました。SimCLR と同様に、表現 yy は3層パーセプトロン gθ,gξg_{\theta}, g_{\xi} に入力します。最終的な出力は 256 次元に設定します。


最適化

LARS 最適化法 (You et al. (2017)) に 学習率のコサイン減衰をかけて 1000 エポック以上学習させました。

Results

ImageNet での線形評価

自己教師あり学習で取得した表現を線形分類器にかけたときの精度を評価しました(表1)。自己教師あり学習の他手法と比べると SOTA となりました。また、ResNet-50 (4 ×\times) では、教師ありのベースライン(Gong et al. (2020); MaxUp; 78.9 %)と同程度になりました。

table1.png

表1 Top-1 と top-5 の精度 (Grill et al. (2020) より引用)


ImageNet での半教師あり学習

少量のラベルでエンコーダーを転移学習させたときの精度を評価しました(表2)。ここでも、他の手法と比べると SOTA となりました。また、100 % データを使った場合、教師ありのモデルより高精度を達成しました

table2.png

表2 半教師あり学習の精度 (Grill et al. (2020) より引用)

しっかり表現を学習できていますね。


他のデータセットへの転移学習

他の画像分類データセットへの転移学習のパフォーマンスを評価しました(表3)。パフォーマンスの評価は、それぞれのデータセットに従いました。全てのデータセットで SimCLR を上回り、12/7のデータセットで教師ありニューラルネットモデルを上回りました。中でも、小さい画像 (CIFAR)、風景 (SUN397、VOC2007)、テクスチャ (DTD) で効果的に転移学習ができました

table3.png

表3 転移学習のパフォーマンス (Grill et al. (2020) より引用)


他のタスクへの転移学習

他の視覚タスク(セマンティックセグメンテーション、オブジェクト検出、深度推定)についても、エンコーダーを評価しました(表4)。結果、全てのタスクで SimCLR、教師ありNNモデルを上回りました

table4.png

表4 他のタスクへの転移学習 (Grill et al. (2020) より引用)

( ablation study は省略します。)

Conclusion

画像の自己教師あり表現学習の新しい手法として、BYOL を提案しました。この手法では、ネガティブペアを利用せずに表現を学習し、様々なベンチマークで SOTA を達成しました。特に、ImageNet の線形評価においては、自己教師あり学習と、通常の教師あり学習とのギャップを埋めることができました

しかし、BYOL は画像特有のデータ拡張に大きく依存しています。BYOL を他のモダリティのタスクに一般化するには、それぞれに適切なデータ拡張をする必要があります。このような拡張には多大な労力と専門知識が必要になるため、データ拡張の自動的な探索が次に必要となると思われます。


Reference
  • Grill, J.-B., Strub, F., Altché, F., Tallec, C., Richemond, P.H., Buchatskaya, E., Doersch, C., Pires, B.A., Guo, Z.D., Azar, M.G., Piot, B., Kavukcuoglu, K., Munos, R., Valko, M., (2020). Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning. arXiv:2006.07733. url
  • Becker, S., Hinton, G. Self-organizing neural network that discovers surfaces in random-dot stereograms. Nature 355, 161–163 (1992). url
  • Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A simple framework for contrastive learning of visual representations. arXiv preprint arXiv:2002.05709. url
  • BYOL: Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning (Paper Explained) YouTube Link