软注意力和硬注意力对比有什么不同?
0 1879
1
该提问暂无详细描述
收藏
2021-01-26 13:53 更新 阿托 •  17067
共 1 个回答
高赞 时间
0

软注意力

我们通过软注意力或硬注意力来实施注意力。在软注意力中,我们没有用输入图像x作为LSTM的输入,而是依据注意力输入了加权图像特征。在详细介绍之前,我们可以将加权特征可视化以说明差异。照片中注意力更高的区域更亮。

再次,我们将特征图可视化为图片。

该图片将LSTM的加权特征及其预测的单词可视化。软注意力通过将相应的特征图乘以低权重来区分不相关的区域。因此,高注意力区域保持原始值,而低注意力区域接近0(在可视化中变暗)。在“一个拿着一个塑料容器的男人”的上下文中,注意力模块创建了一个新的特征图,除了塑料容器区域之外,所有区域都变暗了。通过更集中的信息,LSTM可以做出更好的预测(“容器”一词)。

下面来看如何计算LSTM的加权特征。 x1,x2,x3和x4分别覆盖图像的一个子部分。计算分数来衡量s_i对x_i的关注程度,即:

其中,上下文C=h_(t-1).

我们将s_i传递给softmax函数进行归一化以计算权重α_i。

在softmax函数中,α_i等于1,我们用它来计算x1,x2,x3和x4的加权平均值

最后,我们使用Z代替x作为LSTM输入。

|我们计算每个区域的。使用相应的softmax值从输入要素中计算加权输入。

硬注意力

在软注意力中,我们为每个x_i计算权重α_i,并使用它来计算x_i的加权平均值作为LSTM输入。 α_i加起来等于1,这可以解释为x_i是我们应注意的区域的概率。因此,不用加权平均值,而是用αi作为采样率来选择一个x_i作为LSTM的输入。

硬注意力用随机抽样模型代替了确定性方法。为了在反向传播中正确计算梯度下降,我们使用蒙特卡洛方法进行采样并取平均结果。蒙特卡洛执行端到端操作,以计算所有采样结果的平均值。准确度取决于执行了采样次数和采样质量。

另一方面,软注意力遵循常规且较容易的反向传播方法来计算梯度。但是,准确性取决于(加权平均值可以很好地表示注意力区域)这一假设。

两者都有缺点,目前来看,由于反向传播似乎更有效,因此软注意力更加受欢迎。

转载参考https://jhui.github.io/2017/03/15/Soft-and-hard-attention/

收藏
2021-01-26 14:37 更新 正直的烤面包 •  4004