【Transformer】基本概述

文章目录

提出背景

在这里插入图片描述

在Transformer模型出现之前,循环神经网络(RNN)及其变体,如长短期记忆网络(LSTM)和门控循环单元(GRU),是处理序列数据的主流方法。但是RNN系列模型存在一些固有的问题,如难以并行化处理、对长距离依赖的捕捉能力有限等。为了解决这些问题,Transformer模型应运而生,于2017年由Vaswani等人在2017年提出,并发表在NeurlPS上。

与RNN系列相比Transformer的优势

  • 并行化处理:Transformer模型通过自注意力机制,可以在处理序列数据时实现高度的并行化,因为每个位置的计算不依赖于前一个位置的隐藏状态,这与RNN系列模型形成鲜明对比。

  • 长距离依赖:自注意力机制使得Transformer模型能够有效地捕捉序列中的长距离依赖关系,而RNN系列模型在这方面表现较差,尤其是当序列非常长时。

  • 灵活性和可扩展性:Transformer模型不依赖于序列的顺序,因此在处理不同长度的序列时更加灵活。此外,它还可以轻松地扩展到更大的数据集和更复杂的任务。

核心思想—注意力机制

Transformer的核心思想,就是抛弃传统的递归(recurrence)或者卷积(convolutions)模块,完全采用注意力机制(attention mechanisms),允许模型在处理序列的每个元素时,都能考虑到序列中的所有其他元素,因此,这种机制就使得模型能够更好地捕捉序列内部的长距离依赖关系。

流程解析

Transformer模型的结构主要由编码器(Encoder)和解码器(Decoder)两大部分组成。

  • 编码器由多个相同的层堆叠而成,每层包含两个主要部分:多头自注意力机制(Multi-Head Self-Attention)和前馈神经网络(Feed-Forward Neural Network)。但也不要忘了还有normalization和residual connection部分,这两部分也是非常关键。
  • 解码器结构与编码器类似,区别主要是两点:在多头自注意力机制中增加了Masked策略(也是后来decoder-only大模型方法实现next-prediction的核心操作),以及增加了一个额外的cross-attention机制,用于关注编码器的输出。

下图是原始论文中的结构图,我把它按照重要程度划分为了7个部分,其中红色的前五个部分最为重要(面试官最喜欢考验候选人的部分),必须要深入理解和掌握,蓝色的后两个部分是相对次要但也要深入理解。

后续我对这个7个部分分别进行讲解,并结合代码进行深入理解。

在这里插入图片描述

参考资料

  • [1] https://www.bilibili.com/video/BV1FH4y157ZC/?share_source=copy_web&vd_source=79b1ab42a5b1cccc2807bc14de489fa7

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

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

相关文章

Ethercat设备数据 转IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 5 设置网关采集ETHERCAT数据 5 6 用IEC61850协议转发数据 7 7 网关使用多个逻辑设备和逻辑节点的方法 9 8 安装NPCAP 10 9 案例总结 11 1 案例说明 设置网关采集EtherCAT设备数据把采集的数据转成IEC61850协议转发给其…

Ollydbg提示:xxxxxx可能不是一个 32 位 PE 文件,无论如何都尝试载入吗?

原标题:OD提示C:\Users\XuanRan\Desktop\xxxx.exe’可能不是一个个 32 位 PE 文件,无论如何都尝试载入吗? 它的意思就是告诉你,OD现在只能用于32位软件。 如果要调试64位程序,去使用x64dbg x64dbg下载链接: https://github.com…

记一次ssh伪终端修改为shell

问题 用户ssh进行连接后,默认为伪终端。 解决办法,可以先拿到终端shell,查看用户是否为/bin/bash: 不是/bin/bash,使用如下命令进行修改: chsh -s /bin/bash rootservice sshd restart

【WPF】WPF学习之【二】布局学习

WPF布局学习 常用布局Grid网格布局StackPanel 布局CanvasDockPanel布局WrapPanel布局 常用布局 1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。 2、Grid: 掌握Grid的网格布局技术。 3、Canvas: 了解Canvas的绝对定位布局。 4、DockPanel: 学习DockPanel的停靠…

计算机毕业设计选题推荐-茶园茶农文化交流平台-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

【Redis】Redis 主从复制

文章目录 1 前言2 主从模式介绍3 配置 Redis 主从结构3.1 建立复制3.2 断开复制3.3 其他特性3.4 拓扑结构 4 Redis 主从复制原理4.1 复制过程4.2 PSYNC 数据同步4.3 PSYNC 运行流程 5 主从复制流程5.1 全量复制流程5.2 部分复制流程5.3 实时复制流程 1 前言 分布式系统中存在一…

