検索
連載

AutoMLを最短3行で! 表形式や画像、テキストのデータにも対応可能なOSS「AutoGluon」AutoML OSS入門(4)(1/3 ページ)

AutoML OSSを紹介する本連載第4回は、たった3行のコードでAutoMLが実行できるOSS「AutoGluon」を解説します。AutoGluonは表形式や画像、テキストのデータにも対応しており、データの前処理からモデル選択まで自動で実施してくれるAutoMLのツールキットです。

Share
Tweet
LINE
Hatena

本記事で紹介したノートブックはGitHubにて公開しています。すぐに実行できますので、ぜひご利用ください。


 本連載第3回では、ニューラルネットワークを含むさまざまなモデルを遺伝的プログラミングによって最適化できる「TPOT」を紹介しました。今回は、表形式や画像、テキストデータに対応しているAutoML OSS(オープンソースソフトウェア)の「AutoGluon」を紹介します。

AutoGluonとは

 AutoGluonは、Amazon Web Services(AWS)が開発しているAutoMLのツールキットです。データ前処理、ハイパーパラメーターチューニング、モデルアンサンブルまで全てローコードで実行できるため、AutoMLを容易に素早く試すことができます。

開発元 Amazon Web Services
GitHubコミット日 2020年3月
リポジトリ https://github.com/awslabs/autogluon
実装言語 Python
ライセンス Apache-2.0 License
公式サイト https://auto.gluon.ai/stable/index.html
表1 AutoGluonの基本情報

 AutoGluonはMXNetというディープラーニングフレームワークをベースにしており、2020年3月に論文(arXiv:2003.06505)で発表され話題になりました。論文によると、39個のAutoMLベンチマークデータセットや11個のKaggleコンペティションを対象に、GCP-Tables、H2O、auto-sklearn、TPOT、Auto-WEKA、AutoGluonで検証した結果、AutoGluonの精度が一番良かったとのことです。

主な特徴

 AutoGluonは、AutoMLができる他のOSSと比較して次のような特徴があります。

  • 3行のコードで簡単にAutoMLを実行できる
  • 表形式、画像、テキストのデータに対応している
  • 多層スタックアンサンブルを使用できる
  • AWSの「AutoGluon-Tabular」を使用すればノーコードでAutoMLを実施できる

3行のコードで簡単にAutoMLを実行できる

 AutoGluonは数行のコードで機械学習のプロトタイプを素早く作成できることをアピールポイントとしており、公式サイトでも表形式のデータセットで機械学習モデルを学習し予測する例として以下のコードを掲載しています。

from autogluon.tabular import TabularPredictor
predictor = TabularPredictor(label=COLUMN_NAME).fit(train_data=TRAIN_DATA.csv)
predictions = predictor.predict(TEST_DATA.csv)

 AutoGluonがデータの前処理を自動で行うため、インポート、学習、予測のたった3行のコードで簡単にAutoMLを実行できます。

表形式、画像、テキストのデータに対応している

 AutoGluonで扱うことのできるデータは、表形式、画像、テキストです。公式チュートリアルで表形式の予測や画像分類、物体検出、テキスト予測が用意されています。またデータ前処理、ハイパーパラメーターチューニング、アンサンブル学習、アーキテクチャ検索などのさまざまな機能が用意されています。

多層スタックアンサンブルを使用できる

 AutoGluonの強みは多層スタックアンサンブルを行うことができる点です。多層スタックアンサンブルとは、ベースレイヤーの各モデルの出力と元のデータ特徴量を結合したものをスタックレイヤーの各モデルに入力し、その出力に対してアンサンブル選択を実施することを指します。

図1 AutoGluonの多層スタックアンサンブル(出典:arXiv:2003.06505)
図1 AutoGluonの多層スタックアンサンブル(出典:arXiv:2003.06505

 AutoGluonは従来のスタッキング手法に3つの工夫を取り入れて精度を向上させています。

  • スタックレイヤーのモデルは下位のレイヤーの出力だけでなく、元のデータ特徴量も入力として受け取る(ディープラーニングでのスキップコネクションのイメージに近い)
  • ベースレイヤーで利用する全てのモデルをスタックレイヤーでも再利用する(従来の手法ではベースレイヤーよりも単純なモデルのみをスタックレイヤーで利用)
  • スタックアンサンブルの出力に対してアンサンブル選択をする

AWSのAutoGluon-Tabularを使用すればノーコードでAutoMLを実施できる

 AWSは、AutoGluonを「AutoGluon-Tabular」として提供していて、「Amazon SageMaker」というAWSの機械学習サービスのコンテナやAWS Marketplaceを通じて使用できます。AutoGluon-Tabularの使用で料金は発生しませんが、Amazon SageMakerの使用料金が発生する点に注意してください。

図2 AWS Marketplaceに出品されているAutoGluon-Tabular
図2 AWS Marketplaceに出品されているAutoGluon-Tabular

 AutoGluon-Tabularを使用すればノーコードでAutoMLを実施することも可能となり、プログラミングや機械学習の初心者でも簡単に試すことが可能です。以下の画面のように、トレーニングジョブの作成画面でAWS MarketplaceからサブスクリプションアルゴリズムとしてAutoGluon-Tabularを選択し、設定するだけでモデル作成ができます。詳しくは、AWS公式ブログを参考にしてみてください。

図3 Amazon SageMakerにおける、トレーニングジョブの作成画面
図3 Amazon SageMakerにおける、トレーニングジョブの作成画面
       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る