发布时间:2026/8/29 18:27:40
【ExpandNets】《ExpandNets: Linear Over-parameterization to Train Compact Convolutional Networks》 NIPS-2020githubhttps://github.com/GUOShuxuan/expandnets文章目录1、Background and MotivationBackgroundMotivation论文的核心问题2、Related Work3、Advantages / Contributions4、Method4.1、Expanding Convolutional Layers4.2、Expanding Convolutions in Practice4.3、Expanding Fully-connected Layers5、Experiments5.1、Datasets and Metrics5.2、Image Classification5.3、Object Detection5.4、Semantic Segmentation6、Analysis of our Approach6.1、Training Behavior6.2、Generalization Ability6.3、Is Over-parameterization the Key to the Success?6、Conclusionown / Future work1、Background and MotivationExpandNets 不是先训练大模型再压缩而是先确定最终要部署的小模型训练时临时把它线性展开以获得过参数化的训练优势推理前再无损合并回原模型。Background深、大网络效果好但部署成本高紧凑网络容易部署却难以直接训练过参数化有助于训练大模型虽然存在参数冗余但这种过参数化通常能改善优化过程收敛速度泛化能力。Motivation作者希望同时满足两个看似冲突的目标训练时享受大模型过参数化带来的优化优势推理时仍然只保留原始紧凑网络的计算成本。因此提出紧凑层 ⟶ 训练前展开 多个连续线性层 ⟶ 训练后合并 原始紧凑层 \text{紧凑层} \overset{\text{训练前展开}}{\longrightarrow} \text{多个连续线性层} \overset{\text{训练后合并}}{\longrightarrow} \text{原始紧凑层}紧凑层⟶训练前展开​多个连续线性层⟶训练后合并​原始紧凑层展开结构内部不加入 ReLU 等非线性因此可以精确合并例如W W 3 W 2 W 1 WW_3W_2W_1WW3​W2​W1​这使得模型训练时更深、更宽、参数更多推理时恢复为原来的紧凑架构合并过程没有信息损失不增加最终参数量和推理计算量不依赖教师网络可以用于用户已经指定好的任意紧凑 CNN。论文的核心问题能否把“过参数化”只作为一种训练手段而不是最终部署模型的永久负担ExpandNets 给出的答案是使用可代数合并的线性过参数化。这也是后续结构重参数化方法的重要思想之一。2、Related Work网络压缩通过剪枝、参数共享和低秩分解缩小大模型但难以精确得到指定架构也没有利用过参数化改善小模型训练。轻量网络设计MobileNet、ShuffleNet 等效率高但对网络结构有特定限制。(解决的是“如何设计一个小模型”不能直接回答“如何把已经指定好的任意小模型训练得更好”。)知识蒸馏利用大教师模型训练小模型但依赖额外的预训练教师。线性过参数化已有研究主要针对无非线性的全连接网络偏重理想条件下的理论分析。ACNet同期研究通过非对称卷积分支1xkkx1扩展网络ExpandNets 则采用连续卷积层展开。此前工作分别解决了如何压缩大模型如何设计高效模型如何由教师指导小模型如何理论分析深度线性网络。而本文试图解决的是在不改变指定推理架构、无需教师模型的情况下如何利用训练期过参数化把一个紧凑的非线性卷积网络训练得更好。3、Advantages / ContributionsContribution提出线性过参数化方法训练时扩展紧凑 CNN推理前再合并。设计三种展开策略Expand-CL、Expand-CK、Expand-FC。在分类、检测和分割任务上验证其有效性并分析了梯度冲突和泛化表现。Advantage无需教师模型流程比知识蒸馏简单。不改变最终网络结构不增加推理参数量和计算量。适用于已有的紧凑网络并能提升其训练效果和最终精度。4、Methodoutput x input x kernel size x kernel size这里r rr是扩展倍率1 个 5x5 等于 2 个 3x35-1/2 21 个 7x7 等于 3 个 3x37-1/2 34.1、Expanding Convolutional Layersconvolution can be expressed as后面的W F W^FWF和X v X^vXv是 Matrix representation理论上改W F W^FWF就可以扩展网络了但是也不能乱改会破坏原始网络的感受野one cannot simply expand a convolutional layer with kernel size k × k as a series of convolutions with arbitrary kernel sizes because, in general, the resulting receptive field size would differ from the original one.作者提出如下两种扩展卷积的策略1Expanding general convolutions—— expanding convolutional layers.1x1 不增加感受野普通 3x3 可以扩展为 1x1 - 3x3 - 1x1channel 也是可以 expand 的输入 channel 为 m输出 channel 为 nm 可以扩展为 p rmn 可以扩展为 q rnr 表示 expand rate2Expanding k × k convolutions with k 3——expanding convolutional kernelsk × k kernels with k 3 can be equivalently represented with a series of l 3 × 3 convolutions, where l (k − 1)/2同样的 channel 也可以扩展4.2、Expanding Convolutions in Practice1Padding and strides处理 paddinguse padding p in the first layer of the expanded unit while not padding the remaining layers处理 strideexpand-CLset the stride of the middle layer to s and that of the others to 1expand-CK last one whose stride is set to s也即expand-CLexpand-CK2Depthwise convolutions源码中没有展开 point-wise convolution# 展开的是原来的 Depthwise 3×3Conv(inp,inp*r,1×1,groupsinp)Conv(inp*r,inp*r,3×3,groupsinp)Conv(inp*r,inp,1×1,groupsinp)# 原有 Point-wise Conv 保持单层Conv(inp,oup,1×1,groups1)4.3、Expanding Fully-connected Layersadvocate expanding each layer into only two or three layers with a small expansion rateexpand-fc 在文章中的效果都很一般5、Experiments5.1、Datasets and Metricsimage classification on ImageNet, CIFAR-10 and CIFAR-100top1object detection on PASCAL VOCmAPimage segmentation on Cityscapes on CityscapesmIoUmean recall (mRec) and mean precision (mPrec)5.2、Image Classification1CIFAR-10 and CIFAR-100仅仅 expand fc 效果有限7x7 conv需要 padding 3nn.Conv2d(...,kernel_size7,padding3)拆分为 3 个 3x3 conv 后nn.Conv2d(...,kernel_size3,padding3)nn.Conv2d(...,kernel_size3)# 默认 padding0nn.Conv2d(...,kernel_size3)# 默认 padding0padding 也要是 3ExpandNet 可以强化 MobileNet 和 MobileNetV2expandnet 需要 train longer 因为容量大了baseline train longer 标记为 †可以看到效果比不上 expandnet2ImageNet蒸馏可以进一步提升网络表达能力5.3、Object Detection轻量级检测框架上的提升也是很明显5.4、Semantic SegmentationExpandNet outperforms the original compact U-Netrecall 提升最明显6、Analysis of our ApproachExpandNet-CL/CK 不只是最终精度更高而且训练过程中不同 mini-batch 的梯度冲突更少因此更容易用 SGD 优化。6.1、Training Behaviormeasuregradient confusion (or rather consistency)as the minimum cosine similarity of gradients over 100 randomly-sampled pairs of mini-batches at the end of each training epochcos_values[]foriinrange(100):batch_arandom_minibatch(size128)batch_brandom_minibatch(size128)grad_agradient(model,batch_a)grad_bgradient(model,batch_b)cos_values.append(cosine(grad_a,grad_b))图抽取时间处理方式中图每个 epoch 结束时随机抽取100对训练集 mini-batch → 得到100个 cosine → 取最小值右图整个训练结束时每次独立训练抽取100对 → 保留全部 cosine → 5次实验合并成500个值做 KDE左图speed up convergence and yield a smaller generalization error中图yield lower gradient confusion (higher minimum cosine similarity)右图kernel density estimation“集中在 0”并不表示梯度高度一致而表示它们大多接近正交、相互干扰较小。文献 49 将这种现象解释为不同训练样本的 SGD 更新更趋于解耦。方法特点直方图把数据划分到不同区间结果呈柱状且受分箱影响KDE每个数据点放一个小高斯曲线叠加后形成平滑分布Computational overheads and complexity analysis6.2、Generalization Abilityproduce flatter minimaindicates better generalizationCL、CK卷积展开不仅提高了精度还使训练得到的解位于更宽、更平坦的低损失区域其中 CK 最明显。单独展开 FC 层几乎没有改善。什么是 Loss Landscape把网络的全部参数记为θ \thetaθ训练集损失为L ( θ ) 1 m ∑ i 1 m ℓ ( f θ ( x i ) , y i ) L(\theta)\frac{1}{m}\sum_{i1}^{m} \ell\big(f_\theta(x_i),y_i\big)L(θ)m1​i1∑m​ℓ(fθ​(xi​),yi​)网络的每一种参数组合θ \thetaθ都对应一个损失值L ( θ ) L(\theta)L(θ)。因此可以把参数θ \thetaθ看成横坐标损失L ( θ ) L(\theta)L(θ)看成高度。由此形成的高维“地形”就是loss landscape损失景观/损失曲面。但网络通常有几百万个参数无法直接画出来所以文献 33 选择最终参数θ ∗ \theta^*θ∗附近的两个方向截取一个二维平面F ( α , β ) L ( θ ∗ α d β e ) F(\alpha,\beta) L\left(\theta^*\alpha d\beta e\right)F(α,β)L(θ∗αdβe)其中θ ∗ \theta^*θ∗训练完成后的参数位于图中心( 0 , 0 ) (0,0)(0,0)d , e d,ed,e参数空间中的两个随机方向α , β \alpha,\betaα,β沿两个方向扰动参数的程度。因此图4并不是完整的高维损失曲面而是其二维切片。具体如何计算第一步训练网络分别训练 SmallNet、ExpandNet-FC、ExpandNet-CL、ExpandNet-CK得到各自的最终参数θ ∗ \theta^*θ∗。第二步生成两个随机方向生成与网络参数形状相同的高斯随机向量d , e d,ed,e。文献33指出直接使用随机向量会受到不同网络权重尺度的影响因此采用filter-wise normalizationd i , j ← d i , j ∥ d i , j ∥ F ∥ θ i , j ∗ ∥ F d_{i,j} \leftarrow \frac{d_{i,j}}{\|d_{i,j}\|_F} \|\theta^*_{i,j}\|_Fdi,j​←∥di,j​∥F​di,j​​∥θi,j∗​∥F​其中 F 表示 Frobenius norm弗罗贝尼乌斯范数||A||_F sqrt(A中所有元素平方后求和)第二个方向e ee同样处理。含义是每个随机滤波器的扰动幅度按照对应已训练滤波器的权重范数进行缩放。这样可以减小单纯权重缩放造成的“假平坦、假尖锐”现象BN参数通常保持固定。该方法也可以用于FC层其中一个神经元的权重可视为一个filter。第三步网格扫描图4的两个坐标轴均为[ − 1 , 1 ] [-1,1][−1,1]。选择一系列( α , β ) (\alpha,\beta)(α,β)逐点计算L ( θ ∗ α d β e ) L\left(\theta^*\alpha d\beta e\right)L(θ∗αdβe)每个点只需要扰动网络参数对固定数据集前向推理计算损失。不需要在每个点重新训练网络。如果使用51 × 51 51\times5151×51网格就是进行2601次损失评估。第四步绘制等高线图中每条线表示相同的损失值等高线越密损失上升越快解越尖锐等高线越疏、包围面积越大低损失区域越宽解越平坦椭圆越狭长不同方向的曲率差异越大说明某些方向特别敏感。本文图4怎么理解图中的等高线表示损失值每幅图下方的百分比是训练所得模型的CIFAR-10 Top-1测试错误率不是等高线数值。模型Loss landscape测试错误率解读SmallNet低损失区域较窄椭圆明显倾斜19.42%对部分权重扰动比较敏感ExpandNet-FC( r 2 ) (r2)(r2)与SmallNet基本接近19.32%只展开FC层帮助很小ExpandNet-CL( r 8 ) (r8)(r8)等高线明显变宽18.97%卷积层线性展开得到更平坦的解ExpandNet-CK( r 8 ) (r8)(r8)低损失区域最宽、形状更圆17.12%解最平坦同时测试误差最低可以把它们想象成SmallNet落在一个窄碗底FC碗底只稍微变宽CL进入更宽的盆地CK进入最宽、最平缓的盆地。这意味着CK模型的参数即使发生一定扰动损失也不会快速上升。图4支持如下经验关系卷积展开 → 改变训练参数化和优化过程 → 找到更平坦的极小值 → 更低的测试误差 \text{卷积展开} \rightarrow \text{改变训练参数化和优化过程} \rightarrow \text{找到更平坦的极小值} \rightarrow \text{更低的测试误差}卷积展开→改变训练参数化和优化过程→找到更平坦的极小值→更低的测试误差其中只扩展FC层景观和精度几乎不变CL有所改善CK改善最大。这也说明ExpandNet的收益并不只是“参数临时变多”而与卷积层展开后形成的优化空间有关。需要注意图中展示的是训练态ExpandNet参数空间附近的景观不代表收缩后的SmallNet具有完全相同的曲面。平坦表示对权重扰动不敏感不等于对输入噪声或对抗攻击鲁棒。二维切片不能完全代表数百万维的真实景观。FC使用r 2 r2r2CL/CK使用r 8 r8r8因此图4不是严格控制相同展开率的因果实验。图4展示的是“平坦度与泛化性能相关”不能单独证明平坦就是精度提升的唯一原因。generate three CIFAR-10 and CIFAR-100 training sets, containing 20%, 50% and 80% of random labels, respectively, while the test set remains clean随机扰乱标签CL 和 CK 展开通常具有更低的测试错误率但同时具有更高的训练错误率。说明其他实验中的性能提升并不是依靠记住训练数据而是真正提高了泛化能力6.3、Is Over-parameterization the Key to the Success?Hypothesis1:The improvement comes from the different initialization resulting from expansionstandard initialized 是 kaiming initializationTable 8中“SmallNet initialized with ExpandNet-CL/CK”是什么意思创建ExpandNet ↓ 每个展开层做标准Kaiming初始化 ↓ 不训练ExpandNet ↓ 立即把多个线性层代数合并 ↓ 用合并后的权重初始化SmallNet ↓ 只训练SmallNet特殊初始化只能带来很小且不稳定的变化明显不如直接训练过参数化ExpandNet。真正的优势来自多个线性因子在训练过程中独立更新 → 改变优化路径和梯度行为 → 找到泛化更好的解 \boxed{ \text{多个线性因子在训练过程中独立更新} \rightarrow \text{改变优化路径和梯度行为} \rightarrow \text{找到泛化更好的解} }多个线性因子在训练过程中独立更新→改变优化路径和梯度行为→找到泛化更好的解​也就是说“先展开再立即合并”没有明显作用必须在展开结构中训练过参数化的优势才会发挥出来。Hypothesis2:The improvement is due to an intrinsic property of the CK expansion.r ↑ ⇒ 训练参数量 ↑ ⇒ 准确率总体提高 r\uparrow \Rightarrow \text{训练参数量}\uparrow \Rightarrow \text{准确率总体提高}r↑⇒训练参数量↑⇒准确率总体提高benefits from both ExpandNet-CK and over-parameterizationExpandNet-CK的收益来自两部分CK线性因子化带来的优化优势 增大 r 带来的过参数化优势 \boxed{ \text{CK线性因子化带来的优化优势} \text{增大}r\text{带来的过参数化优势} }CK线性因子化带来的优化优势增大r带来的过参数化优势​6、Conclusionown / Future workconclusion本文通过线性过参数化扩展紧凑网络尤其是卷积层CL使其更易训练、泛化更好训练后可无损合并回原始结构因此不增加推理参数量和计算量并可与知识蒸馏结合future work探索更有效的初始化方法例如利用训练好的非线性大网络初始化ExpandNet从而进一步提升紧凑网络性能。训练非线性ExpandNet ↓ 逐层复制权重 ↓ 移除内部ReLU ↓ 继续训练线性ExpandNet ↓ 代数合并为SmallNetexpand an arbitrary compact network into an equivalent deeper and wider one虽然“连续堆叠多个线性层”并不是本文首次提出但以往研究主要停留在理想化的全连接深度线性网络中缺少对真实卷积网络训练的工程验证。训练时把一个卷积层展开成多个连续的线性层使模型更容易优化推理前再把这些层合并回一个卷积层。 因此训练过程获得了过参数化的好处但部署时模型大小和推理成本不会增加作者有三种 over-parameteriization 方法——基于原网络结构在训练阶段扩展FC 几乎没有提升expand convolution layer扩展 1x1 层保持感受野一致expand convolution kernelk3拆分为多个堆叠的小卷积核配合 expand rate核心compact network work大一些的网络没有那么 work会加重训练代价loss landscapegradient confusion和蒸馏兼容expand-CL 和 expand-CK 没有一起使用更多论文解读请参考 【Paper Reading】

