python - 自注意力可视化
问题描述
我已经用注意力层训练了简单的 GRU,现在我正在尝试可视化注意力权重(我已经有了它们)。输入是 2 个 one-hot 编码序列(一个是正确的,另一个几乎相同,但有字母排列)。任务是定义哪个序列是正确的。这是我的NN:
optimizer = keras.optimizers.RMSprop()
max_features = 4 #number of words in the dictionary
num_classes = 2
model = keras.Sequential()
model.add(GRU(128, input_shape=(70, max_features), return_sequences=True, activation='tanh'))
model.add(Dropout(0.5))
atn_layer = model.add(SeqSelfAttention())
model.add(Flatten())
model.add(Dense(num_classes, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer=optimizer,
metrics=['accuracy'])
我尝试了在 StackOverflow 上找到的几件事,但没有成功。特别是我不明白如何将我的输入和注意力权重结合起来。我将不胜感激任何帮助和建议。
解决方案
推荐阅读
- asynchronous - 什么是替代品
go 块返回一个通道而不是返回值,那么当 cljs 没有时,如何在 go 块中提取返回值
<!!
?例如,给定以下代码:
(go (let [response (<! (http/get "https://api.github.com/users" {:with-cr
- python - MNIST 时尚数据集未加载
- c# - 为什么没有释放 MemoryStream?
- python-3.x - 如何根据另一列中的间隔填充基于 Pandas 中其他列的缺失值?
- javascript - 使用Javascript检测到运动时如何触发视频在浏览器中播放
- python - 数据框列的均值和标准差
- python - 加入 4 个 Pandas 数据框并设置 2 个索引列
- node.js - 为什么 momentjs 从差异中返回错误的分钟数?
- php - 如何在 register.blade.php laravel 中验证和插入多个复选框的数据?
- javascript - Active Campaign API:如何“创建或更新联系人”及其自定义字段值?