0

0

Transformer技术原理综述

WBOY

WBOY

发布时间:2023-06-04 17:03:20

|

2178人浏览过

|

来源于51CTO.COM

转载

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

Transformer技术原理综述

1、前言

最近,AIGC(AI-Generated Content,人工智能生成内容)发展迅速,不仅被消费者追捧,而且备受技术和产业界关注。2022年9月23日,红杉美国发表文章《生成式AI:一个创造性的新世界》,认为 AIGC会代表新一轮范式转移的开始。2022年10月,Stability AI发布开源模型Stable Diffusion,可以根据用户输入的文字描述(称为提示词,prompts)自动生成图像,即文生图(Text-to-Image). Stable Diffusion、DALL-E 2、Midjourney、文心一格等可以生成图片的AIGC模型引爆了AI作画领域,AI作画风行一时,标志人工智能向艺术领域渗透。下图展示了由百度“文心一格”平台创作的“未来机甲”主题作品。


Transformer技术原理综述

图1 由百度“文心一格”平台创作的AI画作

AIGC领域的迅猛发展,离不开深度神经网络的进步。具体地说,是Transform模型的出现,赋予了神经网络更加强大的全局计算能力,减少了网络训练耗时,提高了网络模型的表现能力。当前表现较为优秀的AIGC领域模型,其技术底层架构中均包含Attention和 Transform技术。

2、发展历史

2.1 深度神经网络

以深度神经网络为代表的信息技术的发展,推动了人工智能领域的进步与拓展。2006年,Hinton等人利用单层的RBM自编码预训练使得深层的神经网络训练得以实现;2012年,Hinton和Alex Krizhevsky设计的AlexNet神经网络模型在ImageNet竞赛中实现图像识别分类,成为新一轮人工智能发展的起点。当前流行的深度神经网络是仿照生物神经网络所提出的概念。在生物神经网络中,生物神经元层层传递接收到的信息,多个神经元信息汇总得到最终的结果。使用类比生物神经单元设计的逻辑神经单元构建的数学模型被称为人工神经网络。在人工神经网络中,逻辑神经单元被用来探索输入数据和输出数据间的隐藏关系,当数据量较小时,浅层的神经网络就可以满足一些任务的要求,然而,随着数据规模的不断扩大,深度神经网络开始显示出其得天独厚的优势。

2.2 注意力机制

注意力机制(Attention Mechanism)由Bengio团队于2014年提出并在近年广泛的应用在深度学习中的各个领域,例如在计算机视觉方向用于捕捉图像上的感受野,或者NLP中用于定位关键token或者特征。大量实验证明,添加了注意力机制的模型在图像分类、分割、追踪、增强以及自然语言识别、理解、问答、翻译中均取得显著的效果提升。

注意力机制仿照视觉注意力机制而来。视觉注意力机制是人类大脑的一种天生的能力。当我们看到一幅图片时,先是快速扫过图片,然后锁定需要重点关注的目标区域。比如当我们观察下述图片时,注意力很容易就集中在了婴儿脸部、文章标题和文章首句等位置。试想,如果每个局部信息都不放过,那么必然耗费很多精力,不利于人类的生存进化。同样地,在深度学习网络中引入类似的机制,可以简化模型,加速计算。从本质上理解,Attention是从大量信息中有筛选出少量重要信息,并聚焦到这些重要信息上,忽略大多不重要的信息。


Transformer技术原理综述

图2 人类注意力机制示意图

3、技术详解

Nanonets
Nanonets

基于AI的自学习OCR文档处理,自动捕获文档数据

下载

智能Transformer模型抛弃了传统的CNN和RNN单元,整个网络结构完全是由注意力机制组成。在本章节中,我们会首先介绍 Transformer模型的总体流程,之后详细介绍其中涉及的位置编码信息和Self-Attention计算。

3.1 流程总述


Transformer技术原理综述

图3 注意力机制流程图

如上图所示,Transformer由Encoder模块和Decoder模块两个部分组成,Encoder和Decoder都包含N个block。以执行翻译任务为例,Transformer的工作流程大体如下:

第一步:获取输入句子的每一个单词的表示向量X,X由单词自身Embedding和单词位置的Embedding相加得到。

第二步:将得到的单词表示向量矩阵传入Encoder模块中,Encoder模块对于输入数据采用Attention方法进行计算。经过N个Encoder模块后可以得到句子所有单词的编码信息矩阵,每一个Encoder模块输出的矩阵维度与输入完全一致。

第三步:将Encoder模块输出的编码信息矩阵传递到Decoder模块中,Decoder会依次根据当前翻译过的单词i翻译下一个单词i+1。与Encoder结构相同,Decoder结构也使用Attention方法进行计算。在使用的过程中,翻译到单词i+1的时候需要通过Mask操作遮盖住i+1之后的单词。

3.2 Self-Attention计算

Transform模型的核心是注意力计算,其可以通过公式表示为

Transformer技术原理综述

其中,Q,K,V分别表示Query,Key,Value,这三个概念取自于信息检索系统,举个简单的搜索的例子来说。当你在某电商平台搜索某件商品时,你在搜索引擎上输入的内容便是Query,然后搜索引擎根据Query为你匹配Key(例如商品的种类,颜色,描述等),然后根据Query和Key的相似度得到匹配的内容(Value)。

self-attention中的Q,K,V也是起着类似的作用,在矩阵计算中,点积是计算两个矩阵相似度的方法之一,因此上述公式中使用了Q矩阵乘以K矩阵的转置进行相似度的计算。为了防止内积过大,需要除以d的平方根,最后对结果施以softmax激活函数。

3.3 位置编码

Transformer中除了单词自身的Embedding,还需要使用位置Embedding表示单词出现在句子中的位置。因为Transformer不采用RNN的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于NLP或CV而言均非常重要。所以Transformer中使用位置Embedding保存单词在序列中的相对或绝对位置。

位置Embedding用PE表示,PE的维度与单词Embedding是一样的。PE可以通过训练得到,也可以使用某种公式计算得到。在Transformer中采用了后者,计算公式如下:

Transformer技术原理综述

其中,pos表示单词在句子中的位置,d表示PE的维度,其大小与单词自身Embedding相同,2i表示偶数的维度,2i+1表示奇数维度。

4、总结

Transformer的重点是Self-Attention结构,通过多维的Attention结构,网络可以捕获单词之间多种维度上的隐藏关系,然而Transformer本身是不能利用单词的顺序信息的,因此需要在输入中添加位置Embedding,用以存储单词的位置信息。与循环神经网络相比,Transformer网络可以比较好地并行训练,与卷积神经网络相比,Transformer网络计算两个位置之间的关联所需的操作次数不随距离增长,可以突破卷积神经网络受限于感受野大小的计算距离。同时,Transformer网络可以产生更具可解释性的模型。我们可以从模型中检查注意力分布,各个注意头(attention head)可以学会执行不同的任务。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

1

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

39

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

140

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

47

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

90

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

226

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

506

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

170

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 2万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号