Attention mechanism在序列学习任务上具有巨大的提升作用,在编解码器框架内,通过在编码段加入Attention模型,对源数据序列进行数据加权变换,或者在解码端引入Attention 模型,对目标数据进行加权变化,可以有效提高序列对序列的自然方式下的系统表现。
从应用层面上Attention可以分为:
空间注意力 Spatial Attention
时间注意力 Temporal Attention
从 Attention的作用方法上可分为:
Soft Attention
Hard Attention
根据Attention输出的向量分布是一种one-hot的独热分布还是soft的软分布,这直接影响对于上下文信息的选择作用。
为什么要加入Attention:
1. 当输入序列非常长时,模型难以学到合理的向量表示。
2. 序列输入时,随着序列的不断增长,原始根据时间步的方式的表现越来越差,这是由于原始的这种时间步模型设计的结构有缺陷,即所有的上下文输入信息都被限制到固定长度,整个模型的能力都同样受到限制,我们暂且把这种原始的模型称为简单的编解码器模型。
3. 编解码器的结构无法解释,也就导致了其无法设计。