Transformer介绍

news2025/1/12 20:44:58

fa7994b6ae9c4bfc99226e8e848ab38e.jpeg

Transformer的诞生

2018年Google发出一篇论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》, BERT模型横空出世, 并横扫NLP领域11项任务的最佳成绩!

而在BERT中发挥重要作用的结构就是Transformer, 之后又相继出现XLNET,roBERT等模型击败了BERT,但是他们的核心没有变,仍然是:Transformer💥

Transformer的优势 

相比之前占领市场的LSTM和GRU模型,Transformer有两个显著的优势:

  • Transformer能够利用分布式GPU进行并行训练,提升模型训练效率
  • 在分析预测更长的文本时, 捕捉间隔较长的语义关联效果更好
  • 通过自注意力机制有效捕捉长距离依赖关系,无需循环结构从而避免了梯度消失或爆炸问题,同时通过位置编码更好地理解和利用序列位置信息

Transformer的市场 

随着人工智能技术的加速演进,AI大模型已成为全球科技竞争的新高地。Transformer作为大模型的核心技术之一,正在推动整个AI产业的发展。

  • 在自然语言处理领域,Transformer模型已被广泛应用于机器翻译、文本生成、情感分析、问答系统等任务中,提高了语言处理的准确性和效率。
  • 除了NLP领域,Transformer在计算机视觉、语音识别等领域也展现出了强大的潜力。例如,在图像分类、目标检测等任务中,基于Transformer的模型已经取得了令人瞩目的成绩。

Transformer模型的作用

  • 💯基于seq2seq架构的transformer模型可以完成NLP领域研究的典型任务, 如机器翻译, 文本生成等. 同时又可以构建预训练语言模型,用于不同任务的迁移学习
  • 💯在接下来的架构分析中, 我们将假设使用Transformer模型架构处理从一种语言文本到另一种语言文本的翻译工作, 因此很多命名方式遵循NLP中的规则. 比如: Embeddding层将称作文本嵌入层, Embedding层产生的张量称为词嵌入张量, 它的最后一维将称作词向量等

迁移学习是机器学习领域中的一大类学习方法,其核心思想是将在一个领域(源域)学习到的知识或技能应用于另一个领域(目标域),以提高学习的效率和准确度💫 

Transformer总体架构图:

ce8d8b47bf5a47bdb07a324df0e1429c.png

💥Transformer总体架构

  • 输入部分
  • 输出部分
  • 编码器部分
  • 解码器部分

Transformer模型主要由编码器(Encoder)和解码器(Decoder)两部分组成,编码器负责处理输入序列,将其转换为一种中间表示形式(即上下文嵌入向量),这种表示形式可以捕获输入序列的全局依赖关系,解码器则根据编码器输出的上下文嵌入向量生成目标序列。

💢核心机制

  • 自注意力(Self-Attention)机制:允许模型在序列内的任意位置间直接建立依赖,从而更好地理解数据的上下文关系。这种机制可以并行处理所有位置的数据,提高计算效率。
  • 多头注意力(Multi-Head Attention):模型会同时学习数据的不同表示,每个“头”关注序列的不同部分。这种机制有助于模型捕获输入序列中的多种依赖关系。
  • 位置编码(Positional Encoding):由于Transformer不使用基于顺序的结构,因此需要通过位置编码来给模型提供关于单词在序列中位置的信息。这通常通过给输入嵌入添加固定的位置嵌入向量来实现。
  • 前馈网络(Feed-Forward Network):在每个编码器和解码器层中,都包含一个前馈网络,用于对自注意力机制输出的结果进行进一步处理。

输入部分

  • 源文本嵌入层及其位置编码器:将源文本中的词汇从数字表示转换为向量表示,也称为词嵌入
  • 目标文本嵌入层及其位置编码器:功能与实现与源文本嵌入层相同,用于将目标文本中的词汇从数字表示转换为向量表示

输入部分的位置编码器在Transformer模型中起着至关重要的作用,尤其是在处理序列数据时,确保模型能够理解和利用序列中单词的位置信息💨

💥架构基础: 

  • RNN(递归神经网络):RNN是处理序列数据的早期模型,它通过递归的方式处理序列中的每个元素,并将前一个元素的信息传递到下一个元素。RNN的核心是一个循环结构,它允许模型记住之前的信息。
  • LSTM(长短期记忆):LSTM是RNN的一种变体,它引入了门控机制(如遗忘门、输入门和输出门)来控制信息的流动,从而解决了RNN在处理长序列时遇到的梯度消失和梯度爆炸问题。LSTM通过其内部状态(包括细胞状态和隐藏状态)来存储和更新信息。
  • Transformer:Transformer是一种基于自注意力机制的模型,它完全摒弃了RNN的循环结构,而是使用注意力机制来捕捉序列中的依赖关系。这种设计使得Transformer能够并行处理序列中的所有元素,大大提高了计算效率。