相关新闻

2026/8/29 18:22:39

西门子 PLC 与 EtherCAT 伺服驱动跨协议工业转换网关互联实战指南

在汽车制造产线的升级改造中,最让人头疼的往往不是新设备的性能不够强,而是新旧设备之间的“语言不通”。想象一下,你手里有一套成熟的西门子 PLC 控制系统,运行稳定且逻辑严密,但新引入的高精度伺服驱动器却只支持 Et…

2026/8/29 18:22:39

嵌入式开发:Flash擦写导致USART丢数据,用DMA接收彻底解决

做嵌入式这些年,我踩过不少坑,但最让我印象深刻的,是那次Flash写操作直接把我USART接收干丢了数据。当时产品已经进入联调阶段,串口助手一发数据就丢字节,而且丢得毫无规律,起初还以为是板子接触不良&#…

2026/8/29 18:37:40

MATLAB数据可视化:从基础绘图到学术图表输出的完整指南

1. 从数据到洞察:为什么图形可视化是数学建模的灵魂 如果你参加过数学建模竞赛,或者在工作中处理过一堆杂乱无章的数据,你一定有过这样的经历:面对Excel里成千上万行数字,感觉像在看天书,完全抓不住重点。辛…

2026/8/29 18:37:40

在SAP中更快、更灵活地执行客户端复制的方法

