这是卷积神经网络的学习路线的第四篇文章,这篇文章主要为大家介绍一下如何减少卷积层的计算量,使用宽卷积的好处以及转置卷积中的棋盘效应。
从本系列的前面几篇文章看,减少卷积层的计算量主要有以下几种方法:
所谓宽卷积就是指在卷积操作时填充方式为same
方式。而与之对应的窄卷积就是指在卷积操作时填充方式为valid
方式。same
方式的填充通常使用0填充的方式对卷积核不满足整除条件的输入特征图进行补全,使得卷积层的输出维度和输入维度一致。valid
方式的填充就是不进行任何填充,在输入特征边缘位置若不足以进行卷积操作,则对边缘信息进行舍弃,因此在步长为1的情况下该填充方式的卷积层输出特征维度可能会略小于输入特征的维度。我们可以发现宽卷积(same
填充方式卷积)的好处就是通过补0操作可以有效的保留原始输入特征图的边界特征信息。
当我们在用反卷积(转置卷积)做图像生成或者上采样的时候或许我们会观察到我们生成的图片会出现一些奇怪的棋盘图案或者说你感觉到你生成的图片有颗粒感。如下图所示(图的原始来源附在附录里了):
这种现象之所以会发生是因为在上采样使用反卷积的时候,卷积核的大小不能被步长整除导致的。先看一下没有棋盘效应的情况:
再看一下出现棋盘效应的情况:
并且在二维图片上棋盘效应会更加严重。因此为了避免棋盘效应的发生,一般有一下几种解决方案:
在这里插入图片描述
在这里插入图片描述
转置卷积中的棋盘效应参考文章:https://distill.pub/2016/deconv-checkerboard/
今天为大家介绍了减少卷积层计算量的方法,使用宽卷积的优点,以及反卷积中的棋盘效应,以及最后给出解决棋盘效应的解决方案,希望这篇文章可以帮助到大家。
本文分享自 GiantPandaCV 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!