反卷积与人工棋盘模式

反卷积棋盘格模式

最近需要通过反卷积生成双目估计的深度图,在阅读反卷积的相关资料的时候看到了Deconvolution and Checkerboard Artifacts,对反卷积(转置卷积)和反卷积生成的棋盘模式笔记如下:

1. Deconvolution

 如下4X4的输入,卷积核为3X3,步长为1,没有padding,输出为2X2

卷积示意
输入矩阵展开为16维向量,x
输出矩阵展开为4维向量,y
卷积输出 y=Cx
C = 这里写图片描述.
在caffe中的conv操作即是如此展开进行卷积的.
deconvolution就是当输入为4维向量,y的时候,x就等于y左乘C^T.


2.棋盘模式

在最近的使用反卷积进行图片生成的工作中,如果将生成的图片放大,可以看到清晰的重复的棋盘模式.如下图
棋盘模式

Deconvolution and Checkerboard Artifacts,中对这种现象进行了分析:
卷积核的大小不能被步长整除,导致反卷积的时候同一个位置进行了多次覆盖,下图步长为2,大小为3.
这里写图片描述
为减轻这种现象可以采用,先对特征图进行resize,然后再进行反卷积,且试验中发现最邻近插值效果比双线性更好,在resize后,也别忘了对边缘使用padding进行填充,以减轻边缘的人工痕迹.
文中还提到了在对特征进行可视化的时候出现的人工棋盘痕迹,当我们在计算卷积层的梯度的时候,我们也在反向的进行反卷积,这也会造成人工棋盘痕迹.然而在实验中发现(deepdream),在不同尺度和偏置的情况下同时优化大量的特征可以消除这种梯度人工痕迹.(除了棋盘模式外,还有别的不规则的高频模式,文中认为它的一大来源是maxpooling).deepDreaming中实现了对这类高频噪音的识别和补偿.目前对于这种梯度上的人工痕迹还没有合理的认识和解释.一个可能的解释是,某些神经元的梯度是邻域内神经元的数倍,这导致整个网络太过于集中在某几个像素点上,而这几个像素上的一点扰动就会对产生巨大的影响,造成高频的人工痕迹?这个解释听起来不太令人信服.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值