私はKerasを初めて使いました.LSTM層の入力データの形状を理解するのが難しいと感じています.Ceras Documentationによれば、入力データは3Dテンソル(nb_samples、timesteps、input_dim)。 この形式を理解するのに問題があります。 timesteps変数は、ネットワークが記憶しているタイムステップの数を表しますか?KerasでLSTMの入力を設定する方法
私のデータでは、ネットワークの出力にいくつかの時間ステップが影響しますが、前の10サンプルが出力に影響するとは言えません。 たとえば、入力は文章を構成する単語です。各文の単語間には重要な相関関係がある。私は、文章の長さを事前に知らないので、この長さも文ごとに異なります。文章の終わりを知る(つまり、終わりを示すピリオドがある)。 2つの異なる文が互いに影響しないので、前の文を覚える必要はありません。
私は強化学習のポリシーを学習するためにLSTMネットワークを使用しているため、固定データセットはありません。エージェントのポリシーによって、文章の長さが変更されます。
データをどのように整形する必要がありますか? Keras LSTM層にどのように供給されるべきですか?
あなたが費やすことをいとわないどのように多くのリソースに応じて、あなたがして、文の最大長を選ぶ必要があります切り捨て/その長さのすべての例を0で埋めてください。 Kerasは固定する必要があります。 –
この場合、入力形状はどうでしょうか? input_shape =(最大刻印長、)? –
テキストを文章に分割する必要があります。文章の量はあなたの 'nb_samples'です。 'timesteps'は単語/文字の最大量です。次に、 'input_dim'はそれらの単語/文字の表現のサイズです(例えば、単語埋め込みを使用する場合、埋め込みサイズ) –