论文阅读 | 轻量级网络 MobileNets/Xception/ShuffleNet

news2024/9/21 17:35:22

前言:重温经典,整理了一些几年前做轻量级网络的论文,其中的深度可分离卷积和通道shuffle的思想至今也在沿用
(这几天都没看论文然而实验还是没跑出来,不卷会议了,开始摆烂…)
论文地址:
MobileNets【here】
Xception【here】
ShuffleNet【here】

深度可分离卷积(MobileNets/Xception)

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

MobileNets放在之前将,是我觉得MobileNets将深度可分离卷积的原理阐释得更清楚一些,Xception更多的是从inception系列的发展来展开的
首先深度可分离卷积的图示
在这里插入图片描述
这个图很生动形象的解释了什么是深度可分离卷积,即把一个有着空间大小(3*3)和特征维度(c_in)的卷积核,拆成一个单位空间上的特征维度的卷积pointwise convolution 和每个单位特征层上的有着空间大小的卷积depthwise convolution
一个深度可分离卷积包括下图右边的部分
在这里插入图片描述
深度可分离卷积与普通卷积的计算量和参数量对比
普通卷积的卷积核大小
在这里插入图片描述

在一个Df * Df的图上的卷积计算量
在这里插入图片描述

深度可分离卷积卷积核大小
在这里插入图片描述
在这里插入图片描述

计算量
在这里插入图片描述
计算量的比较
在这里插入图片描述
两个超参数
第一个超参数是网络的宽度(这里作者不调深度而是调宽度是因为实验证明差不多参数量和计算量的情况下,更窄的网络比更浅的网络性能会好一点)
在这里插入图片描述
第二个超参数是输入图像的分辨率,通过减小输入图像的分辨率可以减小网络的运算量

Xception: Deep Learning with Depthwise Separable Convolutions

首先inception系列的思想是用pointwise卷积把特征映射到不同区域,再分别对它进行分不同卷积操作,最后融合特征
比如经典inception v3
在这里插入图片描述
简化后其实可以看做(把AVGpooling 那一支去掉)
在这里插入图片描述
而这个简化后的版本,有可以看做用一个很大的pointwise卷积,将特征维扩展到原来的3倍,划分到不同区域,再在不同区域用3 * 3conv,这和简化版本inception是等价的
在这里插入图片描述
最后,可以把这个简化版本Inception极端化,即每一个特征通道就是一个区域。因此就有了Xception的Idea
在这里插入图片描述
这里作者指出,极端化后的inception和深度可分离卷积的区别有两点,第一点是深度可分离卷积是先进行depthwise卷积再进行pointwise卷积,但是极端的inception则反过来(作者认为这个区别不大)
第二点则是,深度可分离卷积每层后加Relu激活函数,但是极端版本不需要relu,作者也做实验分析了,加激活函数的效果
在这里插入图片描述
对比Inception中的中间激活层起的作用,作者给出的解释是,对于浅层卷积,比如只有一个通道的depthwise卷积,加了激活可能会损害性能

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile

在原有的深度可分离卷积的基础上还有优化空间,即对于特征维过于宽的情况,pointwise卷积显得并没有那么高效
因此可以继续对pointwise卷积进行分组,
分组后的参数量和计算量的变化(引用来自博文)
在这里插入图片描述
但是对通道分组后,组与组之间就不相关了
因此进行一次channelshuffle
在这里插入图片描述
所以,shufflenet 的设计改变可以由下图所示,Pointwise分组卷积+channelshffle+3 * 3 depthwise conv +Pointwise分组卷积
在这里插入图片描述
最后作者做实验证明了shuffleNet设计后有性能提升
在这里插入图片描述
注意,这里并不是对同样的网络,加group和不加group的性能比较,而是对于加了group和channel shuffle后再加宽网络,保持差不多的网络参数量进行的比较

总结

深度可分离卷积证实了,空间和通道分开卷积一定程度上平衡好了性能和效率,对于3D时空任务而言,能不能实现空间和时间维的分开卷积呢?待我查查相关资料再回来看这个问题

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript Math 算数对象

文章目录JavaScript Math 算数对象Math 对象Math 对象属性Math 对象方法算数值算数方法JavaScript Math 算数对象 Math(算数)对象的作用是:执行常见的算数任务。 Math 对象 Math(算数)对象的作用是:执行普…

规划数据指标体系方法(上)——OSM 模型

之前我已经有写过文章讲了数据指标体系的搭建思路,但有同学还是不太清楚要从何入手,今天我就来跟大家讲一讲搭建数据指标体系之前第一步要先做的事情——规划数据指标体系。 规划数据指标体系,在业内有三种比较常见的方法,分别是&…

MySql索引失效的情况

文章目录1、对索引字段进行了运算或者使用了函数2、查询的数据类型与字段类型不一致3、违反了索引的最左匹配原则4、全表扫描更快5、where语句中索引列使用了负向查询,可能会导致索引失效6、索引字段可以为null,使用is null或is not null时,可…

2022年MathorCup数学建模C题自动泊车问题解题全过程文档加程序

2022年第十二届MathorCup高校数学建模 C题 自动泊车问题 原题再现 自动泊车是自动驾驶技术中落地最多的场景之一,自动泊车指在停车场内实现汽车的自动泊车入位过程,在停车空间有限的大城市,是一个比较实用的功能,减少了驾驶员将…

又一新闻,Meta研发了超越chatGPT的新平台LLAMA

