バッチ正則化を用いた、高速NAS手法
3つの要点
✔️ アーキテクチャの評価指標としてバッチ正則化ベースの指標を提案し、評価コストを低減
✔️ スーパーネットの学習もバッチ正則化層のみの学習にすることにより、学習コストを低減
✔️ 精度を落とすことなく学習段階、探索段階での高速化を達成
BN-NAS: Neural Architecture Search with Batch Normalization
written by Boyu Chen, Peixia Li, Baopu Li, Chen Lin, Chuming Li, Ming Sun, Junjie Yan, Wanli Ouyang
(Submitted on 16 Aug 2021)
Comments: ICCV 2021
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
Neural Architecture Search (NAS) は、自動でニューラルネットワークのアーキテクチャを探索する手法の総称です。近年様々な研究がなされ、高い精度のアーキテクチャを探索することができるようになってきていますが、課題も多く残されています。その課題の中でも大きなものが、探索コストです。探索において候補となるアーキテクチャを評価する際に非常に大きな計算コストがかかるという問題があるので、いかにそのコストを減らすかという点について研究がなされています。本論文では、バッチ正則化パラメータを用いたネットワークの評価指標と、スーパーネットの学習によってそのコストを減らすことを試みています。
予備知識
ワンショットNAS
大きなスーパーネットの中から、目的のタスクに適合するサブネットを探索する手法です。手法のパイプライン全体として、次の三段階に分けることができます。
- スーパーネットの学習
- サブネットの探索
- サブネットの再学習
スーパーネットの学習
スーパーネットは、下の図に示すように各レイヤにおいて複数の演算候補 (Operator) を持っています。
一度の誤差逆伝搬でこれらの演算候補すべての重みを学習させることはできないので、各反復においてサンプリングのポリシーに基づいてシングルパスアーキテクチャ(図でいえばOp3 → Op2 → Op3)をサンプリングしてから学習させます。各反復においてこれをサンプリングするので、反復を繰り返すうちにネットワーク全体が学習されます。
サブネット探索
スーパーネットの学習が終われば、次はその中から最も性能の良い最適なアーキテクチャを探索します。サブネットの評価には検証データにおける精度を用いることが多いです。
サブネットの再学習
再学習のフェーズでは、サブネットの探索段階で最も精度の高いK個のサブネットを再学習させます。その後、検証データで評価し、最も精度の高いサブネットが最終的な最適サブネットとして選択されます。
バッチ正則化層
バッチ正則化層はネットワークの刈込に利用されており、チャンネルの重要度を評価するのに適していると考えられています。バッチ正則化層への入力をXinとすると、バッチ正則化層の出力Xoutは、
のように計算されます。式中でネットワークの学習時に更新されるパラメータは、βとγです。
提案手法
概要
提案手法のフレームワークの概要は以下の図のようなものです。
基本的にはワンショットNASに基づいた手法になっています。違いとしては以下の二点があげられます。
- スーパーネットの学習フェーズにおいて、畳み込みパラメータを固定し、バッチ正則化層のパラメータのみを学習させる
- サブネット探索フェーズにおいて、提案するバッチ正則化ベースの指標を用いてサブネットを探索する
ここからは、サブネット探索フェーズにおいて利用される、バッチ正則化ベースの指標について説明します。
再掲になりますが、以下の図でバッチ正則化ベースの指標について説明します。
ワンショットNASでは、前述したとおり、各層においてOperation(図ではOp)を定義します。Operationの内訳は図の真ん中のようなものになります。提案手法では、このOperationの最後にあるバッチ正則化層のパラメータのみを利用します。そのため、Operationとして最後にバッチ正則化層がないものを選択することはできませんが、既存のNAS手法のほとんどは最後にバッチ正則化層が入っているため、提案手法を適用することができます。
バッチ正則化を用いた指標は、二つのパーツで構成されています。それは、
- バッチ正則化層によるOperationの評価
- 1によるアーキテクチャの評価
です。ここからはこれらについて説明します。
バッチ正則化によるOperationの評価
各レイヤのOperationの評価値は以下の式のように計算します。
この式では、バッチ正則化において学習可能パラメータであるγを用いてOperationを評価しています。
各Operation評価を用いたアーキテクチャの評価
各Operation評価を上の式のように求め、それらを合わせてアーキテクチャの評価値を計算します。具体的には以下の式に従って計算します。
実験
ベースライン手法との比較
ベースラインとしては、SPOSとFairNASという手法を選択しています。その比較結果は以下の表のようになりました。
提案手法を用いると、SPOSやFairNASにおいて精度を落とすことなく計算コストを大幅に低減できていることがわかります。
SOTA手法との比較
SOTA手法との比較結果は上の表のようになります。マニュアルで設計したネットワークと比較すると、SPOSに提案手法を組み合わせた手法はより少ないFLOP数で高い性能を達成していることがわかります。また、SOTAのNAS手法と比較しても少ないFLOP数で高い性能を発揮していることがわかります。探索コストについては、直接アーキテクチャを探索する手法に対して、提案手法は1/10以下の探索コストで済むことがわかります。
まとめ
NASにおける大きな課題である、探索コストという課題に対し、本提案手法ではバッチ正則化層のみを利用した学習と評価指標によって探索コスト低減を試みました。バッチ正則化層の学習のみでスーパーネットを学習するので、スーパーネットの学習時間が短くなり、またバッチ正則化層のパラメータによるサブネットの評価によって効率的に探索することができます。
この記事に関するカテゴリー