nekonookangae / SummarizePapers

個人用。翻訳した論文をIssuesにまとめていきます。
1 stars 0 forks source link

Neural Architecture Search: A Survey #13

Open nekonookangae opened 4 years ago

nekonookangae commented 4 years ago

一言でいうと

主に2017年~2019年のNAS分野におけるサーベイ論文。 NASの根幹となる、探索空間、探索戦略、パフォーマンス推定戦略の3つの側面についての説明と論文紹介がなされている。

論文リンク

http://www.jmlr.org/papers/volume20/18-598/18-598.pdf

著者/所属機関

Thomas Elsken, Jan Hendrik Metzen, Frank Hutter

投稿日付

2018/9/18

概要

ディープラーニングは、画像認識、音声認識、機械翻訳などのさまざまなタスクにおいて、過去数年にわたって目覚しい進歩を遂げてきました。 この進歩の重要な側面の1つは、新しいニューラルアーキテクチャです。 現在採用されているアーキテクチャの大部分は人間の専門家によって手動で開発されており、これは時間がかかり、エラーが発生しやすいプロセスです。 このため、自動化されたニューラルアーキテクチャの検索方法への関心が高まっています。 この研究分野での既存の研究の概要を示し、探索空間、探索戦略、およびパフォーマンス推定戦略※1 という3つの側面に従って分類します。

※1 パフォーマンス推定戦略:探索空間内のすべてのアーキテクチャについて、アーキテクチャのパフォーマンスに対応する数値を返す。一般的に、数値は特定のエポック数で学習した後にテストデータセットに適用した場合のモデルアーキテクチャの精度であるが、学習や推論の計算の複雑さなどのパラメータにも適用できる。

はじめに

知覚タスクにおけるディープラーニングの成功は、主に特徴エンジニアリングプロセスの自動化によるものです。階層的特徴抽出は、手動で設計するのではなく、データからエンドツーエンドで学習します。 しかし、この成功は、ますます複雑になるニューラルアーキテクチャを手動で設計するアーキテクチャエンジニアリングの需要の高まりを伴っています。 したがって、アーキテクチャエンジニアリングを自動化するプロセスであるNeural Architecture Search (NAS) は、機械学習の自動化における論理的な次のステップです。 NAS手法はすでに、画像分類(Zoph et al. 2018; Real et al. 2019)、オブジェクト検出(Zoph et al. 2018)、またはSemantic Segmentation(Chen et al. )などの一部のタスクで、手動で設計されたアーキテクチャを上回っています。 NASはAutoML(Hutter et al. 2019)の一部分と見なすことができ、ハイパーパラメータ最適化(Feurer and Hutter、2019)およびメタ学習(Vanschoren、2019)と大幅に重複しています。 NASの手法は、探索空間、探索戦略、およびパフォーマンス推定戦略の3つの側面に従って分類します。

スクリーンショット 2020-04-23 12 24 33

図1:NAS手法の抽象的なイラスト。 探索戦略は、事前定義された探索空間AからアーキテクチャAを選択します。 アーキテクチャはパフォーマンス推定戦略に渡され、Aの推定パフォーマンスが探索戦略に返されます。

 ○探索空間   探索空間は、原則として表現できるアーキテクチャを定義します。   タスクに最適なアーキテクチャの一般的なプロパティに関する事前知識を組み込むと、探索空間のサイズを縮小して探索を簡略化できます。   ただし、これには人間の偏見も伴い、現在の人間の知識を超えた新しい建築ビルディングブロックを見つけることができなくなる可能性があります。

 ○探索戦略   探索戦略では、探索空間 (多くの場合、指数関数的に大きいか境界がない) を探索する方法を詳しく説明します。   これは、一方ではパフォーマンスの良いアーキテクチャをすばやく見つけることが望ましい一方で、次善のアーキテクチャの領域への時期尚早な収束を回避する必要があるため、古典的な探査と開発のトレードオフを包含しています。

 ○パフォーマンス推定戦略   NASの目的は、通常、目に見えないデータに対して高い予測パフォーマンスを実現するアーキテクチャを見つけることです。   パフォーマンス推定とは、このパフォーマンスを推定するプロセスを指します。最も簡単なオプションは、標準的な学習とデータのアーキテクチャのValidationを実行することですが、これは残念ながら計算コストがかかり、探索できるアーキテクチャの数が制限されます。   したがって、最近の多くの研究は、これらのパフォーマンス推定のコストを削減する方法の開発に重点を置いています。

図1を参照してください。 また、記事はこれらの3つの側面に従って構成されています。まず、第2章で探索空間について説明し、第3章で探索戦略をカバーし、第4章でパフォーマンス推定方法の概要を説明します。 最後に、第5章で将来の方向性についての見通しを述べます。

探索空間

探索空間は、NASアプローチが原理的にどのニューラルアーキテクチャで発見するかを定義します 次に、最近の研究の一般的な探索空間について説明します。 比較的単純な探索空間は、図2(左)に示すように、チェーン構造のニューラルネットワークの空間です。

スクリーンショット 2020-04-23 12 41 16

