バッチ正規化のアフィンパラメータはFew-Shot学習で有害になりうる!?
3つの要点
✔️ バッチ正規化のアフィンパラメータは一般的なfew-shot転移学習で有害となる
✔️ アフィンパラメータを削除した特徴正規化によってバッチ正規化を置き換えることを提案
✔️ ドメインシフトが大きいfew-shot転移学習で特徴正規化が有効であることを実証
Revisiting Learnable Affines for Batch Norm in Few-Shot Transfer Learning
written by Moslem Yazdanpanah, Aamer Abdul Rahman, Muawiz Chaudhary, Christian Desrosiers, Mohammad Havaei, Eugene Belilovsky, Samira Ebrahimi Kahou
Comments: CVPR2022.
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
畳み込みニューラルネットワークにてよく用いられるBatch Normalizationは、チャンネルごとの正規化ステップと学習可能なアフィンパラメータ$\gamma,\beta$による特徴シフト・スケーリングから構成されており、今やコンピュータビジョンモデルにおいて欠かせないものとなっています。
しかしながら、本記事で紹介する論文では、アフィンパラメータによる特徴シフト・スケーリング処理が、Few-shot学習においては有害となりうることが示されました。特に、ドメインシフトの大きいFew-shot学習の場合には、アフィンパラメータによる処理を削除することでより高い性能を得られることが明らかとなりました。
特徴正規化(Feature Normalization)について
先述の通り、Batch Normalization(BN)の処理は、チャンネルごとの正規化ステップと学習可能なアフィンパラメータ$\gamma,\beta$による特徴シフト・スケーリングから構成されています。
実験では、アフィンパラメータによるシフト・スケーリングの影響を調べるため、チャンネルごとの正規化ステップのみでBN層を置き換えた場合のFew-shot学習について検討します。論文では、このチャンネルごとの正規化ステップをFeature Normalization(特徴正規化:FN)と呼んでいます。
特徴正規化(FN)の定義
はじめに、ドメイン$\textit(D)$は特徴空間$\textit(X)$と周辺確率分布$P(X)$(ここで$X=\{x_1,...,x_n\} \in \textit(X)$)とします。
ここで、ソースドメイン$\textit(D)^s$から得られた$N$個のラベル付き例$\{(x^s_i,y^s_i)\}^N_{i=1}$からなるバッチを$S$とします。また、$L$個の層について、$l$層目の重み行列を$\theta^l$とする深層畳み込みニューラルネットワークを$\Theta$と表します。
このとき、$\Theta$の$l$層目の中間特徴を$h$とすると、$l$層目の特徴正規化層は$c$番目のチャンネルについて次のように定義されます。
$FN(h_c) = \frac{h_c - \mu_c}{\sqrt{\sigma_{c^2} + \epsilon}}$
ここで、$\mu_c,\sigma_c$はそれぞれ$h_c$の1次・2次モーメントで、次のように定義されます。
$\mu_c = \frac{1}{NHW}\sum_{n,h,w}h_{nchw}$
$\sigma_c = \sqrt{\frac{1}{NHW}\sum_{n,h,w}(h_{nchw} - \mu_c)^2}$
ここで、$H,W$は$h_c$の空間次元(spatial dimension)にあたります。
Fine-tuning affines (Fine-Affine)
Few-shot学習設定においては、多くの場合、Fine-tuning時に線形分類器のみを適合させ、バックボーンの重みは凍結します。これは、Fine-tuningを高速化することのみならず、バックボーンを微調整しても性能が向上しない(過剰適合に陥りやすい)ことも理由となっています。
一方、アフィンパラメータはパラメータ数が少なく、Few-shot学習設定でも過剰適合を起こさずモデルを適合できるかもしれません。そのため実験では、線形層とアフィンパラメータの両方を共同で適合させる設定も導入します。(論文ではこれをFine-Affineと呼んでいます。)
実験設定
実験では、STARTUPなどの最先端のfew-shot学習フレームワークに対し、FNを適用する場合の効果について調査を行います。まだ、BNベースのドメイン適応技術であるAdaBNをfew-shot学習に適用した場合についても、BNをFNに置き換えることで性能向上が得られるか調査を行います。
ベンチマーク
CDFSL
実験では、難易度の高いCDFSLベンチマークを使用します。ソースデータセットとして、物体認識タスクからなるminiImageNetまたはImageNetについて実験を行います。
ターゲットデータセットは、これらのソースデータセットとは全く異なるドメインからなる(ドメインシフトが大きい)4つのデータセットから構成されています。
- EuroSAT(衛星画像)
- CropDiseases(植物画像)
- ChestX(胸部X線画像)
- ISIC2018(皮膚病変画像)
実験では、下流タスクがクラス数が5つで各クラスがk個のサンプルを持つ5-way k-shot設定での転移学習を行います。
META-DATASET
また、ベースとしてImageNetを使用し、META-DATASET上での実験を行います。
ターゲットデータセットは以下の通りです。
- Omniglot
- Aircraft
- Birds
- VGG Flower
- Quickdraw
- Fungi
- Textures
- TrafficSigns
- MSCOCO
このデータセットの特徴として、ソースとターゲット間にドメインシフトがあることに加えて、タスクが一般的なK-way N-Shot設定に従わないことが挙げられます。
実験結果
クロスドメインfew-shot転移学習
はじめに、CDFSLベンチマーク上でFNとBNの比較を行います。アーキテクチャにはResNet10を利用します。結果は以下の通りです。
Baselineは標準的な転移学習設定となっています。✗印は線形層とアフィンパラメータの両方を共同で適合させるFine-Affine設定の結果を示しています。総じて、FNを使用したモデルの平均性能がBNモデルを上回っていることがわかります。また、META-DATASETでの結果は以下のようになります。
CDFSLと同様、ほとんどの場合において、FNモデルがBNモデルを上回りました。これらの結果は、ドメインシフトが起こるfew-shot転移学習では、BNのアフィンパラメータによる処理が性能に負の影響を及ぼすことを示しています。
近接ドメイン間のfew-shot転移学習
次に、CDFSLと比べてドメインシフトが小さい場合の結果について調査を行います。実験では、ソースとしてminiImageNet、ターゲットとしてImageNetを使用します。結果は以下の通りです。
この結果を見ると、FNはBNと比べて有意に優れた結果を示してはおらず、大きなドメインシフトが起きた場合にFNがより有効であることがわかります。このことは、ImageNet上で学習した場合のvalidationデータにおける性能を評価した以下の図からも読み取ることができます。
この図では、ドメイン内での性能評価の場合はBNがFNより良い結果を示すことがわかります。
Fine-Affine設定
また、線形分類器とアフィンパラメータの両方をfine-tuningする場合の結果は以下の通りです。
✗印がFine-Affine設定を示しており、FNのFine-Affine設定では、ベース学習段階ではFNを、転移学習時には$\gamma,\beta$をそれぞれ1,0に初期化して導入して学習を行っています。総じて、この設定ではBN、FNどちらも性能が向上していますが、依然としてFNモデルはBNモデルより優れていることがわかりました。
アブレーション研究
BN層は二つの学習可能なアフィンパラメータから構成されていますが、これら2つ($\gamma,\beta$)のパラメータをそれぞれ取り除いた場合の結果は以下のとおりです。
総じて、二つのパラメータの一方を削除した$BN(\gamma),BN(\beta)$は通常のBNを上回る結果を示しており、両方を削除したFNが最も優れた性能を示すことがわかりました。
FNとBNの違いについての分析
最後に、このような結果の違いが起きた理由についての分析を行います。まず、ドメインシフトが大きい場合における、FN層とBN層の入力・出力特徴量の分布を図示した結果は以下のようになります。
図の通り、BNの場合と比べてFNの方が、入力は中央寄りになり、出力分布が比較的似ているなどの結果が得られています。また、論文ではドメインシフト下でのBNアフィンパラメータの問題は、ReLUのスパース化特性に関係していると仮定しています。
この仮定について調べるため、ソースデータ・ターゲットデータ上でのスパース性を比較した結果は以下の通りです。
総じて、ソースデータ・ターゲットデータ両方について、FNを用いることでスパース性の低下が抑えられています。この結果は、ReLUの閾値特性による分布の変化が情報の喪失につながることを、BNの代わりにFNを使用することで抑制することができることを示唆しています。
まとめ
バッチ正規化は様々な場面で適用される手法ですが、ドメインシフトが大きいfew-shot転移学習の場合にはアフィンパラメータが悪影響を及ぼすことが明らかとなりました。提案された特徴正規化はアフィンパラメータによる処理を削除した正規化手法であり、この問題を解決するために有効となることが示されました。
この記事に関するカテゴリー