Azure Machine Learning におけるディープ ラーニングと機械学習の違いDeep learning vs. machine learning in Azure Machine Learning

この記事では、ディープ ラーニングと機械学習の違いとそれらが幅広い人工知能のカテゴリにどのように収まるかについて説明します。This article explains deep learning vs. machine learning and how they fit into the broader category of artificial intelligence. 不正行為の検出、音声と顔の認識、センチメント分析、タイムシリーズ予測など、Azure Machine Learning に基づいて構築できるディープ ラーニング ソリューションについて説明します。Learn about deep learning solutions you can build on Azure Machine Learning, such as fraud detection, voice and facial recognition, sentiment analysis, and time series forecasting.

ご利用のソリューションにふさわしいアルゴリズムを選択する方法については、機械学習アルゴリズムのチート シートに関するページを参照してください。For guidance on choosing algorithms for your solutions, see the Machine Learning Algorithm Cheat Sheet.

ディープ ラーニング、機械学習、AIDeep learning, machine learning, and AI

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

ディープラーニングと機械学習とAI の比較については、次の定義を考慮してください。Consider the following definitions to understand deep learning vs. machine learning vs. AI:

  • ディープ ラーニング は、人工ニューラル ネットワークに基づく機械学習のサブセットです。Deep learning is a subset of machine learning that's based on artificial neural networks. 人工ニューラル ネットワークの構造は複数の入力層、出力層、隠れ層で構成されるため、"学習プロセス" は "ディープ" です。The learning process is deep because the structure of artificial neural networks consists of multiple input, output, and hidden layers. 各層には、入力データを次の層で特定の予測タスクに使用できる情報に変換するためのユニットが含まれています。Each layer contains units that transform the input data into information that the next layer can use for a certain predictive task. この構造により、マシンは独自のデータ処理を通じて学習できるようになります。Thanks to this structure, a machine can learn through its own data processing.

  • 機械学習 は人工知能のサブセットであり、マシンが経験を用いてタスクを向上させることができる手法 (ディープ ラーニングなど) が使用されます。Machine learning is a subset of artificial intelligence that uses techniques (such as deep learning) that enable machines to use experience to improve at tasks. "学習プロセス" の基になるのは次のような手順です。The learning process is based on the following steps:

    1. アルゴリズムにデータをフィードします。Feed data into an algorithm. (このステップでは、機能の抽出の実行などにより、モデルに追加情報を提供できます。)(In this step you can provide additional information to the model, for example, by performing feature extraction.)
    2. このデータを使用して、モデルをトレーニングします。Use this data to train a model.
    3. モデルをテストして展開します。Test and deploy the model.
    4. 展開されたモデルを使用して、自動予測タスクを行います。Consume the deployed model to do an automated predictive task. (つまり、展開されたモデルを呼び出して使用し、モデルによって返される予測を受け取ります。)(In other words, call and use the deployed model to receive the predictions returned by the model.)
  • 人工知能 (AI) は、コンピューターが人間の知能を模倣できるようにする手法です。Artificial intelligence (AI) is a technique that enables computers to mimic human intelligence. 機械学習が含まれています。It includes machine learning.

機械学習とディープ ラーニングの手法を使用することにより、一般に人間の知性と関連するタスクを行うコンピューター システムとアプリケーションを構築できます。By using machine learning and deep learning techniques, you can build computer systems and applications that do tasks that are commonly associated with human intelligence. これらのタスクには、画像認識、音声認識、言語翻訳が含まれます。These tasks include image recognition, speech recognition, and language translation.

ディープ ラーニングと機械学習の技法Techniques of deep learning vs. machine learning

機械学習とディープ ラーニングの概要がわかったので、2 つの技法を比較しましょう。Now that you have the overview of machine learning vs. deep learning, let's compare the two techniques. 機械学習では、(たとえば、特徴抽出を実行することで) より多くの情報を使用することによって、正確な予測を行う方法をアルゴリズムに指示する必要があります。In machine learning, the algorithm needs to be told how to make an accurate prediction by consuming more information (for example, by performing feature extraction). ディープ ラーニングでは、人工ニューラル ネットワークの構造のおかげで、アルゴリズムは独自のデータ処理によって正確に予測を行う方法を学習できます。In deep learning, the algorithm can learn how to make an accurate prediction through its own data processing, thanks to the artificial neural network structure.