図2:さまざまなアーキテクチャ空間のイラスト。 グラフの各ノードは、例えば畳み込み層やプーリング層などのニューラルネットワークの層に対応します。異なる層の種類は異なる色で視覚化されます。 層Liから層Ljへのエッジは、LjがLiの出力を入力として受け取ることを示します。 左:チェーン構造の空間の要素。 右:追加の層の種類と複数のブランチと接続をスキップした、より複雑な探索空間の要素。

チェーン構造のニューラルネットワークアーキテクチャAは、n層のシーケンスとして記述できます。ここで、i番目の層Liは層i − 1から入力を受け取り、その出力は層i + 1の入力として機能します。つまり、A = Ln◦... L1◦L0。 探索空間は次のようにパラメータ化されます。 (i)(最大) 層数n(おそらく制限なし)。 (ii)全ての層が実行する操作のタイプ、たとえば、プーリング、畳み込み、または深度ごとの分離可能な畳み込み(Chollet、2016)または拡張畳み込み(YuおよびKoltun、2016)などのより高度な操作。 (iii)操作に関連するハイパーパラメータ、たとえば、フィルタ数、カーネルサイズ、および畳み込み層のストライド(Baker et al. 2017a; Suganuma et al. 2017; Cai et al. 2018a)、またはFCNの単純なユニット数(Mendosa et al. 2016)。(iii)のパラメータは(ii)を条件とするため、探索空間のパラメータ化は固定長ではなく、条件付き空間であることに注意してください。

NASに関する最近の研究(Block et al. 2017; Elsken et al. 2017; Zoph et al. 2018; Elsken et al. 2019; Real et al. 2019; Cai et al. 2018b)は、図2(右)に示すように、複雑なマルチブランチネットワークの構築を可能にするSkip Connectionなど、手作りのアーキテクチャで知られている最新の設計要素を組み込んでいます。 この場合、層iの入力は、以前の層出力を組み合わせた関数gi(L^out_i−1, ..., L^out_0)として正式に説明できます。 このような関数を使用すると、自由度が大幅に向上します。 これらのマルチブランチアーキテクチャの特殊なケースは、 (i)gi(L^out_i−1, ..., L^out_0) = L^out_i−1を設定することによるチェーン構造ネットワーク (ii)gi(L^out_i−1, ..., L^out_0) = L^out_i−1 + L^out_j、j<i−1) によって前の層の出力が合計される残余ネットワーク(He et al. 2016) (iii)gi(L^out_i−1, ..., L^out_0) = concat (L^out_i−1, ..., L^out_0) によって以前の層の出力が連結されるDenseNets(Huang et al. 2017)

繰り返されるモチーフ※2 からなる人手のアーキテクチャが動機となり(Szegedy et al. 2016; He et al. 2016; Huang et al. 2017)、Zoph et al.(2018)とZhong et al.(2018a)はアーキテクチャ全体ではなく、そのようなモチーフ、追加セル、またはブロックをそれぞれ探索することを提案します。 Zoph et al.(2018)は、2つの異なる種類のセルを最適化します。入力の次元を保持する通常のセルと、空間次元を削減する削減セルです。 次に、図3に示すように、これらのセルを事前定義された方法でスタックすることにより、最終的なアーキテクチャが構築されます。

スクリーンショット 2020-04-23 13 20 25

図3:セルの探索空間の図。 左:2つの異なるセル、通常のセル(上)と削減セル(下)(Zoph et al. 2018)。 右:セルを順番にスタックすることによって構築されたアーキテクチャ。 セルは、層をセルに置き換えるだけで、マルチブランチスペースなどのより複雑な方法で結合することもできます。

この探索空間には、上記のものと比較して3つの主要な利点があります。

1. セルは通常、アーキテクチャ全体よりも大幅に少ない層で構成されるため、探索空間のサイズが大幅に縮小されます。   例えば、Zoph et al.(2018)は以前の研究(Zoph and Le, 2017)と比較して7倍のスピードアップと、より優れたパフォーマンスを実現していると推定します。 2. セルから構築されたアーキテクチャは、モデル内で使用されるセルとフィルタの数を変更するだけで、他のデータセットに簡単に転移または適合させることができます。   実際に、Zoph et al.(2018)では、CIFAR-10で最適化されたセルをImageNetに転移し、最先端のパフォーマンスを実現します。 3. ビルディングブロックを繰り返してアーキテクチャを作成することは、RNNでLSTMブロックを繰り返したり、残差ブロックを積み重ねたりするなど、一般的に有用な設計原理を証明しています。

