基于Attention的神经网络
基于Attention的神经网络1、回顾Seq2Seq模型Seq2Seq是由一个编码器encoder和解码器decoder组成,encoder输入的是英语,decoder把英语翻译成其他语言。encoder每次读入一个英语词向量x,在状态h中积累输入信息,最后一个状态hm积累了所有的向量x的信息,encoder输出最后一个状态信息hm,把之前的状态向量都扔掉。decoder初始状态S0等于enco
基于Attention的神经网络
1、回顾Seq2Seq模型
Seq2Seq是由一个编码器encoder和解码器decoder组成,encoder输入的是英语,decoder把英语翻译成其他语言。encoder每次读入一个英语词向量x,在状态h中积累输入信息,最后一个状态hm积累了所有的向量x的信息,encoder输出最后一个状态信息hm,把之前的状态向量都扔掉。
decoder初始状态S0等于encoder最后一个状态hm,其中hm包含了输入句子的所有信息。
之后decoder就像文本生成器一样,逐子生成德语,这句德语就是模型生成的翻译,可惜Seq2Seq有一个明显的缺陷,如果输入的句子很长,那么encoder会记不住完整的句子。
2、模型比较
明显看出使用Seq2Seq模型,当单词量超过20个左右,该模型就开始下降,而引入了注意力模型之后,明显优与未使用注意力模型(注:BLEU是评价机器翻译的好坏)
3、引入注意力机制的Seq2Seq模型
1、使用注意力机制,Seq2Seq不会遗忘
2、attention可以告诉decoder应该关注encoder哪些状态
3、attention可以大幅提高准确率
4、attention的计算量很大
上面说到decoder的初始状态S0等于encoder的最后一个状态hm
encoder的所有状态h1、h2、····、hm都要保存下来,所以这里要计算S0与每一个h的相关性
用上面的公式来计算相关性
用encoder的第h个状态与decoder初始状态S0的相关性,结果即为ai,即为权重
未完待续··········
更多推荐
所有评论(0)