Bert---理解基础

  1. Bert理解的基础
    (1)Word Embedding
    (2)RNN
    (3)Seq2Seq
    (4)Transformer

  2. Word Embedding脉络
    w2v:词映射到低维稠密空间,使得语义上相似的两个词在语义空间的距离也会比较近。
    w2v的问题: 语义是上下文相关的。 而w2v训练出来词的向量始终只有一个。

RNN/LSTM/GRU 来解决。 能记住一些历史信息。再往后发展,Seq2Seq由两个RNN组成, 可用于翻译、摘要、问答和对话系统。
RNN/LSTM/GRU的问题:大部分场景下监督数据量不足,难以学到复杂的上下文表示。

解决方案:无监督的上下文 word embedding,如ELMo、OpenAI GPT、 BERT。

  1. 详解变迁
    (1)独热编码
    问题:高维、稀疏、正交(无法表达语义相似程度)

(2)语言模型,如N-gram模型,预测句子概率
问题:a. 长距离依赖问题(住在法国…所以说xx流利)
b. 泛化能力问题(局限于训练数据)

(3)2003年 神经网络语言模型 可以解决问题 b.
原因:通过训练出 词向量,相似词的词向量在向量空间相近。
问题:计算低效。

(4)2013年 word2vec
分布式假设: 两个词上下文相似,则它们的语义也相似。
CBOW:context预测中心词
Skip-Gram:中心词预测context
可以训练出一个比较的词向量表示(“副产物”)
问题:没考虑上下文

(5)RNN 有“记忆”能力
Bert---理解基础_第1张图片
问题:反向传播算法中loss传递带来的 梯度消失。无法解决长距离依赖的问题。

(6)LSTM 通过门的机制来避免梯度消失
Bert---理解基础_第2张图片
GRU 把遗忘门和输入门合并称一个更新门
Bert---理解基础_第3张图片
(7)Seq2Seq
一个RNN的输出:序列标注:n->n、文本分类:n->1
当n->m:机器翻译,对话机器人等领域 没法用一个RNN实现。
所以使用两个RNN, Encoder和Decoder。
Bert---理解基础_第4张图片
普通Seq2Seq的问题:定长的context向量

(8)Attention机制
翻译某个词时pay attention to 相关词:
(soft对齐)
Bert---理解基础_第5张图片
(9)RNN的问题:
c. 顺序依赖,无法并行。很难训练很深的RNN、LSTM。
Bert---理解基础_第6张图片
d. 单向信息流的问题。
Bert---理解基础_第7张图片
(10)Self-attention 解决d 问题
普通的Attention需要外部的“驱动”:
Bert---理解基础_第8张图片
self-attention 自驱动:
编码第t个词时,用当前状态去驱动:
Bert---理解基础_第9张图片
(11)Transformer结构
self-attention是Transformer的一部分。
本质:多层的encoder-decoder。
Bert---理解基础_第10张图片
而每一层 Encoder 和 Decoder:
Bert---理解基础_第11张图片
Decoder 还有 “普通” 的 attention 输入来自 Encoder。

Encoder详细结构, 注意 self-attention 和 FNN 的区别:
Bert---理解基础_第12张图片
未完待续,具体学习资料参见:
https://v.qq.com/x/page/j0855zl9a9r.html

你可能感兴趣的:(算法)