その結果、このセルベースの検索スペースは、最近の多くの企業の研究でもうまく利用されています(Real et al. 2019; Liu et al. 2018a; Pham et al. 2018; Elsken et al. 2019; Cai et al. 2018b; Liu et al. 2019b; Zhong et al. 2018b )。 ただし、セルベースの探索空間を使用すると、新しい設計選択、つまりマクロアーキテクチャの選択方法が発生します。使用するセルの数と、実際のモデルを構築するためにそれらをどのように接続する必要がありますか? 例えば、Zoph et al.(2018)は、セルからSequentialモデルを構築します。各セルは、先行する2つのセルの出力を入力として受け取りますが、Cai et al.(2018b)はDenseNetなどのよく知られた人手で設計されたアーキテクチャの高レベルの構造を採用し、これらのモデル内でセルを使用します。 原則として、単純に層をセルで置き換えることにより、セルを任意に、たとえば上記の多分岐空間内で組み合わせることができます。 理想的には、マクロアーキテクチャとマイクロアーキテクチャ(つまり、セルの構造)の両方を、マイクロアーキテクチャのみを最適化するのではなく、共同で最適化する必要があります。そうしないと、パフォーマンスの高いセルを見つけた後で、手動でマクロアーキテクチャエンジニアリングを行う必要が生じやすくなります。マクロアーキテクチャを最適化するための1つのステップは、Liu et al. (2018b)によって導入された階層型探索空間です。いくつかのレベルのモチーフで構成されています。 最初のレベルは、プリミティブ操作のセット、有向非循環グラフを介してプリミティブ操作を接続するさまざまなモチーフの2番目のレベル、2番目のレベルのモチーフの接続方法をエンコードする3番目のレベルのモチーフなどで構成されます。 セルベースの探索空間は、レベルの数が3で、2番目のレベルのモチーフがセルに対応し、3番目のレベルがハードコーディングされたマクロアーキテクチャである、この階層型検索スペースの特殊なケースと見なすことができます。 探索空間の選択は、最適化問題の難しさを大きく左右します。固定されたマクロアーキテクチャを持つ単一のセルに基づく探索空間の場合でも、最適化問題は(i)非連続であり、(ii)比較的高次元です(そのため、複雑なモデルほどパフォーマンスが向上する傾向があり、その結果、設計の選択肢が増えます)。 多くの探索空間のアーキテクチャは固定長ベクトルとして記述できることに注意してください。たとえば、Zoph et al.(2018)による2つのセルのそれぞれの探索空間は、それぞれが少数の異なる構成要素と入力から選択する、離散的な次元を持つ40次元の探索空間として記述することができます。 無制限の探索空間は、(潜在的に非常に大きいが有限の)層の数を持つように制約することができます。これにより、(潜在的に多くの)条件付き次元を持つ固定サイズの探索空間が再び生じます。 次章では、これらの種類の探索空間に適した検索戦略について説明します。

※2 モチーフ:繰り返し使われる設計やデザインのこと。恐らく「Conv-BatchNorm-ReLu」などの構造のまとまりを指すと思われる

探索戦略

