Transformer架构的核心公式类似于数学期望并不复杂,但为什么这个模型这么强呢?

Transformer是一个利用注意力机制来提高模型训练速度的模型,因其适用于并行化计算以及本身模型的复杂程度使其在精度和性能上都要高于之前流行的循环神经网络。

一、Transformer模型整体结构

标准的Transformer结构如下图所示,是一个编码器-解码器架构,其编码器和解码器均有一个编码层和若干相同的Transformer模块层堆叠组成。
在这里插入图片描述

1.1 Encoder–Decoder结构

神经网络均可理解为是一个黑箱模型,Transformer的黑箱主要由两部分组成:Encoders和
Decoders.。以文本翻译任务为例,输入文本会先经过Encoders模块(编码器),该模块对文本数据
进行编码;编码后的文本数据再被传入Decoders模块(解码器),该模块对文本数据进行解码得到
最终的翻译结果。
在这里插入图片描述
上述的编、解码模块都是由多个编码器组成的,经典的Transformer模型一般都是6个编码器和6个
解码器。在编码模块,每个编码器的输出作为下一个编码器的输入;而在解码模块,则是每个解码
器的输出结合整个编码模块的输出作为下一个解码器的输入。
在这里插入图片描述

1.2编解码器组成部分

每个编码器内部又可以分为“self-attention”和"前馈网络”两个部分,每个解码器则分
为“self-attention”、"编解码-attention”和"前馈网络”三个部分。
在这里插入图片描述

二、模型输入

原始文本→令牌化(Tokenization)→嵌入(Embedding)一模型
在这里插入图片描述Transformert模型的输入是文本经转换(embedding./嵌入)后的向量矩阵,矩阵则是由输入文本中
每个单词的表示向量组成,表示向量由每个单词的词向量和位置向量相加得到。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c530e9650f7749a7b618b5642a4d2bb2.png

三、自注意力机制

语言模型的核心思想是理解自然语言内部的结构、模式和关联关系。通过建模语句中单词(Tok)
之间的关系,我们可以捕捉到语句的上下文和含义。自注意力作为一种沟通机制,用来帮助建立这
些关系,以概率分数表示。下面会逐步解释概率/注意力分数的计算过程。
在这里插入图片描述

3.1self-attention:结构

在上一章节的介绍中提到,模型输入(self-attention的接收)是单词的表示向量或上一编解码器的输
出,而下图所示,在进行注意力分数计算的时候需要用到Q,K,V三个向量。Q,K,V也正是通过sf
attention的输入经矩阵运算(线性变换)得到的。

在这里插入图片描述

3.2Q,K,V的计算

首先对这三个向量进行字面解释:
·查询向量(Query Vector)
·键向量(Key Vector)
,值向量(Value Vector)
这三个向量都是通过self-attention的输入与三个对应的权重矩阵(Wo,WK,Wv)进行矩阵乘法
运算得到的。这三个权重矩阵最开始是随机初始化得到的,在训川练过程中依据梯度下降进行更新。
在这里插入图片描述

3.3self-attention输出

在得到输入矩阵对应的Q,KV之后,就可以进行计算self-attention的输出了,计算公式如下:
在这里插入图片描述
式中,d为K矩阵的列数,即K向量维度。
之后再利用softmax函数对每一行分数进行标准化,结果表示每个单词对于其他单词的attention
系数,保证系数均为正数且每一行相加结果为1。

将标准化后的注意力分数矩阵与矩阵V相乘,得到最后的self-attention输出,输出矩阵也可以理解为在输入矩阵的基础上编码了其他单词的上下文信息。总之,self-attention就是基于一系列矩阵操作,实现了单词间的权重计算

四、编码器(Encoders)结构

