バックプロパゲーションアルゴリズム–概要
公開: 2021-10-15ニューラルネットワークは、AIテクノロジーの世界で最も流行している言葉です。 そして、ニューラルネットワークについて話すとき、バックプロパゲーションは焦点を当てるべき言葉です。 バックプロパゲーションのアルゴリズムは、ニューラルネットワークの基本的なブロックの1つです。 タスクを実行するためにニューラルネットワークをトレーニングする必要があるため、バックプロパゲーションはニューラルネットワークのトレーニングに使用されるアルゴリズムです。 これは、人工ニューラルネットワークで複数の層のパーセプトロンをトレーニングするために使用される教師あり学習のアルゴリズムの形式です。
データが挿入され、プログラミングのロジックが実行される典型的なプログラミングが考慮されます。 処理が行われている間、出力はユーザーによって受信されます。 しかし、この出力は、ある意味で、プログラミングのロジックに影響を与える可能性があります。 これは、バックプロパゲーションのアルゴリズムが行うことです。 出力はロジックに影響を与え、より良い出力になります。
この記事では、バックプロパゲーションのアルゴリズムとその動作プロセスに焦点を当てます。
目次
バックプロパゲーションの重要性
バックプロパゲーションの重要性は、ニューラルネットワークでの使用にあります。 ニューラルネットワークの設計では、重みを最初にのみ初期化する必要があります。 これらの重みは、重みを初期化するために考慮されるいくつかのランダム値または任意の確率変数です。 ウェイトはランダムに挿入されるため、ウェイトが正しくない可能性があります。 これは、重みがモデルに適合しないことを意味します。 モデルの出力は、期待される出力と異なる場合があります。 その結果、エラー値が高くなります。 しかし、エラーを減らすことは常に重要であり、エラーを減らす方法を考えることは挑戦です。 モデルは、これらのタイプのシナリオが発生するたびに、それに応じてパラメーターを変更する必要があることをトレーニングする必要があります。 また、パラメータの変更により、エラー値が減少します。
したがって、モデルのトレーニングが必要であり、バックプロパゲーションは、最小のエラー値が存在するようにモデルをトレーニングできる方法の1つです。
ニューラルネットワークでのバックプロパゲーションアルゴリズムのいくつかのステップを以下に要約できます。
●エラー計算:モデルの実際の出力からのモデル出力の偏差を計算します。
●最小エラー:このステップでは、生成されたエラーが最小化されているかどうかがチェックされます。
●パラメータの更新:このステップは、モデルパラメータを更新するためのものです。 モデルが非常に高いエラー値を生成する場合は、パラメーターを更新する必要があります。
重みやバイアスなど。 モデルのエラーが再チェックされ、生成されたエラーが最小化されるまでプロセスが繰り返されます。
●最終モデル:チェックと更新のプロセスを繰り返すと、エラーが最小限に抑えられ、モデルを入力できるようになります。 入力をモデルに入力し、モデルからの出力を分析できます。
バックプロパゲーションニューラルネットワーク
どのニューラルネットワークでも、バックプロパゲーションアルゴリズムはエラーの最小値を検索します。 これは、最急降下法またはデルタルールの手法を使用して実行されます。この手法により、重み空間からエラーの最小関数が検索されます。 誤差関数を減らす重みが特定されると、それは学習問題の解決策と見なされます。 1960年代にアルゴリズムが最初に導入され、その後、アルゴリズムの人気が高まりました。 ニューラルネットワークは、連鎖律の方法を使用して、このアルゴリズムを通じて効果的にトレーニングできます。 ニューラルネットワークを介したフォワードパスがある場合、バイアスや重みなどのパラメーターの調整を通じて、モデルのパラメーターによってバックワードパスが実行されます。 バックプロパゲーションアルゴリズムが機能するには、ニューラルネットワークを最初に定義する必要があります。
ニューラルネットワークモデル
ニューラルネットワークの4層モデルを検討すると、層で構成されます。 入力層、隠れ層用に設計された4つのニューロン、および出力層用に設計された1つのニューロンがあります。
入力レイヤー:入力レイヤーは、単純なものでも、複雑なものでもかまいません。 単純な入力層にはスカラーが含まれ、複雑な入力層は多次元またはベクトルの行列で構成されます。 最初のアクティベーションセットは、入力値と等しいと見なされます。
活性化という用語は、活性化関数の適用後に生じるニューロンの値を意味します。
隠しレイヤー:レイヤーlでz ^ lなどの特定の重み付けされた入力を使用し、同じレイヤーlでアクティベーションa^lを使用します。 方程式は、レイヤー2やレイヤー3などのこれらのレイヤーに対して生成されます。
レイヤーの活性化は、活性化関数fを使用して計算されます。 アクティベーション「f」の関数は、ネットワークによってデータに存在する複雑なパターンの学習を可能にする非線形関数です。
(n、m)の形状の重み行列が形成されます。ここで、数値「n」は出力ニューロンを示し、「m」はニューラルネットワークの入力ニューロンを示します。 上記の層のモデルでは、nの数は2になり、mの数は4になります。また、重みの添え字の最初の数は、次の層にあるニューロンのインデックスと一致する必要があります。 2番目の数値は、ネットワークの前の層のニューロンインデックスと一致する必要があります。
出力層:出力層はニューラルネットワークの最終層です。 モデルの価値を予測します。 方程式を単純化するために、行列表現が使用されます。
ニューラルネットワークの伝播とその評価を転送します
ニューラルネットワークの定義で生成された方程式は、ネットワークの順方向伝搬を構成します。 モデルの出力を予測します。 順方向伝搬アルゴリズムでは、関連する最後のステップは、期待される出力に対する予測された出力の評価です。 予測出力が「s」で、期待出力が「y」の場合、sはyに対して評価されます。 トレーニングデータセット(x、y)の場合、xは入力、yは出力です。
コスト関数「C」は、yに対するsの評価に使用されます。 コスト関数は、平均二乗誤差(MSE)のような単純なものでも、クロスエントロピーのような複雑なものでもかまいません。 Cの値に基づいて、モデルは、期待される出力(y)に近づくためにパラメーターをどの程度調整する必要があるかを知ることができます。 これは、バックプロパゲーションアルゴリズムを介して行われます。
バックプロパゲーションアルゴリズム
バックプロパゲーションアルゴリズムは、モデルの出力と期待される出力の差を最小限に抑えるために、ネットワーク接続の重みの調整を繰り返し行います。 また、ネットワーク内に新しく便利な機能を作成できるのは、バックプロパゲーションアルゴリズムでもあります。
バックプロパゲーションアルゴリズムは、ネットワークの定義されたコスト関数、つまりCを減少または最小化することも目的としています。これは、バイアスや重みなどのパラメーターを調整することによって行われます。 パラメータで行われるこの調整は、これらすべてのパラメータに関するコスト関数の勾配によって決定されます。
点xの関数Cの勾配は、xのコスト関数Cにあるすべての偏導関数のベクトルとして定義されます。
関数の値の変化に対する感度は、引数xの変化に関する関数Cの導関数によって測定されます。 これは、コスト関数Cがどこに移動しているかを示すのは導関数であることを意味します。
パラメータxの変化は、勾配によって定義されます。 これは、Cを最小化するためにパラメーターxに必要な変更を示しています。連鎖律は勾配の計算に使用されます。 パラメータの最適化を可能にするのは勾配です。
これは、ニューラルネットワークの改善とトレーニングにおいてバックプロパゲーションのアルゴリズムがどのように機能するかです。 これは、機械学習の側面の重要な部分として機能します。 ニューラルネットワークのトレーニングに不可欠な部分であるため、バックプロパゲーションのアルゴリズムを理解することが不可欠です。 機械学習と人工知能の専門家になりたい場合は、upGradが提供する「機械学習と人工知能の科学のマスター」コースをご覧ください。 働く専門家なら誰でもコースの資格があります。 IIITバンガロアおよびLJMUの専門家によるトレーニングを受けます。 650時間以上のコンテンツ学習は、将来のAIに備えるのに役立ちます。 コースに関するお問い合わせは大歓迎です。
バックプロパゲーションアルゴリズムで使用される方法は何ですか?
バックプロパゲーションアルゴリズムで使用される方法は連鎖律です。
なぜバックプロパゲーションアルゴリズムが使用されるのですか?
バックプロパゲーションアルゴリズムは、モデルのエラーを最小限に抑えるために使用されます。
バックプロパゲーションアルゴリズムはどのようにしてネットワークのエラーを最小限に抑えますか?
バックプロパゲーションアルゴリズムは、それに応じてパラメータを調整しようとし、エラーを最小限に抑えます。