ランダムサーチ、ベイジアン最適化、進化的手法、強化学習 (RL)、勾配ベースの手法など、多くの異なる探索戦略を使用してニューラルアーキテクチャ空間を探索できます。 歴史的に、進化的アルゴリズムは、数十年前にニューラルアーキテクチャ(および多くの場合はその重み)を進化させるために多くの研究者によってすでに使用されていました(たとえば、Angeline et al. 1994; Stanley and Miikkulainen, 2002; Floreano et al. 2008; Stanley et al. 2009; Jozefowicz et al. 2015)。 Yao(1999)は、2000年以前の研究の文献レビューを提供しています。 ベイジアン最適化は、2013年以降、NASでいくつかの初期の成功を祝い、最先端のビジョンアーキテクチャ(Bergstra et al. 2013)、データ拡張なしのCIFAR-10の最先端のパフォーマンス(Domhan et al. 2015)、そして人間の専門家に対する競争データセットで勝つために最初に自動調整されたニューラルネットワーク(Mendoza et al. 2016)。 NASは、Zoph and Le(2017)がRLに基づく探索戦略でCIFAR-10およびPenn Treebankベンチマークで競争力のあるパフォーマンスを獲得した後、機械学習コミュニティの主流の研究トピックになりました。 ZophとLe(2017)は膨大な計算リソースを使用してこの結果(3〜4週間で800 GPU)を達成しましたが、彼らの研究の後、計算コストを削減し、パフォーマンスをさらに改善するために、さまざまな手法がすぐに発表されました。 ニューラルアーキテクチャの生成は、エージェントのActionであり、Action Spaceは探索空間と同じにすることで、NASをRL問題としてフレーム化しました(Baker et al. 2017a; Zoph and Le, 2017; Zhong et al. 2018a; Zoph et al. 2018)。 エージェントの報酬は、目に見えないデータ(セクション4を参照)に対するトレーニング済みアーキテクチャのパフォーマンスの推定に基づいています。 異なるRLアプローチは、エージェントの方策を表す方法とそれを最適化する方法が異なります。Zoph and Le(2017)は、再帰型ニューラルネットワーク (RNN) ポリシーを使用して、Sequentialにニューラルアーキテクチャをエンコードする文字列を順次サンプリングします。 彼らは当初、REINFORCE方策勾配アルゴリズム(Williams, 1992)を使用してこのネットワークを学習しましたが、彼らの事後研究(Zoph et al. 2018)では、代わりにProximal Policy Optimization(PPO, Schulman et al. 2017)を使用しています。 Baker et al.(2017a)Q学習を使用して、層の種類と対応するハイパーパラメータを順次選択する方策を学習します。 これらのアプローチの別の見方は、方策がアーキテクチャを順次生成するActionをサンプリングする順次決定プロセスであり、環境の「状態」にはこれまでにサンプリングされたActionの概要が含まれ、(割引前の) 報酬は最終的なActionの後にのみ取得されます。 ただし、この順次プロセス中に環境との相互作用は発生しないため (外部状態は観察されず、中間的な報酬はありません)、アーキテクチャサンプリングプロセスを単一のActionの順次生成として解釈する方が直感的です。これにより、RLの問題が簡単になり、ステートレス※3 な多腕バンディット問題になります。 NASを順次決定プロセスとして組み立てる、関連するアプローチがCai et al.(2018a)によって提案されました:彼らのアプローチでは、Stateは現在の (部分的に学習された) アーキテクチャであり、報酬はアーキテクチャのパフォーマンスの推定であり、ActionはNetwork Morphism(Chen et al. 2016; Wei et al. 2017)と呼ばれる突然変異の保存関数のアプリケーションに対応します。第4章も参照してください。その後、ネットワークの学習フェーズが続きます。 可変長ネットワークアーキテクチャを処理するために、双方向LSTMを使用して、アーキテクチャを固定長表現にエンコードします。 このエンコードされた表現に基づいて、ActorネットワークはサンプリングされたActionを決定します。 これら2つのコンポーネントの組み合わせが方策を構成し、これはREINFORCE方策勾配アルゴリズムを使用してエンドツーエンドで学習されます。このアプローチでは、同じ状態 (アーキテクチャ) を2度訪れることはありません。 RLを使用する代わりに、進化的アルゴリズムを使用してニューラルアーキテクチャを最適化するNeuro-Evolutionary(NE)アプローチがあります。 私たちが認識しているニューラルネットワークを設計するための最初のそのようなアプローチは、ほぼ30年前の日付(1989)です。遺伝的アルゴリズム (GA) を使用してアーキテクチャを提案し、Back Propagationを使用してそれらの重みを最適化します。 それ以来、多くのNEアプローチ(Angeline et al. 1994; Stanley and Miikkulainen, 2002; Stanley et al. 2009)は、GAを使用してニューラルアーキテクチャとその重みの両方を最適化しています。ただし、教師あり学習タスク用に数百万の重みを持つ最新のニューラルアーキテクチャにスケーリングする場合、SGDベースの重み最適化手法は現在、進化的手法よりも優れています。したがって、より最近のNEアプローチ(Real et al. 2017; Suganuma et al. 2017; Liu et al. 2018b; Real et al. 2019; Miikkulainen et al. 2017; Xie and Yuille, 2017; Elsken et al. 2019)では、勾配ベースの方法を使用して重みを最適化し、進化的アルゴリズムを使用してニューラルアーキテクチャのみを最適化します。 進化的アルゴリズムは、モデルの集団、つまり (学習済み) ネットワークのセットを進化させます。すべての進化のステップで、母集団から少なくとも1つのモデルがサンプリングされ、それに突然変異を適用することによって子孫を生成する親として機能します。 NASのコンテキストでは、突然変異は、層の追加または削除、層のハイパーパラメーターの変更、Skip Connectionの追加、学習可能なハイパーパラメータの変更などのローカル操作です。 子孫を学習した後、それらのPrecision (たとえば、Validationセットでのパフォーマンス) が評価され、母集団に追加されます。 NE手法では、親をサンプリングし、母集団を更新し、子孫を生成する方法が異なります。 たとえば、Real et al.(2017、2019)、およびLiu et al.(2018b)はトーナメント選択(Goldberg and Deb, 1991)を使用して親をサンプリングするのに対し、Elsken et al.(2019)はInverse densityを使用して多目的パレートフロントから親をサンプリングします。 Real et al.(2017)は集団から最悪の個体を削除し、Real et al.(2019)は最年長の個体(貪欲を減少させる)を削除することは有益であると考え、Liu et al.(2018b)は個体をまったく削除しません。 子孫を生成するために、ほとんどのアプローチは子ネットワークをランダムに初期化しますが、Elsken et a l.(2019)はラマルク継承※4 を採用します。つまり、知識 (学習された重みの形式) は、Network Morphismを用いて親ネットワークからその子に渡されます。 また、Real et al.(2017)は適用された突然変異の影響を受けない親のすべてのパラメータを子孫に継承させます。この継承は厳密に機能を維持するものではありませんが、ランダムな初期化と比較して学習を高速化する可能性もあります。 さらに、NAS中の学習率スケジュールを最適化する方法と見なすことができる学習率を変更することもできます。 NE手法に関する最近の詳細なレビューについて、Stanley et al. (2019) を参照しています。 Real et al.(2019)は、RL、evolution、およびランダムサーチ (RS) を比較するケーススタディを実施します。RLとevolutionは最終テストの精度の点で同等に機能し、evolutionはいつでも優れたパフォーマンスを発揮し、小さいモデルを見つけます。 どちらのアプローチも一貫して実験でRSよりも優れており、RSはCIFAR-10で約4%のテストエラーを達成しましたが、RLと進化は約3.5%に達しました (「モデル拡張」の後、深さとフィルタ数が増加しました; 実際に探索に使用された非拡張スペースの差は約2%でした)。 Liu et al.(2018b)の違いはさらに小さく、 CIFAR-10で3.9%のテストエラーとImageNetでRSのトップ1 Validationエラーを21.0%と報告したのに対し、進化ベースの手法ではそれぞれ3.75%と20.3%でした。

