簡単な例を通して、rnnを使用してシーケンスを予測する方法を理解しようとしています。これは、1つの入力、1つの非表示のニューロン、1つの出力で構成される、私の単純なネットワークです。
隠れたニューロンはシグモイド関数であり、出力は単純な線形出力と見なされます。したがって、ネットワークは次のように機能すると思います:隠しユニットが状態s
で始まり、長さシーケンスであるデータポイントを処理している場合、、それから:(x 1、x 2、x 3)
時間1
で、予測値は
時に2
、私たちは持っています
時に3
、私たちは持っています
ここまでは順調ですね?
「展開された」rnnは次のようになります。
目的関数に二乗和誤差項を使用する場合、それはどのように定義されますか?全体のシーケンスで?その場合、ますか?
ウェイトは、シーケンス全体(この場合は3ポイントシーケンス)が見られたときにのみ更新されますか?
重みに関する勾配については、を計算する必要があります。他のすべてが正しいように見える場合は、上記の 3つの方程式を調べて簡単に計算しようとします。そのようにすることの他に、これは私にはバニラの逆伝播のようには見えません。同じパラメーターがネットワークの異なるレイヤーに現れるからです。それをどのように調整しますか?
誰かがこのおもちゃの例を通して私を導くのを手伝ってくれるなら、私はとても感謝しています。