BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleがAutoMLアルゴリズムのModel Searchのソースを公開

GoogleがAutoMLアルゴリズムのModel Searchのソースを公開

原文(投稿日:2021/03/09)へのリンク

Google Researchの研究チームが、ディープラーニングモデル用に設計された自動マシンラーニング(AutoML)プラットフォームのModel Searchを、オープンソースとして公開した。試験ではシステムの作り出したモデルが、人が設計した最高のモデルを、より少ないトレーニング回数とモデルパラメータで能力的に上回る結果が示されている。

研究者のHanna Mazzawi氏とXavi Gonzalvo氏が、先日のブログ記事で、このシステムについて説明している。Model SearchはディープラーニングフレームワークのTensorFlow内で実装されており、Transformersあるいは長・短期記憶(LSTM)レイヤなどの一連のコンポーネントブロックから、ディープニューラルネットワーク(DNN)を構成している。このシステムは、複数の候補モデルをトレーニングして評価する。モデルはそれぞれが複数のブロックで構成されており、検索アルゴリズムが最もパフォーマンスのよいモデルを選択し、それを"変異(mutate)"させる。このプロセスを最高のモデルが見つかるまで繰り返すのだ。GoogleのチームがModel Searchを使って開発した、音声処理を行うディープラーニングシステムは、人がデザインした最先端のモデルを性能面で凌駕すると同時に、必要とするパラメータ数のはわずか60パーセントであった。Mazzawi、Gonzalvo両氏によると、

標準化されたビルディングブロックによって構成された検索スペースが提供されている場合、このフレームワークは、そのドメインに関する過去の知識上に構築することにより、十分に研究された問題であれば、最先端のパフォーマンスを備えたモデルを構築する能力を十分に備えていると考えています。

AutoMLは、マシンラーニングに関連する手作業の自動化に特化した研究分野である。特に注目されているのはディープラーニングモデル設計の自動化であり、ニューラルアーキテクチャ探索(NAS)と呼ばれることが多い。これらのシステムでは、遺伝的アルゴリズム(genetic algorithm)(GA)や強化学習(reinforcement learning)(RL)といったテクニックを使用して、検索空間の効率のよい探索方法を模索している。しかしながら、NASには多数のディープラーニングモデルのトレーニングと評価が必要なため、計算能力的に高価であったり、長時間を要したりする可能性があるのだ。

GoogleのModel Searchシステムはこの問題に対して、RLの"探査(exploration)と搾取(exploitation)"のトレードオフに例えられる2フェーズアプローチを使って対処する。探査フェーズでは、貪欲検索法(greedy search algorithm)を使って最適なDNNアーキテクチャを見つけ出す。このアルゴリズムは複数の候補アーキテクチャを生成した上で、ブロックを追加したり、パラメータにランダムな数値を設定するなどの変異(mutation)をランダムに行う。続いてシステムは、以前トレーニングした候補からこれらの新しい候補へと、パラメータ共有を用いた知識の移転(transfer)を行う。そして最後に、候補モデルのトレーニングと評価を行い、トップスコアのモデルが次の探査フェーズのシード(seed)として使用されるのだ。

搾取に関しては、Model Searchはアンサンブル戦略を使用している。候補モデルを何度か複製し、ランダムシャッフルしたトレーニングデータと異なる初期パラメータを使って、各レプリカをスクラッチからトレーニングするのだ。レプリカ出力の重み付き平均を使用して、推論中に最終結果を生成する。この結果として、少ないパラメータでよいモデル精度を得られることが多いため、モデルのトレーニングをスピードアップすることができる。

GoogleはこのModel Searchを、オーディオ信号からの話し言葉の識別と、キーワードのスポッティングを行うDNNモデル開発の自動化に使用している。言語の識別では、人が設計したプロダクションモデルが5Mのパラメータで60.3パーセントの精度であるのに対して、アンサンブルを使用しないModel Searchは、59パーセントの精度を持った2.7Mパラメータのモデルを生成した。アンサンブルを使用した場合には、5.4Mのパラメータで62.77パーセントの精度を達成している。キーワードのスポッティングに関しては、Model Searchが生成した184kパラメータのモデルが97.04パーセントの精度を達成したのに対して、人が設計したモデルでは、2倍近いパラメータ(315k)を使用して96.7パーセントの精度であった。

Model Searchは、その数を増やしつつあるオープンソースAutoMLおよびNASツールの中の、最新のひとつに過ぎない。TensorFlowプロジェクトはAdaNetという軽量AutoMLフレームワークをメンテナンスしている。またKerasチームは学術研究室で開発されたAutoKerasを採用した。Microsoftは先頃、自社のNeural Network Intelligence(NNI)AutoMLツールキットのバージョン2.0をリリースした。これにはいくつかのNASアルゴリズムが含まれる他、TensorFlowやPyTorchを含む一般的なディープラーニングフレームワークをすべてサポートする。

Model Searchのコードは、GitHubで入手することができる。

この記事に星をつける

おすすめ度
スタイル

BT