用語集

バックプロパゲーション

バックプロパゲーションがどのようにニューラルネットワークを訓練し、エラー率を低減し、画像認識やNLPのようなAIアプリケーションを効率的に強化するかを学ぶ。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

バックプロパゲーションは、「誤差の後方伝播」の略で、人工ニューラルネットワーク(NN)を訓練するための基本的なアルゴリズムであり、特に深層学習(DL)の分野では重要である。これは、モデルの学習プロセスにおいて、モデルが誤りから学習することを可能にする中核的なメカニズムとして機能する。このアルゴリズムは、モデルの予測で観察される全体的な誤差に対する、ネットワーク内の各パラメータ(モデルの重みやバイアスなど)の寄与を効率的に計算する。この勾配情報は、最適化アルゴリズムによって利用され、パラメータを反復的に調整し、モデルの性能と精度を徐々に向上させます。

バックプロパゲーションの仕組み

バックプロパゲーションプロセスは通常、入力データがネットワークを流れて予測を生成する最初のフォワードパスに従う。予測値と実際の目標値を損失関数を用いて比較した後、バックプロパゲーション・アルゴリズムは主に2つのフェーズを実行する:

  1. フォワードパス:入力データはニューラルネットワークに供給され、ニューロンの層を通過し、それぞれが重み、バイアス、活性化関数ReLUや シグモイドなど)を適用し、出力予測が生成される。
  2. バックワードパス:アルゴリズムは、選択された損失関数を用いてエラー(予測値と真値の差)を計算する。そして、この誤差信号をレイヤーごとにネットワークを通して後方に伝播させる。微積分の連鎖法則を用いて、ネットワークの各重みとバイアスに対する損失関数の勾配を計算する。この勾配は、各パラメーターの小さな変化が全体の誤差にどれだけ影響するかを表している。視覚的に理解するためには、"Calculus on Computational Graphs "のような資料が役に立つ。

勾配が計算されると、勾配降下や 確率的勾配降下(SGD)アダム・オプティマイザなどの 最適化アルゴリズムが、これらの勾配を使用してネットワークのweights and biases更新する。目標は損失関数を最小化することであり、連続するエポックにおいてより良い予測を行うように効果的にネットワークを学習させる。

ディープラーニングにおける重要性

バックプロパゲーションは、最新のディープラーニングに不可欠である。勾配の計算が効率的なため、非常に深く複雑なアーキテクチャの学習が計算上可能になる。これには、コンピューター・ビジョン(CV)タスクで優れた性能を発揮する畳み込みニューラルネットワーク(CNN)や、自然言語処理(NLP)のような逐次データによく使われるリカレント・ニューラル・ネットワーク(RNN)のようなモデルが含まれる。バックプロパゲーションがなければ、GPT-4のような大規模モデルや、ImageNetのような膨大なデータセットで訓練されたモデルの何百万ものパラメータを調整することは現実的ではない。バックプロパゲーションは、データから複雑な特徴や階層的な表現を自動的に学習するモデルを強化し、ディープラーニングの歴史を網羅したリソースで詳述されているように、その普及以来、多くのAIの進歩を支えている。以下のようなフレームワークがある。 PyTorchTensorFlowのようなフレームワークは、バックプロパゲーションを実装した自動微分エンジンに大きく依存している。

バックプロパゲーションと最適化アルゴリズムの比較

バックプロパゲーションと最適化アルゴリズムを区別することは重要である。バックプロパゲーションは、勾配(各パラメータの誤差寄与度)を計算するために使用される手法です。一方、最適化アルゴリズムとは、これらの計算された勾配を使用して、損失を最小化するためにモデルのパラメータweights and biases)を更新する戦略です。バックプロパゲーションは改善の方向性を提供し、オプティマイザはステップサイズ(学習率)と更新の方法を決定する。

実世界での応用

バックプロパゲーションは、ディープ・ラーニング・モデルがトレーニングを受けるたびに暗黙的に使用される。具体例を2つ紹介しよう:

  1. Ultralytics YOLO物体検出:YOLOトレーニングするとき Ultralytics YOLOモデル(たとえば YOLOv8やYOLO11)をCOCOのようなデータセット上でオブジェクト検出のためにトレーニングする場合、各トレーニング反復でバックプロパゲーションが使用されます。モデルがバウンディングボックスとクラスを予測した後、損失(例えば、予測されたボックスをグランドトゥルースと比較する)が計算される。バックプロパゲーションは、モデルのバックボーンと 検出ヘッド全体のすべての重みの勾配を計算する。その後、オプティマイザがこれらの勾配を使用して重みを調整し、物体の正確な位置と分類を行うモデルの能力を向上させます。ユーザーは、Ultralytics HUBのようなプラットフォームを活用してこの学習プロセスを管理し、効率的なバックプロパゲーションの実装から恩恵を受けることができます。これは、自律走行車から セキュリティーシステムまで、幅広いアプリケーションにとって極めて重要である。
  2. 自然言語処理モデル BERT モデルやGPTモデルのような大規模言語モデル(LLM)は、バックプロパゲーションを使用して学習される。例えば、センチメント分析タスクでは、モデルは与えられたテキストのセンチメント(肯定、否定、中立)を予測する。予測されたセンチメントと実際のラベルの差はエラー値になります。バックプロパゲーションは、膨大なネットワークの各パラメータがこの誤差にどれだけ寄与したかを計算します。最適化アルゴリズムがこれらのパラメータを更新し、学習過程で言語的ニュアンス、文脈、センチメントをより理解できるようにする。スタンフォードNLPグループのような学術研究グループは、これらの技術を継続的に探求し、改良している。
すべて読む