Scale-Aware Modulation Meet Transformer

2024-05-04 15:04

本文主要是介绍Scale-Aware Modulation Meet Transformer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文给出一种集合卷积网络和Transformer的架构。提出的尺度感知调制(Scale-Aware Modulation,SAM)包括两个核心新颖模块,捕捉多尺度特征并扩大感受野的多头混合卷积(Multi-head Mixed Convolution,MHMC)模块与允许信息在不同头之间混合的尺度感知聚合模块(Scale-Aware Aggregation,SAA)。另外提出了进化混合网络(Evolutionary Hybrid Network,EHN),该模块可以有效地模拟随着网络深入从捕捉全局依赖性到全局依赖性的转变。

MHMC模块

多头混合卷积模块通过引入不同核尺寸的卷积捕捉多种尺度的空间特征。此外,MHMC可以使用大卷积核扩大感受野,增强其对长距离依赖建模的能力。MHMC将输入通道划分为N头并使用不同的深度可分离卷积,该设计减少了参数尺寸和参数成本。为了简化设计,本文初始化核尺寸为3x3,并在每个头逐渐增加2。这种设计使得能够仅通过调整头数量调节感受野和多粒度信息范围。MHMC可以描述为:
M H M C ( X ) = C o n c a t ( D W k 1 × k 1 ( x 1 ) , … , D W k n × k n ( x n ) ) MHMC(X)=Concat(DW_{k_{1}\times k_{1}}(x_{1}),\ldots,DW_{k_{n}\times k_{n}}(x_{n})) MHMC(X)=Concat(DWk1×k1(x1),,DWkn×kn(xn))
MHMC在浅层阶段可以比单一头更好地捕捉局部信息,同时随着网络深入保持目标的详细和语义信息。

尺度感知聚合

为了增强MHMC中多头之间信息交互,本文引入了一种新的轻量级聚合模块,称为尺度感知聚合(Scale-aware Aggregation,SAA)。SAA包含一个对MHMC产生不同力度特征进行混洗和分组的操作。从每个头选择一个通道构建一个组,之后使用反向瓶颈(Inverse bottleneck)结构执行每个组内的自顶向下特征融合操作,因此增强多尺度特征多样性。一个良好设计的分组策略在仅引入少量计算同时获得期望的聚合结果。定义输入 X ∈ R H × W × C X\in \mathbb{R}^{H\times W\times C} XRH×W×C G r o u p s = C h e a d s Groups=\frac{C}{heads} Groups=headsC,这意味着组数量与头数量成反比。使用逐点卷积对所有特征进行跨组信息聚合以实现全局信息交叉融合。SAA模块可以描述为:
M = W i n t e r ( [ G 1 , G 2 , … , G M ] ) G i = W i n t r a ( [ H 1 i , H 2 i , … , H N i ] ) H j i = D W C o n v k j × k j ( x j i ) ∈ R H × W × 1 \begin{aligned} M&=W_{inter}([G_{1},G_{2},\ldots,G_{M}])\\ G_{i}&=W_{intra}([H_{1}^{i},H_{2}^{i},\ldots,H_{N}^{i}])\\ H_{j}^{i}&=DWConv_{k_{j}\times k_{j}}(x_{j}^{i}) \in \mathbb{R}^{H\times W\times 1}\\ \end{aligned} MGiHji=Winter([G1,G2,,GM])=Wintra([H1i,H2i,,HNi])=DWConvkj×kj(xji)RH×W×1
W i n t e r , W i n t r a W_{inter},W_{intra} Winter,Wintra是点卷积的权重矩阵。 H j H_{j} Hj表示有深度卷积的第j头。

尺度感知调制

在使用MHMC捕捉多尺度空间特征并将其与SAA聚合后,获得了输出特征图,本文称之为调制器 M M M。然后采用这种调制器与标量乘积调制值 V V V并计算结果 Z Z Z
Z = M ⊙ V V = W v X M = S A A ( M H M C ( W s X ) ) \begin{aligned} Z&=M\odot V\\ V&=W_{v}X\\ M&=SAA(MHMC(W_{s}X)) \end{aligned} ZVM=MV=WvX=SAA(MHMC(WsX))
W v , W s W_{v},W_{s} Wv,Ws是线性层的权重矩阵。权重根据不同输入动态变化,因此获得自适应自调制。

尺度感知调制Transformer

