Amazon Web Serviceは先日,クラウド上で予測モデルの学習が可能なAmazon Machine Learningサービスをローンチした。GoogleのPrediction API,MicrosoftのAzure Machine Learningに続いてAmazonは,この種のサービスを提供する最後発の大手クラウドプロバイダになる。
サービスが現時点で提供する学習モデルは,基本的なデータ統計の視覚化や学習モデルの予測性能の面で,多くの大規模学習アプリケーションで使用されているものと同程度である。ただし柔軟性や,データのインポートとエクスポート,自動化モデルのパラメータチューニングのサポートなど,いくつかの面での制限も残っている。
過去数年間に,データ解析を簡素化するためのサービスや製品が数多くローンチされた。複雑な部分をユーザから隠すという単純化重視のものや,専門家を対象としてより完全なデータ解析ツールの提供を目指すものなど,その内容はさまざまである。
Amazonの新サービスは前者のカテゴリに該当するもので,扱うのは予測の問題のみだ。基礎となっている学習アルゴリズムは正確には分からないが,提供する機能は,確率的勾配降下アルゴリズムをベースにJon Langford氏が開発した,高速機械学習アルゴリズムのvowpal wabbitのそれに極めて近い。モデルを通じてデータを順次ストリーミングし,確認された予測誤差に基づいた適用を行うこのアルゴリズムは,その性質面から並列化が困難ではあるが,メモリ使用の効率性と制限性には極めて優れる。そのために,大規模アプリケーション(例えばGoogleの広告クリック予想で使用されている)で幅広く採用されている 。
さらに,Amazon Machine Learningでは,学習データの機能毎の基本的な統計値を算出可能であるとともに,学習モデルの予測性能を可視化することもできる。この2つの機能を使ってデータを検査することにより,学習結果の予測モデルをより深く理解することが可能になる。そして最後に,このサービスには,機能の抽出のようなデータの単純変換や,あるいはテキストデータ使用時によく用いられるNグラム表現への変換など,基本的な機能も用意されている。
いくつか制限もある。データはAmazonのS3ストレージサービスか,あるいはRedshiftデータベース上に存在しなければならない。また,学習データをインポートあるいはエクスポートする手段はない。自動トレーニングや,多数のモデルバリアントを並行的に評価することによるモデルパラメータ調整などは,実用的な価値としては非常に高い処理だが,サポートされていない。
最初のレビューでは,システムのパフォーマンスに関して,vowpal wabbitなどのツールをラップトップ上でローカル使用した場合に比べても不足していることが指摘されている。
2010年にローンチされたGoogleのPrediction APIも,これと同じカテゴリに分類される。処理対象は予測の問題に限定され,推奨のような複雑な問題や,クラスタリングのような監視対象外の学習メソッドは対象外だ。インターフェースで可能なのは,基本的にはデータのアップロード,モデル評価,予測計算への保存モデルの使用,といったものに限られる。
これらに対して,MicrosoftのAzure Machine Learningは,はるかに豊富なインターフェースを備えることで,より専門的なユーザ層を対象としている。さまざまな種類の学習アルゴリズムを提供し,複雑な機能の変換パイプラインを構成したり,さらにはRスクリプトの統合も可能である。その他の例としては,PredictionIOやGraphLab Createなどがある。
Apache Sparkでも,例えばdatabricks cloudを通じて複雑でスケーラブルなデータ解析をクラウドで実行可能な,機械学習ライブラリを開発中である。