【Azure】OpenAI 以外のAzure AIをまとめる


OpenAIで盛り上がっている昨今ですが、Azure上にはOpenAI以外にもAIを利用するサービスが提供されています。
ちょうど過渡期であることもあり、非常に煩雑で分かりにくいです。
ここではまず学び始める前に全体感を明らかにするため、Azureが提供しているAIサービスについてまとめます。

# Azure AIの概要

Azure AIは、Microsoft Azure上で提供されている人工知能サービスの総称です。
大きく分けると、次のような5つの枠組になっています。

1. __機械学習__
1. __異常検出__
1. __視覚認識__
1. __自然言語処理__
1. __ナレッジマイニング__

※かつてはAzure Cognitive Services,Azure Applied AI Servicesと呼ばれていたものが含まれています。現在はAzure AIとして統合されています。執筆時点でAzure AIとしてまとめられていないものもこの記事の中では整理します。

## 機械学習

機械学習を簡単に言えば、 __"データから結論を導き出す方法をAIに教える"こと__ です。狭義では、機械学習はAI分野の一部ではありませんが、広義ではAIの一部として扱われることが多いです。
AIは、データから結論を導き出す方法を学習することで、予測や推論を行うことができるようになります。__"データから結論を導き出す方法"のことを、機械学習モデルと呼びます__。
Azureでは、機械学習を行うためのサービスとして、主にAzure Machine Learningを提供しています。
Azure Machine Learningが提供するのは、主に自動機械学習です。

- 自動機械学習
専門家以外でも、簡単にデータから効果的な機械学習モデルを作成することができます。
Azure Machine Learningデザイナーを利用することで、GUIベースで機械学習モデルを作成することができます。
また、Azure Machine Learning SDKを利用することで、Pythonを用いて機械学習モデルを作成することもできます。

## 異常検出

__異常検出は、データを経時的に分析し、異常な振る舞いを検出することです。__(※経時的…時間の経過とともに変化すること)
機械学習と異なり、異常検出はデータから結論を導き出すのではなく、__データの変化を検出します__。
そこにはあってはならないものを検出することで事故を防いだり、間違いを防止したりすることができます。

Azureでは、異常検出を行うためのサービスとして、Azure AI Anomaly Detector,Azure AI Metrics Advisorを提供しています。

## 視覚認識

__視覚認識は、画像や動画から、人や物体、場所などを認識することができます。__ 具体的には、以下のようなことができます。

- 画像分類
  __画像分類は、機械学習モデルをトレーニングして、その内容に基づいて画像を分類します。__
  例えば、画像分類を利用することで、画像に写っているものが犬か猫かを判別することができます。

- 物体検出
  __物体検出は、画像内の個々の物体を分類し、その位置を境界ボックスで識別するようにトレーニングします。__(※境界ボックス…物体を囲み位置を示す四角形のこと)
  画像分類はその画像に写っているものが何かを判別するのに対し、物体検出はその画像内の物体の位置を特定します。

- セマンティックセグメンテーション
  セマンティックセグメンテーションは、物体検出の拡張版です。
  物体検出では境界ボックスで物体の位置を特定しますが、__セマンティックセグメンテーションでは、物体の位置をピクセル単位で特定します。__
  ピクセル単位というのが表現として分かりにくいですが、早い話例えば犬が赤で塗りつぶされ、猫は青で塗りつぶされるといった具合で、画像内の物体を色分けすることで位置を特定します。 

- 画像解析
  画像解析は、機械学習モデルと画像分析を合わせ、画像が示すシーンを要約して説明する字幕をつけたり、画像のカタログ化を行うタグを付与することができます。

- 顔検出・分析・認識
  顔検出・分析・認識は、おそらくイメージしている通りでしょう。
  __特定の画像から、顔を検出し、境界ボックスで囲み、その顔の位置を特定できます。__
  また特定した顔の特徴を分析し、その顔が誰の顔かを認識することもできます。
  ただしAzureでは顔と個人を結びつけるような利用方法は、適格性と使用基準を満たしたユーザーのみに限定されます。

- 光学式文字認識(OCR)
  光学式文字識別は、画像内の手書きや印刷文字を読み取り、テキストとして抽出することができます。

Azureでは、視覚認識を行うためのサービスとして、それぞれAzure AI Computer Vision,Azure AI Custom Vision,Azure AI Face,Azure AI Document Intelligenceなどを提供しています。

## 自然言語処理

文字言語や音声言語を理解するソフトウェアの作成を行う分野です。

Azureでは、自然言語処理を行うためのサービスとして、Azure AI language,Azure AI Translator,Azure AI Speech Service,Azure AI Immersive Reader,Azure OpenAI Service,Azure AI Bot Service,Azure AI Health Botを提供しています。

## ナレッジマイニング

__ナレッジマイニングは、大量の非構造化データから情報を抽出して、検索可能なナレッジストアを作成するソリューションのために使用されます。__ 要するにAIを利用した検索の仕組みです。
ナレッジマイニングは、データの分類、クラスタリング、および予測を行うことで、データのパターンを特定します。
Azureでは、ナレッジマイニングを行うためのサービスとして、Azure AI Search(2023/11にAzure Cognitive Searchから改称)を提供しています。