进化混合网络(Evolutionary Hybrid Network)

本节提出根据网络捕捉范围相关性的变化模式重新分配适当的计算模块,以实现更好的计算性能。本文提出仅使用倒数第二阶段的MSA块减少计算负担。此外为了有效地模拟变换范式,本文针对倒数第二个阶段提出了两种混合堆叠策略:1. 顺序堆叠SAM块和MSA块,描述为: ( S A M × 1 + M S A × 1 ) × N 2 (SAM\times 1+MSA\times 1)\times \frac{N}{2} (SAM×1+MSA×1)×2N,2. 前半段阶段使用SAM块,后半段使用MSA块,描述为: ( S A M × N 2 + M S A × N 2 ) (SAM\times \frac{N}{2}+MSA\times \frac{N}{2}) (SAM×2N+MSA×2N)

这篇关于Scale-Aware Modulation Meet Transformer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959473

相关文章

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

Transformer从零详细解读

Transformer从零详细解读 一、从全局角度概况Transformer ​ 我们把TRM想象为一个黑盒,我们的任务是一个翻译任务,那么我们的输入是中文的“我爱你”,输入经过TRM得到的结果为英文的“I LOVE YOU” ​ 接下来我们对TRM进行细化,我们将TRM分为两个部分,分别为Encoders(编码器)和Decoders(解码器) ​ 在此基础上我们再进一步细化TRM的

LLM模型:代码讲解Transformer运行原理

视频讲解、获取源码:LLM模型:代码讲解Transformer运行原理(1)_哔哩哔哩_bilibili 1 训练保存模型文件 2 模型推理 3 推理代码 import torchimport tiktokenfrom wutenglan_model import WutenglanModelimport pyttsx3# 设置设备为CUDA(如果可用),否则使用CPU#

逐行讲解Transformer的代码实现和原理讲解:计算交叉熵损失

LLM模型:Transformer代码实现和原理讲解:前馈神经网络_哔哩哔哩_bilibili 1 计算交叉熵目的 计算 loss = F.cross_entropy(input=linear_predictions_reshaped, target=targets_reshaped) 的目的是为了评估模型预测结果与实际标签之间的差距,并提供一个量化指标,用于指导模型的训练过程。具体来说,交叉

android xml之动画篇 alpha、scale、translate、rotate、set的属性及用法 和

1.简介 Android的补间动画TweenAnimation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》 逐帧动画 FrameAnimation(也称 Drawable Animation  ):animation-list alpha 渐变透明度动画效果 scale 渐变

深度学习每周学习总结N9:transformer复现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 多头注意力机制前馈传播位置编码编码层解码层Transformer模型构建使用示例 本文为TR3学习打卡,为了保证记录顺序我这里写为N9 总结: 之前有学习过文本预处理的环节,对文本处理的主要方式有以下三种: 1:词袋模型(one-hot编码) 2:TF-I

RNN发展(RNN/LSTM/GRU/GNMT/transformer/RWKV)

RNN到GRU参考: https://blog.csdn.net/weixin_36378508/article/details/115101779 tRANSFORMERS参考: seq2seq到attention到transformer理解 GNMT 2016年9月 谷歌,基于神经网络的翻译系统(GNMT),并宣称GNMT在多个主要语言对的翻译中将翻译误差降低了55%-85%以上, G

Android AnimationDrawable资源 set[translate,alpha,scale,rotate]

本文内容摘自《疯狂Android讲义 第三版-李刚著作》 xml <?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:duration="1000"android:fillAfter="true"android:f

Spring源码学习--Aware相关接口(beanNameAware接口/BeanFactoryAware接口/ApplicationContextAware接口)

可以先这样理解在Spring中以Aware结尾的接口的功能 看到Spring源码中接口以Aware结尾的接口(XXXAware)在Spring中表示对XXX可以感知,通俗点解释就是:如果在某个类里面想要使用spring的一些东西,就可以通过实现XXXAware接口告诉Spring,Spring看到后就会给你送过来,而接收的方式是通过实现接口唯一方法set-XXX.比如:有一个类想要使用当前

ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d‘解决方法

Python应用运行报错,部分错误信息如下: Traceback (most recent call last): File “\pipelines_ootd\unet_vton_2d_blocks.py”, line 29, in from diffusers.models.dual_transformer_2d import DualTransformer2DModel ModuleNotF