バックプロパゲーションを学ぶ前に、理解しておきましょう。
人工ニューラルネットワークとは何か?
ニューラルネットワークとは、接続されたI/Oユニットのグループで、各接続にはコンピュータプログラムに関連付けられた重みがあります。 大規模なデータベースから予測モデルを構築するのに役立ちます。 このモデルは、人間の神経系をベースにしています。 画像の理解、人間の学習、コンピュータの音声処理などに役立ちます。
バックプロパゲーションとは
バックプロパゲーションは、ニューラルネットのトレーニングの本質です。 前のエポック (反復) で得られたエラー レートに基づいて、ニューラル ネットの重みを微調整する方法です。 重みを適切に調整することで、エラーレートを減らし、モデルの汎化度を高めて信頼性の高いモデルにすることができます。
Backpropagationは、”Backward propagation of errors “の略語です。 人工ニューラルネットワークの標準的な学習方法です。 この方法は、ネットワーク内のすべての重みに対する損失関数の勾配を計算するのに役立ちます。
このチュートリアルでは、以下のことを学びます:
- 人工ニューラルネットワークとは?
- Backpropagationとは何か?
- バックプロパゲーションの仕組み
- なぜバックプロパゲーションが必要なのか?
- フィードフォワードネットワークとは何か?
- バックプロパゲーションネットワークの種類
- バックプロパゲーションの歴史
- バックプロパゲーションのキーポイント
- バックプロパゲーションのベストプラクティス
- バックプロパゲーションを使用することのデメリット
バックプロパゲーションの仕組み。 シンプルなアルゴリズム
次の図を考えてみましょう
- 入力されたX, は事前に接続されたパスを通って到着する
- 入力は実際の重みWを使ってモデル化される。 重みは通常、ランダムに選択されます。
- 入力層、隠れ層、出力層のすべてのニューロンの出力を計算する
- 出力の誤差を計算する
ErrorB= Actual Output – Desired Output
- 出力層から隠れ層に戻って、誤差が小さくなるように重みを調整する。
目的の出力が得られるまで、このプロセスを繰り返します
なぜバックプロパゲーションが必要なのか
バックプロパゲーションの最も顕著な利点は以下のとおりです。
- バックプロパゲーションは高速で、シンプルで、プログラムしやすい
- 入力の数以外に調整するパラメータがない
- ネットワークに関する予備知識を必要としないため、柔軟な方法である
- 一般的によく機能する標準的な方法である
- 学習する関数の特徴について特別な言及を必要としない。
フィードフォワードネットワークとは
フィードフォワードニューラルネットワークは、ノードがサイクルを形成しない人工ニューラルネットワークです。 この種のニューラルネットワークには、入力層、隠れ層、出力層があります。 これは、人工ニューラルネットワークの最初の、そして最も単純なタイプです。
バックプロパゲーション ネットワークの種類
バックプロパゲーション ネットワークには、次の2つの種類があります。
- Static Back-propagation
- Recurrent Back-propagation
Static Back-propagation:
静的な入力と静的な出力のマッピングを生成するバックプロパゲーションネットワークの一種です。 光学式文字認識のような静的な分類問題を解決するのに有効です。
Recurrent Backpropagation:
Recurrent Backpropagationは一定の値が得られるまでフィードフォワードします。 その後、誤差が計算され、後方に伝搬されます。
この2つの方法の主な違いは、マッピングが静的バックプロパゲーションでは高速であるのに対し、リカレントバックプロパゲーションでは非静的であることです。
バックプロパゲーションの歴史
- 1961年、J.Kelly、Henry Arthur、E.Brysonの3人が制御理論の文脈で連続バックプロパゲーションの基本概念を導き出しました。
- 1969年、BrysonとHoが多段の動的システム最適化法を発表。
- 1974年、Werbosがこの原理を人工ニューラルネットワークに適用する可能性を述べました。
- 1982年、Hopfieldがニューラルネットワークのアイデアを発表。
- 1986年、David E. Rumelhart、Geoffrey E. Hinton、Ronald J. Williamsの努力により、バックプロパゲーションが認知されるようになりました。
- 1993年、Wanがバックプロパゲーション法を用いて国際的なパターン認識コンテストで初めて優勝しました。
バックプロパゲーションのポイント
- 学習したネットワークへの影響が最も少ない加重リンクを要素とすることで、ネットワーク構造を単純化する
- 入力層と隠れ単位層の関係を発展させるために、入力値と活性化値のグループを学習する必要がある。
- 与えられた入力変数がネットワークの出力に与える影響を評価するのに役立ちます。
- バックプロパゲーションは、画像認識や音声認識など、エラーが発生しやすいプロジェクトに取り組むディープニューラルネットワークに特に有効です。
- バックプロパゲーションは、チェーンルールとパワールールを利用することで、任意の数の出力で機能することができます。
ベストプラクティスのバックプロパゲーション
バックプロパゲーションは「靴ひも」の例えで説明することができます