自回归:输入又作为输出
embedding变为向量
encoder像MLP?是说全连接feed-forward network
旁边的线是残差连接residual connection(上一章有说?去看看)把输入和输出连在一起LayerNorm(x + Sublayer(x))是每个sub-layer的输出。计算残差需要输入和输出一样大小,为了使计算简单所以这里每个残差输出全用d-model=512维(MLP一般降低维度,CNN一般空间维度往下减,channel维度往上拉)
Add&Norm:layer normalization
这个模型一共就2参数可以调,一个是N有多少层,一个是d-model多少维
batchnorm和layernorm:在变长的应用里不使用batchnorm。batchnorm在二维里矩阵为x[batch][feature],把mini-batch的一列feature进行norm。norm,把一组数据变为均值为0方差为1:减去均值,除以方差。layernorm把每一行(即样本batch)进行norm
但一般用3D,样本batch-序列长度sequence-词向量feature(我认为元素是:句子-词-字母)sequence的长之前的N,feature的长为之前的d-model
关于mask:在注意力机制里,每次能看到一个完整的输入。但自回归是每次的输入是上一次的输入(而不是之后的输入),所以需要使用mask。
关于attention:output是value的加权和,权重是value的key和query的匹配程度(compatibility function)计算而来。不同attention的compatibility function不同。Scaled Dot-Product Attention的输入query和key等长,维度为dk,value维度为dv,计算query和所有key的点积/内积(dot product)除以dk^(1/2),然后再用softmax得到n个非负的且加起来等于1的权重(?)。可以用两次矩阵乘法得到。对于为什么要除以根号dk,以后再看。mask把没有涉及到的kt到kn的点积都赋为超级负的负数,以至于进行softmax后,权重几乎为零
投影?MLP?于RNN的区别
embedding :将词token转化为向量
Positional encoding:加入时序信息,在输入时加入,与输入相加
dropout层正则化?softout与置信度有关?
attention is all your need个人学习
最新推荐文章于 2024-06-17 22:18:29 发布