transformer理解

本文解析了Transformer中自注意力机制如何解决RNN的限制,包括self-attention的原理、多头设计、位置编码的应用,以及Feedforward网络和BN/LN的区别在模型训练中的作用。
摘要由CSDN通过智能技术生成

李宏毅老师讲解的Transformer,非常简单易懂:https://www.youtube.com/watch?

RNN存在的问题是,只有得到t(i)时刻的向量信息才能够计算t(i+1)时刻的向量信息,无法实现并行化。无法实现长序列的特征信息提取,超过一篇文章的训练,train不起来。

self-attention首先利用自身embedding q,所有embedding k乘积得到的是自身embedding与其他embedding 之间的一个对应权重关系,除以根号d是为了解决维度越长特征信息数值越大的问题。对上述得到的对应权重信息进行soft-max,相当于对权重信息进行归一化处理,有利于后面与特征信息乘积的计算。

然后利用所有的对应权重关系与各自的value值相乘再相加,相当于自身embedding 与其他embedding 特征信息进行信息整合,整合后的结果作为当前embedding特征信息进行输出。

multi-head self-attention 相当于增加了多个需要训练的权重信息,相当于多层卷积核同时进行训练,增加训练过程中的特征信息的维度。不同的head关注的特征信息可能不同。

加入位置编码信息:

因为没有位置信息,所以加入 positional encoding

Feed forward理解:

Feed forward 在作的事情有点像SENET 先进行特征维度的延展,然后进行非线性变换,再进行特征信息的压缩,从而实现注意力的增强,实现一个非线性化。

BN与LN的区别:

BatchNorm是对一个batch-size样本内的每个特征做归一化,LayerNorm是对每个样本的所有特征做归一化。

BN抹杀了不同特征之间的大小关系,但是保留了不同样本间的大小关系;LN抹杀了不同样本间的大小关系,但是保留了一个样本内不同特征之间的大小关系。

在图像处理中对图像的信息中的亮度、颜色进行BN处理,有利于模型模型训练

在文本处理中对单条文本信息进行语义上的LN处理,有利于模型模型训练

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值