私はアテンション機構の実装をYang et al.で使いたいと思う。私はこの注目のmachanismを使用してカスタムレイヤーの作業実装を見つけたhere。代わりに、私のLSTMの出力値を使用する:ケラスのLSTMのアウトプットの代わりに隠れた状態を使う
my_lstm = LSTM(128, input_shape=(a, b), return_sequences=True)
my_lstm = AttentionWithContext()(my_lstm)
out = Dense(2, activation='softmax')(my_lstm)
私はLSTMの隠れ状態を使用したい:
my_lstm = LSTM(128, input_shape=(a, b), return_state=True)
my_lstm = AttentionWithContext()(my_lstm)
out = Dense(2, activation='softmax')(my_lstm)
しかし、私はエラーを取得:
TypeError: can only concatenate tuple (not "int") to tuple
Iをreturn_sequencesと組み合わせて試しましたが、私が試したことはこれまでに失敗しました。返される出力シーケンスのように使用するために、返すテンソルをどのように変更できますか?
ありがとうございます!
'return_state = True'は最後の非表示状態のみを返し、すべての非表示状態を返しません。だから、もしあなたが 'return_state = True'のときにテンソルのリストを扱うようにAttentionWithContextを編集したとしても、あなたが望むものとは思えません。 –
@NicoleWhiteそれは問題になるでしょう。私はそれが最後の隠れた状態を返すだけの理由を見ませんが、それはそうです。私は疑問に思っている:ほとんどの論文では、彼らは隠された状態について話す。これは本当に意味ですか、間違った用語を使用していますか?出力状態の代わりに隠し状態を使用する理由はありませんが、それらのメソッドを正しく使用したいのです。 – V1nc3nt
出力状態とは何を言いますか? –