电路基础 ---- 负反馈放大电路的方框图分析法

1 方框图分析法 方框图如下: 图中 A u o A_{uo} Auo​是一个电压输入的放大器的放大倍数,称为开环放大倍数。 F F F为反馈系数,是一个矢量,是指输出信号 x o x_{o} xo​的多少倍回送到放大器的输入端。 M M M为衰减系数&#x…

新生开学分班用这个查询系统,1分钟即可制作同款系统

新学期已经开始了,老师们又要开始头疼分班的事情了。但别担心,现在有个超好用的查询系统,让分班变得简单又快速! 在以前分班可麻烦了,老师们得一个个核对学生信息,还得通知家长。但现在,有了这…

VSCode + Git的常规操作(一)【描述详细直白,小白一学就会】

目录 一、文章简介 二、具体操作流程 1、操作前提 2、设置用户名、用户邮箱 (1)打开命令框 (2)配置用户名 (3)配置用户名邮箱 (4)查看配置 3、SSH密钥对的介绍、生成及配置…

软考计算机软件基础知识总结

目录 前言 计算机软件概述 操作系统 数据库 文件系统 网络协议 中间件 软件构件 应用软件 最后 前言 早期的计算机软件和计算机程序 (Computer Program) 的概念几乎不加区别,后来计算机 软件的概念在计算机程序的基础上得到了延伸。计算机软件是指计算机系…

HTTP 状态码:解析与处理的全面指南

一、HTTP 状态码概述 HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码。它在客户端与服务器之间的通信中起着至关重要的作用。 其主要作用在于向客户端清晰准确地传达服务器对请求的处理结果。例如,当客户…

ARCGIS 纸质小班XY坐标转电子要素面(2)

本章用于说明未知坐标系情况下如何正确将XY转要素面 背景说明 现有资料:清除大概位置,纸质小班图,图上有横纵坐标,并已知小班XY拐点坐标,但未知坐标系。需要上图 具体操作 大部分操作同这边文章ARCGIS 纸质小班XY…

SprinBoot+Vue餐厅点餐系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

使用docker容器部署考试系统

8.30 回顾 1、使用harbor仓库 python --version yum -y update yum -y install python2-pip 部署考试系统 使用docker部署project-exam-system 1、在一台主机内,实现容器的编排看,发布考试系统 2、环境准备 docker docker-compose docker脚本 …

C语言实现SHA-256算法校验文件(win32-API)

一、前言 在数字化时代,信息安全与数据完整性成为了不可忽视的关键议题。在众多保障数据完整性的方法中,散列函数扮演着至关重要的角色。SHA-256(Secure Hash Algorithm 256)作为一种先进的散列算法,以其高度的安全性…

VScode + Python 下载及安装|python环境配置|中文乱码解决

1,下载安装VScode 直接点击2024.9https://vscode.download.prss.microsoft.com/dbazure/download/stable/fee1edb8d6d72a0ddff41e5f71a671c23ed924b9/VSCodeUserSetup-x64-1.92.2.exe 或者百度搜索VScode,可下载安装最新版 点击后等一下,就…

逆向工程核心原理 Chapter 21 | Windows消息钩取

开始DLL注入章节的学习。 知识点学习 消息钩子 这里主要是要弄明白Windows GUI程序的工作模式/流程。 GUI以事件驱动方式工作。核心概念:message queue 最具代表性的:MS提供的spy SetWindowsHookEX() SetWindowsHookExA 函数 (winuser.h) - Win32 a…

网易易盾携手雷斧科技,打造公平竞技环境

这是一个充满复古像素风格的游戏世界,玩家们控制着自己的像素角色,手持着各种像素化武器,时而酣畅对战,时而自由创作地图、武器和皮肤。 《像素射击》是由雷斧科技开发的一款集生存、对战、沙盒创造于一体的像素风格的3D多人在线…

极狐GitLab 17.3 重点功能解读

极狐GitLab 是 GitLab 在中国的发行版,可以私有化部署,对中文的支持非常友好,是专为中国程序员和企业推出的企业级一体化 DevOps 平台,一键就能安装成功。安装详情可以查看官网指南。 极狐GitLab 17.3 正式发布了多项与敏捷项目管…

ecmascript和javascript的区别

ECMAScript ECMAScript(通常缩写为ES)是JavaScript的规范,由Ecma International组织制定和维护。ECMAScript是一种脚本语言标准,主要用于Web应用程序开发,但也适用于其他类型的应用程序,如桌面和移动应用程…