导图社区 Attention is all you need
论文《Attention is all you need》细节的整理,包括transformer结构的详解,以及更细节的计算逻辑。
对于二类分类器/分类算法,评价指标主要有accuracy, [precision,recall,F-score,pr曲线],ROC-AUC曲线,gini系数。对于多类分类器/分类算法,评价指标主要有accuracy, [宏平均和微平均,F-score]。对于回归分析,主要有mse和r2/拟合优度。
最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
Attention is all you need
(知乎博文) https://zhuanlan.zhihu.com/p/47282410 (国外极其详细的一篇讲解,非常棒) https://jalammar.github.io/illustrated-transformer/ (优质讲解) https://www.cnblogs.com/robert-dlut/p/8638283.html
Self-Attention 自注意力
基本结构
该过程可表示为
sqrt(dk)是尺度标量,Q和K的点积结果过大
直观展示
Q,K,V矩阵都是由输入产生
生成Q,K,V
W^Q, W^K, W^V 是我们模型训练过程学习到的合适的参数
输入一个句子,那么里面的每个词都要和该句子中的所有词进行attention计算
学习句子内部的词依赖关系
捕获句子的内部结构
使用自注意力机制的原因
复杂性
和RNN和CNN相比是比较占优的
是否可并行
多头Attention中每个Self-Attention之间没有依赖可以同时进行
长距离依赖
由于每个词都要和其他词计算注意力,所以最大路径长度为1,很容易捕获长距离依赖
MultiHead-Attention 多头注意力
多个Self-Attention结构的结合
每个head学习到在不同表示空间中的特征
Decoder
结构
第一级的Masked Multi-head
第一级的K,Q,V均来自前一层decoder的输出
加入了Mask操作
翻译过程中并不知道下一个输出词语
只能attend到前面已经翻译过的输出的词语
第二级的Multi-Head
query来自于之前一级的decoder层的输出
key和value来自于encoder的输出
decoder的每一个位置都可以attend输入序列的每一个位置
Input Embedding
Embedding示意图
Token Embeddings
是词向量,第一个单词是CLS标志,可以用于之后的分类任务
Segment Embeddings
用来区别两个句子
Position Embeddings
其它细节
position encoding
说明
模型中没有recurrence和convolution操作,所以没有单子在句子中的相对或者觉得位置信息
为让模型学习位置信息,在word embedding上加了一层position encoding
选取三角函数的encoding方式
Position Embedding对于本身模型不能捕捉位置信息,只是起到了一个弥补的作用,并不能从根本上解决模型设计上的缺陷
重要意义
Self-Attention虽然构思巧妙,但是只能说是一个精妙的词袋模型,并没有捕捉到任何次序信息,所以要加上额外的次序信息
位置编码
Add & Norm
Add 代表 Residual Connection
类似于图像处理的ResNet的结构
将前一层的信息,无差别的传递到下一层
解决多层网络训练困难问题
Norm则代表了Layer Normalization
激活值归一化
加速训练过程
Transformer模型架构