Cognitive ServicesからMachine Learning Servicesまで マイクロソフトの最新AIプラットフォーム総まとめレポート

2017年11月10日(金)
高橋 正和

デジタル変革が叫ばれる今日、AI・データ活用に取り組む企業が増えている。この分野は近年最も注目されているテーマの1つであり、各社がしのぎを削ってサービスを展開しているところだ。マイクロソフトは、同社のクラウドサービスであるAzureに留まらず、オンプレミスやエッジデバイスに至るまで広範囲に渡りさまざまなソリューションを提供している。

データ活用に関する幅広い事業を展開するDATUM STUDIO株式会社のイベント「DATUM STUDIO Conference 2017」から、日本マイクロソフトの畠山大有氏がMicrosoftのAIプラットフォームを紹介した講演「データからビジネスの変革をもたらす Microsoft AI Platform」をレポートする。

日本マイクロソフトの畠山大有氏
日本マイクロソフトの畠山大有氏

各種AIソリューションを統合したMicrosoft AI Platform

畠山氏はまず、「モノを買う時代からサービスを買う時代に」という時代背景について触れ、「最近ではいろいろな業界がデジタル化されてきた」と語った。そして、いままでのように単に良いものを作るだけではなく、ユーザーを中心にデジタルを使ってつながることへの変化だと説明した。

その例として畠山氏は小松製作所による「スマートコンストラクション」を紹介した。建設機械を売るビジネスをサービスへ転換させるための試みで、例えばドローンで測量したデータを3Dモデルにして、何パターンものシミュレーションをクラウドでできるようにするという。

小松製作所のスマートコンストラクト
小松製作所のスマートコンストラクション

企業がデジタル化すると、大量のデータが集まる。畠山氏は、2020年には自動車は1日に4,000GBのデータを生成し消費するというデータなどを紹介し、データをどう活用するかを課題として挙げた。

そのためのプラットフォームとして畠山氏はクラウドの優位性を語りつつ、一方でエッジでの処理のニーズもあると述べた。

企業がデジタル化すると大量のデータが集まる
企業がデジタル化すると大量のデータが集まる

これを実現するのが本題である「Microsoft AI Platform」だ。畠山氏は、9月に米国で開催された「Microsoft Ignite」での紹介をもとに、Microsoft AI PlatformとしてブランディングされたAI関連のラインナップを解説した。氏は特に、このプラットフォームを、API化されたAI機能を使えるもの(Cognitive ServicesやBot Framework)と、自分でAIを作るもの(SQL Server 2017やAzure Machine Learning Services)の大きく2つに分けて説明した。

Microsoft AI Platform
Microsoft AI Platform

REST APIひとつで使えるCognitive Services

Microsoft AI Platformのうち、用意されたAI機能(Pre-built AI)を使えるサービスの代表が、REST APIひとつで開発者が簡単に使えるサービス群「Cognitive Services」だ。視覚、音声、言語、知識、検索の5分野で、30以上のサービスが用意されている。

たとえば、「Computer Vision API」では、写真を送ると写っている内容の情報が得られる。そのほか、話者を識別する「Speaker Recognition API」や、音声をテキストに変換する(またはその逆をする)「Speech API」、機械翻訳の「Translator Text API」、画像から顔を認識する「Face API」などがある。

Cognitive Services
Cognitive Services

これらのうち、Computer Vision APIを畠山氏はデモをまじえて解説した。男性が水泳している写真から、性別や年齢、何が写っているかなど、いろいろなメタデータの入った結果をJSON形式で返してくる。さらには「a man swimming in a pool of water」という説明文も自動で作成されるところも示された。

さらに畠山氏は「成人向けコンテンツ」「わいせつ性」の項目に注意してみせた。「ビジネスで使うにはフィルターが必要になる。この写真は水泳中のため肌の露出が多いが、成人向けと判定されていない」と氏は指摘した。

