問題タブ [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.

0 投票する
2 に答える
2213 参照

python - model.fit の次元数が間違っています

このSimpleRNNを実行しようとしています:

以下に示すように、エラーは model.fit にあります。

エラーは、次元の数が間違っていることを示しています。3 である必要がありますが、2 しかありません。それが参照している次元は何ですか?

0 投票する
1 に答える
2686 参照

python - tensorflow で双方向 RNN に可変バッチ サイズを使用する方法

tensorflow は、双方向 RNN の可変バッチ サイズをサポートしていないようです。この例では、 は Python 整数である にsequence_length関連付けられています。batch_size

トレーニングとテストに異なるバッチ サイズを使用するにはどうすればよいですか?

0 投票する
0 に答える
3117 参照

python - Tensorflow の Char-RNN

シンプルな RNN をテンソルフローで動作させようとしていますが、いくつか問題があります。

私が今やろうとしているのは、セルタイプとして LSTM を使用して RNN のフォワードパスを単純に実行することです。

いくつかのニュース記事をスクレイピングして、それらを RNN にフィードしたいと考えています。すべての記事の連結で構成される文字列を文字に分割し、文字を整数にマップしました。次に、これらの整数をワンホット エンコードしました。

次にテンソルフローコードです。データ内のすべての文字を実行し、フォワード パスごとに 25 文字を使用したいと考えています。私の最初の質問は、バッチ サイズに関するものです。先ほど述べた方法でこれを実行したい場合、私のバッチ サイズは 1 ですよね? したがって、入力内の 1 つの文字に対応する各ベクトルの形状は [1,vocab_size] であり、入力にはこれらのベクトルが 25 個あります。そこで、次のテンソルを使用しました。

rnn 関数が期待する形式であるため、最後のテンソルを作成する必要がありました。

次に、変数のスコープで問題が発生しました。以下のエラーが表示されます。

コードで実際に変数を指定していないため、なぜこのエラーが発生するのかわかりません。変数は rnn および rnn_cell 関数内でのみ作成されます。誰かがこのエラーを修正する方法を教えてもらえますか?

入力が tf.int32 型であるため、現在発生している別のエラーは型エラーですが、LSTM 内で作成された非表示層は tf.float32 型であり、rnn_cell.py コード内の線形関数は連結します。これらの 2 つのテンソルを計算し、それらに重み行列を掛けます。なぜこれが不可能なのでしょうか。入力がワンホット エンコードされて int32 型になるのは比較的一般的だと思います。

一般に、char-rnns のトレーニング時にバッチ サイズを 1 標準にするというこのアプローチはありますか? Andrej Karpathy によるコードを見たことがあります。そこでは、彼は基本的な numpy で char-rnn をトレーニングし、同じ手順を使用します。ここでは、長さ 25 のシーケンスでテキスト全体を単純に調べます。コードは次のとおりです: https:// gist.github.com/karpathy/d4dee566867f8291f086

0 投票する
1 に答える
148 参照

theano - Theano チュートリアルの RNN のパラメーター

RNN に関する Theano チュートリアル ( http://deeplearning.net/tutorial/rnnslu.html ) に従っていますが、それについて 2 つの質問があります。初め。このチュートリアルでは、繰り返しは次のように機能します。

def recurrence(x_t, h_tm1): h_t = T.nnet.sigmoid(T.dot(x_t, self.wx) + T.dot(h_tm1, self.wh) + self.bh) s_t = T.nnet.softmax(T.dot(h_t, self.w) + self.b) return [h_t, s_t]

h_t に h0 を追加しないのはなぜですか?(つまりh_t = T.nnet.sigmoid(T.dot(x_t, self.wx) + T.dot(h_tm1, self.wh) + self.bh + self.h0))

第二に、なぜoutputs_info=[self.h0, None]ですか?outputs_info が初期化結果であることはわかっています。だから私は思うoutputs_info=[self.bh+self.h0, T.nnet.softmax(T.dot(self.bh+self.h0, self.w_h2y) + self.b_h2y)]

0 投票する
1 に答える
603 参照

neural-network - 損失が減少しなくなったときに RNN モデルをトレーニングするための一般的なルール

私はRNNモデルを持っています。約 10K の反復の後、損失は減少しなくなりますが、損失はまだそれほど小さくはありません。最適化が極小値に閉じ込められていることを常に意味しますか?

一般的に、この問題に対処するために私が取るべき行動は何ですか? さらにトレーニング データを追加しますか? 別の最適化スキームを変更しますか (現在 SGD)? または他のオプション?

どうもありがとう!

JC

0 投票する
5 に答える
12495 参照

machine-learning - LSTM に続く平均プーリング

Keras 1.0 を使用しています。私の問題はこれ ( Keras で Mean Pooling レイヤーを実装する方法) と同じですが、そこにある答えは私にとって十分ではないようです。

このネットワークを実装したい: ここに画像の説明を入力

次のコードは機能しません。

を設定しないとreturn_sequences=True、 を呼び出すと次のエラーが発生しますAveragePooling1D()

そうしないと、次の呼び出し時にこのエラーが発生しますDense()

0 投票する
1 に答える
804 参照

neural-network - Tensorflow 翻訳トレーニング - いつ停止しますか?

Google の Tensorflow の例を使用しています。うまく走れますが、while True:ループがあり、トレーニングが止まらないようです。参考: translate.py

コーインtrain()

0 投票する
3 に答える
1341 参照

python - Tensorflow でフィード フォワード レイヤーとリカレント レイヤーを混合しますか?

Tensorflow でフィードフォワード層と再帰層を混在させることができた人はいますか?

例: input->conv->GRU->linear->output

フィードフォワード層を使用して状態を定義せずに自分のセルを定義し、MultiRNNCell 関数を使用して次のようにスタックできると想像できます。

セル = tf.nn.rnn_cell.MultiRNNCell([conv_cell,GRU_cell,linear_cell])

これで生活がぐんと楽になる…