专栏首页GiantPandaCV卷积神经网络学习路线(四)| 如何减少卷积层计算量,使用宽卷积的好处及转置卷积中的棋盘效应?

卷积神经网络学习路线(四)| 如何减少卷积层计算量,使用宽卷积的好处及转置卷积中的棋盘效应?

前言

这是卷积神经网络的学习路线的第四篇文章,这篇文章主要为大家介绍一下如何减少卷积层的计算量,使用宽卷积的好处以及转置卷积中的棋盘效应。

如何减少卷积层计算量?

从本系列的前面几篇文章看,减少卷积层的计算量主要有以下几种方法:

  • 使用池化操作。在卷积层前使用池化操作降低特征图分辨率。
  • 使用堆叠的小卷积核代替大卷积核。VGG16中使用个卷积代替一个卷积。
  • 使用深度可分离卷积。将原始的的卷积核分成和两部分操作。
  • 应用卷积。将卷积(假设通道数为)直接应用在某个卷积层(假设维度为)之前,当满足$C_2

使用宽卷积的好处?

所谓宽卷积就是指在卷积操作时填充方式为same方式。而与之对应的窄卷积就是指在卷积操作时填充方式为valid方式。same方式的填充通常使用0填充的方式对卷积核不满足整除条件的输入特征图进行补全,使得卷积层的输出维度和输入维度一致。valid方式的填充就是不进行任何填充,在输入特征边缘位置若不足以进行卷积操作,则对边缘信息进行舍弃,因此在步长为1的情况下该填充方式的卷积层输出特征维度可能会略小于输入特征的维度。我们可以发现宽卷积(same填充方式卷积)的好处就是通过补0操作可以有效的保留原始输入特征图的边界特征信息。

转置卷积和棋盘效应?

当我们在用反卷积(转置卷积)做图像生成或者上采样的时候或许我们会观察到我们生成的图片会出现一些奇怪的棋盘图案或者说你感觉到你生成的图片有颗粒感。如下图所示(图的原始来源附在附录里了):

这种现象之所以会发生是因为在上采样使用反卷积的时候,卷积核的大小不能被步长整除导致的。先看一下没有棋盘效应的情况:

再看一下出现棋盘效应的情况:

并且在二维图片上棋盘效应会更加严重。因此为了避免棋盘效应的发生,一般有一下几种解决方案:

  • 方法1:现在,神经网络在创建图像时通常使用多层反卷积,从一系列较低分辨率的描述中迭代地构建较大的图像。虽然这些堆叠的反卷积可能会消除棋盘效应,但它们通常会复合,从而在各种尺度上产生棋盘效应。
  • 方法2:在反卷积后面,再接一个步长为1的卷积,效果有限。
  • 方法3:调整卷积核的权重,适当加大重叠部分少的权重,虽然理论有效,但在实际操作中,不仅有困难也会减弱模型的表达力。
  • 方法4:使得卷积核大小不能被步长整除,但卷积核权重的学习不均匀也会导致棋盘效应现象(下图为步长为2,核大小为4所产生的棋盘效应现象)

在这里插入图片描述

  • 方法5:调整图像大小(使用最近邻插值或双线性插值),然后执行卷积操作。这似乎是一种自然的方法,大致相似的方法在图像超分辨率方面表现良好。

在这里插入图片描述

  • 总结:从原始英文博客上的实验结论来看,使用上采样+卷积层的图像放大方法有效的改善了棋盘效应,所以要是图像生成的时候遇到了棋盘效应你知道怎么做了吗?Upsamping+Convolution来帮你。

附录

转置卷积中的棋盘效应参考文章:https://distill.pub/2016/deconv-checkerboard/

总结

今天为大家介绍了减少卷积层计算量的方法,使用宽卷积的优点,以及反卷积中的棋盘效应,以及最后给出解决棋盘效应的解决方案,希望这篇文章可以帮助到大家。

本文分享自微信公众号 - GiantPandaCV(BBuf233),作者:BBuf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【CNN结构设计】深入理解深度可分离卷积

    现在我们来计算一下常规卷积的计算开销(以最简单的stride(步长)为的情况进行讨论)

    BBuf
  • 卷积神经网络学习路线

    ------------------------------------分割线----------------------------------

    BBuf
  • 卷积神经网络学习路线(一)| 卷积神经网络的组件以及卷积层是如何在图像中起作用的?

    这是卷积神经网络学习路线的第一篇文章,这篇文章主要为大家介绍卷积神经网络的组件以及直观的为大家解释一下卷积层是如何在图像中发挥作用的。

    BBuf
  • 通道洗牌、变形卷积核、可分离卷积?盘点卷积神经网络中十大令人拍案叫绝的操作。

    CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量。我下面会对近几年一些具有变革性的工...

    用户1332428
  • 图像处理论文详解 | Deformable Convolutional Networks | CVPR | 2017

    这个核心贡献在于,为什么卷积过程中卷积核一定要是正方形的?我的检测目标各种形状都有,为什么卷积核一定要是正方形的呢?

    机器学习炼丹术
  • 简谈卷积—幽默笑话谈卷积

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。...

    FPGA技术江湖
  • 吃透空洞卷积(Dilated Convolutions)

    空洞卷积在图像分割需要增加感受野同时保持特征图的尺寸的需求中诞生,本文详细介绍了空洞卷积的诞生、原理、计算过程以及存在的两个潜在的问题,帮助大家将空洞卷积这一算...

    公众号机器学习与生成对抗网络
  • LRNNet:轻量级FCB& SVN实时语义分割

    语义分割可以看作是一种按像素分类的任务,它将特定的预定义类别分配给图像中的每个像素。该任务在自动驾驶和图像编辑等方面具有广泛的应用前景。近年来,轻量化神经网络的...

    3D视觉工坊
  • LRNNet:轻量级FCB& SVN实时语义分割

    语义分割可以看作是一种按像素分类的任务,它将特定的预定义类别分配给图像中的每个像素。该任务在自动驾驶和图像编辑等方面具有广泛的应用前景。近年来,轻量化神经网络的...

    计算机视觉
  • 推荐 | 深度学习反卷积最易懂理解

    普通图像反卷积,跟深度学习中的反卷积是一回事吗?别傻傻分不清!其实它们根本不是一个概念

    OpenCV学堂

扫码关注云+社区

领取腾讯云代金券