【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少占点

别的想起来再加。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习周志华学习笔记-第6章<支持向量机>

机器学习周志华学习笔记-第6章<支持向量机> 卷王&#xff0c;请看目录 6支持向量机6.1 函数间隔与几何间隔6.1.1 函数间隔6.1.2 几何间隔 6.2 最大间隔与支持向量6.3 对偶问题6.4 核函数6.5 软间隔支持向量机6.6 支持向量机6.7核方法 6支持向量机 支持向量机是一种经典…

111. UE5 GAS RPG 实现角色技能和场景状态保存到存档

实现角色的技能存档保存和加载 首先&#xff0c;我们在LoadScreenSaveGame.h文件里&#xff0c;增加一个结构体&#xff0c;用于存储技能相关的所有信息 //存储技能的相关信息结构体 USTRUCT(BlueprintType) struct FSavedAbility {GENERATED_BODY()//需要存储的技能UPROPERT…

ArcGIS pro中的回归分析浅析(加更)关于广义线性回归工具的补充内容

在回归分析浅析中篇的文章中&#xff0c; 有人问了一个问题&#xff1a; 案例里的calls数据貌似离散&#xff0c;更符合泊松模型&#xff0c;为啥不采用泊松而采用高斯呢&#xff1f; 确实&#xff0c;在中篇中写道&#xff1a; 在这个例子中我们为了更好地解释变量&#x…

从 HTML 到 CSS:开启网页样式之旅(二)—— 深入探索 CSS 选择器的奥秘

从 HTML 到 CSS&#xff1a;开启网页样式之旅&#xff08;二&#xff09;—— 深入探索 CSS 选择器的奥秘 前言一、CSS基本选择器1. 通配选择器2. 元素选择器3. 类选择器4. id选择器5.基本选择器总结 二、CSS复合选择器1. 后代选择器2. 子选择器3. 相邻兄弟选择器4.交集选择器5…

【机器学习chp7】SVM

参考1&#xff0c;笔记 SVM笔记.pdf 参考2&#xff1a;王木头视频 什么是SVM&#xff0c;如何理解软间隔&#xff1f;什么是合叶损失函数、铰链损失函数&#xff1f;SVM与感知机横向对比&#xff0c;挖掘机器学习本质_哔哩哔哩_bilibili 目录 一、SVM模型 二、构建决策函…

【C++】读取数量不定的输入数据

读取数量不定的输入数据 似乎是一个很实用的东西&#xff1f; 问题&#xff1a; 我们如何对用户输入的一组数&#xff08;事先不知道具体有多少个数&#xff09;求和&#xff1f; 这需要不断读取数据直至没有新的输入为止。&#xff08;所以我们的代码就是这样设计的&#x…

HarmonyOS4+NEXT星河版入门与项目实战(20)------状态管理@ObjectLink @Observed

文章目录 1、用法图解2、案例实现1、任务类改造2、参数改造变量3、完整代码4、运行效果4、总结1、用法图解 2、案例实现 上一节的案例中,一直有一个功能没有生效,就是任务完成后对应的任务行变灰,任务字体出现中划线删除的效果。而该功能一直不生效的原因就是要改变的数据值…

2024年工信部大数据分析师证书报考条件是怎样的?有什么用

大数据分析师&#xff0c;乃是这样一类专业人才&#xff0c;他们凭借着先进且高效的数据分析技术以及各类实用工具&#xff0c;对规模庞大、纷繁复杂的海量数据展开全面而细致的清洗、处理、分析以及解读工作。其工作的核心目标在于为企业的决策制定提供有力依据&#xff0c;推…

基于vite创建的react18项目的单元测试

题外话 最近一个小伙伴进了字节外包&#xff0c;第一个活就是让他写一个单元测试。 嗯&#xff0c;说实话&#xff0c;在今天之前我只知道一些理论&#xff0c;但是并没有实操过&#xff0c;于是我就试验了一下。 通过查询资料&#xff0c;大拿们基本都说基于vite的项目&…

探秘嵌入式位运算:基础与高级技巧

目录 一、位运算基础知识 1.1. 位运算符 1.1.1. 与运算&#xff08;&&#xff09; 1.1.2. 或运算&#xff08;|&#xff09; 1.1.3. 异或运算&#xff08;^&#xff09; 1.1.4. 取反运算&#xff08;~&#xff09; 1.1.5. 双重按位取反运算符&#xff08;~~&#xf…

