Ch.3 Neural Architecture Search|Automatic Machine Learning 読解メモ #3

f:id:lib-arts:20190215164551p:plain

#1ではCh.1のHyperparameter Optimization、#2ではCh.2のMeta-Learningを読み進めました。
https://lib-arts.hatenablog.com/entry/automl_text_reading1
https://lib-arts.hatenablog.com/entry/automl_text_reading2
#3ではCh.3のNeural Architecture Searchについて取り扱います。(大筋は外してないと思いますが、あくまで読解メモなので読み取りミスはある可能性があります。深く考えると進まなくなりそうなので8~9割くらいの確信度で書いていければと考えています。)
以下目次になります。


1. 3章の内容に関して概要
2. 詳細
2.1 Introduction(3.1)
2.2 Search Space(3.2)
2.3 Search Strategy(3.3)
2.4 Performance Estimation Strategy(3.4)
2.5 Future Directions(3.5)
3. まとめ&所感

 

1. 3章の内容に関して概要
3章の内容としてはニューラルネットワークの構造の最適化の手法としてNAS(Neural Architecture Search)について取り扱われています。DeepLearningは近年目覚ましい発展(remarkable progress)を遂げ、具体的な分野の例としては画像認識(image recognition)、音声認識(speech recognition)、機械翻訳(machine translation)について取り上げられています。
DeepLearningが目覚ましい発展を遂げる一方で、元々本来的に期待されていた自動的な特徴量の抽出については、人間の熟練者によって行われており、その経緯でネットワーク構造の探索の手法への興味が大きくなってきたというのがNASが考えられるようになった背景となります。
上記を受けて、NASの研究のカテゴリは3つの次元で成り立っているとされており、(1)探索空間(search space)、(2)探索戦略(search strategy)、(3)評価推定戦略(performance extimation strategy)の三つが挙げられています。


2. 詳細
NASについても基本的に通常の機械学習におけるMeta-Learningと同様に考えられるため、2章と同様に考えると良いと思います(NASはMeta-Learningの一部と考えられるとされています)。3.1ではNASの導入(Introduction)についてまとまっており、1節でまとめた3つの次元に関して図式化されています。3.2〜3.4ではそれぞれ3つの次元についての詳細がまとまっており、3.2では探索空間(search space)、3.3では探索戦略(search strategy)、3.4では評価推定戦略(performance extimation strategy)について取り扱われています。


2.1 Introduction(3.1)
3.1のIntroductionでは、概要についてまとまっています。まずDeepLearningの成功は人間が設計するのではなくデータから特徴量抽出を自動化することによってなったが、これはニューラルネットワークの構造の取り扱いが人手で必要になったので、次のステップとしてNASによって構造設計を自動化が挙がってきたとされています。

f:id:lib-arts:20190219132333p:plain
また、3.2〜3.4で取り扱う3つの次元について上図のような関係性の概念図やそれぞれの考え方について軽くまとまっていました。(それぞれの節と内容は被るので割愛します)


2.2 Search Space(3.2)
3.2では探索空間(Search Space)についてまとめられています。NASの文脈における比較的単純な探索空間としては、figure3.2の左の図のような鎖状のニューラルネットワークの探索空間が挙げられています。

f:id:lib-arts:20190219135601p:plain
figure3.2は上図の左側のようなイメージです。この時、Aを全体の構造(architecture)、Lをニューラルネットワークの層(layer)とすることでモデルが表現されているとすると、下記の3つが探索空間としてパラメータ化されます。

1. ニューラルネットワークのレイヤーの数
2. それぞれのレイヤーが実行できる諸々の操作(operation)
3. 操作(operation)に関連付くハイパーパラメータ

またこの時の注意として、3は2によって条件付けられるため、全体のパラメータは固定長ではなく条件付きの空間であると補足されていました。

[1611.01578] Neural Architecture Search with Reinforcement Learning
上記の2016年時でのNASの論文でもこの辺が言及されており、この論文ではLSTMで表現されています。


2.3 Search Strategy(3.3)
3.3では探索にあたっての戦略についてまとまっています。NASの探索空間を探索するには多くの異なる探索手法が存在し、(1)ランダムサーチ(Random Search)、(2)ベイズ最適化(Bayesian Optimization)、(3)進化的手法(Evolutionary Methods)、(4)強化学習(Reinforcemnt Learning)、(5)勾配ベースの手法(Gradient-Based Methods)などが挙げられていました。

[1611.01578] Neural Architecture Search with Reinforcement Learning
ちなみに上記の論文では強化学習的なアプローチが使用されていました。


2.4 Performance Estimation Strategy(3.4)
3.4では探索において必要なパフォーマンス推定についてまとまっています。イメージを補足するなら組み合わせ最適化問題における焼きなまし法(Simulated Annealing)におけるスコアと同様に改善にあたっての目的とする指標が必要と捉えておけば良いです。本文中でも3.3の探索戦略はネットワーク構造のパフォーマンスを推定する戦略が必要であると言及されています。
最も単純な方法としては、Aを学習データ(training data)で学習し、検証用データ(validation data)で検証するというのが挙げられています。
一方で上記は計算リソースをものすごく必要とするのでより負担を減らす必要があるとも言及されていました。


2.5 Future Directions(3.5)
3.5は必要に応じて後日内容をつかんでまとめたいと思います。(一旦PartIIを先に進める方が良さそうな印象なのでそちらを先に進めようと思います)


3. まとめ&所感
NASはMeta-Learningの一つとして捉えられるため、Chapter2と論理展開的には似ている形だったと思います。
2016のNASの論文は読んだことがあったので、比較的読み進めやすかった印象でした。