10

私は人工ニューラルネットワークについて学んでおり、いくつかの隠れ層を備えた標準的なフィードフォワードネットを実装しました。現在、再帰型ニューラル ネットワーク (RNN) が実際にどのように機能するかを理解しようとしていますが、活性化/伝播がネットワークを介してどのように流れるかについて問題を抱えています。

私のフィードフォワードでは、活性化は単純な層ごとのニューロンの発火です。リカレント ネットワークでは、ニューロンは前の層に接続し、場合によってはそれ自体にも接続するため、ネットワークを伝播する方法は異なる必要があります。問題は、伝播がどのように発生するかについての正確な説明が見つからないように見えることです。

次のようなネットワークの場合、どのように発生する可能性がありますか。

Input1 --->Neuron A1 --------->  Neuron B1 ---------------------> Output
                ^                   ^     ^      |
                |                   |     --------
                |                   |
Input2 --->Neuron A2 --------->  Neuron B2

生物学のように、ニューロンのしきい値がニューロンの発火を 0 に減らすにつれて、徐々に減少するローリング アクティベーションになると想像しましたが、導関数を介してこれを行うためのはるかに計算効率の高い方法があるようです。

4

2 に答える 2

5

私は今、リカレントネットワークとフィードフォワードネットワークを伝播する基本原理、つまり明示的な時間ステップを把握していると思います。

フィードフォワードでは、伝播はレイヤーごとに発生するため、レイヤー1ニューロンが最初に発火し、次にレイヤー2、3などが発火します。したがって、伝播は、入力として受け取るニューロンの活性化を刺激する1つのニューロン活性化です。

あるいは、任意の時点で入力がアクティブになっているニューロンが発火するニューロンであるため、代わりに伝播を考えることができます。したがって、時間t = 0でレイヤー1ニューロンがアクティブである場合、次の時間t = 1で、レイヤー2のニューロンがレイヤー1のニューロンを入力として受け取るため、次のレイヤーレイヤー2がアクティブになります。

考え方の違いはセマンティクスのように見えるかもしれませんが、私にとっては、リカレントネットワークを実装する方法を理解する上で非常に重要でした。フィードフォワードでは、時間ステップは暗黙的であり、コードはニューロン層を順番に通過し、落下するドミノのようにニューロン層をアクティブにします。リカレントネットワークでは、すべてのニューロンが次にアクティブ化するニューロンを指定する、下降ドミノのアクティブ化方法を試すことは、大規模で複雑なネットワークにとって悪夢になります。代わりに、与えられた時間tにネットワーク内のニューロンをポーリングして、入力に基づいてアクティブ化されるかどうかを確認することは理にかなっています。

もちろん、リカレントニューラルネットワークにはさまざまな種類がありますが、リカレントネットワークの伝播の鍵となるのはこの重要な明示的なタイムステップだと思います。

私が疑問に思っていた微分方程式の部分は、tを0、1、2などの離散時間ステップにする代わりに、非常に小さな時間増分での伝播をモデル化することによって、よりスムーズでより連続的なネットワークフローを実現しようとする場合に役立ちます。 、0.2、0.1、0.05など。

于 2012-10-16T16:41:36.353 に答える
1

入力信号 s(t) は、異なる時間ステップ t=t0、t1、t2...tN に対して与えられます。再帰層では、入力は入力信号とネットワークの状態(の時間ステップからの励起レベル) から来ています。したがって、入力信号と以前の内部状態 (反復ニューロンの興奮レベル)から内部状態を更新する必要があります。

于 2012-10-16T16:59:14.077 に答える