在这里插入图片描述如上图所示,完整的编码部分由N个encoder组成,每个encodert包含多头自注意力(Multi-Head
Attention)->残差与归一化(Add&Norm)->前馈网络(Feed Forward->残差与归一化(Add&
Norm).
多头注意力在上节中已经进行了介绍,现在了解一下残差与归一化前馈网络部分。

五、解码器结构

在这里插入图片描述
上图为Transformer的Decoders结构,与Encoders相似,但是存在一些区别:
·包含两个Multi–Head Attention层。
·第一个Multi-Head Attention层采用了Masked(掩码)操作,目的是防止查询矩阵Q去对序列中尚未解码的后续位置来施加注意力操作。
·第二个Multi–Head Attention层的键矩阵K值矩阵V是从Encoders的最后一层的输出编码信息矩阵C中进行计算而来的,而查询矩阵Q是使用Decoders中的上一个解码器decoder的输出计算。
·最后有一个Softmax层计算下一个翻译单词的概率。

参考链接:其由谷歌团队在2017年发表的论文
《Attention is All You Need)》[1706.03762]Attention Is All You Need(axiv.org)提出,论
相关的Tensorflow代码:tensorflow./tensora2 tensor:Library of deep learning models and
datasets designed to make deep learning more accessible and accelerate ML research.
(github.com)。

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

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

相关文章

Policy Gradient-优化动作选择函数

昨天收到一个新的订阅通知,很是欣喜,感谢订阅同学的支持。 还以为这个专栏没有人关注了呐,一直也没什么兴趣更新。 为了回馈大家的支持,继续更新一篇。 今天写一下强化学习力的 Policy Gradient,这个之前的时候一直不太懂了,回头看确实蛮简单的。 1、Policy Gradient…

【请求拦截】

1 恶意软件发起恶意域名请求通常也不会fork新的进程。和正常的应用程序一样,恶意软件通常会在其已有的进程上下文中使用网络API来执行DNS查询。这样做更加高效,因为fork新进程会消耗更多的系统资源,并且可能会引起安全软件的注意。 恶意软件…

免费SSL通配符证书/SSL泛域名证书获取教程

我们先基本了解什么是SSL证书以及其作用。SSL证书是一种数字证书,它通过为网站提供身份验证和数据加密服务,从而保护网站的用户信息安全。当我们在浏览器的地址栏看到“https”和绿色锁标志时,就表示该网站使用了SSL证书。 那么什么又是通配…

idea 开发serlvet汽车租赁管理系统idea开发sqlserver数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 汽车租赁管理系统是一套完善的web设计系统sqlserver数据库 系统采用serlvetdaobean mvc 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 java se…

34470A是德科技34470A数字万用表

181/2461/8938产品概述: Truevolt数字万用表(34460A、34461A、34465A、34470A)利用是德科技的新专利技术,使您能够快速获得见解、测量低功耗设备并保持校准的测量结果。Truevolt提供全方位的测量能力,具有更高的精度、…

C++【组合模式】

简单介绍 组合模式是一种结构型设计模式, 只有在可以将对象拆分为【树状结构】的情况下使用。并且像使用独立对象一样使用它们。 常用于表示与图形打交道的用户界面组件或代码的层次结构。 基础理解 Q:为什么要用组合模式 ? A:在…

蓝桥杯刷题day14——盖印章【算法赛】

一、问题描述 小 Z 喜欢盖印章。 有一天,小 Z 得到了一个 nm 的网格图,与此同时,他的手上有两种印章(分别称为 A,B),如下图所示。 他想将这两种印章盖在这个网格图上。 由于小 Z 是一个有原则的人,他将按照以下规则进行操作。 每个印章所形成的图案的边必须和网格图…

plasmo浏览器插件框架使用react和ant.design框架创建页面内容脚本UI样式注入

使用plasmo开发浏览器插件的时候,想要使用内容脚本UI注入自定义的UI组件,官方文档:Content Scripts UI – Plasmo,最好是搭配上好看的UI样式,所以可以集成ant.design的UI组件库,但是只集成组件还不行&#…

[C语言]——动态内存经典笔试题分析

