首页 > 编程知识 正文

空洞卷积感受野计算公式

时间:2023-05-05 21:14:58 阅读:267905 作者:606

感受野大小计算、卷积参数量与计算量、空洞卷积计算量与参数量 卷积计算,反卷积计算,特征图大小计算,空洞卷积计算 感受野大小计算 这是 自顶向下方法,也就是从后面向前面计算,初始rf=1 比如conv1(f=3x3,s=2),  conv2(f=3x3,s=2),  conv3(f=3x3,s=1),从后向前 最后一层每个点rf=1,(1-1)x1+3=3,也就是最后一层结束每个点的感受野是3 倒数第二层 ,  (3-1)x2+3=7, 最后一个点映射到第二层是7的感受野 底数第三层,(7-1)x2+3=15,最后一个点映射到第一层是15的感受野   空洞卷积的计算过程

空洞卷积(Dilated convolutions)在卷积的时候,会在卷积核元素之间塞入空格,如下图所示:

这里引入了一个新的超参数 d,(d - 1) 的值则为塞入的空格数,假定原来的卷积核大小为 k,那么塞入了 (d - 1) 个空格后的卷积核大小 n 为:

进而,假定输入空洞卷积的大小为 i,步长 为 s ,空洞卷积后特征图大小 o 的计算公式为:

空洞卷积好处

感受野为: 感受野= k+(k+1)(d-1)

空洞卷积的感受野计算,从后向前,初始rf=1

(a)图对应3x3的1-dilated conv,和普通的卷积操作一样,(b)图对应3x3的2-dilated conv,实际的卷积kernel size还是3x3,但是空洞为1,也就是对于一个7x7的图像patch,只有9个红色的点和3x3的kernel发生卷积操作,其余的点略过。也可以理解为kernel的size为7x7,但是只有图中的9个点的权重不为0,其余都为0。 可以看到虽然kernel size只有3x3,但是这个卷积的感受野已经增大到了7x7(如果考虑到这个2-dilated conv的前一层是一个1-dilated conv的话,那么每个红点就是1-dilated的卷积输出,所以感受野为3x3,所以1-dilated和2-dilated合起来就能达到7x7的conv),(c)图是4-dilated conv操作,同理跟在两个1-dilated和2-dilated conv的后面,能达到15x15的感受野。对比传统的conv操作,3层3x3的卷积加起来,stride为1的话,只能达到(kernel-1)*layer+1=7的感受野,也就是和层数layer成线性关系,而dilated conv的感受野是指数级的增长。

dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv,比如图像分割[3]、语音合成WaveNet[2]、机器翻译ByteNet[1]中。简单贴下ByteNet和WaveNet用到的dilated conv结构,可以更形象的了解dilated conv本身。

  卷积过程的参数量计算 https://www.cnblogs.com/wmr95/articles/9632771.html 假定: M:每个卷积核 输出 特征图(Feature Map)的边长 K:每个卷积核(Kernel)的边长 Cin:每个卷积核的通道数,也即输入通道数,也即上一层的输出通道数 Cout:本卷积层具有的卷积核个数,也即输出通道数 可见:每个卷积层的时间复杂度由输出特征图面积M 2 ,卷积核面积K 2 ,输入Cin和输出通道Cout完全决定。 其中,输出特征图尺寸本身又由输入矩阵尺寸X,卷积核尺寸K,Padding,Stride这四个参数所决定,表示如下: M = (X - K + 2 × Padding)/ Stride + 1 注1:为了简化表达式中的变量个数,这里统一假设输入和卷积核的形状都是正方形。 注2:严格来讲每一层应该还包含1个Bias参数,这里为了简洁就省略了 这里举个例子,假设一个卷积层:输入224×224×3,输出224×224×64,卷积核大小为3×3。 计算量: Times = 224 × 224 × 3 × 3 × 3 × 64 = 8.7 × 10^7 参数量: Space = 3 × 3 × 3 × 64 = 1728 https://www.cnblogs.com/adong7639/p/7918527.html       深度分离卷积的参数量为:M*K*K+N*M    ,M是输入特征图通道数,K为卷积核大小,N为输出特征通道数(也就是卷积核的通道数) 深度分离卷积示例: 输入图片大小(6,6,3),原卷积操作用(4,4,3,5)的卷积(卷积核大小为4x4,卷积核通道为3,卷积核数量为5),stride=1,padding=0。输出的特征尺寸为(6-4)/1+1=3,即输出的特征映射为(3,3,5) 将标准卷积中选取序号为n的卷积核,大小为(4,4,3),标准卷积过程示意图如下(省略bias): 黑色的输入为(6,6,3) 与第n个卷积核对应,每个通道对应每个卷积核通道卷积得到输出,最终输出为2+0+1=3(这是常见的卷积操作,注意这里卷积核要和输入的通道数相同,即图中表示的3个通道~)   对于深度分离卷积,把标准卷积(4,4,3,5)分解为:   深度卷积部分:大小为(4,4,1,3) ,作用在输入的每个通道上,输出特征映射为(3,3,3) 逐点卷积部分:大小为(1,1,3,5),作用在深度卷积的输出特征映射上,得到最终输出为(3,3,5) 例中深度卷积卷积过程示意图如下:   输入有3个通道,对应着有3个大小为(4,4,1) 的深度卷积核,卷积结果共有3个大小为(3,3,1) ,我们按顺序将这卷积按通道排列得到输出卷积结果(3,3,3) 。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。