3.8注意力模型(Attention Model)
Last updated
Last updated
注意力模型让一个神经网络只注意到一部分的输入句子。当它在生成句子的时候,更像人类翻译
假定有一个输入句子,并使用双向的RNN,或者双向的GRU或者双向的LSTM,去计算每个词的特征:
用表示时间步上的特征向量。用来索引法语句子里面的词,由于是双向RNN,每个:
注意力权重用表示,C是各个RNN神经元经过注意力权重得到的参数值。例如表示机器翻译的第一个单词“jane”对应的第个RNN神经元,表示机器翻译第一个单词“jane”对应的解码网络输入参数。满足:
用状态表示生成翻译。是输出在时对RNN单元花在上的注意力权重因子。即在处生成输出词应该花多少注意力在第个输入词上面
建立一个简单的神经网络
注意力模型在图像捕捉方面也有应用。比如图片加标题(image captioning),即看一张图,写下这张图的标题
Attention model还能处理日期标准化的问题(the date normalization problem):
训练一个神经网络,输入任何形式的日期,生成标准化的日期形式
还有可视化的注意力权重(the visualizations of the attention weights)。颜色越白表示注意力权重越大,颜色越深表示权重越小。输出语句单词与其输入语句单词对应位置的注意力权重较大,即对角线附近
为了让之和为1,利用softamx思想,引入参数,使得:
只要求出,就能得到
如何求出:
输入,即神经网络在上个时间步的状态和,训练一个很小的神经网络,利用反向传播算法、梯度下降算法迭代优化,学到一个正确的函数 和
缺点:计算量较大,个输入单词和个输出单词的注意力参数的总数是,但是在机器翻译的应用上,输入和输出的句子一般不会太长,消耗还是可以接受