Open16

AI-900: Microsoft Azure AI Fundamentals

KawaeKawae

AI の基本的な概念: AI の概要

AI は人間の行動と能力を模倣するソフトウェア。

  • 機械学習 (Machine learning)
    これは多くの場合、AI システムの基盤となるもので、予測を行い、データから結論を導き出す方法をコンピューター モデルに "教える" こと。
  • コンピューター ビジョン (Computer vision)
    カメラ、ビデオ、画像を通じて世界を視覚的に解釈する、AI に含まれる機能。
  • 自然言語処理 (Natural language processing)
    コンピューターが文字言語や音声言語を解釈し、同じ言語で応答する、AI に含まれる機能。
  • ドキュメント インテリジェンス (Document intelligence)
    フォームやドキュメントに含まれる大量のデータの管理、処理、使用を扱う、AI に含まれる機能。
  • ナレッジ マイニング (Knowledge mining)
    大量の (多くの場合は) 非構造化のデータから情報を抽出して検索可能なナレッジ ストアを作成する、AI に含まれる機能。
  • 生成 AI (Generative AI)
    自然言語、画像、コードなど、さまざまな形式でオリジナル コンテンツを作成する、AI に含まれる機能。
KawaeKawae

AI の基本的な概念: 機械学習を理解する

コンピューターはデータから学習する。データ サイエンティストは、日常生活の中で生成される膨大なデータを使用して、データ内で検出した関係に基づいて予測や推論を行うことができるように機械学習モデルをトレーニングすることができる。機械学習モデルは、データ間の関係をキャプチャしようとする。

Microsoft Azure には、機械学習モデルを作成、管理、公開するためのクラウドベースのプラットフォームである Azure Machine Learning サービスがある。Azure Machine Learning Studio には、次のような作成エクスペリエンスがある。

  • 自動機械学習 (Automated machine learning)
    データから効果的な機械学習モデルをすばやく作成できる。
  • Azure Machine Learning デザイナー
    機械学習ソリューションのノーコード開発を可能にするグラフィカル インターフェイス。
  • データ メトリックの視覚化 (Data metric visualization)
    視覚化を使用して実験を分析および最適化する。
  • Notebooks
    スタジオに直接統合されているマネージド Jupyter Notebook サーバーで独自のコードを記述して実行する。
KawaeKawae

AI の基本的な概念: コンピューター ビジョンを理解する

コンピューター ビジョンは、視覚処理を扱う AI の分野。コンピューター ビジョン ソリューションの多くが、カメラ、ビデオ、またはイメージからの視覚入力に適用できる機械学習モデルに基づく。一般的なコンピューター ビジョン タスクには以下のものがある。

  • 画像分類 (Image classification)
    機械学習モデルをトレーニングして、その内容に基づいて画像を分類する。 交通監視ソリューションでは、画像分類モデルを使用して、タクシー、バス、自転車など、画像に含まれる車両の種類に基づいて画像を分類できる。
  • 物体検出 (Object detection)
    物体検出機械学習モデルは、画像内の個々の物体を分類し、その位置を境界ボックスで識別するようにトレーニングされる。 交通監視ソリューションでは、物体検出を使用して、さまざまなクラスの車両の位置を特定できる。
  • セマンティック セグメンテーション (Semantic segmentation)
    セマンティック セグメンテーションは、ピクセルが属するオブジェクトに従って画像内の個々のピクセルを分類する高度な機械学習手法。 たとえば、交通監視ソリューションでは、交通の画像に "マスク" レイヤーを重ねて、特定の色を使用してさまざまな車両を強調表示する。
  • 画像解析 (Image analysis)
    機械学習モデルと高度な画像分析手法を組み合わせたソリューションを作成し、画像のカタログ化に役立つ "タグ" や、画像に示されているシーンを要約する説明的な字幕などの情報を画像から抽出することができる。
  • 顔検出、分析、認識 (Face detection, analysis, and recognition)
    顔検出は、物体検出の特殊な形式で、画像内の人間の顔の位置を特定します。 これは、分類および顔のジオメトリ解析手法と組み合わせることができ、顔の特徴に基づいて個人を認識することもできる。
  • 光学式文字認識 (OCR)
    光学式文字認識は、画像内のテキストを検出して読み取るために使用される手法。OCR を使用して、写真のテキスト (道路標識や店頭など) を読み取ったり、スキャンした文書 (手紙、請求書、フォームなど) から情報を抽出したりできる。

