对Transformer的理解。

news2024/10/6 22:22:58

要理解Transformer,需要先理解注意力机制,下面大部分内容来自台大教授李宏毅老师讲课资料。

注意力机制

之前使用的MLP,CNN,RNN模型可以解决一些简单序列问题,但当序列长度太长容易失去效果,原因是看了新的忘了旧的,网络很难关注到相距很远的 token 之间的联系,于是注意力机制被引入到深度学习中,并且目前已经一招鲜吃遍天了。

注意力的设计可以有很多方式,如下图的两种设计方式。绿色框表示两个token。
在这里插入图片描述
目前大部分采用第一种方式,下面来说说自注意力机制。

设想我们要在一大堆文档里面通过关键词快速搜索到最相关的文档,一个较为合理的做法就是首先通过词频-逆文档频率或其他方法得到所有文档对应的特征词语,然后使用关键词和每个文档的特征词之间的相似度,这个分数就叫做attention score,关键词就是q,特征词就是k,如果我们最终是要得到一个特征向量,那么就讲attention score和每个文档特征进行加权求和,当然首先需要对attention score 经过一个softmax层进行归一化。那么这里的文档特征就类似于v

如下图这是Attention Score的计算方式
在这里插入图片描述
首先将每个token ( a 1 , a 2 , a 3 , a 4 ) (a^1,a^2,a^3,a^4) a1,a2,a3,a4经过参数矩阵 W q W^q Wq 计算得到 ( q 1 , q 2 , q 3 , q 4 ) (q^1,q^2,q^3,q^4) q1,q2,q3,q4和参数矩阵 W k W^k Wk 计算得到 ( k 1 , k 2 , k 3 , k 4 ) (k^1,k^2,k^3,k^4) k1,k2,k3,k4,然后将每个 q 与 k 进行计算得到 attention score 再经过softmax层进行归一化。

得到注意力特征向量
在这里插入图片描述
使用归一化的注意力分数乘以v再加权求和得到 a 1 a^1 a1 对应的全局特征向量 b 1 b^1 b1,后面的计算方式相似,相继得到 b 2 , b 3 , b 4 b^2,b^3,b^4 b2,b3,b4等等。

如果用矩阵来表示就是:
K = W K A Q = W Q A V = W V A B = V s o f t m a x ( K T Q ) K = W^KA\\ Q = W^QA\\ V=W^VA\\ B = V softmax(K^TQ) K=WKAQ=WQAV=WVAB=Vsoftmax(KTQ)
其特点是可以并行运行、输入输出长度相同。

多头注意力

多头注意力就是每个词获得多个k,q,v对,这样做的主要目的是每个k,q,v对可能代表不同的侧重点,同时扩充网络参数。

Encoder层

Transformer的Encoder
在这里插入图片描述
首先将原始token经过多头注意力注意力层得到注意力特征,然后经过残差加和和层正则化,将正则化结果输入到前馈网络里面再进行残差加和和层正则化。

详细结构
在这里插入图片描述

Decoder层

Decoder层和Encoder很类似,如果不看交叉注意力的的话。
在这里插入图片描述

交叉注意力,用当前的查询向量q去计算对方的注意力分数。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1385483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎样获取power shell 的全部可用命令?2/5(篇幅有点长,分成5份)

在power shell 窗口中,有一个获取全部可用命令的命令:get-command,获取到的命令有1640多个,够学习了吧?那么,power shell 命令有哪些类别呢? PowerShell命令可以分为以下几类: Cmdl…

统一存储双控NAS同步备份应用方案

随着业务量的增加,企业必须找到一种有效的解决方案保护数据安全,防止不可预测的存储系统故障。传统的数据备份往往是专用的数据格式,不能保留完整的用户目录信息。因此,IT 人员必须在数据恢复后重新配置才可重新恢复业务。为了解决…

Java零基础教学文档servlet(1)

【Web开发和HTTP协议】 1. Web开发概述 1.1 web概述 万维网(英语:World Wide Web)亦作WWW、Web、全球广域网,是一个透过互联网访问的,由许多互相链接的超文本组成的信息系统。英国科学家蒂姆伯纳斯-李于1989年发明了…

推荐一款通过ssh连接linux服务的开源工具WindTerm

文章目录 前言WindTerm介绍WindTerm使用主密码和锁屏总结 前言 工作一入门便是游戏服务器开发,所以常常有连接Linux服务器的需求,之前用的最多的是Xshell,最近这个软件个人版只能免费使用一个月了,超过时间会提示更新无法正常使用…

FX110网:保加利亚外汇牌照FSC,进入欧盟市场的另一扇大门

汇市经纪商们对欧盟金融工具市场法规(MiFID)都不会陌生。通过MiFID体系,欧盟所有国家的监管机构连成了一张网络。因此,任何想要进入欧洲市场的汇商,都希望获得加入MiFID监管机构的牌照,其中最受欢迎的莫过于…

