Transformer技术原理综述

☞☞☞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、技术详解

沁言学术 沁言学术

你的论文写作AI助理,永久免费文献管理工具,认准沁言学术

沁言学术 30 查看详情 沁言学术

智能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)可以学会执行不同的任务。

以上就是Transformer技术原理综述的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/533442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 11:44:29
下一篇 2025年11月9日 11:49:31

相关推荐

  • html搜索框如何跳转_实现HTML搜索框跳转搜索结果【结果】

    HTML搜索框跳转失败多因表单action或参数错误,可通过五种方法解决:一、百度用form提交至https://www.baidu.com/s?q=关键词;二、Google类似,action为https://www.google.com/search;三、JavaScript拼接必应URL并loc…

    2025年12月23日
    200
  • 从OpenAI API JSON响应中高效提取生成文本内容

    本教程详细指导开发者如何从openai api返回的json格式响应中准确提取生成的文本。通过利用`json.parse()`方法解析响应字符串,并访问`choices[0].text`属性,可以安全、高效地获取核心文本内容,从而避免直接字符串操作的潜在问题,确保api数据处理的健壮性。 OpenA…

    2025年12月23日
    000
  • HTML语义化未来趋势有哪些_HTML语义化在Web发展中的趋势与展望

    HTML语义化正朝着智能、高效、包容发展,深度融合结构化数据与ARIA属性,提升机器理解;2. 组件化趋势推动可复用语义结构普及,Web Components实现自定义语义标签;3. 语义化助力性能优化与可访问性,支持懒加载与内容优先级划分;4. AI工具将自动生成语义化代码并辅助检测,降低实践门槛…

    2025年12月23日
    000
  • HTML数据如何实现数据智能 HTML数据智能分析的技术架构

    实现HTML数据智能分析需构建包含采集、解析、存储、分析与可视化的闭环系统,首先通过爬虫技术获取网页数据并进行清洗标准化,接着利用DOM树分析与NLP技术提取结构化信息,随后将数据存入合适数据库或数据仓库并建立元数据管理机制,进而应用AI模型开展分类、情感分析、趋势预测与知识图谱构建等智能分析,最终…

    2025年12月23日
    000
  • HTML5 section怎么用_HTML5内容分区标签应用场景说明

    在HTML5中,标签用于定义文档中具有明确主题的独立内容区块,需包含标题以体现其结构性与语义性,常用于文章章节、产品模块等场景,区别于无语义的和可独立分发的。 在HTML5中,section 标签用于定义文档中的一个独立内容区块。它不是简单的容器,而是有语义的结构化标签,表示文档中一个主题性的分区,…

    2025年12月23日
    000
  • htm算法 前景如何_分析HTM算法应用前景

    HTM算法在实时异常检测、预测性维护等时序数据场景中具备应用价值,其无需大量标注数据的特性适合工业监控、网络安防等领域;但受限于生态薄弱、性能不及主流模型及工程实现难度,短期内难以成为主流,更可能作为边缘计算或AI系统补充技术,在特定专业领域持续发展。 HTM(Hierarchical Tempor…

    2025年12月23日
    000
  • HTML结构化数据怎么添加_Schema标记添加教程

    Schema标记通过结构化数据帮助搜索引擎理解网页内容,提升搜索结果展示效果,如添加星级评分、价格等富文本信息。使用JSON-LD或Microdata格式将符合Schema.org标准的类型(如Article、Product)嵌入HTML中,可增强SEO,需通过Google Rich Results…

    2025年12月22日
    000
  • 如何实现自定义提示

    掌握自定义提示需构建迭代工作流,通过明确目标、设定角色、提供上下文、结构化输出、示例引导、迭代优化、负面提示和链式思考,实现AI输出的精准控制与高效协同。 实现自定义提示,核心在于理解与AI模型交互的本质,并将其从“提问”升级为“引导”。它不是简单的抛出问题,而是通过精心设计的语言结构、上下文信息、…

    2025年12月22日
    000
  • JavaScript机器学习与人工智能库应用

    JavaScript在AI领域应用扩展,依托TensorFlow.js实现浏览器内模型推理与训练,利用WebGL加速;ML5.js提供高层接口,简化图像识别、风格迁移等功能调用;Brain.js支持轻量级神经网络开发,适用于前端智能场景如实时检测、自动补全等,虽性能不及Python,但在交互式轻量应…

    2025年12月20日
    100
  • LangChain HNSWLib 向量存储机制与数据持久化指南

    本文详细解析langchain中hnswlib向量存储的工作原理,明确其作为内存存储的特性,指出数据实际存储在项目部署的服务器上,而非langchain官方服务器。同时,文章将指导如何通过save_local()方法将内存中的向量数据持久化到本地文件,确保数据安全与可靠性,并探讨在实际应用中的注意事…

    2025年12月20日
    000
  • 使用LINE Bot与OpenAI API发送文本和贴图的完整教程

    本文详细介绍了如何在LINE Bot中集成OpenAI API生成文本回复,并在此基础上发送LINE贴图。核心挑战在于LINE Messaging API的replyToken通常只能使用一次,导致连续发送文本和贴图时出现400错误。解决方案是利用API支持一次性发送多条消息的特性,将文本和贴图消息…

    2025年12月20日
    000
  • 人工智能工具市场

    AIprophetic.com 网站文章列表: 2025年: 2025-01-24: 人工智能工具市场概览 (https://www.php.cn/link/1c52486ff0b2a44fbfefeb15d21f53ae)2025-01-24: ChatGPT 故障排除及替代方案 (https:/…

    2025年12月19日
    000
  • C语言数据结构:数据结构在人工智能中的关键作用

    C 语言数据结构:数据结构在人工智能中的关键作用 概述 在人工智能领域,数据结构对于处理大量数据至关重要。数据结构提供了一种组织和管理数据的有效方法,优化算法和提高程序的效率。 常见的数据结构 立即学习“C语言免费学习笔记(深入)”; C 语言中常用的数据结构包括: 数组:一组连续存储的数据项,具有…

    2025年12月18日
    000
  • C语言算法问答集:将算法应用于人工智能

    搜索算法:二分查找,高效地在数组中查找元素。排序算法:快速排序,将数据序列按特定顺序排列。图形算法:dijkstra 算法,寻找两个节点间最短路径。机器学习算法:线性回归,训练模型对数据进行预测。 C 语言算法问答集:将算法应用于人工智能 前言 算法在人工智能(AI)中扮演着至关重要的角色,可为 A…

    2025年12月18日
    000
  • 人工智能如何提升 C 代码安全性检查

    答案:人工智能(ai)通过数据流分析、启发式检测和代码重构建议等方式提升了 c 代码安全性检查的效率。数据流分析:识别数据流并发现安全漏洞,如缓冲区溢出。启发式检测:学习已知漏洞模式并识别类似模式。代码重构建议:提供将不安全代码转换为安全替代方案的建议。 人工智能提升 C 代码安全性检查 简介C 语…

    2025年12月18日
    000
  • 人工智能支持的 C 代码覆盖率分析

    人工智能支持的 C 代码覆盖率分析 在软件开发中,代码覆盖率分析是一个关键步骤,它可以帮助开发人员识别未执行的代码路径。传统的方法通常涉及编写测试场景并手动检查执行情况。然而,人工智能 (AI) 的出现为自动化和改进代码覆盖率分析过程开辟了新的可能性。 AI 在代码覆盖率分析中的作用 AI 算法可用…

    2025年12月18日
    000
  • 人工智能如何帮助 C 语言代码在嵌入式系统中应用?

    人工智能 (ai) 通过以下方式提升嵌入式 c 语言代码的应用:代码优化:识别高能量耗或计算密集型功能并将其优化。代码生成:使用自然语言处理 (nlp) 从规格中自动生成代码。测试和验证:自动化测试和验证过程,检测传统方法可能错过的缺陷。 人工智能如何提升嵌入式系统中 C 语言代码的应用 人工智能 …

    2025年12月18日
    000
  • 人工智能如何为 C 语言代码提供安全增强功能?

    人工智能通过提供以下功能来提升 c 代码安全性:静态分析:识别潜在安全漏洞(例如缓冲区溢出);动态分析:监控代码执行并检测异常行为;模糊测试:生成随机输入以测试代码的异常行为;自动化修复:建议修复措施或自动生成补丁程序。 人工智能赋能 C 代码:提升安全性 人工智能 (AI) 在 C 代码安全方面发…

    2025年12月18日
    100
  • 人工智能如何增强 C 语言代码的调试能力?

    问题:如何增强 c 语言代码的调试能力?答案:利用人工智能 (ai) 技术,包括:ai 驱动的代码分析:使用机器学习模型识别潜在问题,例如内存泄漏和空指针引用。ide 集成:将代码分析工具集成到 ide 中,以便在开发环境中直接访问结果。自动异常处理:识别异常并自动采取行动,例如记录错误或中止应用程…

    2025年12月18日
    000
  • 人工智能如何提高 C 语言代码的可移植性?

    使用宏和条件编译提高 C 代码的可移植性 可移植性对于任何软件开发项目都至关重要,尤其是当代码需要跨不同平台编译时。C 语言作为一种底层语言,可移植性尤为关键。以下是使用宏和条件编译提高 C 代码可移植性的方法: 宏: 宏本质上是文本替换指令,允许在预处理阶段根据特定条件替换代码。例如,以下宏定义了…

    2025年12月18日
    000

发表回复

登录后才能评论
关注微信