Azure AI Vision はコンピューター ビジョン ソリューション開発用のサービス。Azure Vision Studio やその他のプログラミング言語で使用およびテストできる。

  • 画像分析
    画像とビデオを分析し、説明、タグ、オブジェクト、テキストを抽出する機能。
  • Face
    顔検出および顔認識ソリューションをビルドできる機能。
  • 光学式文字認識 (OCR)
    画像から印刷または手書きのテキストを抽出し、スキャンされたテキストのデジタル バージョンへのアクセスを可能にする機能。
KawaeKawae

AI の基本的な概念: 自然言語処理を理解する

自然言語処理 (Natural Language Processing) は、文字言語や音声言語を理解するソフトウェアの作成を扱う AI の分野。NLP を使用すると、次の機能を持つソフトウェアを作成できる。

  • テキストを分析および解釈する。
  • 音声言語を解釈し、音声応答を合成する。
  • 音声や文字のフレーズを言語間で自動的に変換する。
  • コマンドを解釈し、適切なアクションを決定する。

Azure AI Language を使用して、自然言語処理ソリューションを構築できる。 Azure AI Language の機能は Azure Language Studio で確認できる。以下の機能が含まれる。

  • テキストの理解と分析
  • 音声またはテキストベースのコマンドを理解できる会話言語モデルのトレーニング
  • インテリジェント アプリケーションの構築

Azure AI Speechは、自然言語処理ソリューションを構築するために使用できるもう 1 つのサービス。 Azure AI 音声の機能は Azure Speech Studio で確認できる。以下の機能が含まれる。

  • 音声認識と合成
  • リアルタイム翻訳
  • 会話の文字起こし
KawaeKawae

AI の基本的な概念: ドキュメント インテリジェンスとナレッジ マイニングについて

ドキュメント インテリジェンス

ドキュメント インテリジェンスは、フォームやドキュメントに含まれる大量のデータの管理、処理、および使用を扱う AI の領域。

Azure AI Document Intelligence を使用して、スキャンしたドキュメントからのデータ収集を管理および高速化するソリューションをビルドできる。Document Intelligence Studio でテストできる。以下の機能を含む。

  • アプリケーションとワークフローでのドキュメント処理の自動化
  • データドリブン戦略の強化
  • ドキュメント検索機能の強化
  • 事前構築済みモデルを使用して、請求書、領収書、健康保険カード、税フォームなどのインテリジェントなドキュメント処理を追加
  • 独自のラベル付きデータセットを使用したカスタム モデルを作成

ナレッジ マイニング

ナレッジ マイニングは、多くの場合、大量の非構造化データから情報を抽出して、検索可能なナレッジ ストアを作成するソリューションを記述するために使用される用語。

Microsoft ナレッジ マイニング ソリューションの 1 つが Azure AI Search。これは、インデックスを作成するためのツールを備えたプライベートなエンタープライズ検索ソリューション。インデックスは、内部のみで使用することも、インターネットに公開されているアセットのコンテンツを検索可能にするために使うこともできる。

Azure AI Search では、Azure AI サービスの組み込み AI 機能 (画像処理、ドキュメント インテリジェンス、自然言語処理など) を利用して、データを抽出できる。 この製品の AI 機能を使用すると、以前は検索できなかったドキュメントのインデックスを作成し、大量のデータからすばやく分析情報を抽出して表示することができる。

KawaeKawae

AI の基本的な概念: 生成 AI を理解する