次の表は、2 つの手法の詳細を比較したものです。The following table compares the two techniques in more detail:

すべて機械学習All machine learning ディープ ラーニングのみOnly deep learning
データポイントの数Number of data points 少量のデータを使用して予測を行うことができます。Can use small amounts of data to make predictions. 予測を行うには、大量のトレーニング データを使用する必要があります。Needs to use large amounts of training data to make predictions.
ハードウェアの依存関係Hardware dependencies ローエンドのコンピューターで動作できます。Can work on low-end machines. 大量の計算能力は必要ありません。It doesn't need a large amount of computational power. ハイエンドのマシンに依存します。Depends on high-end machines. それは本質的に、多数の行列乗算演算を実行します。It inherently does a large number of matrix multiplication operations. GPU でこれらの操作を効率的に最適化できます。A GPU can efficiently optimize these operations.
特徴付けプロセスFeaturization process ユーザーが特徴を正確に識別して作成する必要があります。Requires features to be accurately identified and created by users. データから高度な特徴を学習し、それ自体で新しい特徴を作成します。Learns high-level features from data and creates new features by itself.
学習方法Learning approach 学習プロセスを小さいステップに分割します。Divides the learning process into smaller steps. 次に、各ステップからの結果を 1 つの出力に結合します。It then combines the results from each step into one output. エンドツーエンドで問題を解決することにより学習プロセスを進めます。Moves through the learning process by resolving the problem on an end-to-end basis.
実行時間Execution time トレーニングにあまり時間はかかりません (数秒から数時間の範囲)。Takes comparatively little time to train, ranging from a few seconds to a few hours. ディープ ラーニング アルゴリズムには多くのレイヤーがあるため、通常、トレーニングには長い時間がかかります。Usually takes a long time to train because a deep learning algorithm involves many layers.
出力Output 通常、出力はスコアや分類などの数値になります。The output is usually a numerical value, like a score or a classification. 出力には、テキスト、スコア、サウンドなど、複数の形式を使用できます。The output can have multiple formats, like a text, a score or a sound.

転移学習Transfer learning

ディープ ラーニング モデルをトレーニングするには、多くの場合、大量のトレーニング データ、ハイエンドのコンピューティング リソース (GPU、TPU)、および長いトレーニング時間が必要になります。Training deep learning models often requires large amounts of training data, high-end compute resources (GPU, TPU), and a longer training time. これらのいずれかが使用できないシナリオでは、"転移学習" と呼ばれる手法を使用して、トレーニング プロセスを短縮することができます。In scenarios when you don't have any of these available to you, you can shortcut the training process using a technique known as transfer learning.

転移学習は、ある問題を解決することで得られた知識を、異なるが関連している問題に適用する手法です。Transfer learning is a technique that applies knowledge gained from solving one problem to a different but related problem.

ニューラル ネットワークの構造により、通常、最初のレイヤー セットには下位レベルの特徴が含まれる一方で、最後のレイヤー セットには、問題のドメインにより近い上位レベルの特徴が含まれています。Due to the structure of neural networks, the first set of layers usually contain lower-level features, whereas the final set of layers contains higher-level feature that are closer to the domain in question. 最後のレイヤーを新しいドメインまたは問題で使用するように用途変更することにより、新しいモデルをトレーニングするために必要な時間、データ、およびコンピューティング リソースを大幅に削減できます。By repurposing the final layers for use in a new domain or problem, you can significantly reduce the amount of time, data, and compute resources needed to train the new model. たとえば、自動車を認識するモデルが既にある場合は、転移学習を使用して、トラック、オートバイ、およびその他の種類の車両も認識するように、そのモデルの用途変更を行うことができます。For example, if you already have a model that recognizes cars, you can repurpose that model using transfer learning to also recognize trucks, motorcycles, and other kinds of vehicles.

Azure Machine Learning でオープンソース フレームワークを使用して、画像分類に転移学習を適用する方法:Pytorch モデルを使用した画像の分類について説明します。Learn how to apply transfer learning for image classification using an open-source framework in Azure Machine Learning : Classify images by using a Pytorch model.

