StarNet:关于 Element-wise Multiplication 的高性能解释研究 | CVPR 2024

news/2024/11/17 5:33:10/文章来源:https://www.cnblogs.com/VincentLee/p/18358253

论文揭示了star operation(元素乘法)在无需加宽网络下,将输入映射到高维非线性特征空间的能力。基于此提出了StarNet,在紧凑的网络结构和较低的能耗下展示了令人印象深刻的性能和低延迟
来源:晓飞的算法工程笔记 公众号

论文: Rewrite the Stars

Introduction


最近,通过元素乘法融合不同的子空间特征的学习范式越来越受到关注,论文将这种范例称为star operation(由于元素乘法符号类似于星形)。

为了便于说明,论文构建了一个用于图像分类的demo block,如图 1 左侧所示。通过在stem层后堆叠多个demo block,论文构建了一个名为DemoNet的简单模型。保持所有其他因素不变,论文观察到逐元素乘法(star operation)在性能上始终优于求和,如图 1 右侧所示。

在这项工作中,论文证明star operation具有将输入映射到极高维的非线性特征空间的能力,从而解释star operation的强表达能力。论文不依赖直观或假设的高级解释,而是深入研究star operation的细节。通过重写和重新表述star operation计算过程,论文发现这个看似简单的运算实际可以生成一个新的特征空间,含大约 \((\frac{d}{\sqrt{2}})^2\) 线性独立维度。

与增加网络宽度(又称通道数)的传统神经网络不同,star operation类似于在不同通道上进行成对特征乘法的核函数,特别是多项式核函数。当应用到神经网络中并通过多层堆叠时,每一层都会带来隐式维度复杂性的指数增长。只需几层,star operation就可以在紧凑的特征空间内实现几乎无限的维度。在紧凑的特征空间内计算,同时受益于隐含的高维度,这就是star operation的独特魅力所在。

根据上述见解,论文推断star operation本质上更适合高效、紧凑的网络,而不是常规使用的大型模型。为了验证这一点,论文提出了一种概念验证的高效网络StarNet,其特点是简洁和高效。StarNet非常简单,缺乏复杂的设计和微调的超参数。在设计理念上,StarNet与现有网络明显不同,如表 1 所示。利用star operationStarNet甚至可以超越各种精心设计的高效模型,如MobileNetv3EdgeViTFasterNet等。这些结果不仅从经验上验证了论文对恒星运行的见解,而且强调了其在实际应用中的实用价值。

论文简要总结并强调这项工作的主要贡献如下:

  • 证明了star operation的有效性,如图 1 所示,揭示了star operation具有将特征投影到极高维隐式特征空间的能力,类似于多项式核函数。
  • 从分析中汲取灵感,确定了star operation在高效网络领域的实用性,并提出了概念验证模型StarNet。无需复杂的设计或精心选择的超参数即可实现高性能,超越了许多高效的设计。
  • 基于star operation存在大量未探索的可能性,论文的分析可以作为指导框架,引导研究人员远离随意的网络设计尝试。

Rewrite the Stars


Star Operation in One layer

在单层神经网络中,star operation通常写为 \((\mathrm{W}_{1}^{\mathrm{T}}\mathrm{X}+\mathrm{B}_{1})\ast(\mathrm{W}_{2}^{\mathrm{T}}\mathrm{X}+\mathrm{B}_{2})\),通过逐元素乘法融合两个线性变换的特征。为了方便起见,将权重矩阵和偏置合并为一个实体 \(\mathrm{W} = \Bigg\begin{array}{c}{\mathrm{W}}\{\mathrm{B}}\end{array}\Bigg\),同样地,通过 \(\mathrm{X} = \Bigg\begin{array}{c}{\mathrm{X}}\{\mathrm{1}}\end{array}\Bigg\),得到star operation \((\mathrm{W}_{1}^{\mathrm{T}}\mathrm{X})\ast(\mathrm{W}_{2}^{\mathrm{T}}\mathrm{X})\)

为了简化分析,论文重点关注涉及单输出通道转换和单元素输入的场景。具体来说,定义 \(w\_1, w\_2, x \in \mathbb{R}^{(d+1)\times 1}\),其中 \(d\) 为输入通道数。这可以随时进行 \(\mathrm{W}\_1, \mathrm{W}\_2 \in \mathbb{R}^{(d+1)\times(d^{\prime}+1)}\) 扩展以适应多个输出通道,以及处理多元素输入 \(\mathrm{X} \in \mathbb{R}^{(d+1)\times n}\)

