仿做国外产品网站出路,手机网站免费生成app,农副产品网站建设目标,网站建设陷阱一、传统RNN存在的问题 1.序列前序太长#xff0c;每个xi要记住前面的特征#xff0c;而且一直在学#xff0c;没有忘记#xff0c;可能特征不能学的太好
2.串行#xff0c;层越多越慢#xff0c;难以堆叠很多层#xff1b;
3.只能看到过去#xff0c;不能看到未来 搞…一、传统RNN存在的问题 1.序列前序太长每个xi要记住前面的特征而且一直在学没有忘记可能特征不能学的太好
2.串行层越多越慢难以堆叠很多层
3.只能看到过去不能看到未来 搞个双向的然后把两个方向学到的特征拼接那么对于xi影响最大的是xi-1和xi1吗是相邻的两个吗不一定所以也不太合理
二、重大事件
1.2017年 attention is all your need 出现RNN退出历史舞台
2.2018 年 transformer 更空出世bert 和GPT1 transformer究竟是干什么的通俗上说就是1是平淡无奇的特征2是特征鲜明的特征transformer的功能就是把1输入进去然后输出2.
没有transformer之前的算法 训练模型就是训练参数更新参数但是transformer不仅更新参数还可以根据上下文信息更新数据transformer站的高看的远考虑全文
三. self-attention 假设x1,x2是两个向量它们两个的关系就是算内积 x1.x20表示没关系x1.x2表示关系特别大。
transformer中 不是简单算内积而是构建三个向量参数 q,k,vq相当于问k相当于答比如词 thing ,mathines编码后的特征是x1,x2,则x1和x1的关系是 q1.k1x1和x1的关系是 q1.k2x2和x2的关系是 q2.k2x2于x1的关系是 q2.k1怎么得到q,k,v呢 q,k,v都是需要设计一个wxbw,b都是先初始化再通过训练更新的矩阵通过和向量矩阵x1x2 全连接 计算得来的。参数值是通过训练得到的。transformer本质就是提特征。最后得到w,b,q,k,v ,怎么得到v呢 value 表示自身特征表示对自身的认知。也是需要学习的输出attention value 向量维度越大得到内积就越大这是不合适的需要排除特征维度的影响。所以要归一化将值变成概率dk是特征的维度。 比如想得到500维的特征向量那就可以分5个头也就是5组q,k,v最后拼接就可以得到更丰富的特征。 此例子中我打你 你打我两句话中的词 的特征是不变的也就是说transformer对位置特征不敏感所以需要加入位置信息 加入one-hot的位置编码特征与对应位置的编码做加法就可以了 可以堆叠多层self-attention吗可以模仿15年出世的resnet残差结构来实现因为每一次的self-attention的输入和输出维度都一样所以可以堆叠多层。 self-attention相当于encoder层会得到每一个词的特征那输出就是要利用这个学出来的特征去做事比如翻译就是decoder层了。左边的encoder部分每个词都通过self-attention学到了特征右边decoder部分每一个词要提供q, encoder提供k,v ,q1k1v1,q1k2v2,q1k3v3,q1k4v4, 这就是cross-attention,decoder需要self-attention吗要只不过是只需要算后面和前面的关系即算q2和q1的关系不需要算q1和q2的关系因为算去q1的时候还没有q2呢只能从后往前看不能从前往后看所以加入MASK机制遮挡后面看不到的 input: 输入一个词
input Embedding 词嵌入即把词变成一个特征向量
normBN,批处理
add:残差链接
feed forward: 全连接 linear 也是全连接
注意decoder部分 既有self-attention,又有cross-attention 多模态就是要学习各种特征实际上就是cross- attention bert 自监督 随机遮挡15%的词然后预测这些词