Microsoft Build 2018については、今回が第3回目です。第1回は、Microsoftのビジョン(Microsoft Build 2018 にみるMicrosoftのビジョン)をご紹介しました。第2回では、私がHoloLens(ホロレンズ)に注目していたため、HoloLensをメインにご紹介しました(Microsoft BuildにみるHoloLens(ホロレンズ)の進化)。今回は、HoloLens以外の注目すべきコンテンツをご紹介します。
Microsoft Buildに参加する理由
Microsoft社が主催するグローバルイベントとして、セールスパートナー向けの「Microsoft Inspire」やインフラ技術者向けの「Microsoft Ignite」などがあり、「Microsoft Build」は開発者向けのイベントにあたります。イベントが開催されるのはそれぞれ毎年1回のみです。
今年のMicrosoft Build 2018は、Microsoft社の本社からほど近い米国シアトルで3日間にわたり開催され、最新のビジョンや技術情報が発表・公開されました。初日と2日目の午前中には基調講演が実施され、Microsoft本社の経営層がビジョンや技術情報を語り、午後はブレイクアウトセッションという形でより詳細な技術情報を得られる場が提供されていました。
特徴は、全体的に専門性の高い内容が多く、実務レベルの技術者を対象としている点です。16本ものセッションが同時に実施され、技術をテーマとしたセッションが非常に多く行われていました。
特にAIやIoTに関するセッションが多く、これらに参加することでMicrosoft社の最新動向を収集することができました。
また、ブレイクアウトセッションではワークショップも実施され、最新の技術に実際に触れ、開発方法をその場で習得することができました。
ユビキタスコンピューティング
Azure IoT Edgeとドローン
「ユビキタスコンピューティング」とは、様々な場所にコンピュータが存在し、いつでもどこでもアクセスできる状態を表す概念です。最近では、IoTという形で実現し始めています。
現在のIoT技術では、処理やネットワークコストの問題から、その処理をエッジデバイスへオフロードしています。各種センサーから取得したデータをクラウドへアップロードし、処理して結果を戻す…という方法では、リアルタイム性を保てません。そのため、エッジデバイスで処理を行うエッジコンピューティングが必要となってきているのです。
エッジデバイスは、データを収集するモノの近くに配置することで効果的に機能します。そのため、比較的ライトなスペックのものを大量に配置したほうが効率的でしょう。各種のセンサーデータをエッジデバイスでどのように処理したいかを考えると、やはりAIが必要となります。
昨年のMicrosoft Build 2017では、作業機械に設置されたセンサーのデータから障害発生の予兆を検知する事例が紹介されていました。今までクラウドでの作業に2秒かかっていたところを、エッジで処理することで0.02秒に短縮でき、作業機械の安全な停止が実現できるようになったというものでした。
このように、エッジでAIを処理できるようにする「Intelligent Edge」を実現するサービスとして、「Azure IoT Edge」があります。AIは学習と推論というプロセスに分けられ、学習では膨大なデータを扱うため、膨大なリソースを柔軟に確保できるクラウドの利用が適しています。Azure IoT Edgeでは、このクラウドで開発したAIをエッジデバイスに配置し、推論の実行が可能となります。
Microsoft Build 2018の基調講演では、Azure IoT Edgeのデモンストレーションとして、商用ドローンにおける活用事例が紹介されました。基調講演のステージでドローンが実際に飛行し、パイプライン(模型)にある傷をリアルタイムに検知する、というものです。ドローンを使えば、災害現場など人が立ち入れない場所でも、空中から状況を把握できます。さらに、ドローンが捉えた様子を別の場所に送信して処理するのではなく、ドローン内でリアルタイムに処理を行い、問題を検知した場合はすぐさまアラートを送るといったことが実現できるのです。まさに、災害現場のような緊急を要するシーンでの活用が進むと考えられます。
Azure Sphere
IoTが発展するなか、私たちの周りの家電製品もインターネットに接続されるようになり、その価値を得られるようになり始めています。本当の意味で、インターネットが家庭にまで広がってきていると言えるでしょう。その反面、インターネットで起こっている脅威が家庭にまで広がってきている、と考えることもできます。家電製品がハッキングされれば、プライベートな会話、画像や動画が拡散してしまうかもしれません。
Microsoft Build 2018では、セキュアなMCU(Micro Controller Unit)、セキュアなOS、クラウドのセキュリティを組み合わせてより高度なセキュリティを実現する「Azure Sphere」が発表されました。(余談ですが、Microsoft社がOSにLinuxを採用したという点でも話題になりました。)
Azure SphereはMicrosoft社が設計したセキュリティサブシステムを組み込んだチップをベースとして、専用のOSで構成されます。さらに専用のAzure上のサービスで、暗号化、証明書管理、監視やオンライン更新を行います。
家電などにAzure Sphereを搭載すれば、家電メーカーは、販売した家電製品の状態をクラウドで一元管理し、常に最新版へアップデートできる、ということが考えられています。
これにより、進化し続けるセキュリティの脅威に対しても、追随可能な環境が期待できます。
このAzure Sphereは、Microsoft社の製品/サービスですが、このような堅固なセキュリティを担保した機能を組み込んだ製品が発展し、セキュリティ基準が第三者の観点で検査され公的なセキュリティ認証という形になり、将来的に各製品はそれに準拠するものになっていくのかもしれません。
Microsoft AI
Microsoft AIのブレークスルー
AIの世界では、第三次AIブームのきっかけとなったILSVRC(ImageNet Large Scale Visual Recognition Challenge)という画像認識の競技会があります。2012年大会の際、今までの手法に対して深層学習が圧倒的な勝利を飾ったことで、深層学習が一気にAI技術の中心的存在となりました。
Microsoft社の深層学習の研究成果として、ILSVRC 2015で1位となった ResNet(Residual Network)が、物体認識において人間の認識レベルを超えたという結果を出しています。さらには、2017 年に、音声認識、2018年に、機械読解、機械翻訳の分野においてもMicrosoft社のAIが人間の認識レベルに到達した、という結果を出しています。
そして今回、Microsoft社は、これらの研究成果であるAIのコモディディ化を進めていくことを約束しました。すべての開発者、組織にAIを提供し、クラウドからエッジまでのすべてをサポートしていきます。誰でもMicrosoft社の研究開発結果である高性能AIを、問題解決に役立てられるのです。
私の部署では、これらの結果としてリリースされるMicrosoft AIの調査検証を早期に行い、その特性を十分に知り、お客様の課題に合わせて適切なAIを提供できるよう進めています。
Microsoft AIのコモディディ化
コモディディ化されたMicrosoft AIのひとつに、「Cognitive Services」というAPIサービス群があります。複数の目的に応じたAPIが提供されており、クラウドでの利用が可能です。
その中には、Microsoft Build 2015で発表された「Face API」があります。人物が写った画像をアップロードするだけで、その人物の顔を認識し、年齢や性別を推測できる、というものです。例えば、コンビニなどで、マーケティングデータを収集するために店員がPOSレジにお客さんの年齢や性別を入力しているのは有名な話ですね。この作業がFace APIで代替できるようになるのです。用意されたAPIを利用するだけで始められるので、ニーズにマッチすれば非常に強力な解決策となります。
どのようなAPIがあり、どのような機能や性能があるのかを知っておくことは、今まで解決できなかった課題をスピーディーに解決できるか判断する上で、重要な要素と考えます。
カスタマイズ可能なAI
Cognitive Servicesは、ニーズにマッチすれば非常に強力ですが、実際の問題としてそのまま適用できない場合も多くあります。
例えば、「Computer Vision API」は画像を解析し、写った物体の種類を識別します。これは画像アノテーションとも呼ばれ、屋根の上で寝ている猫が写った風景を入力すれば、家、屋根、猫、空、雲といったタグを出力します。画像を用意しアップロードするだけで、膨大な画像データから学習したAIが画像を解析してくれるので、自身でAIを開発する必要はありません。しかし、専門的な用途の場合には対応できない場面もあります。先ほどの猫が写った画像の例で猫の品種まで特定する場合には、Computer Vison APIでは対応できません。学習されていない物体の識別はできないためです。
このような問題を解決するには、AIをイチから開発する必要がありました。猫の品種を特定するAIであれば、特定したい猫の品種の画像を集めてきて、それぞれにタグを付けて学習データとして準備します。そして、深層学習のネットワークを設計、もしくは既に実績のあるネットワークを流用し、学習を行います。一度で学習モデルの開発が完了することはなく、データやパラメーターの調整を行い、何度も学習し、精度を上げる必要があります。これには非常に長い時間と、高度な専門知識が要求されます。
Microsoft Build 2017では、カスタマイズ可能なCognitive Servicesが発表されました。任意の画像で学習を行うことが可能な「Custom Vision Services」です。Custom Vision Servicesは、学習用のデータを用意する必要はありますが、非常に簡単な手順でカスタムの画像認識AIを、直感的に開発できます。AIをイチから開発する場合に比べて、必要なデータは少なく、学習時間も短時間で完了します。詳細は公開されていませんが、転移学習やファインチューニングと呼ばれる方法でこれらを実現しています。
エッジコンピューティングと AI
Microsoft Build 2017で発表されたCustom Vision Serviceは、その後も進化を続けています。Microsoft Build 2018では、Custom Vision ServiceによるAzure IoT Edgeデバイスのサポートが発表されました。これまでCognitive Servicesの各APIはクラウド上に配置されていたため、インターネット経由での呼び出しが必要でしたが、現在のCustom Vision Serviceでは、開発したAIをDocker形式でエクスポートできるようになり、Azure IoT Edge上でも動作するようになりました。
つまり、Custom Vision Serviceを活用することで、直感的な手順で開発した高度なカスタム画像認識AIを、エッジデバイス上でも動作させることができるということです。これは、クラウドで開発したカスタムの画像認識AIを、エッジデバイスで活用できることを意味します。
例えば、鳥の品種を学習させておき、そのAIをエッジデバイスに配布すると、ネットワーク環境が十分でない場所でも、生息状態や生息範囲を識別するAI及びデバイスを簡単に短時間で開発できるようになります。
このCustom Vision ServiceのAzure IoT Edge対応は、クラウドAIとエッジAIのいいとこ取りをした、これまでにない非常に画期的な更新であると考えています。
富士ソフトのMicrosoft ソリューションについて、詳しくはこちら
Microsoft ソリューション
この記事の執筆者
ソリューション事業本部
MS事業部 MSサービス推進室
部長 / エグゼクティブフェロー