一般来说,可以通过以下方式重写star operation

\[ \begin{array}{l}{{w_{1}^{\mathrm{T}}x\ast w_{2}^{\mathrm{T}}x}}&(1)\{{=\left(\sum_{i=1}^{d+1}w_{1}^{i}x^{i}\right)\*\left(\sum_{j=1}^{d+1}w_{1}^{i}w\_{2}^{j}x^{j}\right)}}&(2)\{{=\sum_{i=1}^{d+1}\sum_{j=1}^{d+1}w_{1}^{i}w_{2}^{j}x^{i}x^{j}}}&(3)\=\underbrace{{\alpha_{(1,1)}x^{1}x^{1}+\cdots+\alpha_{(4,5)}x^{4}x^{5}+\cdots+\alpha_{(d+1,d+1)}x^{d+1}x^{d+1}}}_{(d+2)(d+1)/2\ \mathrm{items}}&(4)\end{array}\]

其中 \(i,j\) 作为通道下标,\(\alpha\) 为个子项的系数:

\[ {\alpha}_{(i,j)}=\left{\begin{array}{c c}{{{w}_{1}^{i}{w}_{2}^{j}}}&{{\mathrm{if}\;i==j,}}\ {{{w}_{1}^{i}{w}_{2}^{j}+{w}_{1}^{j}{w}\_{2}^{i}}}&{{\mathrm{if}\;i!=j.}}\end{array}\right.\quad\quad(5)\]

重写star operation后,可以将其展开为 \(\frac{(d+2)(d+1)}{2}\) 个不同子项的组合,如等式 4 所示。值得注意的是,除了 \(\alpha\_{(d+1,:)}x^{d+1}x\) 的每个子项(这里是 \(x^{d+1}\) 偏置项)都与 \(x\) 呈非线性关联,表明它们是单独的隐式维度。

因此,在 \(d\) 维度空间中使用计算效率高的star operation,可以得到\({\frac{(d+2)(d+1)}{2}}\approx(\frac{d}{\sqrt{2}})^2\)\(d\gg 2\))的隐式维度特征空间。从而在显著放大特征维度的同时,不会在单层内产生任何额外的计算开销,这个突出的属性与内核函数有着相似的理念。

Generalized to multiple layers

通过堆叠多个层,可以递归地将隐式维度以指数方式增加到几乎无限。

对于宽度为 \(d\) 的初始网络层,应用一次star operation\(\sum_{i=1}^{d+1}\sum_{j=1}^{d+1}w_{1}^{i}w_{2}^{j}x^{i}x^{j}\)),可得到 \(\mathbb{R}^{(\frac{d}{\sqrt{2}})^{2^{1}}}\) 的隐式特征空间内。

\({O}\_{l}\) 表示第 \(l\)star operation的输出,可得:

\[ \begin{array}{l l}{{O_{1}=\sum_{i=1}^{d+1}\sum_{j=1}^{d+1}w_{(1,1)}^{i}w\_{(1,2)}^{j}x^{i}x^{j}\qquad\in\mathbb{R}^{({\frac{d}{\sqrt{2}}})^{2^{1}}}}}&(6)\{{O_{2}=\mathrm{W}_{2,1}^{\mathrm{T}}\mathrm{O}_{1}\ast\mathrm{W}_{2,2}^{\mathrm{T}}O\_{1}}}\qquad\qquad\qquad\,\,{{\in\,\mathbb{R}^{({\frac{d}{\sqrt{2}}})^{2^{2}}}}}&(7)\{{O_{2}=\mathrm{W}_{3,1}^{\mathrm{T}}\mathrm{O}_{2}\ast\mathrm{W}_{3,2}^{\mathrm{T}}O\_{2}}}\qquad\qquad\qquad\,\,{{\in\,\mathbb{R}^{({\frac{d}{\sqrt{2}}})^{2^{3}}}}}&(8)\\cdots&(9)\{{O_{2}=\mathrm{W}_{l,1}^{\mathrm{T}}\mathrm{O}_{l-1}\ast\mathrm{W}_{l,2}^{\mathrm{T}}O\_{l-1}}}\qquad\qquad\quad\,\,{{\in\,\mathbb{R}^{({\frac{d}{\sqrt{2}}})^{2^{l}}}}}&(10)\end{array}\]

