Recurrent Neural Network(RNN)トポロジ:なぜ常に完全に接続されているのですか?


8

私は、リカレントニューラルネットワーク(RNN)と長期短期記憶(LSTM)について読み始めました...

取得できないことが1つあります。非表示層の各インスタンスのニューロンは、以前のself /自分自身(そしておそらく他のカップル)。

完全に接続されていることが本当に必要ですか?ストレージと実行時間を大幅に節約でき、必要がない場合はさらに「ルックバック」できるようです。

これが私の質問の図です...

rnnイメージ:完全に接続されているか部分的に接続されているか

これは、反復する非表示レイヤー間の「シナプス」の「W ^ hh」行列に対角線(または対角線に近い)要素のみを保持してもよいかどうかを尋ねることに相当すると思います。私はこれを実行中のRNNコード(Andrew Traskの2進加算のデモに基づく)を使用して実行しました-つまり、すべての非対角項をゼロに設定しました-ひどく実行されましたが、対角線に近い項、つまりバンド線形システム3要素幅-完全に接続されたバージョンと同じように機能するように見えました。入力と非表示レイヤーのサイズを増やしたときでも...運が良かったのでしょうか?

私はLai Wan Chanの論文を見つけました。彼は、線形活性化関数の場合、ネットワークを「ヨルダンの標準形式」(つまり、対角要素と近くの要素)に縮小することが常に可能であることを示しています。しかし、そのような証明はシグモイドやその他の非線形活性化には利用できないようです。

また、「部分的に接続された」RNNへの参照は、2003年頃にほとんど姿消しているように見え、過去数年間に読んだ処理はすべて完全に接続されていると想定しているようです。それで...それはなぜですか?


1
参照を渡してください。必要に応じて投稿します。
Antoni Parellada 2016

あなたは自分の投稿にコメントすることができ、コメントごとに(少なくとも)1つのリンクを置くと思います。
マークL.ストーン

@AntoniParelladaありがとう!直接メッセージを送る方法を理解することはできませんが、@ Mark L. Stoneによると、コメントを開始します...
sh37211

RNNに関するKarpathyの投稿:karpathy.github.io/2015/05/21/rnn-effectiveness
sh37211

Andrew Traskの投稿/チュートリアル:iamtrask.github.io/2015/11/15/anyone-can-code-lstm
sh37211

回答:


2

理由の1つは、数学的な都合によるものかもしれません。バニラリカレントニューラルネットワーク(Elman-type)は、次のように定式化できます。

ht=f(xt,ht1)f()σ(Wxt+Uht1)

U

WU


0

高速ウォルシュアダマール変換と同様の方法で配置すると、2つの入力ニューロンを使用できます。したがって、アウトオブプレースアルゴリズムは、一度に2つの要素を順番に入力ベクトルにステップ実行することです。要素の各ペアに2つの2入力ニューロンを作用させます。最初のニューロンの出力を新しいベクトル配列の下半分に順番に配置し、2番目のニューロンの出力を新しいベクトル配列の上半分に順番に配置します。入力として新しいベクトル配列を使用して繰り返します。log_base_2(n)が繰り返された後、入力要素の1つで変更が行われると、すべての出力が変更される可能性があります。あなたができる最善の方法はどれですか。nは、2の正の整数乗でなければなりません。

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