機械学習モデルの最適化を機械学習でお手伝い:アルゴリズム選定とハイパーパラメータチューニングを自動で行うAutoFlow

課題

深層学習を始めとする機械学習技術の発展により、ビジネスシーンにおけるデータ分析に様々な機械学習手法が利用されるようになってきました。例えば製品画像から不良品を検出する際には畳み込みニューラルネットワーク(CNN)による画像処理を(例えばこちら)、テキストデータの分析にはロング・ショートタームメモリ(LSTM)が利用されます(例えばこちら)。しかし解析したいデータに合ったモデルを選定するには、機械学習モデルに関する様々な知識が必要になるとともに、選択したモデルのハイパーパラメータ最適化には多くのノウハウと時間が必要となります。
このような課題に対して、株式会社GAUSS株式会社MatrixFlowと業務提携し、データサイエンティストが行う機械学習モデル選定およびハイパーパラメータの最適化を自動で行うサービス「AutoFlow」の提供を開始しました。AutoFlowは株式会社GAUSSが提供するAI開発支援プラットフォームGAUSS Foundation Platform上で動作します。

解決方法

あるデータに対して機械学習モデルを使った分析を行う際には、アルゴリズム選択とハイパーパラメータの最適化が重要になります。例えばニューラルネットワークで画像処理を行うためにはCNNやVAEなどどのような構造のネットワークを利用するか、アルゴリズムが決まった後にはネットワークの層数やニューロン数を決める必要があります。
AutoFlowでは上記のような設定を様々な組み合わせパターンとしてモデルの学習を行い、自動的に最適なアルゴリズムとそのハイパーパラメータを推定します。AutoFlowで利用されている具体的な手法は公開されていませんが、例えばアルゴリズム決定後のハイパーパラメータの探索には、ランダムサーチや遺伝的アルゴリズムベイズ最適化といった手法が利用されます。これらの手法ではモデルのパラメータを入力とし、対応するパラメータで学習したモデルの性能(例えば識別率など)が高くなるパラメータを予測または遺伝子の交差等により探索します。
アルゴリズムやモデルそのものの選択にはNeural Architecture Search(以下NAS)と呼ばれる手法が利用されます。これは強化学習の枠組みを利用して、Controller RNNと呼ばれるモデルの構造やハイパーパラメータを出力するためのネットワークを学習するものです。Controller RNNは各セルの出力がモデルの構造やパラメータを調整するための行動を出力するように構造化されており、学習したモデルの評価値を報酬としてモデルの調整を繰り返します。この手法ではモデル構造とハイパーパラメータを同時に最適化していくことも可能です。これらのアルゴリズムに関するより詳細な情報はこちらをご参照ください。

どうなったか

AutoFlowに関する詳細な性能等は明らかではありませんが、モデルとハイパーパラメータの探索を自動化することによって非常に高速に、そして網羅的にタスクに最適な機械学習アルゴリズムを選択することが可能になります。ただしモデル探索やパラメータ最適化を行うためには、それだけの計算資源も必要になります。現在ではより少ない計算資源で効率的に探索を行う手法が数多く提案されており、今後も発展してくものと考えられます。

まとめ

データ分析における機械学習モデルの探索とそのパラメータ最適化を自動化するAutoFlowと、関連する手法について紹介しました。これら自動化手法によって、誰もがより簡単に機械学習モデルを利用できるようになるでしょう。
同様に画像処理技術に特化したモデル選択の自動化手法をこちらの記事でも紹介しています。ぜひご覧ください。

参考資料

(堀井隆斗)