敵対的サンプルにロバストなネットワーク構造の探索
3つの要点
✔️ Neural Architecture Search により,敵対的攻撃に対してロバストなネットワークのアーキテクチャを調査
✔️ ロバストなアーキテクチャのファミリー (RobNets)を発見
✔️ ホワイトボックス攻撃,ブラックボックス攻撃のどちらであっても少ないパラメータ数でロバスト性を向上
When NAS Meets Robustness: In Search of Robust Architectures against Adversarial Attacks
written by Minghao Guo, Yuzhe Yang, Rui Xu, Ziwei Liu, Dahua Lin
(Submitted on Nov 2019 (v1), last revised 26 Mar 2020 (this version, v3))
Comments: Accepted by CVPR 2020.
Subjects: Machine Learning (cs.LG); Cryptography and Security (cs.CR); Computer Vision and Pattern Recognition (cs.CV); Machine Learning (stat.ML)
code:
研究概要
近年の敵対的攻撃の進展により、最新の DNN の本質的な脆弱性が明らかになってきました。それ以来、特殊な学習アルゴリズムや損失関数を用いて、 DNN のロバスト性を高めるための努力が続けられています。本研究では、アーキテクチャの観点から、敵対的攻撃に強いネットワークアーキテクチャのパターンを調査しています。ネットワークのアーキテクチャを探索する手法として,本研究では Neural Architecture Search を用いています.ロバストなネットワークのアーキテクチャの調査の結果,
- 密に接続されたパターンはロバスト性が向上
- 計算量を少なくする必要がある場合,直接接続されたエッジに畳み込みをすると効果的
- FPS (Flow of solution procedure) 行列は,ネットワークのロバスト性の良い指標
ということが明らかになりました.これらに基づいて,著者らはロバストなアーキテクチャのファミリーである RobNets を発見しました.RobNetsは、ホワイトボックス攻撃とブラックボックス攻撃の両方に対して、少ないパラメータ数でもロバスト精度を大幅に向上させることに成功しました.
関連研究
敵対的攻撃(Adversarial Attacks)とその対策
敵対的攻撃とは,モデルに入力するデータに何らかの加工を加えることで,モデルの出力を誤らせるような攻撃です.DNNはこの敵対的攻撃に脆弱であることが近年の研究で明らかになっており,問題視されています.
敵対的攻撃の対策として有名なのが,敵対的訓練(Adversarial Training)と呼ばれるものです.これは,モデルを学習させる際に通常のデータだけではなく,敵対的サンプルも一緒に学習させることで,モデルのロバスト性を向上させるものです.詳しくはこちらの記事をご覧ください。
Neural Architecture Search (NAS)
Neural Architecture Searchとは,自動的にニューラルネットワークの構造を探索する方法です.ハイパーパラメータチューニングの自動化ツールはよく使われており,それとの違いが少しわかりにくいですが,NASはモデルの構造(レイヤ間の接続など)の決定も自動的に行います.イメージとしては,ハイパーパラメータチューニングの自動化ツール + モデルの構造決定 = NASです.
・One-shot NAS
NASにおいて考えるべき問題点は大まかに分けると以下の三つになります.
- 探索空間の設定
- 探索方法の設定
- パフォーマンスの推定方法
1の探索空間については,広くとりすぎると探索に時間がかかってしまいますし,狭くしすぎると探索空間設定における設計者のバイアスがモデルの性能に大きく影響してしまいます.2の探索方法については,進化的アルゴリズムやベイズ最適化,強化学習などが考えられます.3のパフォーマンスの推定方法ですが,NASによって探索されたモデルの評価をする際に,通常の方法(モデルを生成するたびに学習,評価を行う方法)を用いると時間がかかりすぎます.そのため,そのようなことをせずにパフォーマンスを推定するために様々な方法が考えられています.その一つが本論文でも用いられている,One-shot NASになります.
One-shot NASは,とても大きなネットワーク(スーパーネットと呼びます)から一部のネットワークを抽出(サブネットワークと呼びます)することでネットワーク構造を探索していきます.そのため,最初にスーパーネットを学習させておけば,サブネットワークは学習させない,あるいはFine tuning のみで済ませることができるので,そのつどの学習が減り,高速化が期待できます.
この方法だと0からサブネットワークを学習した場合と結果が異なるのではないか思われますが,スーパーネットから抽出した場合とサブネットワークを0から学習した場合とで結果には強い相関があることがわかっているので,良い構造を探索したいという目的においては問題はありません.
Robust Neural Architecture Search
ここでは,本論文で行ったアーキテクチャの探索方法とその評価方法について説明します.また,著者らがRobNetsを発見するに至った経緯を説明します.
アーキテクチャの探索方法
アーキテクチャの探索には,前述のとおりOne-shot NASを用います.
上図の(a)がスーパーネットの概略図になります.このスーパーネットの中に,(b)のようにResNetが含まれていたり,(c)のようにDenseNetが含まれていたりします.スーパーネットのノードの接続関係を$\alpha$という変数を用いて表します.$\alpha$が1なら,そこは接続されており,逆に0ならそこは接続されていないことになります.そのため,スーパーネットからサブネットを抽出するということは,この$\alpha$を集めた$\vec{\alpha}$を抽出することと同義となります.
・ロバスト性の評価
敵対的サンプルに対する精度をネットワークのロバスト性の指標とみなします.
RobNets発見の経緯
著者らは上記の設定で,ロバストなネットワークのアーキテクチャを探索しました.
・セルベースのアーキテクチャの分析
NASでは,ResNetなどにみられるskip connectionなどの特殊な接続も自動で探索するために,セルと呼ばれる単位ごとにアーキテクチャを定義し,それらの組み合わせを探索することで,探索の高速化とskip connectionなどの特殊な接続の探索の自動化を行います.ここでは,異なるセル間のアーキテクチャを共有した,セルベースで探索したアーキテクチャについて結果を示します.
図の(a)をみてわかる通り,スーパーネットから抽出したサブネットをそのまま使うよりも,敵対的訓練によりfine tuningしたほうが敵対サンプルに対する精度が高いことがわかります.よって,サブネットに対して敵対的訓練によりfine tuningを行うのが良いということがわかります.図の(b)を見てわかる通り,ほとんどのアーキテクチャは比較的高いロバスト性を達成していますが,そうでないものも多数存在しています.そこで著者らは,ロバスト性の高いネットワークに共通の特徴があるかどうかを検討しました.
著者らは1000個の抽出したアーキテクチャのうち上位300個と下位300個を対象に,上位300個には1のラベルを,下位300個には-1のラベルを付け,t-SNEを用いて$\alpha$の低次元の埋め込みを視覚化しました.その結果が上図の(a)になります.これを見ると,上位300個と下位300個の間にはパターンが確認できるので,$\alpha$がネットワークのロバスト性に大きく影響を与えていることがわかります.すなわち,ネットワークのアーキテクチャはロバスト性に影響を与えることを明確に表しています.
この結果を受けて著者らは,ロバストなネットワークにおいてどの経路が重要なのかを調べるために,アーキテクチャのパラメータを入力として,ロバストかどうかを予測する分類器を作りました.この分類器の重みの中で,大きな値になっている部分に相当する経路が重要であると考えられます.その結果が上図の(b)になります.ほとんどすべての重みの値が正の値であることから,アーキテクチャの密度と敵対的サンプルに対する精度には強い相関関係があることがわかります.
アーキテクチャの密度と敵対的サンプルに対する精度の関係をもう少し詳しく調べるために,相関関係の分析を行いました.ここでは,アーキテクチャの密度$D$を,アーキテクチャ内のすべての接続可能なエッジの総数に対する接続されたエッジの数と定義して,$$D = \frac{|E_{connected}|}{|E|} = \frac{\Sigma_{i,j,k}\alpha^{(i,j)}_{k}}{|E|}$$として表します.
相関関係の分析の結果は以下のようになります.
アーキテクチャの密度が増加すればするほど,敵対的サンプルに対する精度が高くなる傾向があることがわかります.よって,密に接続されたアーキテクチャは,ネットワークのロバスト性を高めることができると考えられます.
・計算資源が限られる場合のネットワーク構造
既存の研究で,ネットワークのパラメータ数を増やすとロバスト性が向上することがわかっています.そこで著者らは,パラメータ数を固定した場合のロバストなアーキテクチャも調査しました.
上図の(a)を見ると,畳み込み演算の数が増えるにつれて,敵対的な精度は着実に向上しています.また,スキップエッジでの畳み込みよりも,ダイレクトエッジでの畳み込みのほうが敵対的精度に貢献していることがわかります.そこで,計算機資源を大中小の3通り用意し,それぞれでダイレクトエッジでの畳み込みの効果を検証しました.その結果が上図の(b)になります.この結果を見ると,計算機資源が少ない(小)の場合,特にダイレクトエッジでの畳み込みの効果が高いことがわかります.
以上から,計算機資源が限られる場合,モデルのロバスト性を向上させるためには,ダイレクトエッジに畳み込み演算を加えることが効果的であることがわかります.
・より大きな探索空間の調査
ここまでは各セルのアーキテクチャは共通でした.この制約を緩和し,ネットワーク内のすべてのセルが異なるアーキテクチャを持つことを許可した場合どのようになるかも調べました.また,このセルフリーの設定では,ネットワークのロバスト性の指標は何になるのかについても調べました.
セルフリーの設定にすることによって,探索空間の複雑さは爆発的に増加します.この問題を解決するために,著者らはFeature Flow Guided Searchを提案しました.これは,ネットワークの最終的な出力に注目する代わりに,ネットワークの中間セル間の特徴の流れを考慮します.具体的には,各セル間のグラム行列を計算し(この結果をFSP行列と呼びます),ネットワークの各セルについて,敵対的サンプルと通常のサンプルのFSP行列の距離を計算します.
各セルに対するFSP行列の距離(FSP Matrics loss)と通常のデータに対する精度と敵対的サンプルに対する精度の差の関係をプロットした図が下の図になります.この図を見ると,この各セルに対するFSP行列の距離が,通常のデータに対する精度と敵対的サンプルに対する精度との差に正の相関を持つことがわかります.よって,FSP Matrics lossが高いものは敵対的サンプルに対する精度が低いといえるため,スーパーネットから抽出したサブネットワークに対してfine tuningする前に,FSP Matrics lossを計算して閾値以上のものは切り捨てることによって,fine tuningする前に結果が出なさそうなものを切り捨てられるので,探索空間の増加に対処することができます.
実験
以上の手法を用いて求めた,ロバストなアーキテクチャをほかの有名なアーキテクチャと比較します.攻撃はホワイトボックス攻撃を想定します.データセットとしてCIFAR-10を用い,敵対的学習のための敵対的サンプルの生成にはPGDを使用しました.比較する際は,各モデルに対して敵対的学習を行い,様々な攻撃手法で生成した敵対的サンプルに対する精度を比較します.その結果が以下の表になります.
RobNetの後ろについている,small,midium,largeはパラメータ数を表しています.この結果を見るとほぼすべての攻撃手法に対してRobNetファミリーのモデルがほかのアーキテクチャの精度を上回っており,また,通常データに対する精度も比較的高い水準を保つことができています.特に最も強い攻撃手法として知られているPGDで生成されたサンプルに対しても,RobNetファミリーのモデルはすべてほかのアーキテクチャの精度を上回っています.RobNetはアーキテクチャを変更するだけで,精度を最大で5.1%も向上させることができました.
FSP Guided Searchの効果もこの表から読み取れます.この表の一番下の行にあるRobNet-freeは,セルフリーの条件で探索されたアーキテクチャを表しています.RobNet-freeは,RobNet-large-v2と比較して6倍少ないパラメータ数にもかかわらず,敵対的サンプルに対する精度はすべての攻撃に対して上回るという性能を示しており,FSP Guided Searchの効果が十分確認できます.
また,ブラックボックス攻撃を想定した場合の結果は以下のようになります.この結果を見ると,ブラックボックス攻撃の場合でもRobNetが敵対的サンプルに対する精度が高いことがわかります.
CIFAR-10以外のデータセットに対しても実験を行いました.その結果を以下に示します.
この結果を見ると,CIFAR-10以外のデータセットに対してもRobNetが有効であることがわかります.
まとめ
著者らは,One-shot NASを利用して敵対的な攻撃に対するネットワークアーキテクチャの影響を理解するための,ロバストなアーキテクチャの探索方法を提案しました.この研究により,敵対的サンプルに対して強いアーキテクチャファミリのRobNetファミリーを発見することができました.ネットワークアーキテクチャと敵対的サンプルに対するロバスト性との関係は,今後も研究が進められていくと思われます.
この記事に関するカテゴリー