こんにちは、データ解析エンジニアの西です。ふだんデータ分析系のインフラ構築・改善などの業務をしています。

AIブームということでGoogleやAmazon、MicrosoftやIBMといったクラウドプラットフォームのベンダーからAI・機械学習関連のサービスが次々にリリースされています。AIスピーカーのように個人で使えるものや、プラットフォームとして企業が利用できるようなクラウドやオープンソースで公開されているものもあります。

本記事では特にプラットフォームとしてGoogleから最近リリースされたサービスで、企業が自社データ(広告や顧客情報など)の分析や自社アプリケーションに組み込んで利用できるものをまとめています。

*想定読者:非エンジニアで技術は詳しくないがAI関連サービスや製品に興味のある方

主な4つのAI/機械学習サービス

GoogleのAI/機械学習の主なサービスとして、下記4つがあげられます。

  • ・TensorFlow
  • ・Cloud ML Engine
  • ・ML APIs
  • ・AutoML

いずれもクラウドやオープンソースとして公開されているので、自社のアプリケーションなどでも利活用できるサービスです。
それぞれのサービスのリリース・発表時期は下記になっています。

時期 サービス
2015年11月 TensorFlow オープンソース公開
2017年3月 CloudML Engine v1.0リリース
2017年3月 Cloud Vision API v1.0リリース
2018年1月 AutoML α版リリース

それぞれのサービスの内容や特徴、また比較内容をみていきます。

TensorFlow

TensorFlow

TensorFlow(テンソルフロー)はGoogleがオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリです。ライブラリなのでプログラムに組み込み、呼び出すことにより使用できます。
プログラミング言語はPythonやC++に対応しています。ディープラーニングに対応しており、Googleの各種サービスなどで活用されています。

ディープラーニングは、2012年にILSVRCという画像認識のコンペで非常に優秀な成果を出し圧勝したチームが利用した機械学習アルゴリズムです。このコンペの成果をきっかけにこの大ブレイクしました。またディープラーニングはニューラルネットワーク(脳神経を模した数理モデル)を利用しているため人間の知能を連想させます。それ以来AIブームがおこり現在にいたっています。

ちなみにこのときのコンペで圧勝したチームのHinton教授はじめメンバーは現在Googleに加入しています。先端のディープラーニング研究の成果を利用する仕組みとして公開したのがTensorFlowというわけです。

Cloud ML Engine

予測分析 – Cloud Machine Learning Engine | Google Cloud

Cloud ML Engineは、TensorFlowを使用してGoogleのインフラで学習を行うことができるサービスです。

TensorFlowを使いたい場合、サーバーなどインフラを自分で準備する必要があります。特にディープラーニングなど機械学習アルゴリズムは一般にデータが多ければ多いほど精度が向上します。巨大なデータ(ビッグデータ)を扱うにはサーバー群による分散処理など、高度なインフラ構築の技術が必要になります。

Cloud ML EngineはGoogleのインフラを使うため、自分でインフラや関連のプログラムを準備する必要がありません。また学習したモデル(例:自動車の車種を学習させた車種識別モデル)を使用する際もGoogleのインフラを使い、自社アプリケーションと組み合わせてリアルタイムに予測するサービスをつくることができます。

使い方については、こちらのサイトが参考になります。
第11回 Cloud ML Engine上でTensorFlowを動かしてみよう|Tech Book Zone Manatee

ML APIs

ML APIsは、学習済みモデルを利用できるAPIサービス群の総称です。執筆時点(2018年4月)では下記のサービスがあります。APIサービスの種類はおそらく今後も順次追加されていくと思います。

例えば、Google Cloud Vision API を利用すると下記のような使い方ができます。

  • ・膨大な数のカテゴリ(「ヨット」や「ライオン」、など)に各画像を素早く分類する
  • ・画像内に含まれているテキストを検出して読み取る

Cloud ML Engineを利用する場合は、データやプログラムは自分で用意して自分で学習させる必要がありました。ML APIsの場合はGoogleがすでに学習させた学習済モデルをつかいます。ですのでデータもプログラムも必要ありません。APIで呼び出すだけです。

もう少し詳しく知りたい方は、公式ブログがわかりやすいと思います。
Google Cloud Platform Japan 公式ブログ: ついに Google Cloud Vision API のベータ版リリース!

AutoML

オフィシャルURL
Cloud AutoML – Custom Machine Learning Models | Google Cloud Platform

AutoMLは、専門のエンジニアがいない企業でも高度な機械学習モデルの構築ができるサービスです。

