0
タイトル: 私はタイムディストリビューションされたラッパーが各タイムスタンプに密集している可能性があることを知っていますが、同じウェイトを使用しています。私は同じ形の高密度を適用したいが、タイムスタンプごとに異なる重みを付けて、誰でも助けることができるのだろうか?ケラスのタイムスタンプごとに異なる重みをRNNに適用する方法は?
タイトル: 私はタイムディストリビューションされたラッパーが各タイムスタンプに密集している可能性があることを知っていますが、同じウェイトを使用しています。私は同じ形の高密度を適用したいが、タイムスタンプごとに異なる重みを付けて、誰でも助けることができるのだろうか?ケラスのタイムスタンプごとに異なる重みをRNNに適用する方法は?
RNNの長さが固定であるとすれば、シーケンスをLambda
レイヤーで分割し、複数のレイヤーに出力することができます。Dense
これは単に回避策に過ぎませんが、特定の状況下では役立つかもしれません。例えば、
timesteps = 5
inputs = Input(shape=(timesteps, 10))
hidden = LSTM(32, return_sequences=True)(inputs)
hidden_split = Lambda(lambda x: [x[:, t, :] for t in range(timesteps)])(hidden)
outputs = [Dense(10)(x) for x in hidden_split]
# you can concatenate the outputs back into a 3D tensor if necessary
outputs = Concatenate(axis=1)([Reshape((1, -1))(x) for x in outputs])
outputs = ...
model = Model(inputs, outputs)
は、あなたのモデルは、タイムステップの固定数を
を持っていますか? –
はい!私はパドリングを使って長さを固定しています –