【发布时间】:2021-03-06 22:46:02
【问题描述】:
假设我有一个输入张量,每个时间步带有一个嵌入词,例如,对于 5 的时间窗口和 64 的词嵌入向量宽度,我得到了形状:
(None, 5, 64, 1)
我应用 4 个内核形状为 (1, 64) 的过滤器在每个时间步寻找特定的词,每个过滤器在每个时间步产生 1 个值,表示“词/含义存在”或“词/含义不存在” .它产生一个形状的输出张量:
(None, 5, 1, 4)
我如何定义 softmax 层的“轴”参数,以使 每个时间步 的所有卷积的输出都被归一化,就像在分类任务中一样?
更具体地说,我希望输出如下所示(高度是时间,宽度是通道):
[[[.1, .4, .4, .1]]
[[.9, 0, 0, .1]]
[[.8, 0, .1, .1]]
[[ 0, 1, 0, 0]]
[[.6,. 1, .1, .2]]]
即每行/时间步长的分量加起来为一,softmax 应该只对行进行归一化。
代码sn-p:
model.add(layers.Conv2D(
filters=words_of_interest,
kernel_size=(1, embedding_length),
strides=(1, embedding_length),
padding="same")
)
model.add(layers.Softmax(axis=3)) # <- is this correct for what i described above?
【问题讨论】:
标签: python tensorflow keras tensor activation