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处理,有利于模型模型训练

相关推荐
SNWCC13 分钟前
autodl_M000_pytorch
人工智能·pytorch·python
Swift社区18 分钟前
ArkUI 如何设计 AI 原生 UI?
人工智能·ui
Lw中28 分钟前
RAG用户查询太模糊?
人工智能·大模型应用开发·rag查询
deephub35 分钟前
多智能体系统的三种编排模式:Supervisor、Pipeline 与 Swarm
人工智能·python·大语言模型·agent
Lw中36 分钟前
提示词效果不稳定?
人工智能·rag·大模型应用基础
globaldomain39 分钟前
安全研究发现OpenClaw AI代理“极易受劫持”
人工智能·安全·openclaw·龙虾
墨102442 分钟前
与 AI 并肩成长:从个人知识库到每日新闻系统的实践记录
人工智能·ai·ai编程·openclaw
翱翔的苍鹰43 分钟前
LangChain是一个主流的大语言模型(LLM)应用开发框架,核心功能是连接大模型与外部资源/工具。
网络·人工智能·python·深度学习·语言模型
坚持学习前端日记43 分钟前
AI 产品开发经验
前端·javascript·人工智能·visual studio