Transformer模型原理

news/2024/7/19 11:37:58 标签: transformer, 人工智能

NLP预训练模型的架构大致可以分为三类:

1. Encoder-Decoder架构(T5),seq2seq模型,RNNLSTM网络
2. BERT:自编码语言模型,预测文本随机掩码
3. GPT: 自回归语言模型,预测上/下一个单词,自左向右或自右向左的语言模型

然而,没有任何一个架构能在三个主流NLP任务上都达到最好(自然语言理解、无条件生成、条件生成)


Transformer架构

2017年之前,Encoder-Decoder架构的计算核是由一个或多个循环网络(RNNLSTM)单元构成,这样的架构存在两个问题:

  1. 不能进行并行计算:循环网络是顺序结构,必须等待上一时刻完成才能开展下一时刻的计算,使得模型不能进行并行计算;
  2. 超长序列关系微弱:对于超长序列,前后间隔过远的数据之间的联系很难建立。就文本问题,当前时刻可能受过往N个时刻的影响,而循环网络只对较近时刻信息保持敏感,对较远时刻信息很难提取关联。
    在这里插入图片描述

2017年谷歌发表论文《Attention Is All You Need》,就序列问题(机器翻译、语言模型)继续沿用Encoder-Decoder的经典架构,但是将计算核由循环网络改进为Transformer网络架构,这是Transformer网络架构的首次应用,便在序列问题上超越了之前RNNLSTM等网络,取得更好的结果表现。

一、Transformer的整体结构

首先介绍Transformer的整体结构,下图是利用Transformer 用于中英文翻译。可以看出Transformer沿用Encoder-Decoder的经典架构,只是将处理元由神经网络换成Transformer处理层。

Transformer架构中使用的Multi-Head Attention(多头注意力)层中的self-Attention(自注意力)机制是Transformer 架构中最出彩的部分

(论文《Attention Is All You Need》中的EncoderDecoder各包含6个block。)
在这里插入图片描述

二、Transformer的数据流转

2.1、预处理过程:建立词空间矩阵X(n,d)

获取输入句子中每个单词的词向量text embedding、位置向量path embedding,词向量 + 位置向量经过映射得到transformer词空间向量,词空间向量组合形成词空间矩阵X(n,d)n表示句子中单词的个数,d表示词向量的维度。

  1. 词向量text embedding:有多种方式获取,可用 Word2VecGlove 等算法预训练得到,也可以在Transformer中训练得到;
  2. 位置向量path embedding:位置向量对于NLP来说非常重要,循环网络可直接通过单词的顺序输入得到单词的位置关系,而Transformer 由于不采用循环网络的结构,所以需要单独记录顺序的位置向量path embedding,用于保存单词在序列中的相对或绝对位置;
  3. Transformer的输入:将词向量text Embedding 和位置向量path embedding经过映射就可以得到transformer词空间向量,词空间向量就是Transformer的输入。
    在这里插入图片描述

2.2、编码过程:生成编码矩阵C

将得到的词空间矩阵X(n,d)传入Encoder,经过设定的NEncoder后生成编码矩阵C。如上右图。
(其中每一个Encoder block中,输入、输出的矩阵维度都完全一致。)

2.3、解码过程:Mask掩码预测

将得到的编码矩阵C传递到Decoder中,在第 i 次解码过程中,会Mask掩盖住 i 之后所有的单词用于预测第 i 位的单词(0 < i < n)。
(预测值与真实值在词空间上构建损失loss,进行梯度更新训练。)
在这里插入图片描述

三、self-attention自注意力机制


http://www.niftyadmin.cn/n/5135768.html

相关文章

Mysql报1462包含视图递归异常1462-contains view recursion

现象&#xff1a; 视图无法打开无法复制&#xff0c;数据库无法备份&#xff0c;均报1462包含视图递归异常1462-contains view recursion 背景&#xff1a; 不知到问题视图的用途&#xff0c;不敢轻易删除。 需求&#xff1a; 想要知道该视图的sql。 方法&#xff1a; 打…

Spring 事务不生效的几种场景

Spring 事务不生效的几种场景 详细内容参考以下链接&#xff0c;这个链接是原文&#xff1a; spring 事务不生效的15中场景 非原创。 以下内容只是为了学习&#xff0c;加深印象&#xff0c;仅作为个人学习笔记&#xff0c; 请支持原创&#xff0c;内容请点击 spring 事务不生效…

学习Bootstrap 5的第十五天

目录 Bootstrap 5 实用工具 边框 边框圆角 浮动和清除浮动 响应式浮动 居中对齐 宽度与高度 间距 阴影 垂直对齐 纵横比 可见性 关闭图标 屏幕阅读器 颜色 背景颜色 Bootstrap 5 实用工具 边框 Bootstrap 5提供了一系列的边框类&#xff0c;让开发者可以方便…

iptables的四表五链以及一些应用小场景

一、前言 本文主要学习iptables的一些学习&#xff0c;讲解一些四表五链的基本概念&#xff0c;同时通过iptables实现一下场景&#xff0c;比如反向代理端口、禁用域名、限制IP和端口访问。 二、基本概念 2.1 什么是iptables iptables是Linux的防火墙管理工具而已&#xff0c…

从单模态到多模态,自主AI离我们还有多远?

一、从AI的诞生和发展说起 人工智能的发展&#xff0c;从思想诞生上&#xff0c;可以追逐到十七世纪的帕斯卡和莱布尼茨&#xff0c;1666年&#xff0c;德国博学家戈特弗里德威廉莱布尼茨发表了一篇题为《论组合的艺术》的神秘论文。当时的莱布尼茨只有20岁&#xff0c;他概述了…

人大与加拿大女王大学金融硕士—与您共创辉煌

生活的本质就是有意识的活着&#xff0c;而生活的智慧就是活出了自己想要的样子&#xff0c;那些真正厉害的人&#xff0c;从来都在默默努力&#xff0c;伴随着金融人才的需求日益增长&#xff0c;中国人民大学与加拿大女王大学联合推出了人大女王金融硕士项目&#xff0c;旨在…

算法|每日一题|H 指数|二分

274. H 指数 原题地址&#xff1a; 力扣每日一题&#xff1a;H 指数 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#x…

不直播拍视频,一样可以变现,原来是做了这个!

我是电商珠珠 随着直播带货的流行&#xff0c;部分大学也开始紧随其后&#xff0c;相继增设网络营销与直播电商这项课程。 以上这些技能&#xff0c;部分人并不知道怎么搞&#xff0c;一是不想麻烦&#xff0c;没那么多时间精力&#xff0c;二是做不起来&#xff0c;自身没有那…