也就是说,通过堆叠 \(l\) 层可以隐式获得 \(\mathbb{R}^{({\frac{d}{\sqrt{2}}})^{2^{l}}}\) 维特征空间。例如,给定一个宽度为 128 的 10 层网络,通过star operation获得的隐式特征维数近似为 \(90^{1024}\) ,相当于无限维度。因此,通过堆叠多个层,即使只有几个层,star operation也可以以指数方式大幅放大隐式维度。

Special Cases

实际上,并非所有star operation都遵循公式 1 那样,两个分支都进行变换。例如,VANSENet包含一个identity分支,而GENet-\(\theta^{-}\)无需任何需学习的变换(池化、最近邻插值后乘回原特征)即可运行。

  • Case I: Non-Linear Nature of \(\mathrm{W}_{1}\) and/or \(\mathrm{W}_{2}\)

在实际场景中,大量研究(例如Conv2FormerFocalNet等)通过合并激活函数将变换函数 \({\mathrm{W}}_{1}\) 和/或 \({\mathrm{W}}_{2}\) 变为非线性。尽管如此,最重要的其实是看通道间的处理是否像公式 2 那样实现,是则其隐式维度仍然保持不变(大约为 \(\frac{d}{\sqrt{2}})^2\) )。

  • Case II: \(\mathrm{W}\_{1}^{\mathrm{T}}\mathrm{X}\ast \mathrm{X}\)

当移除 \(\mathrm{W}\_{2}\) 变换时,隐式维度从大约 \(\frac{d^{2}}{2}\) 减少到 \(2d\)

  • Case III: \(\mathrm{X}\ast \mathrm{X}\)

在这种情况下,star operation将特征从特征空间 \({{x}^{1},{x}^{2},\cdots,\;{x}^{d}} \in\mathbb{R}^{d}\) 转换为 \({{x}^{1}{x}^{1},{x}^{2}{x}^{2},\cdots,\;{x}^{d}{x}^{d}} \in\mathbb{R}^{d}\) 的新特征空间。

有几个值得注意的方面需要考虑:

  • star operation及其特殊情况通常会(尽管不一定)与空间交互集成,比如通过池化或卷积实现线性变换。但许多这些方法只强调扩大感受野带来的好处,往往忽视隐式高维空间赋予的优势。
  • 组合这些特殊情况是可行的,如Conv2Former合并了Case ICase II,以及GENet-\(\theta^{-}\)混合了Case ICase III
  • 虽然Case IICase III可能不会显著增加单层的隐式维度,但使用线性层(主要用于通道通信)和skip连接依然可以通过堆叠多个层来实现高隐式维度。

Proof-of-Concept: StarNet


鉴于star operation的独特优势—在低维空间中计算的同时产生高维特征,论文确定了其在高效网络架构领域的实用性。因此,论文提出StarNet作为概念验证模型,特点是极其简约的设计和显著减少的人为干预。尽管StarNet很简单,但它展示了卓越的性能,强调了star operation的功效。

StarNet Architecture

StarNet采用 4 级分层架构,利用卷积层进行下采样,并使用修改后的demo block进行特征提取。为了满足效率的要求,将Layer Normalization替换为Batch Normalization,并将其放置在深度卷积之后(可以在推理时融合)。受到MobileNeXt的启发,论文在每个块的末尾加入了一个深度卷积。通道扩展因子始终设置为 4,网络宽度在每个阶段加倍。遵循MobileNetv2设计,demo block中的GELU激活被替换为ReLU6

Experimental


Star Operation

StarNet

如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783596.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.13 admin server 代码理解

除了一些常规校验,还要考虑到更新的id是不是该店铺的 采用集合的方式快速计算budget表如何和biz业务表交互用于求最高值的加上判断数组是否越界的条件getSumInt64 如果数组为空时发送什么 budget表是以Store为底层维度的,以biz连接,因此要体现出店铺的效果,可以少一个店铺…

提升企业竞争力:最大化APS智能排产效果的策略

