首页 > 解决方案 > 如何实现具有可变长度选择的 softmax 损失

问题描述

我正在尝试在 tensorflow 上实现 drqa 模型,我将在其中预测答案子字符串的开始和结束位置。所以有 [batch_size, max_time] 的概率输出,对应的上下文序列。现在我想应用 softmax 交叉熵损失,但序列是零填充的。所以我不希望填充被计入损失。有一些建议如何实施吗?谢谢你。

标签: pythontensorflowsequences

解决方案


使用权重。

tf.losses.softmax_cross_entropy(
  labels,
  logits,
  weights=[1.]* actual_length + [0.]* (max_length - actual_length)
)

推荐阅读