Computer Vision APIのデモ。男性が水泳する写真を分析
Computer Vision APIのデモ。男性が水泳する写真を分析
説明文も作成される
説明文も作成される

自分のデータを学習させるCustom Services

これらCognitive ServicesのAPIのほかに、自分のデータを学習させる「Custom Vision Service」や「Custom Speech Service」などの「Custom Services」もある。畠山氏は「ユーザー自身が持つ少量のデータで結果を出すために」とその意義を説明した。

自分のデータを学習させるCustom Services
自分のデータを学習させるCustom Services

たとえば、Custom Visionでは、自分の持っている写真を学習させて、自分の決めた分類に仕分けられるようにしてくれる。畠山氏は、さまざまな料理の写真を学習させ、「カレー」「ピザ」「ラーメン」「寿司」「餃子」などに分類する例を見せた。壇上では実際に、「さきほど撮ったばかり」というラーメンの写真で試し、「ラーメン 86.8%」という結果が表示されるところをデモした。

料理を分類する例
料理を分類する例
ラーメンが認識された
ラーメンが認識された

畠山氏は応用例として、監視カメラと人のコラボレーションが描かれたイメージビデオも上映した。このビデオでは、監視カメラが人や車椅子を認識している。さらに、倉庫のカメラが液体の入った缶の倒れるのを認識して人に連絡するというところもビデオで描かれていた。

缶の倒れるのを監視カメラが認識して人に連絡
缶が倒れたことを監視カメラが認識して人に連絡

UXを変えるBot Framework

AIを開発者が簡単に使うものとしては、もう1つ、チャットボットを作る「Bot Framework」も紹介された。

畠山氏は、コマンドで操作する「MS-DOS」や、GUIで操作できるようになった初期の「Windows」の画面を見せ(なぜかWindowsは3.xの画面だった)、それらに競べて共通の自然なUXで操作できるものとしてBot Frameworkを使ったアプリケーションを位置付けた。

MS-DOSやWindowsのUX
MS-DOSやWindowsのUX
Bot Frameworkで操作を汎用化する
Bot Frameworkで操作を汎用化する

デモとして畠山氏はVisual Studio Codeを起動し、Node.jsでアプリを起動した。すると、いきなりメッセージで「何をお探しですか」と問いかけられ、ランチや定番パスタといった選択肢が示されて、それに答えるとおすすめ情報が表示された。これについて氏は「スマートフォンでテキストをいちいち入力しなくてよい」とAIによるUXを説明した。

また、「画像の説明文を作る」というメッセージを送ると、ボットが「画像をアップロードしてください」と求めてきて、野球の写真を送ったところ、「野球の試合を観戦する人々の群衆」という説明が返ってきた。「このように、さまざまなところにAIが組み込まれていく」と畠山氏はコメントした。

ボットがおすすめを提案
ボットがおすすめを提案
ボットのインターフェイスで写真から場面を認識
ボットのインターフェイスで写真から場面を認識

AIに対応したSQL Server 2017

