Sequence to Sequence模型理解模型理解
借鉴博客:几张图彻底搞定Seq2Seq
Sequence to Sequence模型由两部分组成:Encoder和Decoder。在机器翻译过程中,假设要将汉语翻译成英语,首先,我们需要两个
词典,一个是汉语的词语与数字(index)的一一对应的词典,另一个是英语单词与数字(index)的一一对应的词典,这样,就可以由
词语得到数字,也可以由数字得到词语。
1.Encoder部分:对于输入的一句汉语,将其切割成汉语词语,通过查汉语词典得到词语对应的数字,将每个数字转换为一个固定长度的
向量,作为循环神经网络RNN的输入,例如X1,X2,X3X_1,X_2,X_3X1,X2,X3,先输入X1X_1X1,与初始状态H0H_0H0一起,得到
H1H_1H1,然后由X2X_2X2和H1H_1H1得到H2H_2H2,再由H2H_2H2和X3X_3X3一起得到H3H_3H3,这个H3H_3H3即最后一个隐
状态作为向量C传入Decoder。
2.Decoder部分:里面也是一个循环神经网络RNN,向量C作为这个RNN的初始隐状态,由英语词典将英语词语转换为数字,并转换为
向量作为Decoder中RNN的输入,与初始隐状态一起得到各个时间的隐状态,隐状态与一个数相乘经过softmax之后得到图中的OiO_iOi
,是一个概率分布,再经过argmax得到一个整数YiY_iYi,这个数通过英语词典得到其对应的英语单词。
作者:weixin_45997688
评论0
最新资源