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

デジタル変革が叫ばれる今日、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つに分けて説明した。

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」などがある。

これらのうち、Computer Vision APIを畠山氏はデモをまじえて解説した。男性が水泳している写真から、性別や年齢、何が写っているかなど、いろいろなメタデータの入った結果をJSON形式で返してくる。さらには「a man swimming in a pool of water」という説明文も自動で作成されるところも示された。
さらに畠山氏は「成人向けコンテンツ」「わいせつ性」の項目に注意してみせた。「ビジネスで使うにはフィルターが必要になる。この写真は水泳中のため肌の露出が多いが、成人向けと判定されていない」と氏は指摘した。


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

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


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

UXを変えるBot Framework
AIを開発者が簡単に使うものとしては、もう1つ、チャットボットを作る「Bot Framework」も紹介された。
畠山氏は、コマンドで操作する「MS-DOS」や、GUIで操作できるようになった初期の「Windows」の画面を見せ(なぜかWindowsは3.xの画面だった)、それらに競べて共通の自然なUXで操作できるものとして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もサポートした。

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

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

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

そこでAIを作るプラットフォームとして「Azure Machine Learning Services」を紹介した。モデルのライフサイクルすべてを扱うもので、現在はPreview段階。トレーニング環境やデプロイ環境の選択肢が多いのが特徴で、Azureはもちろんのこと、オンプレミス(SQL Serverを含む)やエッジコンピューティング(Raspberry Piなど)も管理対象となる。
特に、組み込み機器などのエッジコンピューティングの重要性を畠山氏は主張した。工場など低遅延なリアルタイム応答が求められる場面や、プライバシー保護などが求められる場面では、エッジでのAIが重要になってくるという。

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

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

講演時間はわずか30分だったが、その中でMicrosoftのAI分野に関するさまざまなアプローチが紹介されたセッションとなった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- GoogleとMicrosoftのAIプラットフォーム【前編】
- Build 2016報告会 #tistudy201604開催レポート
- ハイプサイクルに登場する技術①ー エッジと組み込み型AI
- de:code 2019開催。自動運転車からMicrosoft 365、Azure、HoloLens 2までの基調講演まとめ
- GoogleとMicrosoftのAIプラットフォーム【後編】
- MR・AI・量子コンピューティングが重要テクノロジー 〜Microsoft Tech Summit 2017レポート
- de:code 2018が開催。基調講演はクラウド、開発ツール、MRが語られる
- Microsoftのデータサイエンティストが解説するモバイル向けCNNとは?
- de:code 2017開催、基調講演はAIがテーマに
- Microsoftはオープンソースで企業のデジタルトランスフォーメーションを支える ーConnect(); Japan 2017