0
シーケンスエンコーダデコーダモデルへのシーケンスを作成しようとしており、カテゴリクロスエントロピーを使用するために最後のレイヤーをソフトマックスする必要があります。LSTMがkerasでシーケンスを返すときsoftmaxを実行するには?
私は最後のLSTMレイヤーのアクティブ化を 'softmax'に設定しようとしましたが、そのトリックはしていないようです。別の高密度層を追加し、活性化をsoftmaxに設定してもどちらでも役に立ちません。最後のLSTMがシーケンスを出力するときにsoftmaxを実行する正しい方法は何ですか?
inputs = Input(batch_shape=(batch_size, timesteps, input_dim), name='hella')
encoded = LSTM(latent_dim, return_sequences=True, stateful=False)(inputs)
encoded = LSTM(latent_dim, return_sequences=True, stateful=False)(encoded)
encoded = LSTM(latent_dim, return_sequences=True, stateful=False)(encoded)
encoded = LSTM(latent_dim, return_sequences=False)(encoded)
decoded = RepeatVector(timesteps)(encoded)
decoded = LSTM(input_dim, return_sequences=True)(decoded)
# do softmax here
sequence_autoencoder = Model(inputs, decoded)
sequence_autoencoder.compile(loss='categorical_crossentropy', optimizer='adam')