Transformer总结


具体请参考视频 Transformer架构讲解

向量维度

`向量的维度
向量可以是一维或多维的,其维度指的是向量中元素的数量。在数学和物理学中,向量的维度表示向量所在的空间的维数。例如:
一维向量(标量):只有一个元素,如 [5]。
矩阵的维度
矩阵是一个二维数组,其维度通常表示为行数乘以列数。矩阵的维度可以描述为 m×n,其中:
m 是矩阵的行数(垂直方向)。
n 是矩阵的列数(水平方向)。
例如:
2×3 矩阵有2行3列,总共6个元素。
3×3 矩阵是一个方阵,有3行3列,总共9个元素。

Transformer

  • Transformer是什么? Transformer是一种基于自注意力机制(Self-Attention
    Mechanism)的深度学习模型架构,最初由谷歌在2017年的论文《Attention is All You
    Need》中提出。它主要用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务,如机器翻译、文本生成等。
  • 自注意力机制是什么? 自注意力机制的核心是通过计算序列中每个元素与其他所有元素之间的相关性(或注意力权重),来决定每个元素的重要性
  • 深度学习模型架构是什么?
    深度学习模型架构是指深度学习模型的整体结构和组成方式,它定义了模型如何处理输入数据、如何提取特征、如何进行学习和预测等

核心组成四个部分

自注意力机制(Self-Attention Mechanism)
编码器(Encoder)和解码器(Decoder)
位置编码(Positional Encoding)
残差连接和层归一化(Residual Connections and Layer Normalization)

Transformer分词方法

BPE(Byte Pair Encoding,字节对编码)是一种常用的子词分词算法,在自然语言处理(NLP)中用于将文本分割成更小的单位
为什么使用BPE?
解决OOV词表中未出现的词模型无法理解

小结

Transformer Encoder Block
多头注意力机制Multi-Attention与前馈Feed Forward(两层的MLP(多层感知机(输入层-隐藏层-输出层)))
俩个小技巧Add&Norm:残差连接与正则化 将输入与输出连接(防止梯度消失)与改变输入在均值为0方差为1的分布(防止梯度消失与爆炸的问题)
注意力机制基于点积的注意力机制 多头就是多个的意思
首先q与k进行点积得到注意力分数,注意力分数再通过Softmax得到注意力分布,注意力分布再与v进行加权平均得到输出
使用Scale解决当dk(q与k的维度是dk)过大时,梯度会越来越小。不利于梯度更新
Scale主要是将q与k点积除以根号k的方式
qkv三个矩阵是由前面的文本的表示向量(词表向量与位置向量的求和)×变换矩阵linear层
多头注意力机制在变化矩阵linear层参数不同才进行融合

### Transformer模型综述 Transformer 是一种基于自注意力机制(Self-Attention Mechanism)的深度学习架构,最初由 Vaswani 等人在 2017 年提出[^4]。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),转而采用完全依赖于注意力机制的设计思路,从而实现了并行化训练的能力,大幅提高了计算效率。 #### 主要特点 - **自注意力机制**:允许模型在同一序列的不同位置之间建立联系,捕捉全局上下文信息。 - **编码器-解码器结构**:Transformer 的核心框架分为编码器(Encoder)和解码器(Decoder)。编码器负责提取输入数据的特征表示,解码器则用于生成目标序列。 - **高效性与扩展性**:由于其高度并行化的特性,Transformer 能够轻松处理大规模语料库,并支持参数量的增长以提升性能。 随着研究深入和技术进步,一系列改进版 Transformer 架构相继问世,例如 BERT、GPT 和 T5 等预训练语言模型。这些模型在自然语言处理任务上取得了卓越成果,同时也推动了多模态应用的发展[^3]。 --- ### Transformer 模型未来发展趋势 #### 结构优化 为了降低资源消耗并保持高性能表现,研究人员正在探索更高效的 Transformer 变体。其中包括但不限于稀疏注意力机制、线性化注意力以及动态长度调整策略等方法[^1]。 #### 多模态融合 当前单模态 AI 已经趋于成熟,但真实世界的场景往往涉及视觉、听觉等多种感官协同工作。因此,开发具备跨媒体感知能力的大规模预训练模型成为必然选择之一。此类模型可以通过联合建模图像、视频、音频乃至文本等形式的内容来增强表达能力和泛化水平。 #### 提升效率的方法 除了直接修改原有体系外,还有几种途径可用于加速现有方案或者减少存储需求: - 权重共享:通过让不同层间共用部分权重矩阵实现压缩效果; - 量化/混合精度:利用低比特数浮点运算代替高精度版本,在几乎不影响质量的前提下节省内存占用; - 知识蒸馏:将复杂教师网络的知识迁移到较轻便的学生版本里完成部署; - NAS (Neural Architecture Search): 自动寻找最佳超参配置组合达到最优性价比平衡状态; - Task Adapter: 对特定应用场景定制专属插件模块以便快速适配新业务需求[^2]。 #### 面临的主要挑战 尽管前景广阔,但在实际落地过程中仍存在不少难题亟待解决。比如如何有效控制成本的同时维持良好的用户体验;怎样保障隐私安全不被泄露等问题都需要引起高度重视。 ```python import torch from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertModel.from_pretrained('bert-base-uncased') input_text = "This is an example sentence." tokens = tokenizer(input_text, return_tensors="pt") outputs = model(**tokens) print(outputs.last_hidden_state.shape) # 输出最后一层隐藏状态维度大小 ``` 上述代码展示了加载 Hugging Face 中预先训练好的 BERT 模型及其分词工具的过程,并演示了一个简单的前向传播操作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIdenwei

支持是更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值