公众号关注 “Python遇见机器学习”
设为“星标”,第一时间知晓最新干货~
转自https://blog.csdn.net/smilesooo/article/details/106224377
位置编码
1
位置编码
1. 引入
文本序列是一种时序型数据,单词之间地顺序关系往往会影响整个句子的含义。RNN网络在做文本生成时,顺序考虑每个时间步的文本信息,文本的输出会根据单词的输入顺序改变而改变,换句话说RNN模型考虑到了单词的顺序关系,因此不需要考虑单词的位置编码信息。卷积神经网络对局部词序敏感,可较好地建模N-Gram信息,这部分信息对于文本分类任务已经能取得较好地效果。但Transformer模型在处理句子时,将所有单词并行处理,由于每个单词都能考虑到整个句子所有单词的信息,因此若不考虑单词的位置编码,打乱单词顺序时,整个句子的输出应该是一样的,即Transformer模型是一种对单词位置不敏感的模型。
位置编码的方式主要有两种,一种是定义nn.Embedding子层,让整个网络学习到序列的位置编码信息,另一种是对每一个位置的单词,通过固定的函数得到单词的位置编码信息。
2. 位置编码初始模型
尽管卷积神经网络可利用序列地局部顺序信息,但没法获得相隔较远的两个单词之间的信息。《Convolutional Sequence to Sequence Learnin