問題タブ [recurrent-neural-network]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Recursive Neural Network の R で RNN パッケージを使用した人はいますか? それを予測にどのように使用しますか?
rnn()
関数 R には return ステートメントがありません。入力層、非表示層、出力層のシナプスを生成します。時系列データのテスト サンプルを使用した予測にこれらを使用する方法は?
neural-network - リカレント ニューラル ネットワークを構成するには?
私は以下をモデル化したい:
y(t)=F(x(t-1),x(t-2),...x(tk))
または、現在の出力が最後の k 個の入力に依存する関数を考えてみましょう。
1- y(t)ごとに{x(t-1),x(t-2),...x(tk)}として k 個の入力を持つ従来のニューラル ネットワークを用意し、それをトレーニングする方法があることを私は知っています。では、RNN を使用してその問題を解決する利点は何でしょうか?
2-RNNを使用すると仮定すると、x(t)(またはx(t-1))のみを使用し、隠れ層がy(t)と過去のk入力の関係を見つけることができると仮定する必要がありますその記憶(隠し層)?
3- Deep RNN や LSTM などの深いネットを使用すると、最後の k 個の入力に基づいて出力を推定したいことを考えると、このような問題に対して優れた利点がありますか?
machine-learning - TensorflowクロスエントロピーNaN、および学習率の変更は影響がないようです
TL;DR tensorflow を使用してシーケンスのタグ付け用の双方向 RNN を構築しようとしています。
目標は、「ニューヨークが好き」という入力を受け取り、「OO LOC_START LOC」という出力を生成することです。
グラフはコンパイルおよび実行されますが、損失は 1 または 2 バッチ後に NaN になります。これが学習率に問題がある可能性があることは理解していますが、学習率を変更しても影響はないようです。現時点では AdamOptimizer を使用しています。
どんな助けでも大歓迎です。
これが私のコードです:
コード:
neural-network - ニューラル チューリング マシンでのメモリの初期化とアドレス指定
コサイン距離を使用したコンテンツベースのアドレス指定をサポートするために NTM がメモリを初期化する方法は明確ではありません。メモリ セルの初期値をゼロにすることはできませんが、ゼロ以外の値 (たとえば 1.0) に初期化しても、すべてのセルは同じように見え、メモリ アドレス指定メカニズムによってメモリ セル全体に均一な分布が生成されます。シフト メカニズムは、この均一な分布をシフトするだけで、同じ均一な分布が生成されます。シャープ化によって、主にノイズが原因で一部の値がシャープになる場合があります。
したがって、彼らが説明したメモリが、同じことを常にあちこちに書き込む以外にどのように使用できるかはわかりません(ノイズを無視する場合)。
私は何かを見逃していますか?誰かがメモリの初期化について教えてくれますか?
tensorflow - tensorflow の RNN および Seq2Seq モデルの API リファレンス
RNN および Seq2Seq モデルで使用可能な関数を指定する API リファレンスはどこにありますか?
github ページでは、rnn と seq2seq が tf.nn に移動されたと言及されていました。
matlab - Matlab のゲート付きリカレント ニューラル ネットワーク (LSTM など)
Matlab でゲート付きリカレント ニューラル ネットワーク (LSTM など) を調べたいと思っています。これに最も近いのはlayrecnetです。この関数の説明は非常に短く、あまり明確ではありません (つまり、慣れ親しんだ用語を使用していません)。したがって、私の質問は、この関数にゲートが含まれているかどうか (含まれていないことを 90% 確信しています)、含まれていない場合は、含まれている他の Matlab 実装があるかどうかです。可能であれば、ネイティブ (Neural Network Toolbox など) の実装を希望します。
machine-learning - リカレント ニューラル ネットワークを使用した時系列予測
自転車共有データセットを使用して、入力が与えられた 1 日のレンタル数を予測しています。2011 年のデータをトレーニングに使用し、2012 年のデータを検証に使用します。線形回帰モデルの構築に成功しましたが、現在、リカレント ニューラル ネットワークを使用して時系列を予測する方法を見つけようとしています。
データ セットには 10 の属性 (月、営業日かどうか、温度、湿度、風速など) があり、すべて数値ですが、属性は日 (日曜日: 0、月曜日: 1 など) です。
ある日は前の日によって変わる可能性があり、おそらくそうなると思います (そして、10 個の属性すべてが必要になるわけではありません)。そのため、RNN を使用することを考えました。私はあまり知りませんが、いくつかのものとこれも読みました。このような構造を考えています。
10 input neurons
とがa hidden layer
あり1 output neuron
ます。隠れ層に含まれるニューロンの数を決定する方法がわかりません。
t-1
入力層を非表示層に接続するための行列、非表示層を出力層に接続するための行列、および隣接する時間ステップで非表示層を接続するための行列が必要t
だt
と思いますt+1
。合計 3 つの行列です。
あるチュートリアルでは、アクティベーション関数は でしたがsigmoid
、正確にはわかりませんが、シグモイド関数を使用すると、0 と 1 の間の出力しか得られません。アクティベーション関数として何を使用すればよいですか? 私の計画は、これをn
何度も繰り返すことです:
- 各トレーニング データについて:
- 順伝播
- 入力を非表示層に伝播し、それを前の非表示層から現在の非表示層への伝播に追加します。これをアクティベーション関数に渡します。
- 隠れ層を出力に伝播します。
- エラーとその導関数を見つけて、リストに保存します
- 逆伝播
- リストから現在のレイヤーとエラーを見つける
- 現在の隠れ層エラーを見つける
- 体重の更新を保存する
- 重み (行列) を学習率で乗算して更新します。
- 順伝播
これは正しい方法ですか?出力として、0 ~ 1 の数値ではなく、実際の数値が必要です。