私は現在KerasでLSTMに取り組んでおり、TimeDistributed
層に関する質問があります。Kerasの `TimeDistributed`レイヤーでシーケンスを出力しないようにするには?
私はTimeDistributed
のレイヤーを入力とし、(batch_size,timesteps,num_features1)
のようなレイヤーがあるとしましょう。それは(batch_size,timesteps,num_features2)
のようなものを出力します。
代わりに(batch_size,num_features2)
のようなものを出力したいと思います。出来ますか ?
それは(TimeDistributed
層を使用して)緻密層にreturn_sequence = True
とLSTM層を積層した後、バック(batch_size,nb_features)
のような入力を受け付ける「古典的」緻密層に行くことであろう。
ありがとうございます!
ブノワ
これは、時間ディメンションをスカッシュすることを意味します。これはどのようにしたいですか?最も一般的な方法は 'グローバルプール'です。時間をかけたり、最後の出力を取ります。 –
'(batch_size、timesteps、num_features)'を返すのではなく、 '(batch_size、timesteps)'のようなものを返すことができます。私は 'グローバルプーリング'でlokk、ありがとう。 – BenDes
あなたの質問のタイトルに関しては、TimeDistributedを適用して時間ディメンションを保存するようにしているので、とにかくタイムシーケンスを返します。 TimeDistributedで影響を与えることができるのは、タイムステップごとのフィーチャの数だけです。アウトプットにディメンション1のレイヤーを適用して平坦化することで、1つのフィーチャーに縮小できます。しかし、(None、timesteps、features)から(None、feat_1、feat-2)に変更することはできません。私はあなたの質問を得ることをまだ確信していません –