生成 AI は、AI の機能のうち、独自のコンテンツを作成する機能のカテゴリを表す。生成 AI を使う人は通常、チャット アプリケーションに組み込まれている生成 AI と対話する。 生成 AI アプリケーションは自然言語入力を受け取り、自然言語、画像、コード、音声などのさまざまな形式で適切な応答を返す。

Microsoft Azure では、Azure OpenAI サービスを使用して、生成 AI ソリューションを構築できる。 Azure OpenAI Service は、生成 AI モデルをデプロイ、カスタマイズ、ホストするための Microsoft のクラウド ソリューション。

Azure OpenAI では、さまざまなニーズに対応できる多くの基礎モデルの選択肢がサポートされている。 このサービス機能は、Azure OpenAI Studio やその他のプログラミング言語で使用およびテストできる。Azure OpenAI Studio ユーザー インターフェイスを使用して、生成 AI モデルを管理、開発、カスタマイズできる。

KawaeKawae

AI の基本的な概念: AI の課題とリスク

AI アプリケーションの開発者が直面する潜在的な課題とリスク。

  • 偏りが結果に影響する可能性がある
  • エラーによって損害が発生する可能性がある
  • データが流出する可能性がある
  • ソリューションがすべてのユーザーに対して有効ではない可能性がある
  • ユーザーが複雑なシステムを信頼する必要がある
  • 誰が AI 主導の意思決定の責任を負うのか
KawaeKawae

AI の基本的な概念: 責任ある AI を理解する

Microsoft が AI ソフトウェアを開発する際の6つの原則。

公平性 (Fairness)

AI システムではすべての人を公平に扱う必要がある。たとえば、銀行の融資承認申請をサポートする機械学習モデルを作成するとする。このモデルでは、偏見なしでローンを承認するか拒否するかを予測する。 この偏見はたとえば、性別、民族、あるいは特定の応募者グループにとって不公平になるその他の要因に基づく。

Azure Machine Learning には、モデルを解釈し、データの各特徴量がモデルの予測にどの程度影響するかを定量化する機能が含まれている。 この機能は、データ サイエンティストや開発者がモデルの偏りを特定し、軽減するのに役立つ。

もう 1 つの例として、Responsible AI with the Face service の実装がある。この実装では、感情や身元属性の推測試行に利用できる顔の認識機能が廃止される。そのような機能は誤用された場合、固定観念、差別、不公平なサービス拒否を人に与える可能性がある。

信頼性と安全性 (Reliability and Safety)

AI システムは確実かつ安全に実行される必要がある。たとえば、自律走行車用の AI ベースのソフトウェア システム、または患者の症状を診断し処方箋を推奨する機械学習モデルなどのシステムの信頼性が低いと、人命に大きなリスクが生じる可能性がある。

AI ベースのソフトウェア アプリケーション開発では、リリース前に期待どおりの動作を確保するために、厳格なテストおよびデプロイ管理プロセスを実施する必要がある。

プライバシーとセキュリティ (Privacy and Security)

AI システムは安全であり、プライバシーを尊重する必要がある。AI システムのベースとなる機械学習モデルは大量のデータに依存しており、これには非公開にする必要のある個人の詳細が含まれている場合がある。モデルがトレーニングされ、システムが本稼働に入った後でも、プライバシーとセキュリティを考慮する必要がある。 予測したり行動したりするとき、システムで新しいデータが利用されるため、データとデータから行われる決定の両方にプライバシーまたはセキュリティ上の懸念が発生することがある。

包括性 (Inclusiveness)

AI システムはあらゆる人に力を与え、人々を結びつける必要がある。AI は、身体能力、性別、性的指向、民族性などの要因に関係なく、社会のすべての部分に利益をもたらす必要がある。

透明性 (Transparency)

AI システムは理解しやすい必要がある。ユーザーは、システムの目的、しくみ、想定される制限事項を十分に認識する必要がある。

説明責任 (Accountability)

人々は AI システムに対して説明責任がある。AI ベースのソリューションの設計者と開発者は、明確に定義された倫理的および法的基準をソリューションが確実に満たすようにするガバナンスと組織の原則の枠組みの中で作業する必要がある。

KawaeKawae