💥位置信息的处理方式:

  • RNN和LSTM:由于它们的循环结构,RNN和LSTM在处理序列时自然能够考虑到元素的顺序。因此,它们通常不需要额外的位置编码器来提供位置信息。         
  • Transformer则通过添加位置编码来明确提供每个元素的位置信息。因为Transformer的并行处理特性,需要一种方式来告知模型序列中元素的顺序。位置编码与输入嵌入相加,为模型提供了必要的顺序信息。

💥并行性和计算效率: 

  • RNN和LSTM:由于它们的循环结构,RNN和LSTM在处理序列时必须按照顺序逐个处理元素,这限制了它们的并行计算能力。因此,在处理长序列时,RNN和LSTM可能会面临计算效率的问题。
  • Transformer:Transformer通过自注意力机制实现了并行处理序列中所有元素的能力。这意味着Transformer可以同时处理序列中的所有元素,大大提高了计算效率。这种并行性使得Transformer在处理长序列时具有优势。

💥依赖关系捕捉: 

  • RNN和LSTM:RNN和LSTM主要通过循环结构来捕捉序列中的短期依赖关系。然而,由于梯度消失和梯度爆炸的问题,它们在处理长序列时可能无法有效地捕捉长期依赖关系。
  • Transformer:Transformer通过自注意力机制可以捕捉序列中的长期依赖关系。自注意力机制允许模型在处理序列中的每个元素时都考虑到其他所有元素的信息,这使得Transformer在处理长序列时具有更好的性能。

输出部分

  • 线性层:将解码器输出的向量转换为最终的输出维度
  • softmax层:将线性层的输出转换为概率分布

编码器部分 

  1. 编码器结构:编码器由N个编码器层堆叠而成,这种多层堆叠的设计有助于模型捕捉更复杂的特征和信息。

  2. 编码器层的组成:每个编码器层都由两个子层连接结构组成,这种双层设计使得模型能够在不同的抽象层次上处理信息。

  3. 第一个子层连接结构:包含多头自注意力子层,该子层通过自注意力机制捕捉序列内部的依赖关系。此外,还包含规范化层,用于加速训练并提高模型的泛化能力。残差连接则有助于解决深度神经网络中的梯度消失问题,使网络更容易训练。

  4. 第二个子层连接结构:包含一个前馈全连接子层,该子层对自注意力子层的输出进行进一步的处理和转换。与第一个子层类似,这里也包含规范化层和残差连接,以提高模型的稳定性和训练效率。

解码器部分

  • 由N个解码器层堆叠而成
  • 每个解码器层由三个子层连接结构组成
  • 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
  • 第二个子层连接结构包括一个多头注意力子层和规范化层以及一个残差连接
  • 第三个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接

Transformer模型以其独特的自注意力机制和并行计算能力,为自然语言处理领域带来了革命性的变革。它不仅提高了各项任务的性能,还为未来的研究提供了新的思路和方向。随着技术的不断进步,我们有理由相信,Transformer及其衍生模型将在更多领域发挥巨大作用,推动人工智能的发展进入新的阶段。让我们一起期待Transformer在未来的更多精彩表现吧! 

 

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

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

相关文章

如何制作MapBox个性化地图

我们在《如何在QGIS中加载MapBox图源》一文中,为你分享了在QGIS中加载MapBox的方法。 现在为你分享如何制作MapBox个性化地图的方法,如果你需要最新版本的QGIS及高清图源,请在文末查看获取软件安装包的方法。 新建地图样式 进入Mapbox Stu…

[2024-06]-[大模型]-[Ollama]- WebUI

主要涉及要部署的前端webui是来源于:https://github.com/open-webui/open-webui 正常就使用: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-web…

MySQL—多表查询—练习(1)

