【CVPR2023】Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks
Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks - 知乎
【本文贡献】
- 本文指出了实现更高的FLOPS相比简单地减少更快的神经网络的FLOPs的重要性。
- 引入了一个简单而快速有效的部分卷积,称为 PConv,它很有可能替换现有的DWConv。
- 引入了FasterNet,它在GPU、CPU和ARM处理器等各种设备上运行有效且普遍快速。
【网络结构】
延迟Latency=FLOPs/FLOPS,其中FLOPS是floating-point operations per second的缩写,指的是每秒浮点运算次数,用来衡量硬件的性能;FLOPs是floating point of operations的缩写,是浮点运算次数,可以用来衡量算法/模型复杂度。
本文提出的新的部分卷积PConv利用了特征图在不同通道上的相似性和冗余,只在一部分输入通道上使用常规卷积进行空间特征提取,它的FLOPs低于常规卷积,而FLOPS高于DWConv/GConv,并且能更好提取空间特征。对于连续或规则的内存访问,将第一个或最后一个连续的通道视为用于计算的整个特征图的代表,在不失一般性的情况下,认为输入和输出特征图具有相同数量的通道,此时PConv的FLOPs仅为常规卷积的1/16,内存访问量仅为常规卷积的1/4。
为了充分利用来自所有通道的信息,本文进一步将PWConv附加到PConv。
FasterNet结构如下图,其中只把标准化和激活函数层放在每个中间PWConv之后,保持特征多样性并实现较低的延迟,此外,将BN合并到相邻的Conv层中,以便更快地进行推断。激活函数选择GELU。
【心得体会】
设计适合移动端的轻量级网络的时候或许可以考虑用类似PConv的卷积。
【CVPR2023highlight】Masked Image Modeling with Local Multi-Scale Reconstruction
【CVPR2023】Masked Image Modeling with Local Multi-Scale Reconstruction - 知乎
【本文贡献】
提出了LocalMIM,这是目前已知的MIM进行局部重建并使用输入的多尺度监督的第一项工作,该模型与架构无关,可用于柱状和金字塔结构。
【网络结构】
先将图片分块,形成patches作为ViT的输出,再在多个局部层预测它们不同尺度的监督信号,将patches映射到patch embeddings,并添加位置编码来保留位置信息。多尺度监督首先划分不同尺度的输入,然后用一些特征描述符完成信号的提取。底层负责精细尺度重建,顶层负责粗尺度重建。这里的解码器由Transformer 块、反卷积(或池化)和MLP组成。
【心得体会】
目前的MIM主要有两个地方待改进,一个是计算量大,一个是学习慢,可以尝试用局部重建的方式来改进。