Azure Machine Learning におけるディープ ラーニングと機械学習の違い

この記事では、ディープ ラーニングと機械学習の違いとそれらが幅広い人工知能のカテゴリにどのように収まるかについて説明します。 不正行為の検出、音声と顔の認識、センチメント分析、タイムシリーズ予測など、Azure Machine Learning に基づいて構築できるディープ ラーニング ソリューションについて説明します。

ご利用のソリューションにふさわしいアルゴリズムを選択する方法については、機械学習アルゴリズムのチート シートに関するページを参照してください。

ディープ ラーニング、機械学習、AI

リレーションシップ図: AI と機械学習とディープ ラーニング

ディープラーニングと機械学習とAI の比較については、次の定義を考慮してください。

  • ディープ ラーニング は、人工ニューラル ネットワークに基づく機械学習のサブセットです。 人工ニューラル ネットワークの構造は複数の入力層、出力層、隠れ層で構成されるため、"学習プロセス" は "ディープ" です。 各層には、入力データを次の層で特定の予測タスクに使用できる情報に変換するためのユニットが含まれています。 この構造により、マシンは独自のデータ処理を通じて学習できるようになります。

  • 機械学習 は人工知能のサブセットであり、マシンが経験を用いてタスクを向上させることができる手法 (ディープ ラーニングなど) が使用されます。 "学習プロセス" の基になるのは次のような手順です。

    1. アルゴリズムにデータをフィードします。 (このステップでは、機能の抽出の実行などにより、モデルに追加情報を提供できます。)
    2. このデータを使用して、モデルをトレーニングします。
    3. モデルをテストして展開します。
    4. 展開されたモデルを使用して、自動予測タスクを行います。 (つまり、展開されたモデルを呼び出して使用し、モデルによって返される予測を受け取ります。)
  • 人工知能 (AI) は、コンピューターが人間の知能を模倣できるようにする手法です。 機械学習が含まれています。

機械学習とディープ ラーニングの手法を使用することにより、一般に人間の知性と関連するタスクを行うコンピューター システムとアプリケーションを構築できます。 これらのタスクには、画像認識、音声認識、言語翻訳が含まれます。

ディープ ラーニングと機械学習の技法

機械学習とディープ ラーニングの概要がわかったので、2 つの技法を比較しましょう。 機械学習では、(たとえば、特徴抽出を実行することで) より多くの情報を使用することによって、正確な予測を行う方法をアルゴリズムに指示する必要があります。 ディープ ラーニングでは、人工ニューラル ネットワークの構造のおかげで、アルゴリズムは独自のデータ処理によって正確に予測を行う方法を学習できます。

次の表は、2 つの手法の詳細を比較したものです。

すべて機械学習 ディープ ラーニングのみ
データポイントの数 少量のデータを使用して予測を行うことができます。 予測を行うには、大量のトレーニング データを使用する必要があります。
ハードウェアの依存関係 ローエンドのコンピューターで動作できます。 大量の計算能力は必要ありません。 ハイエンドのマシンに依存します。 それは本質的に、多数の行列乗算演算を実行します。 GPU でこれらの操作を効率的に最適化できます。
特徴付けプロセス ユーザーが特徴を正確に識別して作成する必要があります。 データから高度な特徴を学習し、それ自体で新しい特徴を作成します。
学習方法 学習プロセスを小さいステップに分割します。 次に、各ステップからの結果を 1 つの出力に結合します。 エンドツーエンドで問題を解決することにより学習プロセスを進めます。
実行時間 トレーニングにあまり時間はかかりません (数秒から数時間の範囲)。 ディープ ラーニング アルゴリズムには多くのレイヤーがあるため、通常、トレーニングには長い時間がかかります。
出力 通常、出力はスコアや分類などの数値になります。 出力には、テキスト、スコア、サウンドなど、複数の形式を使用できます。

転移学習とは何か

ディープ ラーニング モデルをトレーニングするには、多くの場合、大量のトレーニング データ、ハイエンドのコンピューティング リソース (GPU、TPU)、および長いトレーニング時間が必要になります。 これらのいずれかが使用できないシナリオでは、"転移学習" と呼ばれる手法を使用して、トレーニング プロセスを短縮することができます。

