深層学習のトレーニングと推論: その違いについて

深層学習のトレーニングと推論

さまざまなデータがあふれている現代では、機械学習の重要性を軽視するわけにはいきません。人工知能 (AI) を活用することで、大規模データセットを処理できるだけでなく、ライブ データを分析してリアルタイムに意思決定することが可能になります。

IoT (Internet of Things) エンドポイントの分散したネットワークを管理するには、新たに集積した膨大なデータを処理できる統合ソリューションの存在が特に重要です。しかし、機械学習や深層学習のプロジェクトでは、最適化の問題によって企業のチーム間で連携することが困難になる場合があります。技術者たちは、企業が AI の恩恵を受けるためのシステム作りのために、深層学習のトレーニングや推論の仕組みを理解することが重要です。

ここでは、機械学習のトレーニングと推論の仕組みについて説明し、これらのプロセスの相関関係について解説します。その他トレーニングや推論における課題に言及し、機械学習アプリケーション開発に最適なプラットフォームを紹介します。 

機械学習のライフ サイクル

機械学習は、主にトレーニングと推論の 2 つのフェーズで機能します。トレーニング フェーズでは、開発者が厳選したデータセットをモデルに提供することで、モデルは分析に必要なデータ タイプに関する情報をすべて「学習」します。推論フェーズでは、モデルがライブ データに基づいて予測し、実行可能な結果を生成します。

機械学習の推論とは

機械学習の推論とは

機械学習の推論は、収集したデータに基づいて推測する機能です。たとえば、広範囲に分散した IoT ネットワークから取得した大量の情報を処理する場合などに有効です。

たとえば、子供に果物を色で分類することを教えるとします。まず、トマト、リンゴ、サクランボを見せて、これらの果物は赤いということを学習させます。その後、イチゴを見せると、リンゴ、トマト、サクランボの色に似ていることから、イチゴも赤い果物だと推測できるようになります。

機械学習推論の仕組み

機械学習推論の仕組み

機械学習の推論に必要なコンポーネントは、データソース、データを処理する機械学習システム、データ デスティネーションの主に 3 つです。

実際のデータ ソースは、複数あることが多く、さまざまな場所で取得した情報が累積されていきます。具体的には、複数の IoT から情報を取得する場合などです。機械学習モデルは、一連の数学的アルゴリズムを用いて、入力されたライブ データを分類/分析します。これらのアルゴリズムによって、データの特性 (項目を区別するための属性) に基づいた推論が可能になります。モデルは、これらの各データ ポイントに「スコア」を付け、データ解釈のためにどのように学習したかを踏まえて出力を生成します。これらの出力スコアが、次のアクションを決定づけるのに役立ちます。

たとえば、EC サイトのカスタマー サービス チャットボットからデータを収集する場合を考えます。データソースは、オンラインチャットプラットフォームからの顧客入力です。顧客が「商品に不満がある」と入力した場合、機械学習モデルは顧客が返金を希望している可能性があると判断できます。このような場合、別のシステムで顧客への返金プロセスをサポートできることになります。

深層学習のトレーニングとは

深層学習のトレーニングとは

深層学習のトレーニングは、DNN (Deep Neural Network) が、あらかじめ定義されたデータ セットを分析し、それが何を意味するのかを予測できるように「学習」することです。このプロセスは、何度もエラーを繰り返すことで、最終的に精度の高い結果を導くことができるようになります。

DNN は、人工ニューロンを使用して、人間の情報伝達能力を模倣することから、AI の一種として考えられています。DNN には、画像や音声などの抽象データ型を認識する機能があります。

深層学習トレーニングの仕組み

深層学習トレーニングの仕組み

深層学習のトレーニングでは、DNN は既存のデータから特徴を抽出し、そのデータが何を表しているか「考えて」、結論を導き出します。間違った結論に到達すると、その結果がシステムにフィードバックされ、間違いから「学習」していきます。