什么是充放电振子理论?

CHAT回复:充放电振子模型(Charging-Reversal Oscillator Model)是一种解释ENSO现象的理论模型,这个模型把ENSO现象比喻成一个“热力学振荡系统”。 在这个模型中,ENSO现象由三个组成部分:充电(C…

web开发学习笔记(2.js)

1.引入 2.js的两种引入方式 3.输出语句 4.全等运算符 5.定义函数 6.数组 7.数组属性 8.字符串对象的对应方法 9.自定义对象 10.json对象 11.bom属性 12.window属性 13.定时刷新时间 14.跳转网址 15.DOM文档对象模型 16.获取DOM对象,根据DOM对象来操作网页 如下图…

JavaScript采集各大电商平台关于预制菜酸菜鱼销售量

因为我喜欢吃酸菜鱼,但是自己弄又弄不来,想从网上找找看看,但是种类多,自己逐个选择又太浪费时间。索性利用自己专业爬虫知识,一边检验我最近代码水平,另一方面还能选择到满意的年货。过去写个各大平台预制…

YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割

YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用Ultralytics框架进行FastSAM图像分割参考文献 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容…

射频天线信号防雷器的行业应用解决方案

射频天线信号防雷器(信号SPD防雷浪涌保护器)是一种用于保护射频信号系统免受雷电和电涌干扰的装置,它可以有效地吸收和分散过电压,保证信号的稳定传输和设备的安全运行。射频天线信号防雷器广泛应用于无线通信、广播电视、卫星导航…

一篇搞明白微信的基本授权功能

一、介绍 由于部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope , 用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。 此类接口调用时: 如果用户未接受或拒绝过此权限…

elasticsearch[二]-DSL查询语法:全文检索、精准查询(term/range)、地理坐标查询(矩阵、范围)、复合查询(相关性算法)、布尔查询

ES-DSL查询语法(全文检索、精准查询、地理坐标查询) 1.DSL查询文档 elasticsearch 的查询依然是基于 JSON 风格的 DSL 来实现的。 1.1.DSL 查询分类 Elasticsearch 提供了基于 JSON 的 DSL(Domain Specific Language)来定义查…

基于WebRTC技术的EasyRTC视频云服务系统在线视频客服解决方案

一、需求分析 随着互联网技术的发展,视频客服也成为服务行业的标配体验,基于WebRTC实时通信技术,客服人员与用户可以建立实时双向的视频交互与沟通。借助视频客服功能可以更加直观地了解用户的需求,提高沟通效率,并帮…

三种连接因特网的方式

拨号上网dial-up Internet Access 是用Modern接电话线,拔一个特定号码,才能接入到因特网,此时电话处于占线状态,网速56Kbps左右 基于PPPoE协议的ADSL(虚拟拨号) ADSL(非对称数字用户环路):是线路传输技术(硬件),是基于电话线上…

基于Java SSM框架实现摄影器材租赁系统项目【项目源码+论文说明】

基于java的SSM框架实现摄影器材租赁系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&a…

架构训练营,2024年怎么突围进大厂

2024年其实也是内耗和内卷比较严重的一年,可以说从互联网开始内卷的那天开始就不会停止,但是作为技术人,我们如何去和内卷做斗争了,其实最好的武器就是先和自己内卷,这个如何理解了,那就是要要和以前的自己…

matplotlib绘制动态瀑布图

绘制瀑布图思路:遍历指定文件目录下所有的csv文件,每读一个文件,取文件前20行数据进行保存,如果超过规定的行数300行,将最旧的数据删除,仅保留300行数据进行展示。 网上找的大部分绘制瀑布图的代码&#x…

如何挑选一家合格的污水处理服务商

在如今的社会,环境保护越来越受到人们的重视,而污水处理也是其中重要的一环。然而,如何选择一家合格的污水处理服务商成为了许多企业和个体需要面对的难题。今天,小编就为大家介绍一些有趣而实用的选择指南,帮助大家找…

CF1446C Xor Tree 题解 DP Trie树

Xor Tree 传送门 题面翻译 给定你一个非负整数序列 a a a,保证其中每个数两两不同。 对于每个 a i a _ i ai​,它会向 j ≠ i j \ne i ji 且 a i ⊕ a j a_i\oplus a_j ai​⊕aj​( ⊕ \oplus ⊕ 代表异或)最小的 a j a…

IntelliJ IDEA - 快速去除 mapper.xml 告警线和背景(三步走)

1、去掉 No data sources configure 警告 Settings(Ctrl Alt S) ⇒ Editor ⇒ Inspections ⇒ SQL ⇒ No data sources configure 2、去掉 SQL dialect is not configured 警告 Settings(Ctrl Alt S) ⇒ Editor ⇒ Inspecti…