当前位置: 首页 > article >正文

【DL笔记】神经网络轻量化(CV方向)的一些论文记录

现在大模型爆火,但俺这种组里只有10系显卡的下水道科研老鼠也要混毕业的,于是选择做小模型(x)。本人纯科研飞舞一个,刚入学有段时间爱看论文,今天有空把那会看到论文总结下。

轻量化,相关文章的关键字可能是lightweight/compact/efficient,比较老生常谈的就是蒸馏、剪枝、量化,其实从模型本身出发也有不少方向可以看看(guan shui)。

Compact Design

做神经元轻量化基本上就是低秩分解(也就是拆算子)或特征复用.

  • SqueezeNet系列:常规卷积分解得到Fire Module

    • SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size (2016)
    • SqueezeNext: Hardware-Aware Neural Network Design (2018)
  • MobileNet系列:经典的深度可分离卷积

    • Mobilenets: Efficient convolutional neural networks for mobile vision applications(2017)
    • MobileNetV2: Inverted Residuals and Linear Bottlenecks (2019)
    • Searching for mobilenetv3(2019)
  • Shufflenets系列:通道维度的分组运算,v2提出了一系列设计原则很有参考价值

    • ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices (2017)
    • ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design (2018)
  • GhostNet系列:

    • Ghostnet: More features from cheap operations (2020) :深度NN特征图存在很多冗余,某些feature map可以通过其他feature map线性变换得到(特征复用)。
    • GhostNetV2: Enhance Cheap Operation with Long-Range Attention (2022):提出dubbed DFC attention捕获长距离的空间信息,对计算attention的全连接层再做低秩分解
  • 残差结构加concat也算一种特征复用

  • Micronet: Improving image recognition with extremely low flops (2021): 也是继续拆卷积

20年后VIT开始刷榜,也有很多Transformer和CNN的混合模型开始考虑轻量化方向:

  • Mobile-former: bridging mobilenet and transformer (2022):Dynamic ReLU的团队,提出一种Mobilenet跟Transformer并行的架构,FLOPS确实低
  • Mobilevit: light-weight, general-purpose, and mobile-friendly vision transformer (2021):Apple做的混合模型,大概就是Mobilenet某个stage插几个Transformer
  • Separable self-attention for mobile vision transformers:还是Mobilevit的作者,拆了self-attention的算子,减少注意力的运算成本

Dynamic Design

除了对模型本身算子进行轻量化外,也有些神经网络会采用动态的结构,比如推理时动态选择算子,来实现更高效的运算:

  • Blockdrop: Dynamic inference paths in residual networks (2018):强化学习方法(single step),根据输入图像输出后验概率,决定ResNet等深层网络中各个Block是否drop(复杂、遮挡多的图片用的block多)

这类只是做推理时的轻量化,整体仍是训练一个较大的模型,如果只是想节省算力做这个方向建议别考虑了,类似的还有:

  • Skipnet: Learning dynamic routing in convolutional networks (2018)
  • Condconv: Conditionally parameterized convolutions for efficient inference (2019)
  • Dynamicvit: Efficient vision transformers with dynamic token sparsification (2021)

Efficient Design

如果对于轻量化的目的时efficient,那可以考虑一些涨点plugins

  • Squeeze-and-Excitation Networks (2018):channel attention的破圈作,那几年的灌水涨点神器,哪怕近些年的很多模型也在用

  • 魔改及应有也有很多,比如:

    • ECA-Net: Efficient channel attention for deep convolutional neural networks (2020):一维卷积代替SE Module里的两个全连接,参数量大大降低
    • Dynamic convolution: Attention over convolution kernels (2020): 通道注意力得到多个并行卷积核的权重后加权得到最终的卷积核
    • Fcanet: Frequency channel attention networks (2021): 利用DCT代替Global Average Pooling

此外,也可以选择合适的激活函数,在参数量接近的情况下涨点:

  • Searching for activation functions (2018):NAS搜出来个swish,大部分视觉任务都会比ReLU好些
  • Dynamic relu (2020):可以看作SE Module的段maxout版本,确实work但对显存很不友好,train的很慢
  • Funnel activation for visual recognition (2020):Funnel ReLU,在激活函数阶段引入视觉感知,其实就是卷积完的特征做一次maxout,显存比Dynamic ReLU少占点

别的想起来再加。。。


http://www.kler.cn/a/411225.html

相关文章:

  • Android 11 三方应用监听关机广播ACTION_SHUTDOWN
  • 刷题日常(数据流中的中位数,逆波兰表达式求值,最长连续序列,字母异位词分组)
  • Hot100 - 字母异位词分组
  • [每日一氵] 拆分 pip install git+https://github.com/xxx/xx.git@bece3d4
  • Hyper-V配置-cnblog
  • android 性能分析工具(03)Android Studio Profiler及常见性能图表解读
  • PyQt6+pyqtgraph折线图绘制显示
  • 计算机毕业设计Python+大模型美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js
  • 【k8s】资源限制管理:Namespace、Deployment与Pod的实践
  • Javaee的网络编程初识
  • SLF4J日志快速上手
  • TCP/IP协议攻击与防范
  • C# Winform贪吃蛇小游戏源码
  • VOLO实战:使用VOLO实现图像分类任务(二)
  • 网站布局编辑器前端开发:设计要点与关键考量
  • 数据结构 (12)串的存储实现
  • ASP.NET Web(.Net Framework) Http服务器搭建以及IIS站点发布
  • [Redis#6] list | 命令 | 应用 | 消息队列 | 微博 Timeline
  • CBK1安全与风险管理
  • 重学SpringBoot3-异步编程完全指南
  • shell编程第四天(day036)
  • sql server 获取当前日期的时间戳
  • Leetcode105从前序与中序遍历序列构造二叉树
  • tableau-制作30个图表
  • 和数集团业务说明会(南京站)顺利举办
  • Flink Sink的使用