APS构建排程模型的基础数据准确性 数据收集与清洗 根据APS排程建模的需求建立全面的数据收集机制,确保所有与生产相关的数据,如物料库存、设备状态、人力资源、生产订单信息、销售订单、采购订单等,都能被准确、及时地录入系统;并依据需求建立同步的时间和数据更新、增加、…

AI解题助手ChatMoney:提高你的学习效率

本文由 ChatMoney团队出品在当今这个信息爆炸的时代,学习不再局限于传统的书籍与课堂。AI解题助手作为新时代的智慧工具,正以其独特的亮点和显著优势,引领学习方式的革新。ChatMoneyAI解题助手,以其即时响应、精准解答的能力,让难题迎刃而解。无论面对的是复杂的数学公式,…

将爬虫与大语言模型结合

论文标题:《AUTOCRAWLER : A Progressive Understanding Web Agent for Web Crawler Generation》 论文地址:https://arxiv.org/abs/2404.12753 摘要 Web自动化是一种重要技术,通过自动化常见的Web操作来完成复杂的Web任务,可以提高运营效率并减少手动操作的需要。 传统的实…

完美解决RTX5源码工程+最新emWin6.40的编译兼容问题,使能C编译器使用C11可解决

最新的emWin6.40仅提供了.a格式库,这个库兼容MDK,IAR和GCC,但是在MDK AC6下使用需要做如下操作 -fno-short-wchar -fshort-enums他这个操作,正好跟RTX5源码工程添加的一个设置冲突了,通过搜索资料,发现使能MDK使用C11版本编译可以完美解决这个问题:最终配置如下,确实解…

使用python 实现自动发送邮件功能,并上传到宝塔

def send_qq_mail(subject, content, receiver):sender = "你的邮箱"smtpserver = "smtp.qq.com" #使用的是qq邮箱port = 465 # 端口号user = 你的邮箱password = 授权码 # 请确保这是正确的密码或授权码《具体去查询qq邮箱授权码》msg = MIMEText(conten…

科研单位所需要的文件自动同步备份软件具有哪些特征?

科研单位进行文件同步备份是保障数据安全、提高工作效率、符合法规要求以及实现数据共享与再利用的重要措施。文件同步备份不仅能保护科研单位的研究成果,还能提升工作协同效率,具体优势体现在: 预防数据丢失:科研单位在工作中会产生大量的重要数据,包括研究成果、实验数据…

传统制造业如何解决数据跨境快速传输问题?

随着数字全球化的时代到来,传统制造业也越来越多地涉及到跨国业务,产生数据跨境传输的需求,覆盖多种业务场景: 供应链协同:制造业企业通常需要与全球各地的供应商、制造商、分销商和物流服务商进行紧密合作。这种合作过程中,涉及大量的订单信息、库存数据、物流追踪信息等…

可持久化线段————主席树(洛谷p3834)

洛谷P3834 可持久化线段树 2 问题描述:给定n各整数构成的序列,求指定区间[L,R]内的第k小值(求升序排序后从左往右数第k个整数的数值)输入:第一行输入两个整数n,m,分别代表序列长度n和对序列的m次查询; 第二行输入n个整数,表示序列的n个整数; 之后的m行,每行输入3个…

CH340一键下载电路

单片机串口一键下载方案一、概述 CH340X/N/K/CH343/CH342等USB转串口芯片可实现不同类型MCU串口一键下载功能,对于支持多模式启动的STM32Fxxx/CH32Fxxx/CH32Vxxx等系列、ESP系列等MCU,使用CH340X、CH343和CH342芯片时无需外围三极管等逻辑控制电路,将芯片提供的输出信号脚直…

Android IOS键盘弹起对h5界面的影响

Android IOS 一、ios 的具体情形 问题一: 在iOS 8.2 之后,Webkit 鼻祖 Safari 将 fixed 元素的布局基准区域从键盘上方的可见区域改成了键盘背后的整个视窗,也就是说此时的webview高度并不会发生变化,键盘是直接盖在webview上方的 IOS 为了不让 webview 压缩,并且为了不让…

2024年7月文章一览

2024年7月编程人总共更新了5篇文章: 1.2024年6月文章一览 2.《Programming from the Ground Up》阅读笔记:p19-p48 3.《Programming from the Ground Up》阅读笔记:p49-p74 4.《Programming from the Ground Up》阅读笔记:p75-p87 5.《Programming from the Ground Up》阅读…