## まとめ

Azure AIで利用できるサービスを一覧としてまとめると以下の通りです。

|分類|リソース名|主な機能|
|:---|:---|:---|
|機械学習|Azure Machine Learning|自動機械学習|
|機械学習|Azure AI Pasonalizer|アプリケーションが強化学習を使用して大規模でよりスマートな意思決定を行うAI サービス。ユーザーの状態と属性を処理する(2026/10に廃止予定)|
|異常検出|Azure AI Anomaly Detector|アプリに簡単に異常検出機能を追加する(2026/10に廃止予定)|
|異常検出|Azure AI Metrics Advisor|AI を使用してデータの監視と時系列データにおける異常検出を実行する(2026/10に廃止予定)|
|視覚認識|Azure AI Computer Vision|画像解析や物体検出、OCRを提供する|
|視覚認識|Azure AI Custom Vision|カスタム画像分類/物体検出/セマンティックセグメンテーションを提供する|
|視覚認識|Azure AI Face|顔検出・分析・認識を提供する|
|視覚認識|Azure AI Document Intelligence|光学式文字認識。OCR以外にもフォームを理解する AI を利用したドキュメント抽出サービスを使用することができる。旧Form Recognizer|
|自然言語処理|Azure AI Translator|翻訳機能を提供する|
|自然言語処理|Azure AI Speech Service|音声テキスト変換、リアルタイムの音声テキスト変換、バッチ文字起こし、テキストの音声変換、音声翻訳、言語識別、話者認識、発音評価、意図認識を提供する|
|自然言語処理|Azure AI Language|1 回の API 呼び出しで自然言語機能を追加する。|
|自然言語処理|Azure AI Immersive Reader|あらゆる年齢や能力のユーザーがテキストを読んで理解できるようにする|
|自然言語処理|Azure OpenAI Service|高度なコーディングと言語モデルをさまざまなユースケースに適用する(プレビュー)|
|自然言語処理|Azure AI Bot Service|簡単に会話型Botを構築できるサービス|
|自然言語処理|Azure AI Health Bot|医療に特化したBot構築できるサービス|
|ナレッジマイニング|Azure AI Search|ナレッジマイニング|
|その他|Azure AI Video Indexer|FaceやTranslatorを利用し動画や音声を分析・抽出することができる|
|その他|Azure AI Content Moderator|不快感を与える可能性がある内容、リスクのある内容、その他望ましくない可能性のある内容を管理できるAIサービス|
|その他|Azure AI Content Safety|Content Moderatorの上位互換。(2023/10 GA)|

※一部サービス(Microsoft Genomicsなど)はマイナーなので省いています。

## 参考

- [Azure AI の概要](https://learn.microsoft.com/ja-jp/training/modules/get-started-ai-fundamentals/)
- [Azure Machine Learning とは](https://learn.microsoft.com/ja-jp/azure/machine-learning/overview-what-is-azure-machine-learning?view=azureml-api-2)
- [Personalizer とは](https://learn.microsoft.com/ja-jp/azure/ai-services/personalizer/what-is-personalizer)
- [Anomaly Detector とは何か](https://learn.microsoft.com/ja-jp/azure/ai-services/anomaly-detector/overview)
- [Azure AI Metrics Advisor とは](https://learn.microsoft.com/ja-jp/azure/ai-services/metrics-advisor/overview)
- [Azure AI Vision とは?](https://learn.microsoft.com/ja-jp/azure/ai-services/computer-vision/overview)
- [Custom Vision とは](https://learn.microsoft.com/ja-jp/azure/ai-services/custom-vision-service/overview)
- [Azure AI Face サービスとは](https://learn.microsoft.com/ja-jp/azure/ai-services/computer-vision/overview-identity)
- [Azure AI Document Intelligence とは?](https://learn.microsoft.com/ja-jp/azure/ai-services/document-intelligence/overview?view=doc-intel-3.1.0)
- [Azure AI 翻訳とは](https://learn.microsoft.com/ja-jp/azure/ai-services/translator/translator-overview)
- [音声サービスとは](https://learn.microsoft.com/ja-jp/azure/ai-services/speech-service/overview)
- [Azure AI Language とは?](https://learn.microsoft.com/ja-JP/azure/ai-services/language-service/overview)
- [Azure AI Immersive Reader とは?](https://learn.microsoft.com/ja-jp/azure/ai-services/immersive-reader/overview)
- [Bot Framework SDK とは](https://learn.microsoft.com/ja-jp/azure/bot-service/bot-service-overview?view=azure-bot-service-4.0)
- [Azure AI Health Bot Overview](https://learn.microsoft.com/ja-jp/azure/health-bot/overview)
- [Azure Cognitive Search とは](https://learn.microsoft.com/ja-JP/azure/search/search-what-is-azure-search)
- [Azure AI Video Indexer の概要](https://learn.microsoft.com/ja-jp/azure/azure-video-indexer/video-indexer-overview)
- [Azure AI Content Moderator とは?](https://learn.microsoft.com/ja-jp/azure/ai-services/content-moderator/overview)
- [Azure AI Content Safety とは?](https://learn.microsoft.com/ja-jp/azure/ai-services/content-safety/overview)