ベイジアン最適化 (BO、例えば (Shahriari et al.2016) を参照) はハイパーパラメータ最適化の最も一般的な方法の1つですが、典​​型的なBOツールボックスはガウスプロセスと低次元の連続最適化問題に焦点を当てます。 Swersky et al.(2013)およびKandasamy et al.(2018)は、従来のGPベースのBOメソッドを使用するために、アーキテクチャ探索空間のカーネル関数を導出します。 対照的に、いくつかの研究では、木ベースのモデル (特に、木パルゼン推定量(Bergstra et al. 2011)またはランダムフォレスト(Hutter et al. 2011))を使用して、高次元の条件付き空間を効果的に探索し、幅広い問題に対する最先端のパフォーマンスを実現することにより、ニューラルアーキテクチャとそのハイパーパラメータの両方を同時に最適化しています(Bergstra et al. 2013; Domhan et al. 2015; Mendoza et al. 2016; Zela et al. 2018) 。 完全な比較は欠けていますが、これらのアプローチが進化的アルゴリズムよりも優れている可能性があるという予備的な証拠もあります(Klein et al. 2018)。 Negrinho and Gordon(2017)とWistuba(2017)は、探索空間の木構造を利用して、モンテカルロ木探索を使用しています。 Elsken et al.(2017)は、より洗練された探索メカニズムを必要とせずに、パフォーマンスの高いアーキテクチャの方向に貪欲に移動することにより、高品質のアーキテクチャを発見する、シンプルでありながらパフォーマンスの高い山登りアルゴリズムを提案します。 上記の方法は離散的な探索空間を採用していますが、Liu et al.(2019b)は勾配ベースの直接最適化を可能にする連続緩和を提案します:特定の層で実行される単一の演算o_i (例えば、畳み込みまたはプーリング) を修正する代わりに、著者は演算セット{o_1, ..., o_m}から凸状の組み合わせを計算します。 より具体的には、層の入力xが与えられると、出力yは次のように計算されます: y =Σ{i = 1〜m} α_io_i(x)、αi≥0、Σ{i = 1〜m} αi= 1. ここで、凸係数α_iはネットワークアーキテクチャを効果的にパラメータ化します。 次に、Riu et al.(2019b)は重みの学習データとαなどのアーキテクチャパラメータのValidationデータの 両方で勾配降下ステップを交互に行うことにより、ネットワークの重みとネットワークアーキテクチャの両方を最適化します。 最終的に、離散的アーキテクチャは、すべての層に対して演算iとi = argmax_i α_iを選択することで得られます。 可能な演算の重みαを最適化する代わりに、Xie et al.(2019)やKai et al.(2019)は可能な操作に対してパラメータ化された分布を最適化することを提案します。 Shin et al.(2018)およびAhmed and Torresani(2018)も、ニューラルアーキテクチャの勾配ベースの最適化を採用していますが、それぞれ層のハイパーパラメータまたは接続パターンの最適化に重点を置いています。

