【神经网络】Transformer小结

Transformer介绍

Tansformer具有两个突出的贡献:

1.自注意力机制,允许网络捕获序列元素之间的“长期”信息和依赖关系;
2.在无监督的大数据集上进行预训练,然后用小样本数据集微调到目标任务。

自注意力机制

自注意力机制估计预测任务中所有实体两两之间的相关性;
自注意力层通过聚合来自完整输入序列的全局信息更新序列的每个组成部分。

自注意力机制模块

自注意力机制是如何将序列中的每个实体关联起来的?
1、用 X ∈ R n × d X\in \mathbb{R}^{n\times d} XRn×d表示 n n n个实体 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1,x2,...,xn)的序列,其中 d d d表示维度。(自注意力机制的目标是根据全局上下文信息对每个实体进行编码捕获所有 n n n个实体之间的交互。)
2、定义三个权重矩阵 W Q , W K , W V W^Q,W^K,W^V WQ,WK,WV,通过矩阵生成三个向量(查询向量 Q = X W Q Q=XW^Q Q=XWQ、键向量 K = X W K K=XW^K K=XWK和值向量 V = X W V V=XW^V V=XWV)。
3、然后值自关注层的输出表示为:
Z = s o f t m a x ( Q K T d q ) V Z=softmax(\frac{QK^T}{\sqrt{d_q}})V Z=softmax(dq QKT)V
在这里插入图片描述
如图所示,首先计算键向量和查询向量的点积,然后使用softmax进行归一化,获得注意力分数。接着通过注意力分数获得值向量的权重,从而得到自注意力后的特征图像。

带掩膜的自注意力机制

在这里插入图片描述

多头注意力机制

为了表示输入序列 X X X中的不同实体之间的多种复杂关系,多头注意力机制包含了多个自注意力模块,每个块都具有可学习的权重矩阵( W Q , W K , W V W^Q,W^K,W^V WQ,WK,WV),然后将输出的多个权重矩阵合并到一个权重矩阵上。
在这里插入图片描述

预训练模型

基于自注意力的Transformer模型通常采用两阶段训练。
1、以有监督或无监督的方式,对大规模数据集(有时有几个可用数据集的组合)执行预训练。
2、使用中小型数据集对预训练的权重进行调整,以适应下游任务。

自监督学习(SSL)

基于自监督学习的预训练提高了模型的可扩展性和通用性。自监督学习可分为两种:
1、填补空白,即尝试预测图像中的遮挡数据、时间视频序列中的未来或过去帧、预测借口任务(?)。
2、通过对比学习,施加自监督约束。
自监督学习提供了一种很有前途的学习范例,可以从大量随时可用的非注释数据中进行学习。

借口任务

在基于自监督预训练阶段,训练模型以通过解决结构任务来学习底层数据的有意义表示。借口任务的伪标签是基于数据属性和任务定义自动生成的。
借口任务大致分类:
a)合成图像或视频(给定条件输入)的生成性方法。
b)利用于此时图像补丁或视频帧之间关系的基于上下文的方法。
c)利用多个数据模态的跨模态方法。
其中,生成性方法包括:蒙版图像建模、图像彩色化、图像超分辨率以及图像生成。
已于上下文的借口方法包括:图像块上的拼接、遮蔽图像分类、预测几何变换或验证视频帧的时间序列等。
跨模态方法包括:验证两个模态(例如,文本和图像、音频和视频或RGB和流)的对应关系。

Transformer模型

在这里插入图片描述
Transformer模型具有编码器-解码器结构。
编码器由6个相同的块构成,每个块具有两个子层(多头自关注网络和简单的位置全连接前馈网络)。在每个块之后采用层归一化一起的剩余连接。两个子层在模型中是分离的,即自关注层仅执行聚集,而前馈层执行变换。
解码器结构与编码器类似。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Transformer是一种基于自注意力机制的神经网络模型,用于处理序列数据,尤其在自然语言处理(NLP)领域中表现出色。相比之下,卷积神经网络(CNN)在计算机视觉领域更常用,如图像分类和目标检测等任务。 Transformer相较于CNN有以下几个优势: 1. 并行计算能力: Transformer中的自注意力机制允许每个时间步进行并行计算,这使得Transformer的训练速度相对于CNN更快。而CNN需要在每个时间步上执行串行卷积操作,这导致在处理较长序列时计算效率较低。 2. 建模能力: Transformer具有更好的序列建模能力,可以更好地捕捉序列中的上下文信息,因为它能够在每个时间步对整个序列进行自注意力计算。这使得Transformer在处理文本等序列数据时能够更好地捕捉语义关系。 3. 容易扩展到其他NLP任务: Transformer在序列建模方面表现优异,因此在许多NLP任务中表现出色,如机器翻译、语言模型等。相比之下,CNN主要用于计算机视觉领域,因此Transformer更容易扩展到处理其他NLP任务,而CNN则需要进行更多的改进才能适用于NLP任务。 综上所述,Transformer在处理序列数据方面具有更好的建模能力和计算效率,可以处理更长的序列,并且更容易扩展到其他NLP任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [与卷积神经网络(CNN)对比,Transformer的优势是什么](https://blog.csdn.net/weixin_47151388/article/details/129866526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值