一、引言 上几篇关于多表查询的基本几个部分全部学习完了。 多表查询的基本类型的查询包括以下: 1、内连接(隐式内连接、显示内连接):... [INNER] JOIN ... ON 条件; ) 2、外连接(左外连接、右外连接&…

中国蚁剑 安装教程 2024年5月

2024/5/11 中国蚁剑 安装教程 一、下载中国蚁剑的加载器和核心源码(两个都要用到) github官方下载地址:https://github.com/AntSwordProject/ 参考文档:antSword/README_CN.md at master AntSwordProject/antSword GitHub 核…

iPhone - 为什么姓名和付款都变成灰色?

问题描述 为什么姓名和付款都变成灰色?点开订阅也显示图 2 的无法连接? 原因分析 联网 WIFI 没有对『设置』开放权限。 解决方案 设置 - 无线局域网 - 使用无线局域网与蜂窝网络的App - 找到『设置』应用 - 勾选『无线局域网与蜂窝数据』

品牌渠道健康发展的关键与方法

一个品牌的渠道健康与否对其长期发展至关重要。品牌虽多,但并非所有产品都能成为品牌,创建品牌需大量精力,而让品牌长久健康发展则需多方面努力。 力维网络服务众多知名品牌,总结出一些渠道治理方法供品牌参考。首先,管…

Matlab 2024a 建模基础知识全面指南

一、Matlab简介 1. Matlab是什么? Matlab(Matrix Laboratory)是由MathWorks公司开发的一个高性能的数值计算环境和编程语言。它以其强大的矩阵运算能力、丰富的工具箱和便捷的数据可视化功能而闻名,广泛应用于科学研究、工程模拟…

IP协议(二)

TOC 一: 网段划分 同一个局域网的主机,要按一定的规则分配IP地址 把一个IP地址分为两部分: 前半部分 ,网络号 >用来表示局域网后半部分,主机号 > 用来区分同一个局域网中的不同主机 同一个局域网内部,主机之间的IP , 网络号相同,主…

进口电动双座调节阀选型-美国品牌

在选型进口电动双座调节阀时,需要综合考虑多个因素以确保选择到最适合的调节阀。以下是一个清晰的选型指南,结合了参考文章中的相关信息: 1. 根据工艺需求确定调节阀类型 流量需求:对于需要大流量调节的场合,双座调节…

选电气还是机械?

电气工程和机械工程都是非常重要的工程领域,但它们确实有不同的特点和就业前景。我这里有一套自动化入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习自动化,不妨点个关注,给个评论222,私信22&…

基于LangChain的Prompt模板

简介: LangChain是一个开源库,简化了基于LLM的AI应用开发,充当AI开发的万能适配器,抽象并整合了大语言模型(如OpenAI和文心)的交互。要使用LangChain,首先通过pip install langchain安装。示例展…

还在为复制粘贴烦恼吗?这5个工具帮你轻松搞定

在日常工作中,CtrlC和CtrlV无疑是我们使用最为频繁的快捷键组合。 复制粘贴,轻松快捷。 但是在使用中,也会有一点不便,那就是无法保存剪贴历史内容。 比如我说复制之后,我想要想要找回这一次复制之前的内容&#xf…

2024年,计算机相关专业还值得选择吗?

计算机专业:2024年的热门选择还是明智之选? 随着2024年高考的尘埃落定,许多考生和家长都站在了人生新的十字路口,思考着如何为未来的职业生涯铺设基石。在众多专业中,计算机相关专业始终占据着一席之地,其…

javaspringbootmysql小程序的竞赛管理系统71209-计算机毕业设计项目选题推荐(附源码)

摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景, 运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数库来完成对系统的设计。整个开发过程首先对竞赛管理系统进行需求分…

上位机图像处理和嵌入式模块部署(f407 mcu中的网络开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 和大家想的不太一样,只要mcu当中带有了mac ip,那么就意味着mcu本身支持了网络开发。但是如果需要mcu支持完整的tcp/ip&…

用友U8 表单视图名查询方法

比如要获取【采购订单】表名和视图名 具体操作如下: 先打开写字板,然后进入U8的采购订单做单界面,按住键盘上的,CtrlshiftC,有的是CtrlC,点增加 然后CtrlV到写字板 key就是采购订单的值 打开SQL 输入语句…

《大道平渊》· 拾贰 —— 天下大事必作于细:做好每一件小事,必然大有所成!

《平渊》 拾贰 "天下难事必作于易,天下大事必作于细。" 社群一位大佬最近在研究新项目, 他做事的 "方法论" 令我深受启发。 他在测试项目时, 每一步都做的非常细致: 整个项目的测试都被划分为一件件小事, 然后有条不紊地推进…… …

React+TS前台项目实战(六)-- 全局常用组件Button封装

文章目录 前言Button组件1. 功能分析2. 代码注释说明3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局按钮组件封装,可根据UI设计师要求自定义修改。 Button组件 1. 功能分析 (1)可以通过className属性自定义按钮样式,传递…

多客圈子论坛系统 httpGet 任意文件读取漏洞复现

0x01 产品简介 多客圈子论坛系统是一种面向特定人群或特定话题的社交网络,它提供了用户之间交流、分享、讨论的平台。在这个系统中,用户可以创建、加入不同的圈子,圈子可以是基于兴趣、地域、职业等不同主题的。用户可以在圈子中发帖、评论、…

运营商大模型进化之路:策略分野与AI未来的璀璨展望

运营商大模型的进化路线“分野”与AI大模型的璀璨前景 随着人工智能技术的飞速发展,AI大模型已成为推动科技进步和产业变革的重要力量。在这个浪潮中,运营商作为通信行业的巨头,也纷纷投入大模型的研发与应用,探索出各自独特的进化…