搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
菜鸟追梦旅行
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
ArcGIS Engine10.0轻松入门级教程(4)——基本功能开发_arcengine movelinefeedbackclass
2
java分布式事务——最终一致性,最大努力通知总结!_分布式事务中的最大努力通知思想
3
python tokenizer是什么_Python tokenizer包_程序模块 - PyPI - Python中文网
4
wordpress开源代码的一次白盒审计_开源代码安全审计
5
大厂偏爱的Agent技术究竟是个啥_azure agent 是通过什么技术和后端通讯
6
【gpt】免费部署个人gpt平台(无需tz)_gpt免费
7
白天研究生系列:炼丹专题第三集《本地部署大语言模型保姆级教程——以ChatGLM-6B为例》_chatglm4-6b
8
在Atlas 200 DK(Soc=Ascend 310)快速上手自定义模型训练、部署与推理_aclliteresource
9
Python 零基础学习指南_momodel
10
Python和人工智能的关系_人工智能程序是关联独立
当前位置:
article
> 正文
论文笔记:ShuffleNet v1_shufflenetv1论文
作者:菜鸟追梦旅行 | 2024-03-31 22:45:45
赞
踩
shufflenetv1论文
ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
ShuffleNet v1
1、四个问题
要解决什么问题?
为算力有限的嵌入式场景下专门设计一个高效的神经网络架构。
用了什么方法解决?
使用了两个新的操作:pointwise group convolution(组卷积)和channel shuffle。
根据这两个操作构建了ShuffleUnit,整个ShuffleNet都是由ShuffleUnit组成。
效果如何?
在ImageNet分类和MS COCO目标检测任务上取得了比其他轻量化模型更高的准确率,如MobileNet v1。
在ARM设备上,ShuffleNet的速度比AlexNet快了13倍。
还存在什么问题?
超参数如组卷积的组数以及通道压缩比率等需要根据实际情况决定,不同任务下需要自行调整。
网络实时性并不能单纯以浮点计算量来衡量,还存在memory access cost(MAC)等因素的干扰,并不能仅仅根据计算量就认为ShuffleNet是最快的。
2、论文概述
2.1、简介
作者发现,一些state-of-the-art的模型架构,如Xception、ResNeXt等,使用在小型网络模型中效率都比较低。这是因为使用大量的
1 × 1 1 \times 1
1
×
1
卷积会消耗大量计算资源。为此,提出了pointwise group convolution来减少计算复杂度。
使用组卷积也会带来一些副作用,因为组卷积切断了组内通道与组外通道之间的联系,仅仅能从组内通道提取特征信息。为此,论文中又提出了 channel shuffle,来帮助信息在各通道之间流通。
2.2、相关工作
高效模型设计:
GoogLeNet
SqueezeNet
ResNet
SENet
NASNet
组卷积(group convolution):
最初由AlexNet提出,应用在2块GPU上并行处理。
Xception中提出了深度可分离卷积(depthwise separable convolution)。
MobileNet中也使用到了深度可分离卷积。
Channel Shuffle
此前的文献中较少提及channel shuffle操作。
模型加速
目标是再保证模型准确率的前提下尽可能加速前向推理过程。
常见方法:
网络剪枝。
量化和分解。
知识蒸馏。
2.3、Channel
Shuffle
for Group Convolutions
在小型网络中,逐点卷积(pointwise convolution)不仅会占用较多计算资源并且还会让通道之间具有过多复杂的约束,这会显著地降低网络性能。在较大的模型中使用pointwise convolution也许相对好一些,然而小模型并不需要过多复杂的约束,否则容易导致模型难以收敛,并且容易陷入过拟合。
一个解决办法是:通道间稀疏连接(channel sparse connections)。使用组卷积可以一定程度上解决这个问题。
但是,使用组卷积也会带来副作用:信息只会在组内流通,组间不会有信息交互。为此,还需要使用channel shuffle来解决信息不流通的问题。
channel shuffle操作:
假设一个卷积层上有
g g
g
组,每组有
n n
n
个通道,最后输出就有
g × n g \times n
g
×
n
个通道。
reshape成
( g , n ) (g, n)
(
g
,
n
)
。
转置成
( n , g ) (n, g)
(
n
,
g
)
。
展开(flatten),再分成
g g
g
组,作为下一层的输入。
2.4、Shuffle Unit
图(a)是残差卷积模块,标准
3 × 3 3 \times 3
3
×
3
卷积转换为深度可分离卷积与
1 × 1 1 \times 1
1
×
1
卷积的组合。中间加上BN和ReLU,构成基本单元。
图(b)是Shuffle Unit,将图(a)中的第一个
1 × 1 1 \times 1
1
×
1
卷积替换成
1 × 1 1 \times 1
1
×
1
组卷积(GConv)和channel shuffle组成的单元。
图©是用于降采样的Shuffle Unit,深度可分离卷积的步长改为2,为了适配主分支的feature map,在shortcut上加上了步长也为2的平均池化(AVG Pool
3 × 3 3 \times 3
3
×
3
)。
虽然深度可分离卷积可以减少计算量和参数量,但在低功耗设备上,与密集的操作相比,计算/存储访问的效率更差。故在ShuffleNet上只在bottleneck上有使用深度可分离卷积,尽可能的减少开销。
2.5、网络架构
2.6、实验
Pointwise Group Convolutions
从结果来看,有组卷积的一致比没有组卷积(g=1)的效果要好。
注意组卷积可获得更多通道间的信息,我们假设性能提高受益于更多的feature map通道数,这也有助于我们对更多信息进行编码。并且,较小的模型的feature map通道也更少,这意味着能更多地从增加feature map上获益。
Channel Shuffle vs. No Shuffle
Comparison with Other Structure Units
Comparison with MobileNets and Other Frameworks
Generalization Ability
在MS COCO目标检测任务上测试ShuffleNet的泛化和迁移学习能力,以Faster RCNN为例:
Actual Speedup Evaluation
3、参考资料
https://blog.csdn.net/u011974639/article/details/79200559
https://www.cnblogs.com/heguanyou/p/8087422.html
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/346288
推荐阅读
article
ViT
笔记以及其
Pytroch
实现_
vit
pytorch
...
目前在NLP领域,transformer已经占据主导地位。不少学者尝试将attention和CNN相结合,这些方法往往依...
赞
踩
article
关于
Transformer
中常遇到
的
问题解答
...
来源:知乎作者:红豆君中国科学院大学计算机硕士文章经过作者同意转载1.
Transformer
如何解决梯度消失问题
的
?残...
赞
踩
article
Attention
,
Multi
-
head
Attention
--
注意力
,多头
注意力
详解...
Attention
首先谈一谈attention。
注意力
函数其实就是把一个query,一个key-value的集合映射成一...
赞
踩
article
NLP
模型
(四)——
seq2seq
模型
与
Attention
机制
介绍
_
seq2seq
attentio...
seq2seq
模型
介绍
与软性
Attention
介绍
_
seq2seq
attention
seq2seq
attention
...
赞
踩
article
开源AI引擎|企业
合同
管理
:
自然语言
处理
与
OCR
技术深度融合...
结合NLP和
OCR
技术,企业可以构建智能化的
合同
管理
系统,实现
合同
的自动化审查、风险评估和知识抽取。这样的系统不仅能够提...
赞
踩
article
标准化,
归一化
,
二值化
,
One
-
Hot
,
卡方
检验选取重要
特征
,主成分分析,缺失值和
异常
值处理_
归一化
...
python
特征
处理和选择 缺失值
异常
值重复值处理,
卡方
检验,
归一化
标准,
二值化
,
One
-
Hot
编码等处理_
归一化
卡方
归...
赞
踩
article
css
实现
大屏
模块
动画
切换
效果
_
css
大屏
线条
动画
...
偶然间在网上看到一个小demo,
效果
看起来挺好的,就写篇文章记录一下,方便后续项目开发
效果
如下详细代码如下
[详细]
-->
赞
踩
article
准确率
(
Accuracy
), 精确率(
Precision
), 召回率(
Recall
)和F1_accu...
准确率
、精确率、召回率、F1是衡量机器学习结果的重要指标。下面我们用经典的表格来说明他们之间的关系和区别。 Po...
赞
踩
article
AI
GC
学习,
AI
绘画
、
AI
写作、
国内外
研究
现状等_
stable
diffusion
国内外
研究
现状...
AI
绘画
AI
写作 midjourney ;NotionAi_
stable
diffusion
国内外
研究
现状
stable
...
赞
踩
article
cmd
批处理
延时
启动的几个
方法
_
cmd
延时
...
批处理
延时
启动的几个
方法
方法
一:ping缺点:时间精度为1秒,不够精确Copy code@echo off@ping ...
赞
踩
article
Kafka
原理及
代码
分析_
kafka
ranger
鉴权
代码
分析...
Kafka
版本3.0.01.LogSegmentappend():如参:startOffset: Long:maxSiz...
赞
踩
article
从
文本
提取
信息
(基于
nltk
)...
如果我们不是集中我们的精力在问题或“实体关系”的有限集合,例如:“不同的设施位于何处”或“谁被什么公司雇用”上,我们就能...
赞
踩
article
2023华为产品测评官-
开发者
之声 +
构建
智能
应用
的利器——
ModelArts
...
ModelArts
作为华为云提供的人工
智能
开发平台,为
开发者
带来了许多便利和效益。一站式开发环境:
ModelArts
提供...
赞
踩
article
5.2
数据
可视化分析——
词
云图
绘制
_本关任务:利用所学知识,按要求自行
绘制
一个
词
云图
。
...
5.2
.1 用jieba库实现中文分
词
要从中文文本中提取高频
词
汇,需要使用中文分
词
(Chinese Word Segme...
赞
踩
article
如何运行
github
上
的
项目
_
github
上
下载
的
项目
如何运行...
如何把Github
上
的
项目
运行起来,简单举个例子!_
github
上
下载
的
项目
如何运行
github
上
下载
的
项目
如何运行 ...
赞
踩
article
MyOS 之 软盘读取_
attempt
to
reserve
non-
constant
quanti...
首先还是采用软盘启动,qemu实现,把30DayOS的第一天版复制进去即可。这里我选择的是第4天,此时已经构建完毕所有页...
赞
踩
article
GLUE
数据
集
介绍_
glue
数据
集
百度云...
From: http://www.xuwei.io/2018/11/30/%E6%96%87%E6%9C%AC%E5%8...
赞
踩
article
ZYNQ
Linux
逻辑端(
PL
)
中断
demo
_
linux
pl
中断
...
一、关于本
demo
1.本
demo
中,zynq运行
linux
系统,包含一个自定义的
PL
端IP外设。2.开发板从sd卡启动。...
赞
踩
article
软硬件
集成
开发简介...
ESP32 是一系列低成本,低功耗的单晶片微控制器,
集成
了 Wi-Fi 和双模蓝牙。ESP32 系列采用 Tensili...
赞
踩
article
Python
学习
笔记:
面向对象
高级
编程
(上)_
python
中
面向对象
高级
编程
...
前言最近在
学习
深度
学习
,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习
Python
了,大家都推荐廖雪峰...
赞
踩
相关标签
深度学习
人工智能
神经网络
机器学习
计算机视觉
attention
自然语言处理
ocr
python
sklearn
scikit-learn
css
动画
css3
AIGC
学习
cmd