自分でAIを作るもののカテゴリーとして、畠山氏はまず変わったところで「SQL Server 2017」から紹介した。SQL Server 2017では、Windows版、Linux版、Docker版の3つを同時リリースしている(※Think ITの関連記事 https://thinkit.co.jp/article/12760 )。

さらに特徴となるのが、ストアドプロシージャでAIに対応したことだ。言語としてはPythonやRをベースとし、機械学習アルゴリズムの入ったMicrosoftMLライブラリーを組み込んでいるという。また、GPUもサポートした。

AIに対応したSQL Server 2017
AIに対応したSQL Server 2017

畠山氏はSQL ServerでAIを使う例として、医療の診断データのCTスキャン画像からAIで診断するという架空の事例を見せた。診断データはすべてSQL Serverに入っていて、SQL Serverで完結して診断できる。

SQL Server 2017に入ったCTスキャン画像からAIで診断
SQL Server 2017に入ったCTスキャン画像からAIで診断

氏は、なぜSQL Serverに機械学習を搭載するかについて、「データベースで完結してデータの移動が不要なこと」、「運用しやすい機械学習のスクリプトとモデル」、「エンタープライズのパフォーマンスとスケール」の3つを挙げた。

SQL Server 2017にAIを組み込むメリット
SQL Server 2017にAIを組み込むメリット

さまざまな環境に対応したAzure Machine Learning Services

最後に残った、自分でAIを作るためのプラットフォームとして、「Azure Machine Learning Services」を畠山氏は紹介した。

「Cognitive Servicesは万能ではない」と氏は説明する。その例として、相撲の画像を分析して「上半身裸の男が抱き合って肩にキスをしようとしている」という説明文が付けられたというケースがユーモラスに紹介された。「Computer Vision APIは、あくまで一般的な生活のシナリオに最適化されている」と畠山氏。

Computer Vision APIが相撲の画像を誤分析した例
Computer Vision APIが相撲の画像を誤分析した例

そこでAIを作るプラットフォームとして「Azure Machine Learning Services」を紹介した。モデルのライフサイクルすべてを扱うもので、現在はPreview段階。トレーニング環境やデプロイ環境の選択肢が多いのが特徴で、Azureはもちろんのこと、オンプレミス(SQL Serverを含む)やエッジコンピューティング(Raspberry Piなど)も管理対象となる。

特に、組み込み機器などのエッジコンピューティングの重要性を畠山氏は主張した。工場など低遅延なリアルタイム応答が求められる場面や、プライバシー保護などが求められる場面では、エッジでのAIが重要になってくるという。

Azure Machine Lerning Services。トレーニング環境やデプロイ環境の選択肢が多いという
Azure Machine Learning Services。トレーニング環境やデプロイ環境の選択肢が多いという

エッジコンピューティングを実現するための方法として組み込み機器をAzureにつなげる「Azure IoT Edge」を畠山氏は紹介した。ローカル側の組み込み機器に対して「Azure IoT Edge」がゲートウェイとなり、Azure側の「Azure IoT Hub」と接続する。オフライン同期やAzure Machine Learningローカル版の機能も持ち、オフラインでも利用できる。なお、展開方法はすべてDockerコンテナーだという。

組み込み機器をAzureにつなげるAzure IoT Edge
組み込み機器をAzureにつなげるAzure IoT Edge

どこから開始するか

ここまでの内容をまとめて、畠山氏は最後に「どこから開始するか」について語った。「いきなり機械学習フレームワークに手を出すのは、勉強だけで終わってしまう可能性がある」として、「まずCognitive Services、それでだめならCustom Services、それでもだめならカスタムAIモデル」という優先順位を主張した。「公開データは簡単に使えるが限界がある。そこでカスタマイズされたものを使うと、より精度の高いものが作れる」(畠山氏)というわけだ。

どこから開始するか
どこから開始するか

講演時間はわずか30分だったが、その中でMicrosoftのAI分野に関するさまざまなアプローチが紹介されたセッションとなった。

フリーランスのライター&編集者。IT系の書籍編集、雑誌編集、Web媒体記者などを経てフリーに。現在、「クラウドWatch」などのWeb媒体や雑誌などに幅広く執筆している。なお、同姓同名の方も多いのでご注意。

連載バックナンバー

仮想化/コンテナイベント

KubeCon報告からKubernetes対応版Dockerまで、Docker Meetup Tokyo #20開催

2018/1/30
コンテナーに関する勉強会「Docker Meetup Tokyo #20」が、2017年12月14日に開催された。11月に開催された「Docker Meetup Tokyo #19」に続く回となった。
仮想化/コンテナ

Red Hatが示したOpenShiftの将来とは

2018/1/24
Red Hatが推進するコンテナープラットフォームであるOpenShiftの1dayカンファレンスが開催された。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています