结构重参数化:利用参数转换解耦训练和推理结构
结构重参数化(structural re-parameterization)指的是首先构造一系列结构(一般用于训练),并将其参数等价转换为另一组参数(一般用于推理),从而将这一系列结构等价转换为另一系列结构。
训练时的结构较大,具备好的某种性质(更高的精度或其他有用的性质,如稀疏性),转换得到的推理时结构较小且保留这种性质(相同的精度或其他有用的性质)。
“结构重参数化”这个词的本意就是:用一个结构的一组参数转换为另一组参数,并用转换得到的参数来参数化(parameterize)另一个结构。只要参数的转换是等价的,这两个结构的替换就是等价的。
https://zhuanlan.zhihu.com/p/361090497
清华大学丁霄汉:深度网络重参数化——让你的模型更快更强
https://blog.csdn.net/duxinshuxiaobian/article/details/107873144
transformer 与 MLP 的区别是什么 ?
使用 self-attention 做全局感知比使用 MLP 做全局感知有更小的参数和计算量,但显然它们是不同的全局感知,MLP 比 self-attention 更有全局性。
目前视觉 transformer 模型中 self-attention 后面都会接 MLP。
Vision Tranformer 中分为 attention 计算 和 MLP 两部分。
https://www.zhihu.com/question/530310807
FullyConnected(FC) Layer = 一层layer
MLP = 多层FC layer 构成的NN
DNN = MLP 和 CNN的集合相并,通常包括多个卷积layer和FC layer
https://www.zhihu.com/question/349854200
2021-arXiv-中科大&MSRA-A Battle of Network Structures: An Empirical Study of CNN, Transformer, and MLP
https://zhuanlan.zhihu.com/p/411145994
结构重参数化技术综述
https://mp.weixin.qq.com/s/FwITC1JEG1vr2Y1ePzSvuw
“结构重参数化”是清华大学丁霄汉博士近年来提出的一种通用深度学习模型设计方法论。
https://blog.csdn.net/BAAIBeijing/article/details/122227896?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-122227896-blog-123826917.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-122227896-blog-123826917.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=7
FLOPS:
注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
FLOPs:
注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
https://zhuanlan.zhihu.com/p/144938518
ACNet
2019-ICCV-清华大学-ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric
https://blog.csdn.net/u014380165/article/details/103916114
结构重参数化之一:ACNet
https://blog.csdn.net/ooooocj/article/details/123655581
RepVGG
2021-CVPR-清华大学-RepVGG: Making VGG-style ConvNets Great Again
RepVGG网络就是在VGG的基础上面进行改进,主要的改进思路包括:
(1)在VGG网络的Block块中加入了Identity和残差分支,相当于把ResNet网络中的特性应用到VGG网络中;
(2)模型推理阶段,通过Op融合策略将所有的网络层都转换为Conv3*3,便于网络的部署和加速。
网络训练和网络推理阶段使用不同的网络架构,训练阶段更关注精度,推理阶段更关注速度。
https://bbs.huaweicloud.com/blogs/detail/259238
结构重参数化之二:RepVGG
https://blog.csdn.net/ooooocj/article/details/123761769?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123761769-blog-123655581.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123761769-blog-123655581.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=2
DBB
2021-CVPR-清华大学-Diverse Branch Block: Building a Convolution as an Inception-like Unit
本文是清华大学&旷视科技的丁霄汉博士在“过参数化”卷积方面继ACNet、RepVGG之后的又一次探索,它创造性的将Inception的多分支、多尺度思想与过参数化思想进行了一次组合,得到了本文所提出的DBB。
https://jishuin.proginn.com/p/763bfbd5141b
结构重参数化之三:Diverse Branch Block
https://blog.csdn.net/ooooocj/article/details/123826917
ResRep
2021-ICCV-清华大学-ResRep: Lossless CNN Pruning via Decoupling Remembering and Forgetting
ResRep:剪枝 SOTA!用结构重参数化实现 CNN 无损压缩(ICCV)
https://www.cvmart.net/community/detail/5612
RepMLP
2022-CVPR-清华大学-RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition
本文是清华大学&旷视科技在结构重参数领域继ACNet、RepVGG、DBB之后又一突破:RepMLP,它将重参数卷积与全连接层进行了巧妙地衔接,同时利用了全连接层的全局建模、位置感知特性与卷积的局部结构提取能力。
https://aijishu.com/a/1060000000203655
MLP,RepMLP,全连接与“内卷”
https://zhuanlan.zhihu.com/p/375422742
RepLKNet
2022-CVPR-清华大学-Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
CVPR2022 | RepLKNet: 大核卷积+结构重参数让CNN再次伟大
https://aijishu.com/a/1060000000309144
RepLKNet:不是大卷积不好,而是卷积不够大,31x31卷积了解一下 | CVPR 2022
https://www.yanxishe.com/columnDetail/28958