AutoML OSSを紹介する本連載第10回は、「Model Search」を解説します。Model Searchは、TensorFlowをベースとしたDeep Neural Networks(DNNs)の構築に特化したGoogle発のOSSです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本記事で紹介したノートブックはGitHubにて公開しています。すぐに実行できますので、ぜひご利用ください。
本連載第9回ではMicrosoftが開発したAutoML OSS(オープンソースソフトウェア)の「Neural Network Intelligence」を紹介しました。第10回はGoogleが公開した「Model Search」を解説します。
Model Searchは、2019年に発表されたアイデアを基に、Googleが2021年2月に公開した新しいAutoML OSSです。正式リリースは行われていませんが、誰でもGitHubからソースを取得して利用できます。
開発元 | |
---|---|
GitHub公開日 | 2021年2月 |
リポジトリ | https://github.com/google/model_search |
実装言語 | Python |
ライセンス | Apache-2.0 License |
公式サイト | なし(プレスリリースのみ) |
表1 Model Searchの基本情報 |
Model Searchはソースが公開されて間もないこともあり、本記事執筆時点では分類問題のみに対応し、回帰問題には適用できません。入力データも画像データとテーブルデータのみ対応しており、それ以外のデータを扱うためには自前のクラスを実装する必要があります。Model Searchの利用場面や利用者に求められるスキルはある程度の制限があります。しかし、回帰問題への適用も理論的に可能とされており、将来的には機能が追加されていくことが期待されます。
Model Searchは、AutoMLができる他のOSSと比較して次のような特徴があります。
Model Searchが持つ最大の特徴は、LSTM(Long Short-Term Memory)やResNet(Residual Network)、Transformer層など既存のニューラルネットワーク(以下、NN)に関するアーキテクチャをブロック(マイクロアーキテクチャブロック)として管理し、それらをつなぎ合わせてモデルを構築する点です。
マイクロアーキテクチャブロックを使用することで、Model Searchは少ない計算リソースと探索時間でNNの構造探索を効率的に実行できます。また、ブロックを積み上げて構築したNNは学習の中でアンサンブルされ、最終的には最も精度の高いモデルが出力されます。
実装のハードルは高いものの、Model Searchは自作のモデルやアーキテクチャをブロックとして追加できます。詳しい実装方法は公式ドキュメントを参照してください。
Model Searchは他のAutoML OSSと異なり、AutoMLの実行結果がTensorFlowのモデルファイルであるpbファイルとして出力されます。モデルによる予測を学習直後に実施したいユーザーにとっては、モデルのロードが必要になる分、煩わしさを感じるかもしれません。しかし、この仕様により、構築した最新のモデルをAIのプラットフォームにそのままデプロイできるため、運用フェーズを意識した結果ともいえます。その意味では、AIのプラットフォームサービスを提供しているGoogle発のOSSらしい特徴といえます。
Copyright © ITmedia, Inc. All Rights Reserved.