Ch.2 Meta-Learning|Automatic Machine Learning 読解メモ #2

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

#1ではPart1のMethodsのCh.1のHyperparameter Optimizationを読み進めました。

https://www.automl.org/wp-content/uploads/2018/12/automl_book.pdf

#2ではCh.2のMeta-Learningについて取り扱います。
以下目次になります。


1. 2章の内容に関して概要
2. 詳細
2.1 Introduction(2.1)
2.2 Learning from Model Evaluations(2.2)
2.3 Learning from Task Properties(2.3)
2.4 Learning from Prior Models(2.4)
2.5 Conclusion(2.5)
3. まとめ&所感

 

1. 2章の内容に関して概要
Chapter2では「learning-to-learn(学習を学習する)」ということでMeta-Learningについて言及されています。上記の表現だと少々抽象的ですが、もう少し具体的に考えると、学生時代に数学の勉強ができた方は物理の勉強もできる傾向だったり、英語が得意な方は他の言語の習得が早かったり、何かしらの楽器をやっていたら他の楽器の習得が早かったりなど、類似の学習について学習法を知っているということがMeta-Learningにあたります。
このMeta-Learning的な考え方を機械学習に応用することで、処理のパイプライン(machine learning pipelines)やニューラルネットワークの構造を改善するスピードを劇的にスピードアップさせるだけでなく、データ駆動(data-driven)の新しいアプローチ(novel aproach)で手作業のチューニングを置き換えることも可能になります。
2章ではこのMeta-Learningの概要(overview)についてまとめられています。また、Meta-Learningの一つとして、同様な考え方をニューラルネットワークの構造の設計に役立てたものをNAS(Neural Architecture Search)と呼んでおり、こちらはChapter3で取り扱われています。


2. 詳細
2章の構成としては、以下となっています。
2.1ではMeta-Learningの導入(Introduction)として、考え方の導入や他の節での内容についてまとめられています。続く2.2〜2.4ではMeta-Learningのテクニックについてまとめられており、2.2ではモデルの評価から学習する方法について、2.3ではタスク間の類似度を計算するにあたってタスクをどう特徴づけるかについて、2.4ではタスク間でモデルのパラメータを移行する方法についてそれぞれまとめられています。2.5ではConclusionとして2章を締めくくられています。


2.1 Introduction(2.1)
2.1では身近な例を用いて導入がされており、私たちが学習する際にゼロから(from scrach)ではなく、類似の経験に基づいて学習を行うというところから話が始まっています。また、「In short, we learn how to learn across tasks.(様々なタスクを通して我々は学び方を学習する)」と言及されています。
このようにMeta-Learningでは事前の経験(prior experience)に基づいて、システマチックでデータ駆動(data-driven)で学習を行うとされています。類似のタスクの経験があれば早く学習できることについて言及されています。


2.2 Learning from Model Evaluations(2.2)
2.2ではモデルの評価(Model Evaluation)から学習(Meta-Learning)を行う方法についてまとまっています。モデルの評価をP、タスクの集合をT、ハイパーパラメータ(configuration)の集合をΘとし、P(t,θ)を計算する形で立式が行われています。新しいタスクに対するハイパーパラメータの最適化問題がここでの目的とされています。また、Pには色々な評価基準がありますが、accuracyやcross-validationなどが例としては挙がっていました。
2.2.1はちょっと論旨が掴み切れてないですが、タイトルからしてタスクが独立している際のθの決定についての議論だと思われました。2.2.2ではハイパーパラメータの設定空間(Configuration Space)のデザインについてまとまっていました。2.2.3ではConfigurationをモデル間で移行するにあたって新しいタスクの以前のタスクとの類似性を測ることやその測り方について(1)Relative Landmarks、(2)Surrogate Models、(3)Warm-Started Multi-Task Learningなどについてまとまっていました。2.2.4では、学習曲線(Learning Curves)はタスク間で共有できるということについてまとまっていました。

 

2.3 Learning from Task Properties(2.3)
2.3ではタスクの属性(properties)から学習する方法についてまとまっていました。学習に関するリッチなメタデータとして、タスクの特徴(characterizations)が挙げられており、m(t)の形のベクトルでタスクをベクトル空間で表されていました。一つのタスクに対してmがK個あることから、「K meta-features」と言及されていました。このm(t)はタスク間の類似性を計算するにあたって用いることができ、類似性の計算としてはユークリッド距離(Euclidean Distance)などが例として挙がっていました。
2.3.1では上記のタスク単位で持つMeta-Featuresの例として、Table1にまとまっていました。

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

上図(縦長だったので一部のみのキャプチャとしました)のようにまとめられており、今後参照していくと良さそうでした。また、PCAのような次元削減(dimensionality reduction)の手法についても言及されていました。2.3.2以降は少々冗長な印象なので飛ばしましたが、後日必要があれば追記します。


2.4 Learning from Prior Models(2.4)
2.4では事前に学習されたモデルを用いた学習についてまとめられていました。論旨としては2.4.3のFew-Shot LearningでDeepLearningにおける転移学習について言及されており、こちらをベースに掴んでおくと良いかと思われました。
残りは少々冗長な印象なので飛ばしましたが、後日必要があれば追記します。


2.5 Conclusion(2.5)
ちょっと冗長な印象なので飛ばしました。


3. まとめ&所感
全体的に少々冗長な印象はありましたが、必要知識は得られたと思うので良かったと思います。
pdf版はおそらく参照のサーベイ論文と同じ内容だったので、実際の本ではもう少し記述が変更されているのだと思われます。
ハイパーパラメータをベースにどのように立式するかという視点で確認しておくと良さそうな印象でした。