1. 序章
このチュートリアルでは、ニューラルネットワークのバックプロパゲーションプロセス中に重みとバイアスがどのように更新されるかを説明します。 最初に、ニューラルネットワークと、順伝播および逆伝播のプロセスを簡単に紹介します。 その後、重みとバイアスの更新手順を数学的に詳しく説明します。
このチュートリアルの目的は、重みと比較してニューラルネットワークでバイアスがどのように更新されるかを明らかにすることです。
2. ニューラルネットワーク
ニューラルネットワークは、生物学的ニューラルネットワークをシミュレートするために明示的に設計されたアルゴリズムです。 一般的に、アイデアは人間の脳のように振る舞う人工システムを作成することでした。 ネットワークのタイプに応じて、ニューラルネットワークは相互接続されたニューロンに基づいています。 ニューラルネットワークには多くの種類がありますが、大きく3つのクラスに分類できます。
それらの主な違いは、それらを構成するニューロンのタイプと、情報がネットワークを流れる方法です。 この記事では、通常のニューラルネットワークを使用したバックプロパゲーションについて説明します。
3. 人工ニューロン
人工ニューロンは、すべての神経ネットワークの基盤として機能します。 それらは、生物学的ニューロンをモデルにしたユニットです。 各人工ニューロンは入力を受け取り、単一の出力を生成します。これは、他のニューロンのネットワークにも送信されます。 入力は通常、外部データのサンプルからの数値ですが、他のニューロンの出力にすることもできます。 ニューラルネットワークの最終出力ニューロンは、予測を定義する値を表します。
ニューロンの出力を取得するには、接続のすべての入力と重みの加重和を計算する必要があります。 次に、合計にバイアスを追加し、活性化関数を使用します。 数学的には、加重和を次のように定義します。
(1)
ここで、は重み、は入力とバイアスです。 その後、活性化関数が加重和に適用されます。これは、ニューロンの最終出力を表します。
4. 順伝播と逆伝播
ニューラルネットワークのトレーニング中、2つの主要なフェーズがあります。
- 順伝播
- 誤差逆伝播法
4.1. 順伝播
最初に順伝播が発生します。これは、入力データがネットワークを介して順方向に供給されることを意味します。 全体として、このプロセスは、最初の入力からネットワーク内のすべてのレイヤーを通過し、最後に予測誤差の計算までのデータフローをカバーします。 これはフィードフォワードニューラルネットワークの典型的な手順ですが、RNN などの他のネットワークの場合、順伝播はわずかに異なります。
結論として、順伝播は入力データから始まり、ネットワークのエラーが計算されたときに終了するプロセスです。
4.2. 誤差逆伝播法
順伝播の後に逆伝播が起こり、それは確かにトレーニングの重要な部分です。 簡単に言うと、これは、前のエポック(反復)で取得されたエラーまたは損失に基づいて、ネットワークの重みを微調整するプロセスです。 適切な重み調整により、一般化を強化することでモデルの信頼性を高めながら、エラー率を低くすることができます。
最初は、重みをまだ調整していないため、正確な予測を提供しないニューラルネットワークがあります。 バックプロパゲーションのポイントは、ネットワークの精度を向上させると同時に、最適化手法を使用してエポックを通じてエラーを減らすことです。
通常は最急降下法に基づく多くの異なる最適化手法がありますが、最も一般的なもののいくつかは次のとおりです。
簡単に言うと、最急降下法は、関数の最も急な降下の方向に繰り返し移動することにより、ニューラルネットワークの損失関数を最小化するために使用する最適化アルゴリズムです。 したがって、最急降下の方向を見つけるには、重みとバイアスに関する損失関数の勾配を計算する必要があります。その後、負の値を使用して重みとバイアスを更新できるようになります。勾配に学習率を掛けたもの:
4.3. 重みの更新
まず、以下に示すニューラルネットワークのスニペットについて考えてみましょう。ここで、は-thレイヤーを示し、アクティベーション列-ベクトルまたはニューロンを含むベクトルであり、は重み行列です。
ニューラルネットワークの定義に続いて、-番目の層の1つの特定のニューロンの式は次のようになります。
(2)
ここで、は活性化関数、重み、バイアスです。
まず、1つの特定の重みを更新する場合、その特定の重みに関するコスト関数の導関数を計算する必要があります。
(3)
さて、連鎖律を適用して導関数を拡張すると、次のようになります。
(4)
またはその結果、グラフィカルに表示されます。
基本的に、連鎖律を使って、大きな問題を小さな問題に分割し、それらを一つずつ解決します。 再び連鎖律を使用すると、さらに次のように損益分岐点に達する必要があります。
(5)
4.4. エラー信号
その後、層内のニューロンのエラー信号を次のように定義しましょう。
(6)
式(5)から、反復式を抽出することもできます。
(7)
またはエラー信号表記を使用する
(8)
この漸化式はネットワークの最後の層に伝播し、最後の層のニューロンのエラー信号は次のようになります。
(9)
最後に、すべてが説明され、初期導関数(5)のエラー信号(6)を置き換えることができます。
(10)
最後に、重みを次のように更新します
(11)
学習率はどこですか。
4.5. バイアスの更新
一般に、バイアスの更新は重みの更新と非常によく似ています。 微分規則により、
(12)
私達はまたそれを持っています
(13)
同様に、レイヤーの-番目のバイアスについては、
(14)
これで、重みの更新(11)と同様に、バイアスを次のように更新できます。
(15)
5. 結論
この記事では、人工ニューロン、順伝播、および逆伝播を使用したニューラルネットワークの用語について簡単に説明しました。 その後、ニューラルネットワークでバイアスがどのように更新されるか、およびバイアスの更新と重みの更新の主な違いは何かについて、詳細な数学的説明を提供しました。
この記事には理論と数学の両方の部分があるため、デリバティブに関する予備知識が必要です。