機械学習の基礎: 機械学習とは

機械学習は、データの統計および数学的モデリングが起源。機械学習の基本的な考え方は、過去の観測値のデータを使用して、未知の結果や値を予測すること。例えば、

  • アイスクリーム店の経営者が、過去の売り上げおよび気象記録を組み合わせたアプリを使用し、天気予報に基づいて、特定の日に売れそうなアイスクリームの数を予測する。
  • 医師が、過去の患者の臨床データを使用して、体重、血糖値、その他の測定値などの要因に基づいて、ある新しい患者に糖尿病のリスクがあるかどうかを予測する。
  • 研究者が南極で、過去の観測値を使用し、ペンギンの翼、くちばし、その他の身体属性の測定値に基づいて、さまざまなペンギンの種類の識別を自動化する。

"関数" としての機械学習

機械学習は数学と統計に基づいているため、機械学習モデルについては数学用語で考えるのが一般的。基本的に、機械学習モデルは、1 つ以上の入力値を基に出力値を計算するための "関数" をカプセル化するソフトウェア アプリケーション。その関数を定義するプロセスは、"トレーニング" と呼ばれる。関数を定義したら、それを使用して、"推論" と呼ばれるプロセス内で新しい値を予測できる。

トレーニングと推論の手順

KawaeKawae

機械学習の基礎: 機械学習の種類

教師あり機械学習 (Supervised machine learning)

"教師あり" 機械学習は、トレーニング データに "特徴量" の値および既知の "ラベル" の値の両方が含まれる、機械学習アルゴリズムの一般的な用語。教師あり機械学習は、過去の観測値の中でその特徴量とラベル間の関係を判断することによってモデルをトレーニングする。これにより、将来のケース内の特徴量に対して、未知のラベルを予測できる。

回帰 (Regression)

"回帰" は教師あり機械学習の一種で、そのモデルによって予測されるラベルは数値。例えば、

  • 温度、降水量、風速に基づいた、特定の日に売れたアイスクリームの数。
  • 平方フィートのサイズ、含まれるベッドルームの数、その場所の社会経済指標に基づいた、ある物件の販売価格。
  • エンジンのサイズ、重量、幅、高さ、長さに基づいた、ある自動車の燃費 (1 ガロンあたりのマイル数)。

分類 (Classification)

"分類" は教師あり機械学習の一種で、そのラベルは分類または "クラス" を表す。一般的な分類のシナリオは 2 つ。

二項分類 (Binary classification)

"2 項分類" では、その観測された項目が特定のクラスのインスタンスであるか (または、でないか) が判断される。別の言い方をすると、2 項分類モデルは相互に排他的な 2 つの結果のうちの 1 つを予測する。例えば以下のケースで、"真/偽" または "正/負" の 2 項を予測する。

  • 体重、年齢、血糖値などの臨床指標に基づいて、ある患者に糖尿病のリスクがあるかどうか。
  • 収入、信用履歴、年齢、その他の要因に基づいて、ある銀行顧客がローンを債務不履行にするかどうか。
  • 人口統計属性と過去の購入に基づいて、あるメーリング リストの顧客がマーケティング オファーに肯定的に応答するかどうか。

多クラス分類 (Multiclass classification)

マルチクラス分類は、2 項分類を拡張して、複数の可能なクラスのいずれかを表すラベルを予測する。霊として、

  • その身体の測定値に基づいた、あるペンギンの種類 ("アデリー"、"ジェンツー"、または "ヒゲ")。
  • その配役、監督、予算に基づいた、ある映画のジャンル ("コメディ"、"ホラー"、"恋愛"、"冒険"、または "SF")。

ほとんどのシナリオでは、マルチクラス分類を使用して相互に排他的なラベルを予測する。たとえば、あるペンギンが "ジェンツー" と "アデリー" の両方になることはない。ただし、1 つの観測値に対して複数の有効なラベルが存在する場合もある。たとえば、ある映画が "SF" と "コメディ" の両方に分類されるなど。

教師なし機械学習 (Unsupervised machine learning)

