web-dev-qa-db-ja.com

Keras-LSTMモデルに注意メカニズムを追加する

次のコードで:

model = Sequential()

num_features = data.shape[2]
num_samples = data.shape[1]

model.add(
    LSTM(16, batch_input_shape=(None, num_samples, num_features), return_sequences=True, activation='tanh'))
model.add(PReLU())
model.add(Dropout(0.5))
model.add(LSTM(8, return_sequences=True, activation='tanh'))
model.add(Dropout(0.1))
model.add(PReLU())
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))

最初のLSTMレイヤーの前にアテンションメカニズムを追加する方法を理解しようとしています。次のGitHubを見つけました: keras-attention-mechanism by PhilippeRémy しかし、コードでそれをどのように使用するかを正確に理解できませんでした。

アテンションメカニズムを視覚化し、モデルが焦点を当てている機能を確認したいと思います。

任意の助け、特にコードの修正をいただければ幸いです。ありがとう:)

8
Shlomi Schwartz

このGistのKerasで、アクティベーションメカニズムを備えたLSTMの使用例を見つけることができます

https://Gist.github.com/mbollmann/ccc735366221e4dba9f89d2aab86da1e

そして、SOに関する次の回答では:

ケラスに注意メカニズムを追加するには?

アクティベーションを視覚化するには、次のリポジトリを使用できます https://github.com/philipperemy/keras-activations

それが役に立ったことを願っています:)

5
hzitoun