SpringBoot - 优雅的实现【账号登录错误次数的限制和锁定】

文章目录 Pre需求实现步骤简易实现1. 添加依赖2. 配置文件3. 自定义注解4. AOP切面5. 使用自定义注解&#xff1a;6. 测试 附总结 Pre SpringBoot - 优雅的实现【流控】 需求 需求描述&#xff1a; 登录错误次数限制&#xff1a;在用户登录时&#xff0c;记录每个账号的登录错…

SRIO DRP动态速率配置说明(详细讲解)

目录 一、SRIO IP时钟结构 1、时钟内部结构 2、时钟直接的关系 3、时钟计算原理 ​二、SRIO DRP介绍 ​1、MMCM DRP配置(xapp888) 2、CPLL DRP配置(ug476) 关于CPLL DRP配置详细介绍&#xff1a; GTX中CPLL、QPLL DRP动态配置方法&#xff08;详解&#xff09;-CSDN博客…

动态规划之背包问题

0/1背包问题 1.二维数组解法 题目描述&#xff1a;有一个容量为m的背包&#xff0c;还有n个物品&#xff0c;他们的重量分别为w1、w2、w3.....wn&#xff0c;他们的价值分别为v1、v2、v3......vn。每个物品只能使用一次&#xff0c;求可以放进背包物品的最大价值。 输入样例…

推荐一款龙迅HDMI2.0转LVDS芯片 LT6211UX LT6211UXC

龙迅的HDMI2.0转LVDS芯片LT6211UX和LT6211UXC是两款高性能的转换器芯片&#xff0c;它们在功能和应用上有所差异&#xff0c;同时也存在一些共同点。以下是对这两款芯片的详细比较和分析&#xff1a; 一、LT6211UX 主要特性&#xff1a; HDMI2.0至LVDS和MIPI转换器。HDMI2.0输…

深度学习模型:循环神经网络(RNN)

一、引言 在深度学习的浩瀚海洋里&#xff0c;循环神经网络&#xff08;RNN&#xff09;宛如一颗独特的明珠&#xff0c;专门用于剖析序列数据&#xff0c;如文本、语音、时间序列等。无论是预测股票走势&#xff0c;还是理解自然语言&#xff0c;RNN 都发挥着举足轻重的作用。…

[STM32]从零开始的STM32 FreeRTOS移植教程

一、前言 如果能看到这个教程的话&#xff0c;说明大家已经学习嵌入式有一段时间了。还记得嵌入式在大多数时候指的是什么吗&#xff1f;是的&#xff0c;我们所说的学习嵌入式大部分时候都是在学习嵌入式操作系统。从简单的一些任务状态机再到复杂一些的RTOS&#xff0c;再到最…

《操作系统 - 清华大学》5 -4:虚拟技术

文章目录 0. 虚拟存储的定义1. 目标2.局部性原理3. 虚拟存储的思路与规则4. 虚拟存储的基本特征5. 虚拟页式存储管理5.1 页表表项5.2 示例 0. 虚拟存储的定义 1. 目标 虚拟内存管理技术&#xff0c;简称虚存技术。那为什么要虚存技术&#xff1f;在于前面覆盖和交换技术&#…

2024APMCM亚太杯数学建模C题【宠物行业】原创论文分享

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2024 年APMCM亚太地区大学生数学建模竞赛C题的成品论文。 给大家看一下目录吧&#xff1a; 目录 摘 要&#xff1a; 10 一、问题重述 14 二&#xff0e;问题分析 15 2.1问题一 15 2.2问题二 15 2.3问题三…

YOLOv8模型pytorch格式转为onnx格式

一、YOLOv8的Pytorch网络结构 model DetectionModel((model): Sequential((0): Conv((conv): Conv2d(3, 64, kernel_size(3, 3), stride(2, 2), padding(1, 1))(act): SiLU(inplaceTrue))(1): Conv((conv): Conv2d(64, 128, kernel_size(3, 3), stride(2, 2), padding(1, 1))(a…

零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu

1.为啥使用Linux做嵌入式开发 能广泛支持硬件 内核比较高效稳定 原码开放、软件丰富 能够完善网络通信与文件管理机制 优秀的开发工具 2.什么是Ubuntu 是一个以桌面应用为主的Linux的操作系统&#xff0c; 内核是Linux操作系统&#xff0c; 具有Ubuntu特色的可视…