• transformer理解


    李宏毅老师讲解的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处理,有利于模型模型训练

  • 相关阅读:
    SettingsIntelligence
    Redis的分布式锁问题(九)Redis + Lua 脚本实现分布式锁
    9.20 作业
    【Docker故障处理篇】运行容器报错“docker: failed to register layer...file exists.”解决方法
    MapStruct
    linux配置文件共享
    山西佳诺德:短视频有哪些类型
    算法-分数
    浏览器调试
    敏稳融合时代,云原生PaaS是企业IT转型的“灵药”吗?
  • 原文地址:https://blog.csdn.net/yyfhq/article/details/133969927