"教師なし" 機械学習には、既知のラベルがなく、"特徴量" の値のみで構成されるデータを使用した、モデルのトレーニングが含まれる。教師なし機械学習アルゴリズムは、そのトレーニング データ内の観測値の特徴量間の関係を判断する。

クラスタリング

教師なし機械学習の最も一般的な種類は、"クラスタリング"。クラスタリングのアルゴリズムは、特徴量に基づいて観測値間の類似性を識別し、それらを個別のクラスターにグループ化する。例えば、

  • サイズ、葉の数、花びらの数に基づいて、類似した花をグループ化する。
  • 人口統計属性と購買行動に基づいて、類似した顧客のグループを識別する。

ある点では、クラスタリングはマルチクラス分類に似ている (観測値を個別のグループに分類する点で)。分類は、トレーニング データ内の観測値が属するクラスを既に知っているため、特徴量と既知の分類ラベル間の関係を判断できる。クラスタリングでは、既知のクラスター ラベルは存在せず、純粋に特徴量の類似性に基づいてそのデータの観測値をグループ化する。

場合によっては、ある分類モデルをトレーニングする前にクラスタリングを使用して、存在するクラスのセットを判断する。たとえば、クラスタリングを使用して顧客を複数のグループにセグメント化し、次にそれらのグループを分析して、顧客のさまざまなクラスを識別および分類することができる ("高値 - 少量"、"頻繁な少量購入者" など)。それから分類を使用して、クラスタリング結果内の観測値にラベル付けし、そのラベル付けされたデータを使用して、ある新しい顧客が属する可能性のある顧客カテゴリを予測できる。

KawaeKawae

機械学習の基礎: 二項分類 (Binary classification)

二項分類の評価メトリック

二項分類モデルの評価メトリックを計算する最初の手順では通常、考えられるクラス ラベルごとに正しい予測の数と正しくない予測の数を示す "混同行列" と呼ばれる行列を作成する。

  • 正確性 (Accuracy)
  • 再現率 (Recall)
  • 適合率 (Precision)
  • F1 スコア (F1-score)
  • Area Under the Curve (AUC)
KawaeKawae

機械学習の基礎: マルチクラス分類

マルチクラス分類モデルのトレーニング

マルチクラス分類モデルをトレーニングするには、トレーニング データを考えられる各クラスの確率値を計算する関数に適合させるアルゴリズムを使用する必要がある。次の 2 種類がある。

  • One-vs-Rest (OvR) アルゴリズム
  • 多項式アルゴリズム

マルチクラス分類モデルの評価

各個別クラスの二項分類メトリックを計算することで、マルチクラス分類器を評価できる。 または、すべてのクラスを考慮に入れる集計メトリックを計算することもできる。

KawaeKawae

機械学習の基礎: クラスタリング

クラスタリング モデルのトレーニング

クラスタリングには複数のアルゴリズムを使用できる。 最もよく使用されるアルゴリズムの 1 つは K-Means クラスタリング。

クラスタリング モデルの評価

予測されたクラスターの割り当てを比較するために使用する既知のラベルがないため、クラスタリング モデルの評価は、結果のクラスターがお互いからどの程度分離されているかに基づく。

クラスターの分離を評価するために使用できるメトリックには、以下を含む複数のものがある。

  • クラスター中心への平均距離
    クラスター内の各ポイントがそのクラスターの重心に平均でどれだけ近いか。
  • 他の中心への平均距離
    クラスター内の各ポイントが他のすべてのクラスターの重心に平均でどれだけ近いか。
  • クラスター中心までの最大距離
    クラスター内のポイントとその重心との間の最大距離。
  • シルエット
    同じクラスター内のポイントと異なるクラスター内のポイント間の距離の比率を集約した -1 から 1 の間の値 (1 に近いほど、クラスターの分離の度合が高くなります)。
KawaeKawae

機械学習の基礎: ディープラーニング

