美文网首页
看懂paper中的卷积堆叠感受野计算

看懂paper中的卷积堆叠感受野计算

作者: 霍尔元件 | 来源:发表于2019-08-01 16:22 被阅读0次

VGG中卷积堆叠

在赢得其中一届ImageNet比赛里VGG网络的文章中,他最大的贡献并不是VGG网络本身,而是他对于卷积叠加的一个巧妙观察。

This (stack of three 3 × 3 conv layers) can be seen as imposing a regularisation on the 7 × 7 conv. filters, forcing them to have a decomposition through the 3 × 3 filters (with non-linearity injected in between).

这里意思是 7 x 7 的卷积层的正则等效于 3 个 3 x 3 的卷积层的叠加。而这样的设计不仅可以大幅度的减少参数,其本身带有正则性质的 convolution map 能够更容易学一个 generlisable, expressive feature space。这也是现在绝大部分基于卷积的深层网络都在用小卷积核的原因。

image

代码验证

def receptiveField(net, layernum):
    RF = 1
    for layer in reversed(range(layernum)):
        kSize, stride, pad, dilation = net[layer]
        RF = (RF - 1) * stride + (dilation * (kSize - 1) + 1)  
    return RF
    
""" VGG 两层3x3卷积感受野等价于7x7卷积"""
vgg = [[3, 2, 1, 1], [3, 2, 1, 1]] # kSize, stride, pad, dilation
print(receptiveField(vgg, 2)) # 7

""" VGG 两层3x3卷积感受野等价于7x7卷积"""
vgg = [[3, 1, 1, 1], [3, 1, 1, 1]]
print(receptiveField(vgg, 2)) # 5

空洞卷积常见图

借用了知乎上的图,画的很好

当前层卷积核作用于前一层的feature map,蓝色框代表当前层卷积核视野,红色框表示前一层的感受野(图b红框表示图a的大小,图c中红框表示图b的大小)不是很清楚就继续看下面的图

image

其实第一件事情是我们需要搞清楚每一张画的是啥,画的不是feature map,是感受野,准确来说是每一个新卷积层卷出的feature map中的一个像素能够看到原图中的多大的一块区域

image

这样应该就可以理解了

下面是用代码来验证:

代码中用到了感受野的top to down公式 参照之前的博文

def receptiveField(net, layernum):
    RF = 1
    for layer in reversed(range(layernum)):
        kSize, stride, pad, dilation = net[layer]
        RF = (RF - 1) * stride + (dilation * (kSize - 1) + 1)  # dilation*(fsize-1) + 1 代表新的kernel size 其中dilation表示查插入缝隙长度+1 没有插入时 dilation=1
    return RF

net = [[3, 1, 1, 1], [3, 1, 1, 2], [3, 1, 1, 4]] # kSize, stride, pad, dilation
print(receptiveField(net, 3)) # 15

相关文章

  • 看懂paper中的卷积堆叠感受野计算

    VGG中卷积堆叠 在赢得其中一届ImageNet比赛里VGG网络的文章中,他最大的贡献并不是VGG网络本身,而是他...

  • 卷积神经网络中的感受野计算

    卷积神经网络中的感受野计算

  • 十三. VGG感受野计算

    (其实就是逆向求解图像输出尺寸)感受野的概念及大小的计算?在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出...

  • 空洞卷积

    空洞卷积有什么作用呢? 扩大感受野:在deep net中为了增加感受野且降低计算量,总要进行降采样(pooling...

  • 神经网络基本概念和知识

    1. 卷积的概念 局部感知、权值共享、多核卷积 2. 感受野的概念 在卷积神经网络中,感受野的定义是 卷积神经网络...

  • 卷积神经网络中感受野计算

    感受野(receptive field)是CNN中很重要的一个概念,指的是某个输出的feature map上某个点...

  • 关于感受野的理解与计算

    感受野 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feat...

  • 卷积神经网络中的感受野计算详细指南

    前言 感受野(receptive field,RF)也许是CNN中最重要的概念之一,从文献上来看,它应当引起足够的...

  • 感受野计算

    CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征:较浅的卷积层感受野较小,学习到一些局...

  • 关于感受野的总结

    感谢 SIGAI 特约作者:mileistone 感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经...

网友评论

      本文标题:看懂paper中的卷积堆叠感受野计算

      本文链接:https://www.haomeiwen.com/subject/gdkcdctx.html