展开

关键词

Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution

写在前面Group Convolution分组卷积,最早见于AlexNet——2012年Imagenet的冠军方法,Group Convolution被用来切分网络,使其在2个GPU上并行运行,AlexNet Convolution VS Group Convolutionimage.png?image.pngimage.png ?image.png ?以上。 参考A Tutorial on Filter Groups (Grouped Convolution)Interleaved Group Convolutions for Deep Neural Networks

1.2K20

卷积网络基础知识---Depthwise Convolution && Pointwise Convolution && Separable Convolution

https:yinguobing.comseparable-convolution#fn2 卷积神经网络在图像处理中的地位已然毋庸置疑。 它的核心思想是将一个完整的卷积运算分解为两步进行,分别为Depthwise Convolution与Pointwise ConvolutionDepthwise Convolution同样是上述例子,一个大小为64×64像素、三通道彩色图片首先经过第一次卷积运算,不同之处在于此次的卷积完全是在二维平面内进行,且Filter的数量与上一层的Depth 因此,在参数量相同的前提下,采用Separable Convolution的神经网络层数可以做的更深。 ----Xception: Deep Learning with Depthwise Separable Convolutions, François Chollet ↩︎ MobileNets: Efficient

4.7K31
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CNN模型之MobileNet

    如图1所示: Depthwise convolution和标准卷积不同,对于标准卷积其卷积核是用在所有的输入通道上(input channels),而depthwise convolution针对每个输入通道采用不同的卷积核 图1 Depthwise separable convolution? 图2 Depthwise convolution和pointwiseconvolution这里简单分析一下depthwise separable convolution在计算量上与标准卷积的差别。 ,所以depthwise separable convolution的基本结构如图3所示。? 首先是一个3x3的标准卷积,然后后面就是堆积depthwise separable convolution,并且可以看到其中的部分depthwise convolution会通过strides=2进行downsampling

    1.4K70

    【模型解读】说说移动端基准模型MobileNets

    02Mobilenets结构Mobilenets基本组成单元是depthwise sparable convolution+pointwise convolution,下图是其组成结构图。? 我们可以看到它由3*3的通道分组卷积(depthwise separable convolution)加1*1的普通卷积(point wise convolution)组成。 下面我们计算一下depthwise sparable convolution和普通卷积之间的计算量的比较,便于我们客观理解depthwise sparable convolution的有效性。 depthwise sparable convolution计算量:?两个比值为:? Mobilenets结构就是由这些depthwise sparable convolution+pointwise convolution线性叠加构成的。结构如下图。?

    17720

    手机CNN网络模型

    目标检测、细分类、人脸属性分析、场景识别3 MobileNet Architecture 这个模型主要依赖于 Depthwise Separable Convolution 来降低计算量3.1. Depthwise Separable Convolution 我们首先来看看什么是 Depthwise Separable Convolution 一个标准的卷积层输入输出分别是: 输入特征图F尺寸假定为 Depthwise separable convolution 主要是将这两件事分开做。 分为 depthwise convolutions 和 pointwise convolutions depthwise convolutions 就是使用 一个 滤波器对每个输入通道进行卷积,特征数量保持不变 上式加号左边为 Depthwise convolution 计算量, 右边是 Pointwise convolution 计算量。通过比较两者的计算量我们得到节约了多少计算量,一般是 8-9倍: ?

    29240

    改进卷积操作的一些论文

    2、DO-Conv: Depthwise Over-parameterized Convolutional Layer地址:https:arxiv.orgpdf2006.12030.pdfgithub: 4、MixConv: Mixed Depthwise Convolutional Kernels地址:https:arxiv.orgpdf1907.09595.pdfgithub:https:github.com 8、Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets 10、Dynamic Convolution: Attention over Convolution Kernels地址:https:arxiv.orgpdf1912.03458.pdf? 12、XSepConv: Extremely Separated Convolution地址:https:arxiv.orgpdf2002.12046.pdf??

    40020

    论文阅读学习 - (DeeplabV3+)Encoder-Decoder with Atrous Separable Convolution

    DeepLabV3+ 进一步利用 Xception 模块,将深度可分卷积结构(depthwise separable convolution) 用到带孔空间金字塔池化(Atrous Spatial Pyramid 深度可分离卷积结构(depthwise separable convolution) 和 group convolution 能够有效降低计算量与参数量,同时保持模型表现.1. filter 的接受野来捕捉多尺度的上下文内容信息,输出不同分辨率的特征.image.png1.2 Depthwise separable convolution深度可分卷积操作,将标准卷积分解为一个 depthwise conv,depthwise conv 后接 pointwise conv(如,1×1 conv),有效的降低计算复杂度.depthwise conv 对每一个输入通道(channel ) 分别进行 spatial conv;pointwise conv 用于合并 depthwise conv 的输出.TensorFlow 实现的 depthwise separable conv 已经在

    1.4K20

    从卷积拆分和分组的角度看CNN模型的演化

    下面就从这个视角进行一下疏理,简洁起见,只列出其中发生改变的因子项,Group Convolution(AlexNet),对输入进行分组,卷积核数量不变,但channel数减少,相当于大卷积核替换为多个堆叠的小核 的bottleneck,Depthwise Separable Convolution(MobileNet V1),depthwise +BN ReLU + pointwise + BN ReLU,相当于将 channel维单独分解出去,Separable Convolution(Xception),pointwise + depthwise + BN ReLU,也相当于将channel维分解出去,但前后顺序不同 (但因为是连续堆叠,其实跟基本Depthwise Separable Convolution等价),同时移除了两者间的ReLU,但实际在实现时还是depthwise + pointwise + ReLU pointwise group convolution and channel shuffle(ShuffleNet),group pointwise+BN ReLU+Channel Shuffle+depthwise

    19530

    卷积网络基础知识---Group Convolution分组卷积

    Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolutionhttps:www.cnblogs.comshine-leep10243114 .html写在前面 Group Convolution分组卷积,最早见于AlexNet——2012年Imagenet的冠军方法,Group Convolution被用来切分网络,使其在2个GPU上并行运行 Convolution VS Group Convolution 在介绍Group Convolution前,先回顾下常规卷积是怎么做的,具体可以参见博文《卷积神经网络之卷积计算、作用与思想》。 当分组数量等于输入map数量,输出map数量也等于输入map数量,即G=N=C、N个卷积核每个尺寸为1∗K∗K时,Group Convolution就成了Depthwise Convolution,参见 更进一步,如果分组数G=N=C,同时卷积核的尺寸与输入map的尺寸相同,即K=H=W,则输出map为C∗1∗1即长度为C的向量,此时称之为Global Depthwise Convolution(GDC

    1.2K20

    Xception场景分类模型的实践

    Xception: Deep Learning with Depthwise Separable Convolutions ,谷歌去年推出的一篇论文。 论文中指出:In short, the Xception architecture is a linear stack of depthwise separable convolution layers 在depthwise separable convolution中是先进行一个channel-wise的spatial convolution,也就是上图的(b),然后是1*1的卷积。 而在Figure4中是先进行1*1的卷积,再进行channel-wise的spatial convolution,最后concat。 在Figure4中,每个操作后都有一个ReLU的非线性激活,但是在depthwise separable convolution中没有。 论文还给出了实验结果:?明显地看,比V3是有很大的提升。

    65570

    论文阅读: 1802.Deeplabv3+

    1802.02611:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation属于典型的DilatedFCN 改进的Xception主要体现在以下几点: 参考MSRA的修改(Deformable Convolutional Networks),增加了更多的层;所有的最大池化层使用stride=2的depthwise separable convolutions替换,这样可以改成空洞卷积;与MobileNet类似,在3x3 depthwise convolution后增加BN和ReLU。 作者还尝试了在ASPP中加入深度可分离卷积(depthwise separable convolution),发现在基本不影响模型效果的前提下减少计算量。

    6610

    实时目标检测--Pelee: A Real-Time Object Detection System on Mobile Devices

    github.comRobert-JunWangPeleeCNN模型在嵌入式设备中运行成为一种趋势,为此提出了一些模型如 MobileNet, ShuffleNet, and NASNet-A,他们主要依赖于 depthwise separable convolution , 但是在当前主要深度学习框架中,depthwise separable convolution 没有被高效的实现, lacks efficient implementation 这里我们提出了一个网络结构 PeleeNet,它基于 conventional convolution。 我们的实验显示 在 transition layers 中进行压缩会伤害 feature expression5)Composite Function 为了提速,我们使用 post-activation (Convolution - Batch Normalization - Relu For post-activation, all batch normalization layers can be merged with convolution

    47030

    开发 | 如何利用 TVM 优化深度学习GPU op?教你用几十行Python代码实现2-3倍提升

    这篇文章题为《Optimize Deep Learning GPU Operators with TVM: A Depthwise Convolution Example》(以 Depthwise Convolution 团队采用的是 Depthwise Convolution(即 topi.nn.depthwise_conv2d_nchw)作为示例,并演示了如何可以改进已经手动优化的 TensorFlow 中的 CUDA Depthwise Convolution 是一种构建模型的基本思想,能够有效降低深度神经网络的计算复杂度,包括谷歌的 Xception 和 MobileNet 都属于 Depthwise Convolution 在 TVM 环境下,运行 Depthwise Convolution 的代码如下:# padding stagePaddedInput = tvm.compute( (batch, in_channel 在 depthwise convolution 中有两种形式的数据重用:过滤器重用和输入重用,前者发生在输入通道上滑过并计算多次时,后者在平铺时发生,以 3x3 的 depthwise convolution

    95780

    CNN 中千奇百怪的卷积方式大汇总

    这篇总结很专业,并且很好的回答了评论中的疑问:Depthwise Separable Convolution 就是卷积加 group 吧? 深度可分离卷积Depthwise Separable Convolution,目前已被 CVPR2017 收录,这个工作可以说是 Inception 的延续,它是 Inception 结构的极限版本。 于是,就有了深度卷积(depthwise convolution),深度卷积是对输入的每一个 channel 独立的用对应 channel 的所有卷积核去卷积,假设卷积核的 shape 是 ,那么每个 http:t.cnR0hgfm4既然叫深度可分离卷积,光做 depthwise convolution 肯定是不够的,原文在深度卷积后面又加了 pointwise convolution,这个 pointwise 这两个过程合起来,就称为 Depthwise Separable Convolution 了:【Tensorflow】tf.nn.separable_conv2d 如何实现深度可分卷积?

    85861

    手机端运行卷积神经网络实现文档检测功能(二) -- 从 VGG 到 MobileNetV2 知识梳理(续)

    Module 里面有一个 tf.layers.separable_conv2d 函数, 但是它的内部调用流程是 depthwise convolution --> pointwise convolution 很明显的一个差异点,就是左边这种层结构引入了残差网络的手段,另外,这两种层结构中,在 depthwise convolution 之前又添加了一个 1x1 convolution 操作,在之前举得几个例子中 ,1x1 convolution 都是用来降维的,而在 MobileNet V2 里,这个位于 depthwise convolution 之前的 1x1 convolution 其实用来提升维度的,对应论文中 expansion factor 参数的含义,在 depthwise convolution 之后仍然还有一次 1x1 convolution 调用,但是这个 1x1 convolution 并不会跟随一个激活函数 ,只是一次线性变换,所以这里也不叫做 pointwise convolution,而是对应论文中的 1x1 projection convolution

    4.7K60

    卷积神经网络中十大拍案叫绝的操作

    这种操作被称为 “DepthWise convolution” ,缩写“DW”。 因此,一个depthwise操作比标准的卷积操作降低不少的参数量,同时论文中指出这个模型得到了更好的分类效果。 feature map(称为“基层”)可以不止一个,而Xception中的Depthwise separable Convolution, 正是这篇工作中“单一基层”的情况。 另外,AlexNet的分组卷积,实际上是标准卷积操作,而在ShuffleNet里面的分组卷积操作是depthwise卷积,因此结合了通道洗牌和分组depthwise卷积的ShuffleNet,能得到超少量的参数以及超越 详细解释可以看知乎回答:如何理解空洞卷积(dilated convolution)?十、卷积核形状一定是矩形吗?

    3.2K100

    推荐|变形卷积核、可分离卷积?CNN中十大拍案叫绝的操作!

    这种操作被称为 “DepthWise convolution” ,缩写“DW”。 因此,一个depthwise操作比标准的卷积操作降低不少的参数量,同时论文中指出这个模型得到了更好的分类效果。 ,而Xception中的Depthwise separable Convolution, 正是这篇工作中“单一基层”的情况。 另外,AlexNet的分组卷积,实际上是标准卷积操作,而在ShuffleNet里面的分组卷积操作是depthwise卷积,因此结合了通道洗牌和分组depthwise卷积的ShuffleNet,能得到超少量的参数以及超越 详细解释可以看这个回答:如何理解空洞卷积(dilated convolution)?十、卷积核形状一定是矩形吗?-- Deformable convolution 可变形卷积核?

    54360

    卷积神经网络中十大拍案叫绝的操作

    这种操作被称为 “DepthWise convolution” ,缩写“DW”。 ,而Xception中的Depthwise separable Convolution, 正是这篇工作中“单一基层”的情况。 另外,AlexNet的分组卷积,实际上是标准卷积操作,而在ShuffleNet里面的分组卷积操作是depthwise卷积,因此结合了通道洗牌和分组depthwise卷积的ShuffleNet,能得到超少量的参数以及超越 因此Group conv和Depthwise +Pointwise并不能划等号。 通道间的特征都是平等的吗? 详细解释可以看这个回答:如何理解空洞卷积(dilated convolution)? 卷积核形状一定是矩形吗?

    25220

    卷积神经网络中十大操作

    这种操作被称为 “DepthWise convolution” ,缩写“DW”。 因此,一个depthwise操作比标准的卷积操作降低不少的参数量,同时论文中指出这个模型得到了更好的分类效果。 ,而Xception中的Depthwise separable Convolution, 正是这篇工作中“单一基层”的情况。 另外,AlexNet的分组卷积,实际上是标准卷积操作,而在ShuffleNet里面的分组卷积操作是depthwise卷积,因此结合了通道洗牌和分组depthwise卷积的ShuffleNet,能得到超少量的参数以及超越 详细解释可以看这个回答:如何理解空洞卷积(dilated convolution)? 卷积核形状一定是矩形吗?-- Deformable convolution 可变形卷积核?

    30020

    Google提出移动端新SOTA模型MixNets:用混合深度卷积核提升精度

    作者 | Google译者 | 刘畅编辑 | Jane出品 | AI科技大本营(ID:rgznai100) 【导语】目前,深度卷积(Depthwise convolution)在追求高性能的卷积网络中的应用变得越来越流行 基于此观察,作者提出了一种新的混合深度卷积(Mixed Depthwise Convolution, MDConv),它自然地在单个卷积中混合了多个内核大小。

    32410

    扫码关注云+社区

    领取腾讯云代金券