如果您在管理SAP系统架构,那么您一定在某些场景下执行过客户端复制。客户端复制有多种业务场景,例如在已有系统上为开发或测试目的创建新客户端,或在特定客户端内进行数据刷新。执行客户端复制比恢复或运行整个数据库备份更简单、”侵入性”更…

2026/8/29 18:37:40

STM32编码器模式测速实践:LAT1447直流减速电机完整方案

搞过直流减速电机测速的朋友都知道,测速本身不是难事,难的是“测出来能不能用、稳不稳、方向对不对”。LAT1447 这类带 AB 相霍尔编码器的减速电机,在智能小车、机器人底盘、云台等场景里非常常见,配合 STM32 的定时器编码器模式&…

2026/8/29 18:37:40

单张图像估算物体体积:从几何模型到深度学习的实战解析

1. 从二维到三维:图像体积估算的挑战与价值在计算机视觉和三维重建领域,我们常常会遇到一个看似简单实则棘手的问题:给你一张物体的二维图像,如何估算出它在真实世界中的体积?这听起来有点像“看图猜重量”&#xff0c…

2026/8/29 18:32:40

STM32WB最小BOM设计:从晶振到射频匹配的完整指南

第一次拿到STM32WB55的评估板时,我第一反应是这板子未免太素了:一个QFN48封装的小芯片、一颗32MHz晶振、一颗32.768kHz晶振、一个天线座子,外加一堆零散电容,整个射频前端几乎看不到传统“MCU 蓝牙芯片”方案里常见的独立射频IC、…

2026/8/28 16:16:17

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 16:16:21

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 16:16:22

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/29 0:01:10

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:01:10

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:01:10

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…