フィードフォワードネットワーク上でリカレントニューラルネットワークを使用するための数学的な正当化


7

シーケンシャルデータを処理するときに、フィードフォワードネットワークよりもRNNが優れていることの背後に数学的な理由があるかどうか疑問に思い、理解しようとしました。たとえば、時系列、HMMなどをモデル化する場合。シーケンスの長さは固定されているが、非常に大きいと仮定します。

直感的には、RNNが状態変数の現在の時刻までの関連情報を記憶し、それを使用して現在の入力基づいて状態をに更新できることは明らかです。たとえば、フィードフォワードネットワークを使用してをモデルする場合、ごとに入力ノードを用意し、それらを合計してを取得する必要がありが、RNNではは単一の入力ノードが必要であり、状態は合計ます。tht1htxtYt=Xt+Xt1++X0XiYtXtXt1++X0

上記の例はかなり基本的なものですが、RNNの複雑さ(ノード数、深さ)は、フィードフォワードの場合に比べてはるかに少ないことを示しています。

フィードフォワードでは取得できないが、RNNで十分に近似できる関数のファミリの例を誰かが提供できますか?これに言及する参考文献もまた高く評価されます。


回答:


2

これは定義上ある程度の証拠であるため、これは非常に満足のいく答えになるとは思いませんが、それでも正しいと思います(ただし、非常に数学的ではありません)。

フィードフォワードでは取得できないが、RNNで十分に近似できる関数のファミリの例を誰かが提供できますか?

いいえ。少なくとも、この関数の定義を受け入れる場合はそうではありません。

...入力のセットと許容される出力のセットとの関係。各入力は1つの出力にのみ関連しているという特性があります。[ ウィキペディア ]

我々はいくつかの仮定の機能を想像した場合入力の一部ベクトル上で動作するとまだフィードフォワードニューラルネットワーク、我々は単に使用することができるでは表現できない、伝達関数として及び出来上がり、我々はできます機能のスーパーセットを実行する単純なパーセプトロンを作成します。ψ(x)xψ(x)ψ(x)

f(x)=ψ(b+wx)

パーセプトロンの出力ミステリー関数出力を模倣するために、バイアスと重みベクトルに必要な値を理解するための演習として残しておきます。!bwf(x)ψ(x)

RNNがフィードフォワードネットワークでできないことを行うことができる唯一のことは、状態の保持です。入力が単一の出力にのみマップされるという要件により、関数は状態を保持できません。したがって、上記の歪められた例から、フィードフォワードネットワークは、任意の関数(連続的またはそれ以外)よりも(それ以上ではなく)何でも実行できることがわかります。

:質問にお答えしたと思いますが、少し注意してください。機能が存在しない状態ではないことができ、フィードフォワードネットワークによってマッピングすることが、最も確かにされる機能があり、より良いフィードフォワードネットワーク以外のRNNに適します。以前の結果の変換がRNNに適している可能性があるため、関数内の特徴セットが簡単に表現されるように配置された関数。

この例としては、入力が連続して提示されている場合、フィボナッチ数列のn番目の数を見つけることが挙げられます。

F(x)=F(x1)+F(x2)

RNNは、線形変換関数のセットのみを使用してこのシーケンスを効果的に近似する場合がありますが、ステートレス関数またはフィードフォワードニューラルネットは、フィボナッチ数列の関数解を近似する必要があります。

F(x)=ϕnψn5

ここで、は黄金比、です。ϕψ1.618

ご想像のとおり、ニューラルネットワークの設計者が利用できる通常の伝達関数の配列を考えると、最初のバリアントは概算がはるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.