α版として「AutoML Vision」という画像処理専用のサービスがまずリリースされました。特徴はML APIsのようにようにまったくアルゴリズムの構築などのプログラミングが必要なくAPIコールだけで簡単につかえるということです。しかしML APIsはカスタマイズはできません。Googleによって学習させられた学習済モデルを使うだけです。AutoMLはカスタマイズができます。ML Engineのように自分のデータをつかって学習して独自のモデルを作成できます。いいところどりの夢のようなサービスです。

このサービスを使えば、AIを取り扱うための高度な技術不要で高度なAIを作成出来るようになります。紹介されている事例では、ディズニーがキャラクターのカテゴリわけなどに利用して成果を出しているとのことです。

現時点では日本での使用情報はでていないようです。一般リリースが待ち遠しいですね。料金体系などリーズナブルであれば、一気に利用が広がるかもしれません。

報道系の記事もいくつかありますので紹介しておきます。
誰でもAIが作れる時代に、グーグル「Cloud AutoML」の可能性
Google、機械学習モデルを早く簡単に作れる「Cloud AutoML」を解説 – ケータイ Watch

サービス内容の比較

TensorFlow / CloudML / ML APIsの違いをまとめたものとしては、Googleの下田氏による紹介資料が非常にわかりやすくまとまっています。
下記の表はスライドより引用して作成しています。

TensorFlow Cloud ML Engine ML APIs
  • ・機械学習のライブラリ
  • ・アルゴリズムの実装は自分で行う
  • ・実行環境は自分で用意する
  • ・TensorFlow のバージョンや各種ライブラリは好きなものを自分で用意することができる
  • ・マネージドなTensorFlowの実行環境
  • ・アルゴリズムの実装は自分で行う
  • ・実行環境が用意される
  • ・TensorFlowのバージョンや各種ライブラリはCloud ML Engine が提供するもののみ
  • ・MLの特定のタスクの学習済みモデルをAPI経由で利用することができる
  • ・機械学習を適用したいデータを用意したら後はAPIをコールするだけ
  • ・モデルに変更は加えられない
自由度は高いが、使いこなすには機械 学習及びインフラに関する知識が必要 インフラについてはすべて GCP に任せら れるため、機械学習アルゴリズムの実装に集中できる やりたいことと提供されているものがマッチする場合は非常に良い選択肢

*引用元 基本から学ぶ ビッグデータ / データ分析 / 機械学習 サービス群

それぞれ特徴がありますが、比較すると「自由度」と「手軽さ」はトレードオフの関係にあるのがわかります。

AutoMLは上記スライドのあとに発表されたサービスなので含まれていません。
上記の表に合わせて、AutoMLをあえて記述してみると下記のようになるでしょうか。

AutoML
  • ・自分のデータでオリジナルの学習モデルを作れる
  • ・データは少数でもよい
  • ・データがなければGoogleが用意してくれるオプションもある
  • ・ML APIsのようにAPIをコールするだけ
データを準備すればオリジナルの高度な学習モデルを構築できる。学習も利用も手軽に行うことができる

従来のサービスの欠点を補い「自由度」と「手軽さ」を同居させている、進化したサービスだと言えます。

まとめ

Googleから提供されている、プラットフォームとして利用できるAI/機械学習サービスをまとめました。AI関連技術が非常に速いスピードで進化していることもあり、関連サービスも短期間で多くのものがリリースされています。「はっきりいってついていけてない!」とというかたも多いのではないでしょうか(私もですが)。本記事がみなさんの情報の整理につながれば幸いです。

おまけ〜ワンモア・ポイント

AIはビジネス一般のメディアでも特集されるなど、業務を取り巻く環境のなかで徐々に存在感を高めています。まずは画像処理などですが、成果が出ている分野ではいやおうなく人からAIへ仕事の担い手は移っていくでしょう。いずれにしても仕事の成果をうけとるのは人間です。成果が同じなら、仕事の担い手は問われません。

重要なのはAIをどう活用するか、です。AIを扱う技術は高度ですが、本記事でまとめたように技術力いらずの”民主化”も進んでいます。しかし、どんなに技術が民主化してもデータは必要です。今後はよりデータ自体の重要性がクローズアップされていくでしょう。どれだけ競争力のあるデータを収集・保持・活用できているのか。それが今後の企業の生命線になるかもしれません。

お気軽にご質問、ご相談ください

関連タグ

西潤史郎

九州大学大学院システム情報科学府卒。データ解析エンジニア。ウェブ解析アプリの開発実績あり。

関連ブログ