ディープ ラーニングのユース ケースDeep learning use cases

人工ニューラル ネットワークの構造のため、ディープ ラーニングでは、画像、音声、動画、テキストなどの非構造化データからパターンを識別することに優れています。Because of the artificial neural network structure, deep learning excels at identifying patterns in unstructured data such as images, sound, video, and text. このため、ディープ ラーニングにより、医療、エネルギー、フィンテック、輸送などの多くの業界が急速に変革されています。For this reason, deep learning is rapidly transforming many industries, including healthcare, energy, finance, and transportation. これらの業界では、従来のビジネス プロセスが再考されています。These industries are now rethinking traditional business processes.

ディープ ラーニングの最も一般的な応用の一部を次に説明します。Some of the most common applications for deep learning are described in the following paragraphs. Azure Machine Learning では、オープンソースのフレームワークから構築するモデルを使用するか、与えられたツールでモデルを構築できます。In Azure Machine Learning, you can use a model from you build from an open-source framework or build the model using the tools provided.

名前付きエンティティの認識Named-entity recognition

名前付きエンティティの認識は、テキストを入力として受け取り、それを事前に指定されたクラスに変換するディープ ラーニング メソッドです。Named-entity recognition is a deep learning method that takes a piece of text as input and transforms it into a pre-specified class. この新しい情報には、郵便番号、日付、製品 ID などがあります。This new information could be a postal code, a date, a product ID. その後、その情報を構造化スキーマに格納して、住所の一覧を作成したり、ID 検証エンジンのベンチマークとして提供したりすることができます。The information can then be stored in a structured schema to build a list of addresses or serve as a benchmark for an identity validation engine.

オブジェクトの検出Object detection

ディープ ラーニングは、多くのオブジェクト検出のユース ケースで適用されています。Deep learning has been applied in many object detection use cases. オブジェクトの検出は、画像の分類と画像のローカライズの 2 つの部分で構成されます。Object detection comprises two parts: image classification and then image localization. "画像の分類" では、車や人など、画像のオブジェクトが識別されます。Image classification identifies the image's objects, such as cars or people. "画像のローカライズ" では、これらのオブジェクトの特定の場所が提供されます。Image localization provides the specific location of these objects.

オブジェクト検出は、ゲーム、小売、旅行、自動運転車などの業界で既に使用されています。Object detection is already used in industries such as gaming, retail, tourism, and self-driving cars.

画像キャプションの生成Image caption generation

画像の認識と同様に、画像キャプション生成では、特定の画像について、画像の内容を説明するキャプションをシステムで生成する必要があります。Like image recognition, in image captioning, for a given image, the system must generate a caption that describes the contents of the image. 写真内のオブジェクトを検出してラベルを付けられるようになったら、次のステップでは、それらのラベルを説明文に変換します。When you can detect and label objects in photographs, the next step is to turn those labels into descriptive sentences.

通常、画像キャプション生成アプリケーションでは、畳み込みニューラル ネットワークを使用して画像内のオブジェクトが識別された後、再帰型ニューラル ネットワークを使用してラベルが一貫した文章に変換されます。Usually, image captioning applications use convolutional neural networks to identify objects in an image and then use a recurrent neural network to turn the labels into consistent sentences.

機械翻訳Machine translation

機械翻訳では、ある言語の単語や文が入力されて、自動的に別の言語に翻訳されます。Machine translation takes words or sentences from one language and automatically translates them into another language. 機械翻訳はかなり前から行われてきましたが、ディープ ラーニングでは、テキストの自動翻訳 (および音声テキスト変換) と画像の自動翻訳の 2 つの領域で、目覚ましい成果が得られています。Machine translation has been around for a long time, but deep learning achieves impressive results in two specific areas: automatic translation of text (and translation of speech to text) and automatic translation of images.

適切なデータ変換により、ニューラル ネットワークではテキスト、オーディオ、視覚的な信号を理解することができます。With the appropriate data transformation, a neural network can understand text, audio, and visual signals. 機械翻訳を使用すると、大きなオーディオ ファイルから音声の断片を識別し、読み上げられた単語や画像をテキストとして文字起こしできます。Machine translation can be used to identify snippets of sound in larger audio files and transcribe the spoken word or image as text.