転移学習は、ある問題を解決することで得られた知識を、異なるが関連している問題に適用する手法です。

ニューラル ネットワークの構造により、通常、最初のレイヤー セットには下位レベルの特徴が含まれる一方で、最後のレイヤー セットには、問題のドメインにより近い上位レベルの特徴が含まれています。 最後のレイヤーを新しいドメインまたは問題で使用するように用途変更することにより、新しいモデルをトレーニングするために必要な時間、データ、およびコンピューティング リソースを大幅に削減できます。 たとえば、自動車を認識するモデルが既にある場合は、転移学習を使用して、トラック、オートバイ、およびその他の種類の車両も認識するように、そのモデルの用途変更を行うことができます。

Azure Machine Learning でオープンソース フレームワークを使用して画像分類に転移学習を適用する方法について説明します。転移学習を使用してディープ ラーニング PyTorch モデルをトレーニングする

ディープ ラーニングのユース ケース

人工ニューラル ネットワークの構造のため、ディープ ラーニングでは、画像、音声、動画、テキストなどの非構造化データからパターンを識別することに優れています。 このため、ディープ ラーニングにより、医療、エネルギー、フィンテック、輸送などの多くの業界が急速に変革されています。 これらの業界では、従来のビジネス プロセスが再考されています。

ディープ ラーニングの最も一般的な応用の一部を次に説明します。 Azure Machine Learning では、オープンソースのフレームワークから構築するモデルを使用するか、与えられたツールでモデルを構築できます。

名前付きエンティティの認識

名前付きエンティティの認識は、テキストを入力として受け取り、それを事前に指定されたクラスに変換するディープ ラーニング メソッドです。 この新しい情報には、郵便番号、日付、製品 ID などがあります。 その後、その情報を構造化スキーマに格納して、住所の一覧を作成したり、ID 検証エンジンのベンチマークとして提供したりすることができます。

オブジェクトの検出

ディープ ラーニングは、多くのオブジェクト検出のユース ケースで適用されています。 オブジェクトの検出は、画像の分類と画像のローカライズの 2 つの部分で構成されます。 "画像の分類" では、車や人など、画像のオブジェクトが識別されます。 "画像のローカライズ" では、これらのオブジェクトの特定の場所が提供されます。

オブジェクト検出は、ゲーム、小売、旅行、自動運転車などの業界で既に使用されています。

画像キャプションの生成

画像の認識と同様に、画像キャプション生成では、特定の画像について、画像の内容を説明するキャプションをシステムで生成する必要があります。 写真内のオブジェクトを検出してラベルを付けられるようになったら、次のステップでは、それらのラベルを説明文に変換します。

通常、画像キャプション生成アプリケーションでは、畳み込みニューラル ネットワークを使用して画像内のオブジェクトが識別された後、再帰型ニューラル ネットワークを使用してラベルが一貫した文章に変換されます。

機械翻訳

機械翻訳では、ある言語の単語や文が入力されて、自動的に別の言語に翻訳されます。 機械翻訳はかなり前から行われてきましたが、ディープ ラーニングでは、テキストの自動翻訳 (および音声テキスト変換) と画像の自動翻訳の 2 つの領域で、目覚ましい成果が得られています。

適切なデータ変換により、ニューラル ネットワークではテキスト、オーディオ、視覚的な信号を理解することができます。 機械翻訳を使用すると、大きなオーディオ ファイルから音声の断片を識別し、読み上げられた単語や画像をテキストとして文字起こしできます。

テキスト分析

ディープ ラーニング メソッドに基づくテキスト分析では、大量のテキスト データ (医療ドキュメントや支出領収書など) が分析され、パターンが認識されて、それから整理された簡潔な情報が作成されます。

企業では、インサイダー取引を検出したり、政府の規制を遵守したりするために、ディープ ラーニングを使用してテキスト分析が行われます。 もう 1 つの一般的な例である保険金詐欺では、大量のドキュメントを分析して、不正な保険請求の可能性を認識するために、テキスト分析がよく使用されています。

人工ニューラル ネットワーク

人工ニューラル ネットワークは、接続されたノードのレイヤーによって形成されます。 ディープ ラーニング モデルでは、多数のレイヤーを持つニューラル ネットワークが使用されます。