一、Meta 全新大语言模型 LLaMA 正通过种子公开发放2 月 24 日,Meta 公司发布了新的大模型系列 —— LLaMA(Large Language Model Meta AI)。Meta 宣称,LLaMA 规模仅为竞争对手 ChatGPT 的“十分之一”,但性能却优于 O…

Win10安装MySQL5.7.22 解压缩版(手动配置)方法

1.下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 直接点击下载项 下载后: 2.可以把解压的内容随便放到一个目录,我的是如下目录(放到C盘的话,可能在修改ini文件时涉及权限问 题,之后…

第13章 二叉树模型及其扩展

这学期会时不时更新一下伊曼纽尔德曼(Emanuel Derman) 教授与迈克尔B.米勒(Michael B. Miller)的《The Volatility Smile》这本书,本意是协助导师课程需要,发在这里有意的朋友们可以学习一下,思…

lattice

Chinese NER Using Lattice LSTM 阅读笔记_Ono_online的博客-CSDN博客 【NER-1】-2018 ACL Lattice-LSTM_latticelstm代码_应有光的博客-CSDN博客 lattice model(结合上面两个博客来看) 18分钟彻底搞懂LSTM网络原理,NLP,深度学习,自然语言处理_哔哩哔哩_bilibili 如何从RNN起…

无代码时代洪流,高灵活,所见即所得

发布的《2022年中国低代码/零代码行业研究报告》表明,在最近的一项调查中,超过90%的企业用户都希望能够使自己的产品开发更加灵活和有效,并且希望能够通过减少开发费用来优化其投入产出比。从众多研究机构的正面评价来看&#xff…

react-swipeable-views轮播图实现下方的切换点控制组件

本文是react通过react-swipeable-views创建公共轮播图组件的续文 上一文 我们创建了这样的一个轮播图组件 但我们已经看到的轮播图 下面都会有小点 展示当前所在的位置 但react-swipeable-views 并没有直接提供 我们需要自己去编写这个组件 我们在components下的 rotationCh…

如何用R语言在生物群落生态学中的数据统计分析?

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。本课程以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来…

文件变成chk如何恢复正常

许多人不知道chk文件是什么?其实它是用户在使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”,而在u盘、内存卡等移动设备读取数据过程中,由于断电或强制拔出也容易产生大量的chk文件。那么文件变成chk如何恢复正常呢&#xf…

A/B测试实践全总结

一:基本概念网站设计中,我们经常会面临多个设计方案的选择,比如某个按钮是用红色还是用蓝色,是放左边还是放右边。传统的解决方法通常是集体讨论表决,或者由某位专家或领导来拍板。虽然传统解决办法多数情况下也是有效的,但A/B 测试(A/B Testing)可能是解决这类问题的一个更好的…

小型双轮差速底盘双灰度循迹功能的实现

1. 功能说明 在机器人车体上安装2个 灰度传感器 ,实现机器人按照下图所指定的路线进行导航运动,来模拟仓库物流机器人按指定路线行进的工作过程。 2. 使用样机 本实验使用的样机为R023e样机。 3. 功能实现 3.1 电子硬件 在这个示例中,我们采…

[Linux入门篇]一篇博客解决C/C++/Linux System Call文件操作接口的使用

目录 0.前言 1.C / C ->文件操作 1.1 C语言文件操作 1.1.1 C语言文件打开/关闭/写入 1.1.2 C语言文件的追加操作 1.1.3 C语言文件的读取 1.2 C语言文件操作 1.2.1 C文件打开 / 关闭 / 写入 1.2.2 C文件读取 1.2.3 文件追加 2.三个默认输入输出流 2.1 C语言中的三…

#gStore-weekly | gBuilder功能详解之项目管理

1. gBuilder介绍 我们知道知识图谱整个生命周期分为构建、存储管理与应用三个阶段。其中我们之前介绍的图数据库gStore对应解决的是知识图谱的存储与管理这个阶段问题。实际上知识图谱项目中大部分时间都花在知识图谱构建阶段,虽然知识图谱构建不直接体现价值&…

Hermite插值及其Julia实现

文章目录基本原理算法实现无论是Newton插值还是Lagrange插值,都只能在数值本身上满足插值函数与数据节点的重合,Hermite插值则要求其导数值相等。 基本原理 设在节点a⩽x0⩽x1⩽…⩽xn⩽ba\leqslant x_0\leqslant x_1 \leqslant\ldots\leqslant x_n\le…

ESP32使用TCP HTTP访问API接口JSON解析获取数据

ESP32使用TCP HTTP访问API接口JSON解析获取数据API接口代码解析获取时间代码烧录效果总结API接口 单片机常用的API接口基本都是返回的一串JSON格式的数据,这里以ESP32联网获取时间信息作为获取API数据的示例,以便后续移植使用。 很多功能性的API接…

UML-活动图以及PlantUML绘制

介绍 活动图(英语:activity diagram)是工作流的图形化表示。活动图主要由活动和动作构成,也可以支持分支选择、迭代、并行。在 UML 中,活动图主要用于为计算性和组织性过程(即工作流)建模&…

PaddlePaddle本地环境安装(windows11系统)

写在前面: 这里是关于win11安装PaddlePaddle的步骤和方法,建议参考官方的方法。截止2023年3月份,PaddlePaddle的版本是2.4.2。 官方参考:飞桨PaddlePaddle快速安装使用方法 建议使用Anaconda安装 ,关于Anaconda创建环境的可以借鉴:深度学习Anaconda环境搭建(比较全面)…