更新:問題のより良い定式化。
例として、XOR ニューラル ネットワークを使用してバックプロパゲーション アルゴリズムを理解しようとしています。この場合、2 つの入力ニューロン + 1 つのバイアス、隠れ層の 2 つのニューロン + 1 つのバイアス、および 1 つの出力ニューロンがあります。
A B A XOR B
1 1 -1
1 -1 1
-1 1 1
-1 -1 -1
(出典: wikimedia.org )
私は確率的逆伝播を使用しています。
もう少し読んだ後、出力ユニットのエラーが隠れ層に伝播することがわかりました...ニューラルネットワークの入力層に到達すると、各ニューロンがエラー調整を取得するため、最初は混乱しました隠れ層の両方のニューロンから。特に誤差の分布の仕方は、最初は把握しにくいものです。
ステップ 1では、入力の各インスタンスの出力を計算します。
ステップ 2では、出力ニューロン (この場合は 1 つしかありません) とターゲット値の間の誤差を計算します。ステップ 3では、ステップ 2 の誤差を使用して、各隠れユニット h の誤差を計算します。
「重み kh」は、隠れユニット h と出力ユニット k の間の重みです。入力ユニットには出力ユニットに関連付けられた直接の重みがないため、これは混乱を招きます。数式を数時間見つめた後、合計が何を意味するのかを考え始めました。隠れ層ニューロンに接続する各入力ニューロンの重みに出力誤差を掛けて合計するという結論に達し始めています。 . これは論理的な結論ですが、「重み kh」(出力レイヤー k と非表示レイヤー h の間) が明確に示されているため、この式は少し混乱しているように見えます。
ここですべてを正しく理解していますか? 誰でもこれを確認できますか?
入力層の O(h) とは? 私の理解では、各入力ノードには 2 つの出力があります。1 つは隠れ層の最初のノードに入り、もう 1 つは 2 番目のノードの隠れ層に入ります。O(h)*(1 - O(h))
2 つの出力のうち、式の一部にプラグインする必要があるのはどれですか?