Transformer讲解

什么是transformer

transformer的具体流程

  1. transformer 会多语句进行拆词
  2. 通过向量化模型,将词进行向量化,并加入位置编码代表词在句子中的位置
  3. 随后再进入由6层堆叠而成的编码器,每一层都包括1. 多头注意力机制用来捕捉句子不同位置之间的关联关系。2. 以及前馈神经网络,用来对特征进行非线性转换。3. 层与层之间通过残差连接和层归一化来保证信息稳定流动
  4. 接下来进入由六层堆叠而成的解码器。
  5. 最后解码器的输出经过线性映射跟softmax操作进而转化为词的概率分布,再从中选出概率最高的词作为模型的最终预测结果

分词与向量化

分词就是直接用分词器,分好的一个词就是一个token。

实际生产中会将多个句子打包一起处理,这个时候会转化为同等维度的矩阵(token数需要一样),但分词之后的语句token数并不一样, 此时分词数不够的会在末尾补全padding(对应于多维中的0)

transformer的核心机制 - 自注意力机制

自注意力机制解决的问题是:类似于多义词,不同的文字在不同的语境下是不同的意思
一句话总结做的事情 :

让每个token结合上下文去理解自己的含义,实际上是去计算输入的不同token 之间的的关联度(权重)是多少

注意力机制中的QKV

  • Q(查询):当前需要处理的信息
  • K(键):是指来自输入序列的一组表示
  • V(值):是指来自输入序列的一组表示

其实就是拿输入的向量去跟 模型随机生成的Q,K,V三个矩阵 去生成三个矩阵值。

而这个矩阵值其实就会拿到token之间的关系,每个token的语义了。

会在后续的残缺网络,归一化,前馈网络等多个流程中使用

缩放点积注意力

做的事情很简单,就是把输入的因子进行简单缩放,通过多次缩放去确定最终的矩阵函数,这么做是怕输入的部分因子误差过大,导致最后的函数失去预测的特性

多头注意力机制

ADD(残差网络)和Norm(归一化)

  • 残差网络是指在算出来的注意力的结果会跟原始的输入相加,以达到确保token自身的信息不会被覆盖掉
  • 残差网络后,为了让权重数值保障在0-1之间,模型会对结果进行一次简单调整,这一步叫归一化(避免偏差过大)

FFN(前馈网络)

  • 前馈网络是将猜想函数从线形变为非线形的核心步骤
  • 在经过残差连接跟归一化处理后,函数跟token的走势其实还是个线形函数,前馈网络会通过激活函数将线形的映射掰弯,变为非线形的曲线。
  • 其实原理就是在线形函数 y=ax+b 上的外层去匹配各种曲线数学函数,比如 y=sin(ax+b), 去看token是否匹配走势,通过这种方式去猜想走势
  • 每次FFN后还需要再做一次 ADD&Norm

编码器是什么

  • 一次 (多头注意力+ Add&Norm + FFN+FFN后的Add&Norm)这种行为构成一次编码层
  • 执行一次编码层,模型对输入就会进行一次语义理解,多次执行,模型对输入理解就会加深
  • 多个编码层组层一个编码层
  • 他编码层的输出是向量,代表一串汉字输入对应的数字表现形式

翻译原理

  • 其实就是拿编码器去做相似匹配,看下一个更贴合的输出是啥,拿到输出后再拿输入+拿到的输出看后面的输出是啥更匹配
  • 像以token为单元素的,近似匹配的成语接龙

解码器是什么

  • 解码器做的事情跟编码器很像,但是不同的是,他用翻译原理去做输出生成
  • 编码器做理解,解码器去做生成,生成好的向量再转文字即可
  • transformer中编码器跟解码器并不需要共同存在,比如Bert只需要编码器,ChatGpt只需要解码器即可
相关推荐
永远都不秃头的程序员(互关)几秒前
CANN模型量化赋能AIGC:深度压缩,释放生成式AI的极致性能与资源潜力
人工智能·aigc
爱华晨宇4 分钟前
CANN Auto-Tune赋能AIGC:智能性能炼金术,解锁生成式AI极致效率
人工智能·aigc
聆风吟º7 分钟前
CANN算子开发:ops-nn神经网络算子库的技术解析与实战应用
人工智能·深度学习·神经网络·cann
觉醒大王8 分钟前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
偷吃的耗子12 分钟前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn
勾股导航12 分钟前
OpenCV图像坐标系
人工智能·opencv·计算机视觉
神的泪水13 分钟前
CANN 生态实战:`msprof-performance-analyzer` 如何精准定位 AI 应用性能瓶颈
人工智能
芷栀夏14 分钟前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
威迪斯特14 分钟前
项目解决方案:医药生产车间AI识别建设解决方案
人工智能·ai实时识别·视频实时识别·识别盒子·识别数据分析·项目解决方案
笔画人生14 分钟前
# 探索 CANN 生态:深入解析 `ops-transformer` 项目
人工智能·深度学习·transformer