Cognitive Services と機械学習
Cognitive Services は、一般的な問題を解決する機械学習機能を備えています。たとえば、テキストで感情 (センチメント) を分析したり、画像を分析して物や顔を認識したりすることができます。 これらのサービスを使用するために、機械学習やデータ サイエンスに関する特別な知識は必要ありません。
Cognitive Services はサービスの集合であり、それぞれが異なる一般化予測機能をサポートします。 適切なサービスを見つけやすくするために、サービスは複数のカテゴリに分類されています。
サービス カテゴリ | 目的 |
---|---|
Decision | 情報に基づく、効率的な意思決定のためのレコメンデーションを提示するアプリを構築します。 |
Language | お使いのアプリが、構築済みスクリプトで自然言語を処理し、センチメントを評価し、ユーザーの求めるものを認識する方法を学習できるようにします。 |
Search | お使いのアプリに Bing Search API を組み込み、1 つの API 呼び出しで何十億もの Web ページ、画像、動画、ニュースをくまなく調べる機能を実装します。 |
Speech | 音声をテキストに変換し、テキストを自然な音声に変換します。 ある言語を別の言語に翻訳し、話者の認証と認識を可能にします。 |
Vision | 写真、動画、デジタル インク コンテンツの認識、識別、キャプションの追加、インデックスの作成、モデレートを行います。 |
Cognitive Services は次の場合に使用します。
- 一般化されたソリューションを使用できる。
- プログラミング REST API または SDK からソリューションにアクセスする。
次の場合は他の機械学習ソリューションを使用してください。
- アルゴリズムを選んで、特殊なデータをトレーニングする必要がある。
機械学習とは
機械学習は、データとアルゴリズムを組み合わせて特定のニーズを解決するという概念です。 データとアルゴリズムがトレーニングされると、別のデータで再利用できるモデルが出力されます。 トレーニングされたモデルから、新しいデータに基づいた分析情報を得ることができます。
機械学習システムを構築するプロセスでは、機械学習やデータ サイエンスの知識がある程度必要になります。
機械学習は、Azure Machine Learning (AML) の製品とサービスを通じて提供されます。
Cognitive Services とは
Cognitive Services は、機械学習ソリューションのコンポーネントであるデータ、アルゴリズム、トレーニング済みモデルの一部または全部を提供します。 これらのサービスは、データに関する一般的な知識が前提になりますが、機械学習やデータ サイエンスの経験は不要です。 これらのサービスでは REST API と言語ベースの SDK の両方を提供しています。 そのため、これらのサービスを使用するにはプログラミング言語の知識が必要です。
Cognitive Services と Azure Machine Learning (AML) の類似点
実現方法はそれぞれのオファリングで異なりますが、どちらも人工知能 (AI) を業務の強化に応用するという最終目標があります。
一般に、対象ユーザーは異なります。
- Cognitive Services は機械学習の経験がない開発者を対象としています。
- Azure Machine Learning はデータ サイエンティスト向けに特化されています。
Cognitive Services と機械学習の違い
Cognitive Services では、ユーザーに対してトレーニング済みのモデルが提供されます。 これはデータとアルゴリズムを統合したもので、REST API や SDK から利用できます。 シナリオによっては、このサービスを数分で実装できます。 Cognitive Services は、テキスト内のキー フレーズや画像内の項目識別といった一般的な問題を解決します。
機械学習は、通常、適切に実装するために長時間を要するプロセスです。 Cognitive Services と同等の機能を実現するために、この時間を費やしてデータの収集、クリーニング、変換、アルゴリズムの選択、モデルのトレーニング、およびデプロイが行われます。 機械学習では、きわめて特殊な問題や具体的な問題を解決することが可能です。 機械学習の問題では、データ サイエンスの専門知識だけでなく、検討中の問題の特定の主題とデータについて理解する必要があります。
保有するデータの種類
サービスの集合である Cognitive Services は、トレーニングされたモデルにカスタム データが不要な場合、一部必要である場合、または全部必要である場合があります。
追加のトレーニング データが不要
完全にトレーニングされたモデルを提供するサービスは、"不透明のボックス" として扱われます。 その仕組みやトレーニングに使用されたデータを知る必要はありません。 完全にトレーニングされたモデルに自分のデータを取り込むことで予測が得られます。
トレーニング データが一部または全部必要
一部のサービスでは、自分のデータを取り込んでからモデルをトレーニングすることができます。 これにより、サービスのデータとアルゴリズムに自分のデータを加えてモデルを拡張できます。 出力はニーズに合ったものとなります。 自分のデータを取り込むときに、サービスに固有の方法でデータにタグを付ける必要がある場合があります。 たとえば、花を識別するようにモデルをトレーニングする場合は、花の画像のカタログを、各画像における花の位置と共に提供してモデルをトレーニングできます。
あるサービスは、独自のデータを強化するためにユーザーにデータの提供を "許可" します。 あるサービスは、ユーザーにデータの提供を "要求" します。
リアルタイムまたはほぼリアルタイムのデータが必要
サービスによっては、効果的なモデルを構築するために、リアルタイムまたはほぼリアルタイムのデータが必要になることがあります。 こうしたサービスでは大量のモデル データが処理されます。
データ モデルに関するサービスの要件
次のデータは、各サービスが許可または要求するデータの種類でサービスを分類したものです。
Cognitive Service | トレーニング データが不要 | ユーザーがトレーニング データを一部または全部提供 | リアルタイムまたはほぼリアルタイムでデータを収集 |
---|---|---|---|
Anomaly Detector | x | x | x |
Bing Search | x | ||
Computer Vision | x | ||
Content Moderator | x | x | |
Custom Vision | x | ||
Face | x | x | |
Ink Recognizer | x | x | |
Language Understanding (LUIS) | x | ||
Personalizer | ○* | ○* | x |
QnA Maker | x | ||
Speaker Recognizer | x | ||
Speech のテキスト読み上げ (TTS) | x | x | |
Speech の音声テキスト変換 (STT) | x | x | |
音声翻訳 | x | ||
言語サービス | x | ||
Translator | x | ||
Translator - Custom Translator | x |
*Personalizer は、(リアルタイムで動作するため) サービスが収集したトレーニング データだけでユーザーのポリシーとデータを評価します。 Personalizer の事前トレーニングやバッチ トレーニングには、大量の履歴データセットが必要ありません。
Cognitive Services を使用できる場所
このサービスは、REST API または SDK 呼び出しを行うことができるアプリケーションで使用されます。 たとえば、Web サイト、ボット、仮想現実や複合現実、デスクトップ アプリケーション、モバイル アプリケーションなどです。
Azure Cognitive Search と Cognitive Search の関連性
Azure Cognitive Search は独立したクラウド検索サービスであり、必要に応じて Cognitive Services を使用して、イメージと自然言語の処理をインデックス作成ワークロードに追加します。 Cognitive Services は、個々の API をラップする組み込みのスキルを通じて Azure Cognitive Search で公開されます。 チュートリアルには無料のリソースを使用できますが、ボリュームが大きい場合は課金対象のリソースを作成して接続するようにしてください。
Cognitive Services の用途
各サービスからユーザーのデータに関する情報が提供されます。 サービスを組み合わせて複数のソリューションを連結できます。たとえば、音声 (オーディオ) をテキストに変換し、そのテキストを多数の言語に翻訳し、翻訳された言語でナレッジベースから回答を得ることができます。 Cognitive Services は、インテリジェントなソリューションを独自に作成するために使用できるほか、従来の機械学習プロジェクトと組み合わせてモデルを補完したり、開発プロセスを高速化したりすることもできます。
他の機械学習ツールにモデルをエクスポートできる Cognitive Services:
Cognitive Service | モデル情報 |
---|---|
Custom Vision | Tensorflow for Android、CoreML for iOS11、ONNX for Windows ML に対してエクスポート |