以下のセクションでは、最も人気のある人工ニューラル ネットワーク類型について説明します。

フィードフォワード ニューラル ネットワーク

フィードフォワード ニューラル ネットワークは、最も単純な種類の人工ニューラル ネットワークです。 フィードフォワード ネットワークでは、情報は入力層から出力層への一方向にのみ移動します。 フィードフォワード ニューラル ネットワークでは、一連の隠れ層を通過することによって入力が変換されます。 すべての層は一連のニューロンで構成されており、各層は前の層のすべてのニューロンに完全に接続されています。 最後の完全に接続された層 (出力層) では、生成された予測が表されます。

再帰型ニューラル ネットワーク (RNN)

再帰型ニューラル ネットワークは、広く使用されている人工ニューラル ネットワークです。 これらのネットワークでは、層の出力が保存され、それが入力層にフィードバックされて、層の結果の予測に役立てられます。 再帰型ニューラル ネットワークには大きな学習能力があります。 時系列予測、手書き入力の学習、言語認識など、複雑なタスクに広く使用されています。

畳み込みニューラル ネットワーク (CNN)

畳み込みニューラル ネットワークは、特に効果的な人工ニューラル ネットワークであり、独特なアーキテクチャを備えています。 層は、幅、高さ、深さという 3 つのディメンションで構成されます。 ある層のニューロンは、次の層のすべてのニューロンには接続されておらず、層のニューロンの小さな領域にのみ接続されます。 最終的な出力は、深さディメンションに沿って構成される確率スコアの 1 つのベクターに削減されます。

畳み込みニューラル ネットワークは、ビデオ認識、画像認識、レコメンダー システムなどの分野で使用されています。

敵対的生成ネットワーク (GAN)

敵対的生成ネットワークは、画像などの実際のコンテンツを作成するための学習型生成モデルです。 これは、生成ネットワークと識別ネットワークの 2 つで構成されています。 これらのネットワークは同時に学習を進めます。 学習中、生成ネットワークは、ランダム ノイズを使用して、実際のデータに似た新しい合成データを作成します。 識別ネットワークは、生成ネットワークの出力を入力として受け取り、本物のデータを使用して、生成されたコンテンツが本物か合成かを判断します。 こうして各ネットワークが互いに競い合います。 生成ネットワークは本物のコンテンツと見分けがつかないような合成コンテンツの生成を試み、識別ネットワークは入力が本物か合成かを正確に分類しようとします。 次に、出力を使用して両方のネットワークの重み付けが更新され、それぞれの目標に近づけます。

敵対的生成ネットワークは、画像から画像への変換や、人物の経年変化表現などの課題を解決するために使用されます。

トランスフォーマー

トランスフォーマーは、テキストや時系列データなどのシーケンスを含む問題の解決に適したモデル アーキテクチャです。 これは、エンコーダー レイヤーとデコーダー レイヤーで構成されています。 エンコーダーは入力を受け取り、それをコンテキストなどの情報を含む数値表現にマップします。 デコーダーは、エンコーダーからの情報を使用して、翻訳テキストなどの出力を生成します。 トランスフォーマーが、エンコーダーとデコーダーを含む他のアーキテクチャと異なるのは、アテンションというサブレイヤーがある点です。 アテンションは、シーケンス内の他の入力部分との関係性における文脈の重要度に基づいて、入力の特定の部分に注目することです。 たとえば、あるニュース記事を要約する場合、記事内のすべての文が主題に関係しているわけではありません。 記事内の重要な用語に注目することで、見出しという 1 つの文に要約できます。

トランスフォーマーは、翻訳、テキスト生成、質問への回答、テキストの概要作成など、自然言語処理の問題を解決するために使用されています。

トランスフォーマーの実装には、次のようなものがあります。

  • Bidirectional Encoder Representations from Transformers (BERT)
  • Generative Pre-trained Transformer 2 (GPT-2)
  • Generative Pre-trained Transformer 3 (GPT-3)

次のステップ

Azure Machine Learning には、オープンソース ディープ ラーニング モデルの使用に関連するオプションが他にもあります。次の記事でそれらを紹介します。