soft Attention 和Hard Attention

以下内容摘自:https://zhuanlan.zhihu.com/p/31547842

2.1 soft Attention 和Hard Attention

把输入X编码成一个固定的长度,对于句子中每个词都赋予相同的权重,这样做是不合理的,因此,对输入的每个词赋予相同权重,这样做没有区分度,往往是模型性能下降。
Attention Mechanism,用于对输入X的不同部分赋予不同的权重,进而实现软区分的目的。
Kelvin Xu等人与2015年发表论文《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》,在Image Caption中引入了Attention,当生成第i个关于图片内容描述的词时,用Attention来关联与i个词相关的图片的区域。

Soft Attention:

传统的Attention Mechanism就是Soft Attention。Soft Attention是参数化的(Parameterization),因此可导,可以被嵌入到模型中去,直接训练。梯度可以经过Attention Mechanism模块,反向传播到模型其他部分。

Hard Attention:

相反,Hard Attention是一个随机的过程。Hard Attention不会选择整个encoder的输出做为其输入,Hard Attention会依概率Si来采样输入端的隐状态一部分来进行计算,而不是整个encoder的隐状态。为了实现梯度的反向传播,需要采用蒙特卡洛采样的方法来估计模块的梯度。
两种Attention Mechanism都有各自的优势,但目前更多的研究和应用还是更倾向于使用Soft Attention,因为其可以直接求导,进行梯度反向传播。


更多关于attention的内

2.2 local / global attention
2.3 Self Attention


还有一篇相对来说理论性较强的https://www.cnblogs.com/taojake-ML/p/6113459.html

猜你喜欢

转载自blog.csdn.net/ccbrid/article/details/79730645