Azureとコグニティブコンピューティングについて
今回はAzureとコグニティブコンピューティングについて簡単に解説していきます。
そもそもコグニティブコンピューティングとは
コグニティブコンピューティングとは、まず英語で「Cognitive」という言葉がありそれらは「認識、認知」という意味を持ちます。つまるところ、従来のコンピューターのように与えられた命令を処理するだけでなく、自律的に考え、学習し、理解、行動するシステムのことを指します。代表的なシステムの1つとしてIBMの「Watson※」があります。
「Watson」を開発したIBMは、コグニティブ・コンピューティングをコンピューティングの発展と歴史の中で第3世代に位置付けています(第1世代はデータを数えるための計算機の時代、第2世代はOSやソフトウェアが作られ、プログラムによって動く現在のコンピューターやスマートフォンの時代としている)。
コグニティブ・コンピューティングは、答えが1つとは限らない、あいまいな問いかけに対して、自ら仮説を立てて最善の答えを導き出す能力を持ち、導き出した答えに対するフィードバックを蓄えることで、自ら学習し、正確な答えを出せるように進化するディープラーニングの機能も備えています。
AIが人間の脳を模倣しているのに対し、コグニティブ・コンピューティングは人間の意思決定に対してアドバイスし、人間の能力を補強、サポートすることを目的として設計されていることが大きな違いです。
※IBMが開発した質問応答システム・意思決定支援システム
Azureにおけるコグニティブコンピューティングサービスについて
Azureではコグニティブコンピューティングサービスとして「Azure Cognitive Services」というものがあります。この「Azure Cognitive Services」は、開発者が直接的なAI、データサイエンスのスキル、知識がない場合でも、インテリジェントアプリケーションを構築するために使用することのできるAPI、SDK、サービスです。
「Azure Cognitive Services」の目標には、開発者が聞いたり、話したり、理解したり、推論し始めたりできるアプリケーションの作成を支援することにあり、サービス カタログは、5つの主要な柱として、視覚、音声、言語、Web 検索、および意思決定に分類されます。
BingとOfficeでも10年以上にわたって利用されている統合Microsoft自然言語スタックに加え、視覚、言語、音声の AI サービスが使用されています。
Azure Cognitive Servicesの特徴
1.Web API経由ですぐに利用することが可能
学習アルゴリズムの作成や学習データの準備がいらず、自身のアプリケーションからWeb APIを呼ぶことで利用ができるサービスが多く用意されています。
2.開発言語やプラットフォームを問わない
REST形式のWeb APIの呼び出しが可能な多くのプログラミング言語で、基本的に利用することができます。また、C#、Python、Androidなど、さまざまな環境向けのSDK、クライアントライブラリ、サンプルも用意されています。
3.主に従量課金制のサービス
多くのサービスが一定の無料枠付きの従量課金制となっている。
Microsoftがリリースする他のコグニティブコンピューティング
MicrosoftはAzure Cognitive Services以外にも、コグニティブコンピューティングサービスを提供しています。ここではそれらについて解説していきましょう。
Azure Machine Learning
アルゴリズムをドラッグ&ドロップで作るGUIが用意されていて、学習モデルのカスタマイズが可能です。学習データを用意して学習させることで、独自の学習モデルを構築することができます。
Cognitive Toolkit
深層学習フレームワークで、Python、C#、C++などでアルゴリズムを構築することができます。独自に用意した学習データから学習モデルを構築するので、自由度が高いですが学習コストは大きいことが特徴です。
Cognitive Servicesは自由度が低いのでデメリットが大きいように感じますが、マイクロソフトのあらゆる分野のスペシャリストによって構築されてきたものです。個人では集められないような大量のデータから構築された高精度の学習モデルを利用できるので非常に有用性が高いでしょう。
まとめ
・コグニティブコンピューティングとは、従来のコンピューターのように与えられた命令を処理するだけでなく、自律的に考え、学習し、理解、行動するシステムのことを指す。
・コグニティブコンピューティングは、人間の意思決定に対してアドバイスし、人間の能力を補強、サポートすることを目的として設計されている。
・Microsoft Azureでは、「Azure Cognitive Services」というコグニティブコンピューティングサービスが展開されている。
・「Azure Cognitive Services」は、直接的なAI、データサイエンスのスキル、知識がない場合でも、インテリジェントアプリケーションを構築することが目指されている。