当前位置:网站首页>transformer的理解
transformer的理解
2022-07-28 05:22:00 【Alan and fish】
1.二头注意机制
- 引入二头
这里二头注意力机制,其实就是将前面的q,k,v进行细分,分成两个,这样关注的信息就被细化了.
将权重w拆分成wq,1,wq,2两个权重参数,然后将a分别与两个权重参数进行点乘,得到了qq,1和qq,2. - 计算 α \alpha α
这个时候,将q的第一个头与每个k的第一个头进行计算,q的第二个头与k的第二头进行计算,就会得到两个 α \alpha α1, α \alpha α2 - 计算b

后面的步骤就和单头注意力机制是一样的了,区别在于多头注意力机制引入多个头,信息更细分了,要进行多个计算,结果更准确.
2.引入位置信息
注意力机制中存在一个缺陷,就是没有位置信息,所以给注意力机制引入了一个one-hot结构的位置矩阵.
将权重矩阵W拆分成WI和WP,然后与输入值x和位置信息p进行点乘,得到ei和 α \alpha αi
3.transformer框架可视化理解

以机器翻译为例,输入一个机器学习,首先会经过编码,然后再经过解码,得到你想要的信息,tansformer机制就是一个编码和解码的过程.
输入的信息x会与一个one-hot编码的位置信息相结合,然后输入进一个self-attention多头注意力机制.然后将编码的结果作为解码的输入,将输入放到一个masked多头注意力机制,然后在经过self-attention注意力机制,最后经过一系列的操作得到最后的输出.
其中在编码的时候,添加了一个Norm层,Norm和Layer的区别就是,Norm是横向的,Layer是纵向的.
4.通过可视化看看注意力机制的效果

如图所示:
文中的it是一个代词,在这段文本中,it指代的是animal,所以它与animal的依赖更多一点,他们之间的关系线颜色更深.
5.单头注意力机制与多头注意力机制的效果对比

上面绿色的是多头注意力机制,下面红色的是单头注意力机制,从图中可以看出,多头注意力机制关注的信息跟多一些.
边栏推荐
猜你喜欢

Flink CDC (MySQL as an example)

【二】redis基础命令与使用场景

Wechat official account - authorized login

Micro service architecture cognition and service governance Eureka

接口防重复提交
Installation and use of sqoop

Data warehouse tool superset installation (fully available)

Mars number * word * Tibet * product * Pingtai defender plan details announced

Structured streaming in spark

【6】 Redis cache policy
随机推荐
第七章 单行函数
Sqoop安装及使用
【4】 Redis persistence (RDB and AOF)
CertPathValidatorException:validity check failed
vscode uniapp
CentOS7 安装Mysql
Sales notice: on July 22, the "great heat" will be sold, and the [traditional national wind 24 solar terms] will be sold in summer.
svn incoming内容无法更新下来,且提交报错:svn: E155015: Aborting commit: XXX remains in conflict
Single line function, aggregate function after class exercise
No module named yum
mysql5.6(根据.ibd,.frm文件)恢复单表数据
XML parsing entity tool class
微信小程序开发详细步骤是什么?
数据处理之增删改;约束
分布式集群架构场景化解决方案:集群时钟同步问题
【七】redis缓存与数据库数据一致性
分布式锁-数据库实现
Linux(centOs7) 下安装redis
2:为什么要读写分离
分布式集群架构场景优化解决方案:分布式调度问题