こんにちは。InsightEdgeのDataScientistのSugaです。サウナ内で立ち昇った蒸気をタオルなどであおぐことをアウフグースと言いますが、そのアウフグースをやる熱波師の試験を山梨県まで行って受けて来ました。今回は最近よく耳にするAutoMLについて調べた記事を書いたので、お時間がある方は読んでもらえれば幸いです。
目次
背景
1st International Conference on Automated Machine Learning が2022年7月22日に開催されました。機械学習を自動化する専門家の集まりの国際会議です。特にオープン性に重きが置かれていて、ソースコードが公開されていることや学術会だけでなく企業からの参加も多いです。今回は最新のAutoMLの研究者はどんなことをテーマにしているのかを調査してみることにしてみました。本記事の内容としては論文の詳細には踏み込まずに現在の研究者がどんなことに関心があるのかを中心に紹介して行こうと思います。また、会議の企画として4つのAutoMLに関する4つコンペも開催されました。
論文調査
素晴らしいことに全ての解説がYoutubeにアップロードされています。論文のリンクもそこからたどれます。オープン性を重視する試みとして素晴らしいと思います。Main Trackを中心にどんな論文があるかを紹介します。
What to expect of hardware metric predictors in NAS (論文) (動画)
- ニューラルネットワークアーキテクチャ探索(NAS:Neural Architecture Search)の話題。ニューラルネットワークの最適な構造を探索する分野であり、一般的なニューラルネットワークの構造を探索すると莫大な計算機リソースが必要になります。今回の論文では、ハードウェアを意識した探索に限定しています。近年は、RaspberryPi/FPGA/TPU/GPU/iPhone/Pixelなど様々なハードウェアのデバイスが登場してきていて、ハードウェア構成によって、精度と推論速度のトレードオフを考える必要があります。この研究では計算機リソースを使って、実測値を得るよりも、予測モデルを使って各ハードウェアがどの程度の性能を出せるかを高速に推定することが有用だと主張しています。さらに予測値を出す際の予測モデルの比較も行っています。
Differentiable Architecture Search for Reinforcement Learning (論文) (動画)
- NASの領域は(1)ニューラルネットワークの層構成などアーキテクチャを最適化する領域、(2)ハイパーパラメータのチューニング、(3)学習(重みの最適化)のいづれかであり、どの領域を議論しているかを意識する必要があります。以前のNASの研究では、探索対象は非連続的な離散空間に限られていて、強化学習(RL:Reinforcement Learning)を用いて最適化をしていましたが、これには多くの計算機リソースが必要でした。そこで、DARTS(Differentiable Architecture Search)と呼ばれる手法が誕生して、離散空間探索を連続的な空間探索に緩和することで、アーキテクチャ探索を微分と勾配降下法に落とし込むことが出来るようになりました。この論文では、強化学習を対象としたNASにおいてDARTSは適用可能か?という疑問を出発点として、DARTSが強化学習でも機能するかを研究しています。結果として、DARTSを用いた場合はランダム探索に比べて、30倍の効率性があると主張しています。
Open Source Vizier: Distributed Infrastructure and API for Reliable and Flexible Blackbox Optimization (論文) (動画)
オープンソースのハイパーパラメータ最適化エンジンについての論文。VizierはGoogleで既にデファクトで使われていて、サービス化もされています。Google Cloudのbackendにも使われているもので、それのOSS版についての紹介をしています。ブラックボックス最適化(BBO:BlackBox Optimization)をするエンジンであり、イメージとしては具体的な目的関数がわからなくても、ある入力に対する出力がわかれば、最終的にはそこそこ良い結果を出すという最適化手法のことです。代表的な手法としてベイズ最適化があります。このようなメタヒューリスティクスな手法がとられる理由として、実際の問題は、凸性などの解析的情報が不明であるので数理最適的アルゴリズムを使用できない場合が多いからです。応用例として、機械学習のハイパーパラメータ最適化、物理システムの最適化、創薬におけるタンパク質構造の最適化、強化学習などがありかなり広範な用途があります。
さらに詳細なVizierについての論文は ココ で紹介されています。
- 面白いエピソードとしては、最適化クッキー(machine learning cookies)があります。重曹、ブラウンシュガー、ホワイトシュガー、バター、バニラ、卵、小麦粉、チョコレート、チップタイプ、塩、カイエンヌ、オレンジエキス、焼成時間、焼成温度などをパラメータ化して、レシピ空間から最も美味しいチョコレートチップクッキーレシピを見つけることを実験したものです。パラメータの変更を慎重に記録して、焼き上がったクッキーを試食してもらい、その結果をアンケートで集計します。アンケート結果が良くなるように、レシピのパラメータをVizierによって変更するとことで美味しいチョコチップクッキーを作る実験をしました。
A Tree-Structured Multi-Task Model Recommender (論文) (動画)
- マルチタスク学習についての論文。マルチタスク学習は複数のタスクを同時に解決するための学習モデルです。例えば、動物の分類問題を考えたときに、主タスクとして「犬種の分類」をして、補助タスクとして「耳の形状分類」を設定する。独立にタスクを学習する場合と比べて、コストを削減できるメリットがあります。一方でうまくいく場合と行かない場合があります。タスク干渉して精度が劣化する場合もあれば、タスクに共通な特徴が選ばれることで精度が向上するという主張もあります。この論文ではツリー構造型マルチアーキテクチャ(部分共有アーキテクチャ)に関するもので、アーキテクチャ探索を容易にするため、精度推定をして、最も高い予測精度を持つアーキテクチャを推薦することを目的にしています。
LassoBench: A High-Dimensional Hyperparameter Optimization Benchmark Suite for Lasso (論文) (動画)
- 高次元のデータで統計モデルを行おうとする場合、大量の未知のパラメータを含むことになり、解釈や推薦が難しくなります。このとき、高次元データのスパース性(イメージとしてはデータ中にゼロがたくさんあるもの)を使って、未知パラメータを0と推定することによってモデリングする手法をスパースモデリングと呼びます。スパースモデリングのLasso回帰では高次元のハイパーパラメータを持つため、高次元ハイパーパラメータ最適化(HD-HPO)が必要となります。この論文では、技術向上のプラットフォームとして、この研究のためのベンチマークを紹介しています。
YAHPO Gym -- An Efficient Multi-Objective Multi-Fidelity Benchmark for Hyperparameter Optimization (論文) (動画)
- ハイパーパラメータ最適化/ブラックボックス最適化手法のベンチマークについての論文。表データや画像データに関して多様なシナリオが含まれています。
Tackling Neural Architecture Search With Quality Diversity Optimization (論文) (動画)
- 特定の条件下でのニューラルネットワークアーキテクチャ探索(NAS)についての論文。多目的な状況を想定していて、例えば、スマホとPCの両方に最適化したものを探すような場合です。このときに、品質と納期の条件を満たすような探索をする方法を提案しています。
Non-Uniform Adversarially Robust Pruning (論文) (動画)
- ニューラルネットワークは冗長性が高いので、精度を維持しながらモデル圧縮することが出来ます。エッジデバイスなどの容量が限られた中に実装するため、重みの一部を取り除くことによって、計算量とメモリを削減します。この技術はPruningと呼ばれます。重みを取り除くとデメリットとしてロバスト性も低下します。つまり外部からの影響を受けやすくなってしまいます。この論文では圧縮方式を提案していて、圧縮率とロバスト性の最適なトレードオフを決定する方法を述べています。
Bayesian Generational Population-based Training (論文) (動画)
- 強化学習のハイパーパラメータとアーキテクチャの最適化についての論文。AutoRLの領域ではPopulation-Based Training(PBT)という学習手法がとらますが、そのPBLを改良するための手法を紹介しています。
DIFER: Differentiable Automated Feature Engineering (論文) (動画)
- 特徴量エンジニアリングに関する論文で、自動特徴量抽出(AutoFE:Automated Feature Engineering)では離散空間の最適化問題として扱われるため、特徴量の爆発(数が膨大になること)や計算効率の低下といった問題があります。そこで連続ベクトル空間にエンコーダを用いて特徴量を写像して最適化を行います。(※基本的なアイディアは前述したDARTSと同じく、離散空間を連続空間にすることで扱いやすくするものです)
Syne Tune: A Library for Large Scale Hyperparameter Tuning and Reproducible Research (論文) (動画)
- 大規模分散ハイパーパラメータ最適化(HPO)ライブラリについての論文。基本的にはユーザーが実験しやすくするためのツールの紹介です。
AutoCoG: A Unified Data-Modal Co-Search Framework for Graph Neural Networks (論文) (動画)
- Graph neural network(GNN)はグラフで表現したデータを入力とするようなニューラルネットワークのことです。グラフとはノードとエッジの集合からなるデータのことで、通信ネットワークやインフラのネットワークやSNSでの関係など、さまざまなところで利用されています。この論文では、GNNにNASの考え方を導入してGNNモデルアーキテクチャの最適化や入力グラフの最適化を行うことを提案しています。
Meta-Adapters: Parameter Efficient Few-shot Fine-tuning through Meta-Learning (論文) (動画)
- GPT-3(言語モデル)、Visual Transformer(画像認識)など大規模な学習済みモデルをfine-tuneするだけで目的にあったタスクを実行できるようになりました。このときに、モデル全体のパラメータをfine-tuneするのは現実的でないので、少量の追加パラメータを導入するとでfine-tuneする方法があります。ただし、この場合でもfine-tuneするにはタスクに応じた大量の学習データが必要になります。この論文では、メタ学習の考え方を導入して、タスクに応じた学習データが少量だった場合の効率的なfine-tuneの方法を提案しています。メタ学習とは、他のデータから「学習の仕方」を学習する方法で、例えば、英語とスペイン語を話せる人がドイツ語を学習する状況を考えてみます。過去に言語学習の経験があり、言語学習の仕方を学習しているので、ドイツ語習得も速くなるという場合です。提案手法を用いることで、0.6%のパラメータをfine-tuneするだけで、全体のパラメータをfine-tuneするのと同等の性能を得られました。(GPT-3では1750億個のパラメータがあるので、全体パラメータをfine-tuneするにはかなりの計算機リソースを必要とします)
When, where, and how to add new neurons to ANNs (論文) (動画)
- ニューラルネットワークの重みを取り除く論文を紹介しましたが、こちらの論文はその逆でニューロンを追加するときの最適化について論文です。ニューロンを追加するタイプの問題に比べてまだまだ研究が未発展な分野です。
Automatic Termination for Hyperparameter Optimization (論文) (動画)
- ベイズ最適化(BO)は、機械学習におけるハイパーパラメータ最適化(HPO)の手法として広く普及しています。ベイズ最適化の計算内容としては、候補となる構成を繰り返し評価することになります。この繰り返し階数はユーザーによって固定で決められています。このとき、最適な終了条件を事前に得られることはできないので、一定の終了基準が必要となります。この論文では、精度と最適化に要する時間の間のより良いトレードオフができるような終了基準を提案しています。
BERT-Sort: A Zero-shot MLM Semantic Encoder on Ordinal Features for AutoML (論文) (動画)
- データ前処理の一般的な処理として、カテゴリ変数を数値変数としてエンコードすることがあります。通常はLabelEncoderなどの関数を用いて実装されます。しかし、多くの場合、カテゴリ値の間に以下のような意味的な順序関係が存在します:
品質レベル('very good' > 'good' > 'normal' > 'poor')
月('Jan' < 'Feb' < 'Mar')
- この論文では、Zero-shot Masked Language Models (MLM)を使用して、順序カテゴリ値を意味的に符号化する新しいアプローチを提案しています。
Automated Super-Network Generation for Scalable Neural Architecture Search (論文) (動画)
- 重みを共有するタイプのニューラルネットワークアーキテクチャ探索によって学習済みのモデルのスループットを向上させる方法を提案しています。順序としては、学習済みモデルをスーパーネットワークに変換します、次にサブネットワークに分割します。その後、スーパーネットを学習してから最適なサブネットワークを探索します。事前に学習させたTorchvision ResNet-50(FP32)と比較して、スループットを最大9.87倍向上させたとのことです。
ScaleNAS: Multi-Path One-Shot NAS for Scale-Aware High-Resolution Representation (論文) (動画)
- マルチスケールな特徴量を持つニューラルネットワークに関するNeural architecture search (NAS)の論文。低解像度と高解像度が混在した場合、学習や最適なアーキテクチャを選択するのが難しいが、このようなときでも最適なアーキテクチャを生成できると提案しています。
Opening the Black Box: Automated Software Analysis for Algorithm Selection (論文) (動画)
- アルゴリズム選択についての論文だが、直接的にアルゴリズム選択に関する話題ではなく、アルゴリズムそのものについて議論しています。アルゴリズムのソースコードの抽象構造木(AST)を生成して、グラフ構造を解析して定量化しています。その定量化した情報をSAT solversを使って解析して選択する手法のようです。
On the Optimality Gap of Warm-Started Hyperparameter Optimization (論文) (動画)
- 既にHPOを実行したソースデータセット(タスク)があり、そのHPOの結果を利用して、未知のターゲットデータセットに対してHPOを行います。この場合、warm-startedしたHPOと呼ばれる。さらにfew-shot HPOという条件もありHPOの数回が制限された状態で最適化を完了させる状況を想定しています。ここでもメタ学習という概念が出てきます。つまり以前にHPOした経験から学習して、warm-startedしたHPOに活用するものです。
どんなことに注目しているか?
ここまでは、メイントラックの論文を紹介してきました。現状でAutoML Conferenceでは以下のようなテーマに注目していました。
ニューラルネットワークアーキテクチャ探索(NAS:Neural Architecture Search)
- ニューラルネットワークは機械学習の分野では大きな割合を占めているので、やはり関連する論文の数は多くなりました。工夫の方向性としては、特定の条件下での最適化をする手法がありました。(ハードウェア、マルチタスク学習、重みの一部を取り除く、ニューロンを加える、fine-tuneをするとき、グラフデータ) また、最適化そのものを効率化する方法も研究されていました。このときの発想としては、扱いやすい形に変換することで探索を効率化するというものが多いように感じました。
ハイパーパラメータ最適化(HPO:Hyperparameter Optimization)
- こちらもかなり大きな研究分野であり、主にはベイズ最適化を用いる手法がほとんどでした。こちらは研究の方向性としても特定条件下での探索をしやすくするものが多く、実際に計算機を使って探索をするので、その過程で起こった課題に対してアプローチしていました。大規模でやる場合、強化学習に関連するものや高次元データでの最適化、既に実行した結果があるとき、最適な終了条件を探索するものなどがありました。
ツールとベンチマーク
- 研究で提案する手法にメリットがあるかどうかを測定するため、自らベンチマークを作って評価しています。新しい研究分野をやる場合はそもそも評価軸自体が未知であり、ベンチマーク自体も開発する必要があります。また、最適化の結果を測定するためのツールも必要で、これも自らの研究の過程で必要になって作られる場合が多いように感じました。
次のAutoXXは何か?
AutoMLはAutomated Machine Learningですが、紹介した論文の中にはAutoXXというキーワードが含まれていて、AutoMLの次には以下のような分野が派生していくのではないかと思います。
AutoRL(Automated Reinforcement Learning)
- 強化学習を対象とした自動化技術。ニューラルネットワークを使った深層学習の発展として既に研究がされている分野ですが、強化学習のアーキテクチャ探索を強化学習を使って行うなどの面白い研究もされています。
AutoFE(Automated Feature Engineering)
- 特徴量に関しての自動化技術であり、特徴量生成や特徴量選択など最適化技術を使うことで効率化できる余地が多いように思われます。
AutoGN(Automated Graph Neural Networks)
- グラフデータは自然言語や画像に比べてまだまだ発展の余地がありそうです。グラフデータ以外のデータ種類に対しても自動化技術が発展すると思われます。
AutoMM(Automated Multimodal)
- AutoGluonの生みの親である、Alex Smola氏がキーノートセッション Keynote by Alex Smola で講演していましたが、その中では、AutoMM(Automated Multimodal)というキーワードがありました。
- こちらは、テーブルデータ、自然言語、画像データといった複数種類のデータをAutoMLによって学習する手法であり、これまではMultimodalAIという分野の研究はあったが、AutoML分野が各分野と融合することでさらに発展するのではないかと思われます。
まとめ
これまでの内容で、最新のAutoML Conferenceについてメイントラックを中心にトレンドを紹介してきました。第1回の開催ということもありこれまでは各分野で研究されていたものが、新しいジャンルのAutoMLとして集まった形です。今後はAutoMLから派生した個別の自動化技術が研究されて、新しいジャンルが発展してくことが期待されます。