目录 一.题目1 1.运行结果 2.分析 3.问题所在 4.更正 二.题目2 1.运行结果 2.分析 3.问题所在 4.更正 三.题目3 1.问题所在 2.更正: 四.题目4 一.题目1 void GetMemory(char *p){p (char *)malloc(100);}void Test(void){char *str NULL;GetMemory…

2024春算法训练4——函数与递归题解

一、前言 感觉这次的题目都很好,但是E题....(我太菜了想不到),别人的题解都上百行了,晕; 二、题解 A-[NOIP2010]数字统计_2024春算法训练4——函数与递归 (nowcoder.com) 这种题目有两种做法:…

泛微OA 自定义多选浏览框

1、建模引擎-》应用建模-》表单 2、建模引擎-》应用建模-》模块 3、建模引擎-》应用建模-》查询 4、把查询页面挂到前端页面。 效果展示: 5、建模引擎-》应用建模-》浏览框 6、流程表单中字段应用

Windows Edge浏览器的兼容性问题及解决方案

1、Windows Edge(了解 Microsoft Edge): 简单介绍: Microsoft Edge是一款由微软开发的网页浏览器,最初于2015年伴随Windows 10推出,作为Internet Explorer的继任者,旨在提供更快、更安全、更现代…

CV论文--2024.4.8

1、OW-VISCap: Open-World Video Instance Segmentation and Captioning 中文标题:OW-VISCap:开放世界视频实例分割和字幕 简介:开放世界视频实例分割是一项重要的视频理解任务,然而现有的方法存在一些限制。大多数方法要么只能在…

Springer旗下28年老刊,仅1个月录用,首个CCF推荐将被剔除?

毕业推荐 SSCI • 社科类,分区稳步上升(最快13天录用) IEEE: • 计算机类,1区(TOP),CCF推荐 SCIE • 计算机工程类,CCF推荐(最快16天录用) 近日更新报道新增5本期刊…

智能网联汽车自动驾驶数据记录系统DSSAD数据配置

目录 第一章 数据配置一般要求 第二章 数据配置文件中的文件描述 第三章 数据配置文件中的数据描述 第四章 数据配置文件中的数据字典 表A.1 数据字典格式定义 第一章 数据配置一般要求 数据配置文件数据内容应为可读的十进制数据。 数据配置文件应以文件的形式存储在自动驾驶…

Day79:服务攻防-中间件安全IISApacheTomcatNginx弱口令不安全配置CVE

目录 中间件-IIS-短文件&文件解析&蓝屏&写权限 HTTP.SYS(CVE-2015-1635)主要用作蓝屏破坏,跟权限不挂钩 IIS短文件(iis全版本都可能有这个问题) IIS文件解析 IIS写权限 中间件-Nginx-文件解析&目录穿越漏洞&CRLF …

Leetcode 142. 环形链表 II和Leetcode 242. 有效的字母异位词

文章目录 Leetcode 142. 环形链表 II题目描述C语言题解解题思路 Leetcode 242. 有效的字母异位词题目描述C语言题解和思路解题思路 Leetcode 142. 环形链表 II 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返…

MySQL【查询】

与查询直接相关的语句 基本查询语句:包括SELECT、INSERT、UPDATE和DELETE等SQL语句,用于执行常见的数据操作。 **WHERE子句:**用于指定条件,限制SELECT语句返回的行。 SELECT语句示例: -- 检索所有列的数据 SELECT…

rust 异步zip解压缩

在使用actix-web框架的时候,如果使用zip解压任务将会占用一个工作线程,因为zip库是同步阻塞的,想用异步非阻塞需要用另一个库,下面列出同步解压,跟异步解压的两个方法实现,异步解压不会占用工作线程。 阻塞…

Git 配置BCompare工具

一、Git配置BCompare工具 1、安装BCompare工具 下载BCompare安装包,打开安装包直接安装即可,如下: 2、禁止BCompare访问网络 网络进出站进行配置,限制BCompare访问网络,如果不进行上网限制,可能存在被封的…