1、传统缺点:seq2seq使用循环网络固有的顺序特性阻碍样本训练的并行化,这在更长的序列长度上变得至关重要,因为有限的内
存限制样本的批次大小;传统的seq2seq 处理时刻数 0-50,bert可以处理 几百个时刻长度的序列。
2、新结构:Transformer,这种模型架构避免循环并完全依赖于attention机制来绘制输入和输出之间的全局依赖关系。 Transf
ormer允许进行更多的并行化
3、优势总结:
① bert、transformer 引入 位置嵌入 的思想,因此可以保证前后关系依赖的前提下实现并行化,bert网络比传统的r
nn网络运行速度快很多
② 就算LSTM 引入了更新门、遗忘门,它不能完美解决 state 方向的梯度消失问题,因此LSTM处理的序列长度通常不超过
50,bert网路可以处理更长的序列。
4、bert、transformer、传统rnn的缺点:
虽说 他们 结构有差异,但是都属于 FC 类型的网络。
Self-attention:有时称为intra-attention,是一种attention机制,它关联单个序列的不同位置以计算序列的表示。 Self-attention已成功用于各种任务,包括阅读理解、摘要概括、文本蕴涵和学习与任务无关的句子表征。
1、注意:
① 编码器的输出维度结构:
输入多少时刻的词,输出就是多少时刻的词,它们的时刻数相同,用于 与解码器 之间的attention做准备
执行过程:
1、模型还没有描述词之间的顺序关系,也就是如果将一个句子打乱 其中的位置,也应该获得相同的注意力,为了解决这个问题,
论 文加入了自定义位置编码,位置编码和word embedding长度相同 的特征向量,然后和word embedding进行求和操作。
2、位置嵌入的作用
transformer 网络编码器的输入是 多时刻 词embeding,为了使得并行执行的网络学习到词与词前后顺序,因此在词向
量输入网络前用 位置向量 进行标记。
例: 我 是 中国 人
0 1 2 3
将 位置 0,1,2,3..... 类似word2vec 的方式进行 嵌入。
1、一个head相当于提取一种特征,类似于CNN的多输出通道一样吧,muti-head可以提取文本更多的特征。
Mask:遮挡掩盖的意思,比如:把需要预测的词给挡住。出现出 现在OpenAI GPT和Bert中。
Q:我|困|了 A:早点|休息 随机干扰句:你|该|吃饭|了
Input = [CLS] 我 [MASK] 了 [SEP] 早点 [MASK] [SEP]
Label = IsNext
Input = [CLS] [MASK] 困了 [SEP] 你该 [MASK] 饭了 [SEP]
Label = NotNext
-------- FNN 层计算方式
1、FFN层目的:
残差结构的作用:
类似 resnet 的思想,防止导链断掉(某部分出现梯度消失)。
1、作用:
目的类似于 BN 层的三个作用,具体看 https://blog.csdn.net/qq_16555103/article/details/89914946
1、放缩点积attention:
self-attention 权重α计算方式
多头attention的Query,Key,Value首先进过一个线性变换,然后输入到放缩点积attention,注 意这里要做h次,其实也就是所谓的多头,每一次算一个头。而且每次Q,K,V进行线性变换的参 数W是不一样的。然后将h次的放缩点积attention结果进行拼接,再进行一次线性变换得到的值作 为多头attention的结果。
1、BERT语言模型优势
① BERT 使用 Masked(掩码) 语言模型(也称为 “完形填空” 任务)来实现预训练好的深度双向表征。
② BERT 使用的是一个双向的全连接结构,从图中可以看出是在所有的网络层中都受到左右文本的共同作用。
③ BERT 使用的是 transformer 结构,因此它是一个并行执行的结构,它的运行速度较快
④ BERT 是一种 12/24 ... 层transformer 结构(muti-head-attention),提取的文本信息特征比较丰富
CLS:每个序列的第一个 token 始终是特殊分类嵌入(special classification embedding),即 CLS。对应于该 token
的最终隐藏状态(即,Transformer的输出)被用于分类任务的聚合序列表示。如果没有分类任务的话,这个向量是被忽略的。
SEP:用于分隔一对句子的特殊符号。有两种方法用于分隔句子:第一种是使用特殊符号 SEP;第二种是添加学习句子 A 嵌入到
第一个句子的每个 token 中,句子 B 嵌入到第二个句子的每个 token 中。如果是单个输入的话,就只使用句子 A 。
token:令牌,相当于输入端口