テキスト分析Text analytics

ディープ ラーニング メソッドに基づくテキスト分析では、大量のテキスト データ (医療ドキュメントや支出領収書など) が分析され、パターンが認識されて、それから整理された簡潔な情報が作成されます。Text analytics based on deep learning methods involves analyzing large quantities of text data (for example, medical documents or expenses receipts), recognizing patterns, and creating organized and concise information out of it.

企業では、インサイダー取引を検出したり、政府の規制を遵守したりするために、ディープ ラーニングを使用してテキスト分析が行われます。Companies use deep learning to perform text analysis to detect insider trading and compliance with government regulations. もう 1 つの一般的な例である保険金詐欺では、大量のドキュメントを分析して、不正な保険請求の可能性を認識するために、テキスト分析がよく使用されています。Another common example is insurance fraud: text analytics has often been used to analyze large amounts of documents to recognize the chances of an insurance claim being fraud.

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

人工ニューラル ネットワークは、接続されたノードのレイヤーによって形成されます。Artificial neural networks are formed by layers of connected nodes. ディープ ラーニング モデルでは、多数のレイヤーを持つニューラル ネットワークが使用されます。Deep learning models use neural networks that have a large number of layers.

以下のセクションでは、最も人気のある人工ニューラル ネットワーク類型について説明します。The following sections explore most popular artificial neural network typologies.

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

フィードフォワード ニューラル ネットワークは、最も単純な種類の人工ニューラル ネットワークです。The feedforward neural network is the most simple type of artificial neural network. フィードフォワード ネットワークでは、情報は入力層から出力層への一方向にのみ移動します。In a feedforward network, information moves in only one direction from input layer to output layer. フィードフォワード ニューラル ネットワークでは、一連の隠れ層を通過することによって入力が変換されます。Feedforward neural networks transform an input by putting it through a series of hidden layers. すべての層は一連のニューロンで構成されており、各層は前の層のすべてのニューロンに完全に接続されています。Every layer is made up of a set of neurons, and each layer is fully connected to all neurons in the layer before. 最後の完全に接続された層 (出力層) では、生成された予測が表されます。The last fully connected layer (the output layer) represents the generated predictions.

再帰型ニューラル ネットワークRecurrent neural network

再帰型ニューラル ネットワークは、広く使用されている人工ニューラル ネットワークです。Recurrent neural networks are a widely used artificial neural network. これらのネットワークでは、層の出力が保存され、それが入力層にフィードバックされて、層の結果の予測に役立てられます。These networks save the output of a layer and feed it back to the input layer to help predict the layer's outcome. 再帰型ニューラル ネットワークには大きな学習能力があります。Recurrent neural networks have great learning abilities. 時系列予測、手書き入力の学習、言語認識など、複雑なタスクに広く使用されています。They're widely used for complex tasks such as time series forecasting, learning handwriting, and recognizing language.

畳み込みニューラル ネットワークConvolutional neural network

畳み込みニューラル ネットワークは、特に効果的な人工ニューラル ネットワークであり、独特なアーキテクチャを備えています。A convolutional neural network is a particularly effective artificial neural network, and it presents a unique architecture. 層は、幅、高さ、深さという 3 つのディメンションで構成されます。Layers are organized in three dimensions: width, height, and depth. ある層のニューロンは、次の層のすべてのニューロンには接続されておらず、層のニューロンの小さな領域にのみ接続されます。The neurons in one layer connect not to all the neurons in the next layer, but only to a small region of the layer's neurons. 最終的な出力は、深さディメンションに沿って構成される確率スコアの 1 つのベクターに削減されます。The final output is reduced to a single vector of probability scores, organized along the depth dimension.

畳み込みニューラル ネットワークは、ビデオ認識、画像認識、レコメンダー システムなどの分野で使用されています。Convolutional neural networks have been used in areas such as video recognition, image recognition, and recommender systems.

次の手順Next steps

Azure Machine Learning には、オープンソース ディープ ラーニング モデルの使用に関連するオプションが他にもあります。次の記事でそれらを紹介します。The following articles show you more options for using open-source deep learning models in Azure Machine Learning: