「AIの民主化」、全エンジニアがAIを活用する時代を迎えようとしている。多彩なAIサービスをWeb API形式で提供するCognitive Servicesでは何ができるのか? この記事で必要十分な基礎知識を素早く獲得しよう。
最新情報は「クラウド「AI」API入門:AWS/Cognitive Services/Google Cloud/IBM Watsonの比較:AI・機械学習のクラウドサービス - @IT」をご参照ください。本稿は2017年10月公開で内容が古くなってきていますので、新たに情報収集している場合は、上記の記事をお勧めします。
「AIの民主化」「AIファースト」がキーワードとして出ることが多くなった。そんなAIに関する機能を容易に使えるサービスの一つに、マイクロソフトが提供するCognitive Servicesがある。Cognitive Servicesでは(執筆時点で)視覚/音声/言語/知識/検索といった分野のAIサービスがすでに利用可能で、例えば視覚AIサービスの一つであるFace APIを使えば顔を検出してメガネの有無や感情などを簡単に取得したりできる(詳細後述)。
「容易に利用できる」と言うと「精度も低い?!」と思われるかもしれないが、そうではない。マイクロソフトのあらゆる分野のテクノロジ開発から生まれた高精度のサービス群である。本稿の内容を概観していただければ、そのおおよその実力が把握できるだろう。
Cognitive Servicesは、Microsoft Azure内の製品の一つとして提供されており、公式サイトは「https://azure.microsoft.com/ja-jp/services/cognitive-services/」にある。公式サイトには、分かりやすい概要説明とドキュメント、動くサンプルなどが用意されているので、本稿に併せてぜひ参照してみてほしい。本稿は、「Cognitive Servicesでどんなことができるか」を素早く情報を収集したい人に向けて、その全APIの概要をできるだけコンパクトにまとめた。AIについてこれから学ぼうと思っている方にも、すでにその分野のスペシャリストの方にも、ぜひ本稿を参考にCognitive Servicesに触れていただき、その一端を知っていただければ幸いだ。
Cognitive Servicesの各APIの説明に入る前に、「このサービスの何が良いのか?」という特長と、マイクロソフトが提供する3種類の機械学習サービスについて、簡単にまとめておこう。
Web API経由ですぐに利用可能
学習アルゴリズムの作成や学習データの準備はいらず、自身のアプリケーションからWeb APIを呼ぶことで利用ができるサービスが多く用意されている。
開発言語やプラットフォームを問わない
REST形式のWeb APIの呼び出しが可能な多くのプログラミング言語で(基本的に)利用できる。また、C#、Python、Androidなど、さまざまな環境向けのSDK/クライアントライブラリ/サンプルも用意されている。
主に従量課金制のサービス
多くのサービスが一定の無料枠付きの従量課金スタイルだ。料金体系については、「Cognitive Servicesの料金に関するページ」で確認していただきたい。実際にプロダクションとして運用をするのであれば、要件や設計の段階から料金体系を考慮することは重要だ。
マイクロソフトは、大きく分けて3種類の機械学習サービスを提供している(図1)。
Cognitive Services
本稿の説明対象。サービスの多くがマイクロソフトで構築した学習モデルを使うため、学習モデルの構築や学習データの準備が不要だ。逆に言うと、学習モデルのカスタマイズという側面では自由度は低い。
Azure Machine Learning
アルゴリズムをドラッグ&ドロップで作るGUIが用意されている。学習モデルのカスタマイズも可能だ。学習データを用意して学習させ、独自の学習モデルを構築することができる。
Cognitive Toolkit
深層学習(ディープラーニング)フレームワーク。Python/C#/C++などでアルゴリズムを構築できる。独自に用意した学習データから学習モデルを構築するため、自由度が高いが学習コストは大きい。
以上の3種類の機械学習サービスを見比べると、Cognitive Servicesは自由度が低いのでデメリットが大きいように感じるかもしれない。しかし、マイクロソフトのあらゆる分野のスペシャリストによって構築されてきたものであり、また、個人では集められないような大量のデータを持って構築された高精度の学習モデルを利用できるという点は、メリットとして非常に大きいだろう。
以上で、Cognitive Servicesの概要と特長、サービスとしての立ち位置はご理解いただけただろう。ここからは、Cognitive Servicesのカテゴリーごとに各APIの概要を説明していこう。ただしAPIの数は非常に多いので、効率的に参照できるよう本稿の目次を掲載しておく。
【目次】
なお、これらのサービスやAPIを実際に利用するには、アカウントを登録してAPIキーを取得する必要がある。登録については本編の最後で触れている。
また、各APIの日本語対応状況については、日進月歩で状況が変わる可能性があるので明記していない。詳しくはCognitive Servicesの各APIドキュメントをご確認いただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.