GoogleとMicrosoftのAIプラットフォーム【前編】
はじめに
機械学習を利用するには、「ニューラルネットワークのライブラリを自作して一から頑張る」「既存のライブラリを利用して自分で機械学習モデルを作成する」「用途に応じた学習モデルが用意されているAIサービスを利用する」という3つの方法があります。
最近になって、3つ目の手段を提供する総合サービス(AIプラットフォーム)が充実して来ました(表1)。今後のビジネスにAIを活用するためには、各社がどのような内容のサービスを展開しつつあるのかを知っておく必要があります。そこで、今回と次回の2回に分けてGoogleとMicrosoftのAIプラットフォームを取り上げ、各社で提供されているサービスの内容について解説します。
AIプラットフォーム | 主な特徴 |
---|---|
Google Cloud Machine Learning | 総合サービス。B2C向けの製品・サービスを展開する中で磨いたAI技術を次々とサービス化。B2B向けもスタート |
Microsoft Cognitive Services | 総合サービス。まだプレビュー(β版)のものも多いが、Googleに対抗するようなサービスを急速に揃えつつある |
IBM Watson | 総合サービス。Cognitive(認知)を中心としたパーソナルアシスタント系のサービスに強みを持ち、ビジネスへの利用を意識 |
Amazon Machine Learning | スマートスピーカーでは先行したが、ECサイトとクラウド(AWS)の強みを活かしたAIに関してはこれから本領発揮か |
Apple Core Machine Learning | クラウドベンダではないため、iOSアプリで使うための専用フレームワークという位置づけ |
Salesforce Einstein | 当初AIに関しては出遅れたが、買収により追撃態勢に入り、CRMを中心としたビジネス寄りのAIサービスを展開中 |
Oracle Adaptive Intelligence | AIおよびクラウドに関して出遅れた感はあるが、Salesforceに対応するようなビジネス寄りのAIサービスを拡張中 |
NVIDIA GPU Cloud | GPUの強みをベースとしたクラウドサービス。その上のAIサービスの拡充に関してはこれから |
百度 百度深度学習 | 百度雲での総合サービス。多くの技術者を採用してGoogleを意識したサービスを公表しつつあるが、完成度については不明 |
阿里巴巴 人工智能ET | 阿里雲での総合サービスを目指しているが、まだ各サービスの完成度は高くないイメージ |
騰訊 テンセント | 智能雲での総合サービスを目指しているが、まだ各サービスの実装はこれからという感じ |
Google Cloud Machine LearningとMicrosoft Cognitive Services
表2は、AIの進化・発展を牽引しているGoogleと、それを猛追するMicrosoftのAI関連サービスです。Googleは「Google Cloud Platform」、Microsoftは「Azure Cloud Services」というクラウドサービス上に、それぞれ「Cloud Machine Learning」「Microsoft Cognitive Services」という機械学習サービスでさまざまな用途のサービスを有料で提供しています。
一見するとMicrosoftの方がサービスが多いようですが、Googleで1つのサービスにまとめているものを細かいサービスに分けて提供しているだけで、カバーしている機能はほぼ同じです。
Microsoft | ||
---|---|---|
クラウドサービス | Google Cloud Platform | Azure Cloud Services |
機械学習サービス | Cloud Machine Learning | Microsoft Cognitive Services |
機械学習エンジン | Cloud Machine Learning Engine | Azure Machine Learning(Services) |
画像/動画分析 | ・Cloud Vision API ・Cloud Video Intelligence |
Vision ・Computer Vision(画像分析、文字読取、キャプション付け) ・Content Moderator(不適切コンテンツの監視) ・Face(顔認識) ・Emotion(感情認識) ・Video(動画補正、動作検出) |
音声認識 | Cloud Speech API | Speech ・Bing Speech(音声認識、音声合成) ・Speaker Recognition(声紋認証) ・Custom Speech Service(音声認識のカスタマイズ) ・Translator Speech AI(音声翻訳) ・Translator Text AI(テキスト翻訳) |
機械翻訳 | Cloud Translation API | |
自然言語処理 | Cloud Natural Language API | Language ・Bing Spell Check(スペルチェック) ・Language Understanding Intelligence(言語理解) ・Lingustic Analysis(テキスト構造解析) ・Text Analytics(重要句やトピックの検出) ・Web Language Model(単語分割) |
ナレッジ | Knowledge ・Academic Knowledge(ナレッジ検索) ・Knowledge Exploration(クエリ構造化) ・Entity Linking Intelligence Service(固有キーワード検知) ・Recommendations(レコメンデーション) |
|
検索 | Cloud Jobs API(仕事検索) | Search ・Bing Autosuggest(検索候補表示) ・Bing Image Search(画像検索) ・Bing News Search(ニュース検索) ・Bing Video Search(動画検索) ・Bing Web Search(Webページ検索) |
エージェント・Bot | ・Assistant's speech recgnition API(OKGoogle) ・api.ai(オープンソース) |
Microsoft Bot Framework(Cortana) |
ライブラリ (フレームワーク) |
・TensorFlow ・Object Detection API |
Microsoft Cognitive Toolkit |
現在リリースされているものは画像認識や音声認識、翻訳、パーソナルアシスタントなど、スマホやSNSなどのアプリケーションに組み込まれている”機械学習モノ技術”をクラウドサービスとして提供した色合いが強いです。しかし、最近はエンタープライズ向けのサービスもリリースし始めており、今後の展開が注目されています。
両者ともすごい勢いでいろいろなサービスを順次拡充している過程にあり、まだプレビュー(ベータ版)提供のものも少なくないのですが、本連載を書いている最中にも次々とGA(正式リリース)されています。
ここでは理解を深めるために両者を対比していますが、似たような機能に関してはGoogle主体で紹介していきます。
(1)機械学習エンジン
Google Cloud Machine Learning Engineは、TensorFlowベースの機械学習モデルを構築するためのマネージドサービスです。Cloud Dataflowでデータの処理を行い、HyperTuneでパラメータを自動調整してモデルのトレーニングを効率化できるほか、Cloud DatalabやBigQueryを使ってモデルの作成、SQLの分析も行えます。もちろんTensorFlowフレームワークも利用できるので、TensorFlowでデータフローグラフの作成やトレーニングも行えます。
マネージドサービスとは、サービスの利用・運用に必要なデータや通信インターフェース、セキュリティ、運用支援などを一体化して提供するアウトソーシングサービスのことです。
一方、Azure Machine Learningは、2015年2月に公開された機械学習のためのマネージドサービスです。Azure Machine Learning StudioというVusial Studioライクなワークベンチ環境が提供されており、機械学習を利用しやすくなっています。
Azure Machine Learningの1年半後にMicrosoft Cognitive Servicesが一般公開されましたが、この2つの違いは新旧だけではありません。Azure Machine Learningはその名の通り機械学習全般のサービスで、統計理論に基づいた各種手法を提供しています。ニューラルネットワークの他に線形回帰や決定木、SVM、ロジスティック回帰などの「教師あり学習」、クラスタリング、次元削減などの「教師なし学習」もサポートし、レコメンデーションや不正検知、異常検知、予測・予防、最適化など、AIの活用目的に応じた機械学習アルゴリズムを幅広く取り揃えています。
これに対して、Microsoft Cognitive Servicesは人間の脳をモデルとしたニューラルネットワークのサービスです。Cognitive(認知)という名前が付いているように、画像や音声、テキストなどの認識を行う手法として、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、LSTMなどを提供しています。従来からある機械学習アルゴリズムのうち、ニューラルネットワーク系が急速に進化したためMicrosoft Cognitive Servicesという独立したサービスにした感じです。ただし、なんでもニューラルネットワークが良いというわけではなく、用途によって従来からの機械学習アルゴリズムの方が優れている場合もあります。
2017年9月にマイクロソフトはAzure Machine Learningを拡張したAzure Machine Learning Servicesを発表しました。まだプレビュー(β版)ですが、Azure Machine Learningをより使いやすくするために、Workbench(開発しやすい環境)、Experimentation(学習・実験しやすい環境)、Model Management(学習モデル管理)、Visual Studio Code Toolsなどのコンポーネントを統合したマネージドサービスで、クラウドだけでなくオンプレミスでの学習環境も提供します。
(2)画像認識(Image Recognition)
Google Cloud Vision APIは、画像の内容を認識するAPIです。一般に画像認識は次の2つから構成されており、それぞれに機械学習が使われています。
- 画像内の個々の物体や人の顔、テキストなどのオブジェクトを検出する
- 検出したオブジェクトが何であるかを認識する
顔の検出ではJoyやAngerなどの感情分析(Emotion recognition)も行いますし、画像に含まれる個々のオブジェクトだけでなく、「何をしているところか」という光景も認識してくれます。
OCRにより、画像の中の文字を読み取ることもできます。実際に私の会社でも最近ニュースリリースしたAIによるデザイン認識ツールにCloud VisionのOCR機能を使っているのですが、日本語でも高い精度でバッチリ読み取ってくれます。
顔認証で同一人物を特定できるため、カメラでの本人認証にも利用できます。また、犯罪者や要注意人物の検出、イベント参加者の男女割合判定など幅広い用途で使われています。このほかにも年齢や性別、姿勢、笑顔、髭などの特徴を認識して似た人をグルーピングする機能も備えています。
ただし、Facebookの顔認証Deep Faceとは違い、一般人の名前は出てきません(教えていないので当然ですよね)。機械学習には大量の学習データが必要ですが、各社が保有するデータの特徴によって同じようなAIでも、できることに違いが生ずるのです。
実際にGoogleのホームページで試してみましょう。サンプルとして私のスケート写真をアップしてみました。Skating 98%、Ice Skating 93%、Ice Rink 91%、Winter Sport 79%というように画像から読み取った物体や行為をキーワード付けしてくれていますね(図2)。こうしたタグ付けを利用して画像分類(Classify)や画像検索(Search)などが行えます。数値は信頼度(AIの確信度)で音声認識や自然言語理解などにも付いています。「百聞は一見に如かず」と言いますので、皆さんもぜひ何か写真をアップロードして試してみてください。
(3)音声認識(Speech to text)
Google Cloud Speech APIは、80以上の言語と方言を認識して音声をテキストに変換するAPIです。ユーザーが話す音声をオンライン&ストリーミングでテキストに変換したり、事前録音された音声ファイルを一括変換したりできます。
声紋認証(Speaker Recognition )も行えます。指紋認証と同じ要領で、話し手が予め音声を登録しておくことにより誰が話しているかを特定します。セキュリティにおける声紋認証やスマートスピーカー、家庭ロボットなどで実用化されています。
ヒント機能により特定の語句を指定するカスタマイズもできます。医療・科学など特定の業界で使われる専門用語や大阪弁・津軽弁などの方言、特定の製品名などが認識されない場合、IMEの辞書登録のようにそれらの言語を追加させることができます。
また、雑音の多い環境でも音声のみを拾ってくれるので、音声により機械や家電を言葉で操作するコマンド制御の用途にも用いられます。
音声認識は、音声を音響的に認識して文字列に分解する「音響モデル」と、その文字列を元に”たぶんこう言っているだろう”と推定する「言語モデル」から構成されています。言語モデルだけでなく音響モデルもカスタマイズできるので、背景ノイズの除去や特定環境・ユーザーに最適化することで認識率を高めることもできます。
Googleのホームページから簡単に試すことができるので、ちょっと喋って変換精度を確認してみてください。ちなみに、私がこのセリフで試してみたところ一発で間違いなく変換されました(図3)。日本語の認識力も高いです。実はこの原稿をGoogle Documentで書いているのですが、そこに付いている音声入力を利用しているんですよ。
(4)機械翻訳(Translation)
Google Cloud Translation APIは、さまざまな言語をリアルタイムに翻訳できるAPIです。100を超える言語に対応しており、ソース言語(元の言語)が不明でも自動的に判断して翻訳してくれます。
プログラマティック・インタフェースになっており、Google REST APIを利用してHTMLドキュメントから文字列を検出してくれますので、例えば越境ECサイトで商品登録した際に、多言語に自動翻訳するような処理を作ることができます。
RESTとはRepresentational State Transferの略で、Roy Fieldeing氏が2000年に提唱した複数のソフトウェアを連携させるのに適した設計原則です。この原則に則って作られたHTTPやXMLを使ったWebベースのインターフェースがRESTful APIです。
Google Translation APIのホームページで翻訳精度を試してみます。先程の「ちょっと喋って変換精度を確認してみてください」程度の文章なら、いい感じに翻訳してくれていますね(図4①)。
Google翻訳はGoogleのホームページでも公開されているので、辞書代わりに利用されている人も多いと思います。こちらはテキスト以外に音声入力も対応しているので、マイクアイコンを押して音声でも試してみました(図4②)。
全く同じかと思いきや、テキストでspeakとしていたところがtalkになっていました。微妙に個性が感じられて面白いです。
Translation API:Please speak a bit and check the conversion accuracy.
Google翻訳:Please talk a bit and check the conversion accuracy.
Google翻訳はスマホのアプリでも提供されており、海外へ行ったときには重宝します。文字入力や音声入力のほかにも、写真をアップロードしてそこに写っている文字を翻訳してくれる機能もあり、レストランなどで読めないメニューなどが出てきたときに役立ちます。
カメラにも対応しており、スマホをかざすだけで写っている文字をリアルタイムに翻訳してくれます。私はいつもPCでYouTubeの音楽を聴きながら執筆しているのですが、そのPC画面をスマホでかざしてみると図5のような感じでリアルタイムに訳してくれます。面白いですね。
Google翻訳は以前から定評がありましたが、実は2016年にニューラルネットワーク技術を応用したものに切り替わってから飛躍的に精度が向上しました。
これは、自社の得意技術をAI技術でリプレースした例ですが、他社が長年培ってきた強い技術をベンチャーがAIを使っていとも簡単に抜き去るビジネスの下克上があちこちで巻き起こっています。こうした状況を見るにつけ、Googleを見習って自社の強みこそ自身でAIに置き換える決断をしなければならないと感じます。
面白いのは、ディープラーニングを応用することにより、さまざまな言語間の翻訳が同時進行的に発展できる点です。Google Searching Blogに書かれていた図で説明しましょう(図6)。最初に韓国語と英語の翻訳をトレーニングし、次に日本語と英語の翻訳をトレーニングした結果、韓国語と日本語の翻訳が可能になったそうです。
といってもAIの中に日本語や英語があるわけではなく、AIのみ理解できる独自の”AI言語”みたいなものが形成されてきて、それを介してさまざまな言語を別の言語に変換する仕組みになっているようです。
先日(2017年9月)、サンフランシスコで行われたAI SUMMITに参加するため羽田空港でレンタルWi-Fiを借りたのですが、その際にオプションでili(イリー)というウェアラブル翻訳機が利用可能でした。9月に百度(バイドゥ)も自動翻訳機能付きの携帯型Wi-Fiルーターを発表しており、この市場はこれから活性化しそうです。東京オリンピックの頃には、ペンダント型やヘッドセット型など、さまざまな”翻訳こんにゃく”が普及していると予想しています(図7)。
今回は、AIプラットフォームの前編として、表2のGoogleとMicrosoftの各サービスについてクラウドサービスから機械翻訳までを紹介しました。次回は引き続き、後編として自然言語処理からライブラリ(フレームワーク)までを解説します。お楽しみに。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- AIを支えるハードウェアとライブラリ
- Cognitive ServicesからMachine Learning Servicesまで マイクロソフトの最新AIプラットフォーム総まとめレポート
- GoogleとMicrosoftのAIプラットフォーム【後編】
- 機械学習とアルゴリズム
- IBMとAmazonのAIプラットフォーム
- ハイプサイクルに登場する技術①ー エッジと組み込み型AI
- AIは実社会でどのように活用されているのか②ー音声合成(Text to Speech)
- そもそもディープラーニングとは何か?
- Microsoftのデータサイエンティストが解説するモバイル向けCNNとは?
- AIは実社会でどのように活用されているのか①ー音声認識(Speech to Text)