このプロセスを繰り返すことで、徐々に人工ニューロン間の結合が強くなり、最終的に精度の高い予測が可能になります。新しいデータが提供されると、DNN はそれを分類し、より複雑な情報を分析できるようになります。 つまり、新しい情報を取り込み続けることで、時間の経過とともに、より直感的な判断が可能になります。

深層学習のトレーニングと推論の違いについて

深層学習の推論には、トレーニングが不可欠です。 深層学習のトレーニングと推論の違いは、前者が後者の機能を支える構築ブロックであることです。

人間がある作業を完了するまでのプロセスを考えてみてください。マニュアルを読んだり、ハウツー ビデオを見たり、その作業をする人を観察したりして方法を習得します。DNN が既存のデータからパターンを学習して推論するのと同じように、私たちは他人を模倣して学習します。

深層学習のトレーニングと推論: 例

深層学習のトレーニングと推論: 例

深層学習は、ヘルスケアから航空宇宙工学までの幅広い産業で活用されます。中でも、自律走行車のように、複数の判断をリアルタイムに行う必要がある場面では特に有効です。

たとえば、無人運転車に交通法規を守らせるトレーニングをする場合、まず交通ルールを学習させる必要があります。 そこでプログラマーは、交通標識や信号、歩行者などを認識させるためのデータセットを適用して車両システムに学習させます。システムは、ある標識や状況を認識したときに何をすべきかを、事例を分析して交通ルールを記憶します。

しかしながら、道路走行中は周囲の状況に応じて推論する必要があります。赤信号で止まるように学習させることは簡単に思えますが、実際の標識のフォントや赤色の濃度がデータセットの標識と少し違っていたらどうなるのでしょう。

ここで深層学習推論が役立ち、学習したデータと実際のあいまいな情報とのギャップを埋めてくれます。DNN は、認識した特徴から推定できるため、車両は目の前の信号を停止として推論できることになります。

機械学習推論の課題

機械学習推論の課題

機械学習のトレーニングと推論は、いずれも膨大なデータを処理する必要があります。トレーニング データを生成する DNN に大量のデータを投入することは、GPU に大きな負荷がかかるため、より多くの高効率ユニットが必要になります。また、推論中のレイテンシを最小化するには、システムにリアルタイム性が求められるようになり、これも大きな課題です。

機械学習プロジェクトを社内のチーム間で管理することも簡単ではありません。たとえば、機械学習プロジェクトが TensorFlow でコーディングされている場合、Pytorch を得意とする別のチームがテストや運用のためにシステムを適合させる作業は大変です。また、モデルの更新にはコストと手間がかかり、特に新しいデータで新たにトレーニングが必要になる場合は大きな負担となります。

また、AI ハードウェア ベンダーによって、フレームワークやレイヤーのソフトウェア サポート レベルが異なるため、プロジェクトの要件に合った TCO (総所有コスト) を達成するために、異なるハードウェア オプションを評価することは容易ではありません。

機械学習の推論とトレーニングの課題

AI の未来は効率的な機械学習推論に依存する

効率的かつ効果的な AI システムを構築するには、適切なハードウェア ソリューションを選択することが重要です。機械学習推論向けの AMD の機械学習ツールは、Python や RESTful API のほかに TensorFlow、Pytorch、Caffe などの一般的な機械学習フレームワークにも対応しており、リアルタイム推論に対応できる機械学習アプリケーションの開発/運用をサポートします。

グローバルな機械学習市場規模が 2028 年には 1522 億 4000 万ドルまで成長することを考えると、今、機械学習推論に注目することはとても重要です。

機械学習アプリケーションに最適なプラットフォームに委ねる

AI 推論および機械学習

AI 推論および機械学習ソリューション

機械学習と AI ソリューションの業界リーダーである AMD は、AI 推論開発プラットフォームと、高スループットと低レイテンシを実現するハードウェア アクセラレーション ソリューションを提供しています。

適応性とリアルタイム性に優れた機械学習アプリケーション開発に最適な AMD の Vitis AI 最適化プラットフォームをご利用ください。