※3 ステートレス:現在の状態を保持せず、入力の内容によってのみ出力が決定される方式。 同じ入力に対する出力は常に同じになる。 ※4 ネオ・ラマルキズム(https://ja.wikipedia.org/wiki/%E3%83%8D%E3%82%AA%E3%83%BB%E3%83%A9%E3%83%9E%E3%83%AB%E3%82%AD%E3%82%BA%E3%83%A0) と同意らしい。手法ではなく説。

パフォーマンス推定戦略

第3章で説明する探索戦略は、目に見えないデータの精度など、いくつかのパフォーマンス測定を最大化するニューラルアーキテクチャAを見つけることを目的としています。 これらの戦略は、彼らの探索プロセスを導くために、彼らが検討する特定のアーキテクチャAのパフォーマンスを推定する必要があります。 これを行う最も簡単な方法は、学習データでAを学習し、Validationデータでそのパフォーマンスを評価することです。 ただし、各アーキテクチャを最初から評価するように学習すると、NASのGPU日数が数千の計算量になることがよくあります(Zoph and Le, 2017; Real et al. 2017; Zoph et al. 2018; Real et al. 2019)。 これは当然、パフォーマンス推定を高速化する方法の開発につながります。これについては、これから説明します。 既存のメソッドの概要については、表1を参照してください。

スクリーンショット 2020-04-23 16 26 08

表1:NASのパフォーマンス推定を高速化するためのさまざまな方法の概要。

パフォーマンスは、完全な学習 (プロキシメトリックとも呼ばれる) 後の実際のパフォーマンスのより低いフィデリティ※5 に基づいて推定できます。 このような忠実度の低下には、学習時間の短縮(Zoph et al. 2018; Zela et al. 2018)、データのサブセットの学習(Klein et al。2017b)、低解像度の画像(Chrabaszcz et al. 2017)、または層あたりのフィルターが少なく、セルも少ない(Zoph et al. 2018; Real et al. 2019)。これらの忠実度の低い近似は計算コストを削減しますが、パフォーマンスは通常過小評価されるため、推定に偏りが生じます。 探索戦略が異なるアーキテクチャのランク付けのみに依存し、相対的なランク付けが安定している限り、これは問題にならない可能性があります。 ただし、最近の結果は、低コストな近似と「完全」評価の差が大きすぎる場合(Zela et al. 2018)、この相対ランキングが劇的に変化する可能性があることを示しており、忠実度の段階的な増加を主張しています(Li et al. 2017; Falkner et al. 2018)。 アーキテクチャのパフォーマンスを推定する別の可能な方法は、学習曲線の外挿※6 に基づいています(Swersky et al. 2014; Domhan et al. 2015; Klein et al. 2017a; Baker et al. 2017b; Rawal and Miikkulainen, 2018)。 Domhan et al.(2015)は、初期の学習曲線を推定し、パフォーマンスが低いと予測されたものを終了して、アーキテクチャ探索プロセスを高速化することを提案します。 Swersky et al.(2014)、Klein et al.(2017a)、Baker et al.(2017b)、およびRawal and Miikkulainen(2018)は、どの部分学習曲線が最も有望であるかを予測するために、アーキテクチャハイパーパラメータも検討しています。 新しいアーキテクチャのパフォーマンスを予測するための代理モデルの学習も、Liu et al.(2018a)によって提案されています。彼らは学習曲線の外挿を採用していませんが、アーキテクチャ/セルプロパティに基づくパフォーマンスの予測をサポートし、学習中に見られるよりも大きいサイズのアーキテクチャ/セルに外挿します。 ニューラルアーキテクチャのパフォーマンスを予測するための主な課題は、探索プロセスを高速化するために、比較的少数の評価に基づいて比較的大きな探索空間で適切な予測を行う必要があることです。 パフォーマンス推定を高速化する別のアプローチは、以前に学習された他のアーキテクチャの重みに基づいて、新しいアーキテクチャの重みを初期化することです。 これを達成する1つの方法は、Network Morphismと呼ばれ(Wei et al. 2016)、ネットワークによって表される関数を変更せずにアーキテクチャを変更できるため、数GPU日しか必要としない手法です(Elsken et al. 2017; Cai et al. 2018a,b; Jin et al. 2018)。 これにより、ネットワークの容量を連続的に増加させ、最初から学習を行うことなく高いパフォーマンスを維持できます。 いくつかのエポックの学習を継続すると、Network Morphismによって導入された追加の容量を利用することもできます。 これらのアプローチの利点は、アーキテクチャのサイズに固有の上限がなくても探索空間を使用できることです(Elsken et al. 2017)。一方、厳密なNetwork Morphismはアーキテクチャを大きくするだけなので、過度に複雑なアーキテクチャにつながる可能性があります。 これは、アーキテクチャの縮小を可能にする近似ネットワークモーフィズムを採用することで軽減できます(Elsken et al. 2019)。 One-shotアーキテクチャ検索(図4を参照)は、すべてのアーキテクチャをスーパーグラフの異なるサブグラフ(One-shotモデル)として扱い、このスーパーグラフのエッジを共通に持つアーキテクチャ間で重みを共有します(Saxena and Verbeek, 2016; Brock et al. 2017; Pham et al. 2018; Liu et al. 2019b; Bender et al. 2018; Cai et al. 2019; Xie et al. 2019)。

スクリーンショット 2020-04-23 16 41 43

図4:One-shotアーキテクチャ検索の図。 入力ノード(0)、3つの非表示ノード (1, 2, 3)、1つの出力ノード (4) を持つ単純なネットワーク。 ノードに単一の操作(3x3畳み込みなど)を適用する代わりに、One-shotモデル(左)には、すべてのノードのいくつかの候補演算、つまり3x3畳み込み (赤いエッジ)、5x5畳み込み (青いエッジ) とMaxPooling (上図の緑のエッジ)。 One-shotモデルが学習されると、その重みは、One-shotモデルのサブグラフであるさまざまなアーキテクチャ全体で共有されます(右)。 図はLiu et al.(2019b)に触発されました。

学習する必要があるのは単一のOne-shotモデルの重みのみ (様々な方法のいずれかで) であり、アーキテクチャ (One-shotモデルのサブグラフにすぎません) は、学習された重みをOne-shotモデルから継承することにより、個別の学習なしでアーキテクチャを評価できます。 これにより、学習が不要になるため(Validationデータのパフォーマンスを評価するだけ)、アーキテクチャーのパフォーマンス推定が大幅にスピードアップし、手法も数GPU日しか必要としません。 One-shotモデルは、最高のアーキテクチャの実際のパフォーマンスを大幅に過小評価しているため、通常、大きなバイアスが発生します。それでも、アーキテクチャのランク付けが可能であり、推定パフォーマンスが実際のパフォーマンスと強く相関している場合はこれで十分です。 ただし、これが実際に当てはまるかどうかは現在のところ不明です(Bender et al. 2018; Sciuto et al. 2019)。 さまざまなOne-shot NAS手法は、One-shotモデルの学習方法が異なります。 ENAS(Pham et al. 2018)は、探索空間からアーキテクチャをサンプリングするRNNコントローラを学習し、強化します。 DARTS(Liu et al. 2019b)は、候補演算の混合をOne-shotモデルの各エッジに配置することで得られる、探索空間の連続緩和と一緒にOne-shotモデルのすべての重みを最適化します。 DARTSのように操作の実数値の重みを最適化する代わりに、SNAS(Xie et al. 2019)は候補演算の分布を最適化します。 著者は、具体的な分布(Maddison et al. 2017; Jang et al. 2017)と再パラメーター化(Kingma and Welling, 2014)を使用して離散分布を緩和し、微分可能にして、勾配降下法による最適化を可能にします。 One-shotモデル全体をGPUメモリに保持する必要性を克服するために、ProxylessNAS(Cai et al. 2019)は、アーキテクチャの重みを「バイナリ化」し、操作ごとに1つのエッジを除くすべてをマスクします。 エッジがマスクされるかどうかの確率は、いくつかの2値化されたアーキテクチャをサンプリングし、BinaryConnect(Courbariaux et al. 2015)を使用して対応する確率を更新することで学習されます。 Bender et al.(2018)は、One-shotモデルを1回だけ学習し、Path Dropoutを使用した学習中にこのモデルの一部を確率的に非アクティブ化するときにこれで十分であることを示します。 前述のアプローチは、学習中にアーキテクチャ上の分散を最適化しますが、Bender et al.(2018)のアプローチは、 固定分散※7 を使用していると見なすことができます。 後者によって得られる高いパフォーマンスは、重み共有と固定された (慎重に選択された) 分布の組み合わせが(おそらく驚くべきことに)One-shot NASに必要な唯一の要素である可能性があることを示しています。 これらのアプローチに関連するのは、新しいアーキテクチャの重みを生成するハイパーネットワークのメタ学習であり、したがって、ハイパーネットワークの学習のみが必要で、アーキテクチャ自体は必要ありません(Brock et al. 2017; Zhang et al. 2019)。 ここでの主な違いは、重みは厳密には共有されず、共有ハイパーネットワークによって生成されることです (サンプルアーキテクチャの条件付き)。 One-shot NASの一般的な制限は、先験的に定義されたスーパーグラフが探索空間をそのサブグラフに制限することです。 さらに、アーキテクチャ検索時にスーパーグラフ全体がGPUメモリに常駐する必要があるアプローチは、それに応じて比較的小さなスーパーグラフと探索空間に制限されるため、通常はセルベースの探索空間と組み合わせて使用​​されます。 重み共有に基づくアプローチでは、NASに必要な計算リソースが大幅に削減されましたが (数千から数GPU日)、アーキテクチャのサンプリング分布が最適化されている場合、どのバイアスが探索に導入されるかは現時点では十分に理解されていません-One-shotモデルを修正するのではなく(Bender et al. 2018)。

たとえば、探索空間の特定の部分を他の部分よりも探索する際の初期バイアスは、One-shotモデルの重みがこれらのアーキテクチャにより適切に適合されることにつながり、次に、探索空間のこれらの部分への探索のバイアスを強化します。 これにより、NASの収束が早すぎたり、アーキテクチャのOne-shotと実際のパフォーマンスとの間にほとんど相関関係が生じない可能性があります(Sciuto et al. 2019)。 一般に、異なるパフォーマンス推定によって導入されたバイアスのより体系的な分析は、将来の研究にとって望ましい方向性になります。

※5 フィデリティ(Fidelity):忠実度。解釈したいモデル f(x) を説明 g(x) がどれくらい忠実に模倣しているかを測る指標...と書かれているが、解説が少ないのでよく分からない ※6 外挿:ある既知の数値データを基にして、そのデータの範囲の外側で予想される数値を求めること。(https://ja.wikipedia.org/wiki/%E5%A4%96%E6%8C%BF)を参照。 ※7 固定分散(Fixed distribution):これ(https://math.stackexchange.com/questions/2260530/fixed-distribution) 以外の文献がない。

将来の方向性

このセクションでは、NASの研究に関する現在および将来の方向性について説明します。 ほとんどの既存の研究は、画像分類のためのNASに焦点を当てています。 一方では、このドメインで良好に機能し、NASで簡単に実行できないアーキテクチャを見つけることに多くの手動エンジニアリングが費やされているため、これは挑戦的なベンチマークを提供します。 一方、手動エンジニアリングの知識を活用することで、適切な探索空間を定義することは比較的簡単です。 これにより、見つかったアーキテクチャは根本的に異なることができないため、NASが既存のアーキテクチャを大幅に上回るアーキテクチャを見つける可能性は低くなります。(人間の想像の域を超えない = 既存の人手のアーキテクチャと似通ってしまう) したがって、あまり探索されていないドメインにNASを適用することにより、画像分類の問題を超えることが重要であると考えます。 この方向の注目すべき最初のステップは、画像復元(Suganuma et al. 2018)、Semantic Segmentation(Chen et al. 2018; Nekrasov et al. 2018; Liu et al. 2019a)、転移学習(Wong et al. 2018)、機械翻訳(So et al. 2019)、強化学習(Runge et al. 2019)、および言語や音楽のモデリング用RNNの最適化(Greff et al. 2015; Jozefowicz et al. 2015; Zoph and Le, 2017; Rawal and Miikkulainen, 2018)。 NASのさらに有望なアプリケーション領域は、生成的敵対ネットワーク (GAN) またはセンサ融合※8 です。 追加の有望な方向性は、マルチタスク問題(Liang et al.2018; Meyerson and Miikkulainen、2018)および多目的問題(Elsken et al.2019; Dong et al.2018; Zhou et al。 2018)です。これらの方法では、リソース効率の測定値が、目に見えないデータの予測パフォーマンスとともに目的として使用されます。 私たちは、多目的NASがネットワーク圧縮と密接に関連していることを強調します(Han et al. 2016; Cheng et al. 2018)。どちらも、パフォーマンスは優れつつ効率的なアーキテクチャを見つけることを目的としています。 したがって、一部の圧縮方式はNAS方式(Han et al. 2015; Liu et al. 2017; Gordon et al. 2018; Liu et al. 2019c; Cao et al. 2019)と見なすこともでき、その逆(Saxena and Verbeek, 2016; Liu et al. 2019b; Xie et al. 2019)も可能です。 同様に、第3章で説明したようなRL /バンディットアプローチを拡張して、タスクのプロパティ/リソース要件をエンコードする状態を条件とする方策を学習する (つまり、設定をコンテキストバンディットに変換する)ことは興味深いでしょう。 同様の方向性に続いて、Ramachandran and Le(2018)は、One-shot NASを拡張して、タスクまたはインスタンスに応じて異なるアーキテクチャを生成しました。 さらに、NASを敵対的な例に対してより堅牢なアーキテクチャの探索に適用すること(Cubuk et al. 2017)は、興味深い最近の方向性です。

これに関連するのは、より一般的で柔軟な探索空間の定義に関する研究です。 たとえば、セルベースの探索空間は異なる画像分類タスク間で高い転移可能性を提供しますが、それは主に画像分類に関する人間の経験に基づいており、 ハードコードされた階層構造 (同じセルをいくつか繰り返す) が適用されない他のドメインに簡単に一般化されません (例えば、Semantic SegmentationまたはObject Detection)。 より一般的な階層構造の表現と識別を可能にする探索空間は、NASをより広く適用できるようにします。 この方向の最初の研究は、Liu et al.(2018b、2019a)を参照してください。 さらに、共通の探索空間は、さまざまな種類の畳み込みやプーリングなどの事前定義されたビルディングブロックにも基づいていますが、このレベルで新しいビルディングブロックを特定することはできません。この制限を超えると、NASの能力が大幅に向上する可能性があります。 NASのさまざまな手法の比較、および公開された結果の再現性さえも、アーキテクチャのパフォーマンスの測定は、アーキテクチャ自体以外の多くの要因に依存するため、複雑です。 ほとんどの著者はCIFAR-10データセットの結果を報告しますが、実験は、探索空間、計算予算、データ拡張、学習手順、正則化、およびその他の要因に関して異なることがよくあります。 たとえば、CIFAR-10の場合、Cosine Annealing学習率スケジュール(LoshchilovおよびHutter, 2017)、CutOut(Devries and Taylor, 2017)、MixUp(Zhang et al. 2017)や、Factorの組合せ(Cubuk et al. 2018)によるデータ拡張、およびShake-Shake(Gastaldi, 2017)またはScheduledDropPath(Zoph et al. 2018)による正則化を使用すると、パフォーマンスが大幅に向上します。 したがって、これらの要素の改善は、NASが見つけた優れたアーキテクチャよりも、報告されたパフォーマンス数に大きな影響を与えると考えられます。 したがって、さまざまなNAS手法を公平に比較​​するには、共通のベンチマークの定義が重要であると考えています。 この方向への最初のステップは、Ying et al.(2019)によって提案されたベンチマークです。これは、約423,000のユニークな畳み込みアーキテクチャで構成される探索空間が考慮されます。 この空間の各要素は事前に学習され、複数回評価された結果、学習、Validation、テストの精度、および複数の実行に対する様々な学習時間のモデルサイズを含むデータセットが得られました。 したがって、事前に計算されたデータセットをクエリするだけで、さまざまな探索戦略をこのベンチマークの低い計算リソースと比較できます。 以前の小規模な研究では、Klein et al.(2018)がニューラルアーキテクチャとハイパーパラメータの結合空間を事前評価しました。 NAS手法を単独で評価するのではなく、完全なオープンソースのAutoMLシステムの一部として評価することも興味深いでしょう。そこでは、ハイパーパラメータも含まれます(Mendoza et al. 2016; Real et al. 2017; Zela et al. 2018)。そしてデータ拡張パイプライン(Cubuk et al. 2018)はNASとともに最適化されます。 NASは印象的なパフォーマンスを達成しましたが、これまでのところ、特定のアーキテクチャがうまく機能する理由や、独立した実行で派生したアーキテクチャがどれほど似ているかについての洞察はほとんどありません。 一般的なモチーフを識別し、それらのモチーフが高性能にとって重要である理由を理解し、これらのモチーフがさまざまな問題を一般化するかどうかを調査することが望ましいでしょう。

※8 センサ融合(Sensor Fusion):いくつかのロボットセンサの情報を使って新しい情報を抽出する方法。人間の脳の中では,右の目と左の目の情報を融合して立体像を作り出す領域や,視覚情報と体感覚を連合する領域を持っており,総合的な感覚制御動作を実現している。例えば,見えない部分を手で触って確かめることや,ボルトにナットを当てはめて締めていく場合,目で見てボルトやナットの状況を確認しながら,触覚によって力の状態を制御し,作業を進めていくのである。こういった異なる種類のセンサの協調の仕方で,座標変換をしたり信号の補完や平均化を図る方法をセンサ融合 sensor fusionという。原文は(https://kotobank.jp/word/%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%95%E3%83%A5%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-161289)

コメント

マルチタスク学習の研究が始まったのは2018年からと比較的新しく、新規性という意味では間違いなくありそうに感じる。