【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.rhkb.cn/news/479076.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day01

Hm-Footer.vue <template><div class"hm-footer">我是hm-footer</div></template><script>export default {}</script><style>.hm-footer{height:100px;line-height:100px;text-align:center;font-size:30px;background-…

NLP 1、人工智能与NLP简介

人人都不看好你&#xff0c;可偏偏你最争气 —— 24.11.26 一、AI和NLP的基本介绍 1.人工智能发展流程 弱人工智能 ——> 强人工智能 ——> 超人工智能 ① 弱人工智能 人工智能算法只能在限定领域解决特定的问题 eg&#xff1a;特定场景下的文本分类、垂直领域下的对…

基于混合ABC和A*算法复现

基于混合ABC和A*算法复现 一、背景介绍二、算法原理&#xff08;一&#xff09;A*算法原理&#xff08;二&#xff09;人工蜂群算法原理&#xff08;三&#xff09;混合ABC和A*算法策略 三、代码实现&#xff08;一&#xff09;数据准备&#xff08;二&#xff09;关键函数实现…

解决SpringBoot连接Websocket报:请求路径 404 No static resource websocket.

问题发现 最近在工作中用到了WebSocket进行前后端的消息通信&#xff0c;后端代码编写完后&#xff0c;测试一下是否连接成功&#xff0c;发现报No static resource websocket.&#xff0c;看这个错貌似将接口变成了静态资源来访问了&#xff0c;第一时间觉得是端点没有注册成…

VITE+VUE3+TS环境搭建

前言&#xff08;与搭建项目无关&#xff09;&#xff1a; 可以安装一个node管理工具&#xff0c;比如nvm&#xff0c;这样可以顺畅的切换vue2和vue3项目&#xff0c;以免出现项目跑不起来的窘境。我使用的nvm&#xff0c;当前node 22.11.0 目录 搭建项目 添加状态管理库&…

红外小目标检测

目录 背景概述算法原理演示效果核心逻辑 使用方式基础镜像配置环境直接运行 参考文献 文章声明&#xff0c;非广告&#xff0c;仅个人体验。 背景 红外图像在许多领域中都有所应用。例如军事领域中&#xff0c;经常需要通过红外成像设备对远距离的目标进行侦察和监视&#xff…

【滑动窗口】找到字符串中所有字母异位词

文章目录 找到字符串中所有字母异位词 class Solution { public:vector<int> findAnagrams(string s, string p) {vector<int> ret;int sLen s.size(), pLen p.size(), validChar;// 母串长度比子串长度还小 直接返回空vectorif (sLen < pLen)return ret;// …

nodepad配置c/c++ cmd快速打开创建项目文件

前提:下载MinGw,并且配置环境变量 点击阅读次篇文章配置MinGw 无论是哪个编译器&#xff0c;执行c文件都是经历以下步骤: 编译文件生成exe文件执行该exe文件 我们先手动完成这两部 手动编译文件使用指令 gcc {你的c文件} -o {生成文件名}生成exe文件 第二步运行exe直接点击该文…

Opencv+ROS实现颜色识别应用

目录 一、工具 二、原理 概念 本质 三、实践 添加发布话题 主要代码 四、成果 五、总结 一、工具 opencvros ubuntu18.04 摄像头 二、原理 概念 彩色图像&#xff1a;RGB&#xff08;红&#xff0c;绿&#xff0c;蓝&#xff09; HSV图像&#xff1a;H&#xff0…

Vue.Draggable使用nested-with-vmodel进行拖拽

Vue.Draggable使用nested-with-vmodel进行拖拽 1. 介绍 ‌draggable‌是一个基于Sortable.js的Vue组件&#xff0c;用于实现拖拽功能。它支持触摸设备、拖拽和选择文本、智能滚动、不同列表之间的拖拽等功能&#xff0c;并且与Vue的视图模型同步刷新&#xff0c;兼容Vue2的过…

【湿度数据处理】中国地面气候资料日值数据集(V3.0)(MATLAB全代码)

【湿度数据处理】中国地面气候资料日值数据集 处理1:数据范围筛选处理2:缺测数据筛查处理3:缺测数据插补参考基于此博客完成各要素数据提取后-【数据集处理】中国地面气候资料日值数据集(V3.0)(含MATLAB全代码),进行后续数据筛选及缺测处理,此处以湿度数据为例。 提取到的…

vulnhub靶场之corrosion靶场1

corrosion靶场1 前言 靶机&#xff1a;corrosion靶场1 攻击&#xff1a;kali 主机发现 使用arp-scan -l发现主机IP&#xff0c;这里直接查看虚拟机需要登录&#xff0c;不过官方并没有提供密码&#xff0c;所以&#xff0c;扫描出IP地址 信息收集 使用nmap查看端口及服务…

代码随想录算法训练营day46|动态规划09

买卖股票的最佳时机四 之前是最多只能完成两笔交易&#xff0c;现在是至多可以买卖k次&#xff0c;那么状态数需要定为2*k1种&#xff0c;此时&#xff0c;就要分析多种情况的递推式 找到奇偶数交替的规则即可 class Solution { public:int maxProfit(int k, vector<int&g…

前端-Git

一.基本概念 Git版本控制系统时一个分布式系统&#xff0c;是用来保存工程源代码历史状态的命令行工具 简单来说Git的作用就是版本管理工具。 Git的应用场景&#xff1a;多人开发管理代码&#xff1b;异地开发&#xff0c;版本管理&#xff0c;版本回滚。 Git 的三个区域&a…

【软件介绍】变声工具RVC本地部署使用方法

RVC&#xff08;Real-Time Voice Conversion&#xff09;软件是一种能够实现实时声音转换的技术工具&#xff0c;它允许用户改变自己或他人的语音特征&#xff0c;比如音调、音色等&#xff0c;以达到变声的效果。这种技术在娱乐、游戏、内容创作等领域有着广泛的应用。下面是一…

IntelliJ IDEA 中,自动导包功能

在 IntelliJ IDEA 中&#xff0c;自动导包功能可以极大地提高开发效率&#xff0c;减少手动导入包所带来的繁琐和错误。以下是如何在 IntelliJ IDEA 中设置和使用自动导包功能的详细步骤&#xff1a; 一、设置自动导包 打开 IntelliJ IDEA&#xff1a; 启动 IntelliJ IDEA 并打…

【CANOE】【Capl】【RS232】控制串口设备

系列文章目录 内置函数&#xff0c;来控制传统的串口设备&#xff0c;比如继电器等 文章目录 系列文章目录前言一、控制串口二、自定义相关的参数RS232Configure**函数语法****函数功能****参数说明****返回值****示例代码** 三、回调函数的使用RS232OnSend**函数语法****函数…

AX58100+STM32使用FSMC接口,运行EtherCAT Slave协议栈

目录 简介环境硬件接线MCU一侧的初始化时钟FSMC外部中断timer 协议栈生成EtherCAT SlaveSlave infomationgenerichardwareEtherCAT State MachineSynchronisationApplicaitonProcessDataMailbox OD TOOL 协议栈移植协议栈集成和错误初步解决启动协议栈 应用开发集成到TWINCAT集…

IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)

今天小编给大家分享下每年IC秋招春招必考题目——静态时序分析时序分析题。 数字IC后端笔试面试题库 | 经典时序Timing计算题 时序分析题1&#xff1a; 给定如下图所示的timing report&#xff0c;请回答一下几个问题。 1&#xff09;这是一条setup还是hold的timing report?…

嵌入式系统与OpenCV

目录 一、OpenCV 简介 二、嵌入式 OpenCV 的安装方法 1. Ubuntu 系统下的安装 2. 嵌入式 ARM 系统中的安装 3. Windows10 和树莓派系统下的安装 三、嵌入式 OpenCV 的性能优化 1. 介绍嵌入式平台上对 OpenCV 进行优化的必要性。 2. 利用嵌入式开发工具&#xff0c;如优…