这篇笔记主要是我在学习这些算法的过程中,遇到难以理解的地方之后去查询资料,然后记录下了我自己的一些针对这些难点的理解,并不是对大标题中的概念进行一个基础地介绍,如果你完全没有听说过这些概念,建议先去百科一下,或者看看原文,然后如果有卡壳的地方,希望这篇笔记能帮助到你。
Seq-to-Seq model
- 以Neural Machine Translation来说,seq1的每个字依次进入encoder被encode成一个个hidden states(也可以称context——越是往后的hidden states/context,包含句子的内容越多),当最后一层hidden states被算出来,这个last hidden states就包含了seq1句子所有的context,并且被送入decoder,decoder开始output seq2的每个字,并且在decoding的过程中,不断地产生hidden states(即so far目前被decode了的所有context)。
- context vector,即最后一层的hidden layer,会比较有问题,因为没办法处理过长的句子的所有信息(毕竟要把一整个句子的含义全部encode到一个vector里),后来出现了Attention这种结构,作为弥补RNN的hidden layers的解决办法。
- Seq-to-Seq with Attentions:
1)不同于之前只把最后一层encoder生成的hidden layer递给decoder,现在encoder生成的所有的hidden layers都要递给decoder,然后让decoder自己来判断当它想翻译一个字(例如f3 -> e3)的时候,它会更多更多地参考哪个fi,i≠3f_i, i \ne 3fi,i=3词向量,所以decoder的第一层hidden states其实是一个weighted sum of encoder hidden states。
2)所以整个流程是:
- encoder生成所有的hidden layers, h1eh_1^eh1e,…,hneh_n^ehne
- decoder接收到<END><END><END>的词向量,和一个initial decoder hidden layer hinitdh^d_{init}hinitd,生成hn+1dh_{n+1}^dh
NLP深度学习解析:Seq2Seq、Transformers与迁移学习实践

这篇笔记探讨了NLP中的难点,包括Seq-to-Seq模型、Transformers和迁移学习的应用,如ELMo、OpenAI GPT和Bert。Seq2Seq模型通过Attention机制解决长句编码问题;Transformers采用非顺序处理,通过自注意力进行词与词的关系建模;而GPT和Bert通过预训练和微调提升NLP任务性能,Bert引入双向上下文增强表示。
最低0.47元/天 解锁文章
1860

被折叠的 条评论
为什么被折叠?



