decoder端输入训练时是对应的句子和encoder的output,
那生成时不知道翻译的结果输入的是什么呢?
decoder端跟lstm类似也是一个时序模型,输入的是上一个词的向量与encoder最后一层的feed forward。
生成时刚开始输入的为<start>的词向量。
关于位置信息:提前在训练的词向量里加了一个表示位置的向量进入模型进行训练,解决词序问题。
词向量与位置向量是加法不是拼接。每个位置的向量是人为定的。通过一个公式。
ELMO:双向LSTM训练得到的词向量。
RNN/LSTM存在问题 :
模型“竖着的方向”不会很深。一般两层。
Transformer结构:
encoder和decoder两部分