"ディープラーニング" は、機械学習の高度な形式であり、人間の脳が学習する方法をエミュレートしようとする。ディープラーニングの鍵となるのは、数学関数を使用して生体ニューロンの電気化学活性をシミュレートする人工 "ニューラルネットワーク" の作成。

人工ニューラルネットワークは基本的に、深く入れ子になった関数を定義する、複数のニューロンの "レイヤー" で構成される。このアーキテクチャは、この手法がディープラーニングと呼ばれる理由であり、この手法によって生成されるモデルは、"ディープニューラルネットワーク" (DNN) と呼ばれることがある。ディープニューラルネットワークは、回帰や分類など、さまざまな種類の機械学習の問題や、自然言語処理やコンピュータービジョン用のより特殊なモデルに使用できる。

他の機械学習手法と同様に、ディープラーニングでは、1 つ以上の特徴 (x) の値に基づいてラベル (y) を予測できる関数にトレーニングデータを適合させる必要がある。関数 (f(x)) は入れ子になった関数の外部レイヤーであり、ニューラルネットワークの各レイヤーは、x に対して作用する関数と、関連付けられた重み (w) の値をカプセル化する。モデルのトレーニングに使用されるアルゴリズムは、トレーニング データの特徴値 (x) を各レイヤーに繰り返し供給して ŷ の出力値を計算し、モデルを検証して、計算された ŷ の値が既知の y 値からどれだけ離れているかを評価する。そのうえで、損失が少なくなるように重み (w) を変更する。トレーニング済みモデルには、最も正確な予測をもたらす最終的な重みの値が含まれる。

ニューラルネットワークはどのように学習するのか

ニューラル ネットワークにおいて、重みはラベルの予測値を計算する方法の中心となる。 トレーニング プロセス中に、モデルは最も正確な予測につながる重みを "学習" する。

KawaeKawae

機械学習の基礎: Azure Machine Learning

Microsoft Azure Machine Learning は、機械学習モデルをトレーニング、デプロイ、管理するためのクラウド サービス。機械学習プロジェクトのエンド ツー エンドのライフサイクルを管理できる。

  • データを探索し、それをモデリング用に準備する。
  • 機械学習モデルをトレーニングして評価する。
  • トレーニング済みモデルを登録して管理する。
  • アプリケーションとサービスで使用するためにトレーニング済みモデルをデプロイする。
  • 責任ある AI の原則とプラクティスを確認して適用する。

Azure Machine Learning の特徴と機能

  • モデルのトレーニングと評価のためのデータセットの一元化されたストレージと管理。
  • モデルのトレーニングなど、機械学習ジョブを実行できるオンデマンドのコンピューティング リソース。
  • 自動機械学習 (AutoML)。これにより、さまざまなアルゴリズムとパラメータを使用して複数のトレーニング ジョブを実行し、データに最適なモデルを見つけることが容易になる。
  • モデルのトレーニングや推論などのプロセス用の調整された "パイプライン" を定義するためのビジュアル ツール。
  • MLflow などの一般的な機械学習フレームワークとの統合。これにより、モデルのトレーニング、評価、デプロイの大規模な管理が容易になる。
  • モデルの説明可能性、公平性の評価など、責任ある AI のメトリックを視覚化および評価するための組み込みのサポート。

Azure Machine Learning リソースのプロビジョニング

Azure Machine Learning に必要な主要なリソースは、Azure Machine Learning ワークスペース。Azure Portal から作成する。

Azure Machine Learning Studio

Azure Machine Learning ワークスペースをプロビジョニングしたら、 Azure Machine Learning スタジオで使用できる。

  • データをインポートして探索する。
  • コンピューティング リソースを作成して使用する。
  • ノートブックでコードを実行する。
  • ビジュアル ツールを使用して、ジョブとパイプラインを作成する。
  • 自動機械学習を使ってモデルをトレーニングする。
  • 評価メトリック、責任ある AI 情報、トレーニング パラメータなど、トレーニング済みのモデルの詳細を表示する。
  • 要求時およびバッチ推論用にトレーニング済みモデルをデプロイする。
  • 包括的なモデル カタログからモデルをインポートして管理する。