Detail-Preserving Pooling in Deep Networks (2018 cvpr)

作者:Faraz Saeedan,Nicolas Weber,Michael Goesele,Stefan Roth

该文章提出的Detail-Preserving Pooling(DPP)使得max pooling,average pooling成为其特例,并且在池化过程中结合了卷积操作,其保留细节的探究令人愉悦,与max pooling(averag pooling)在池化核中直接提取最显著特征(平均特征)而放弃其他特征的做法(Hinton提出的capsule部分基于这点)形成对比。本文作为小博主研读该文章的结果。受博主知识上界限制,文中理解不充分之处在所难免,恭请批评指教。


摘要直译:
大部分卷积神经网络都用某种方法来逐渐缩减隐含层的规模。这种方法通常被称为池化,可以用来降低参数的规模,增强对某些扭曲的不变性,同时增大感受野。因为池化本身就是一个有损耗的过程,所以这样的层是非常重要的,它保持对网络的判别力非常重要的那部分**。然而,在块上简单的取最大值或者平均值,也就是最大值池化或者均值池化,或者是以步长卷积的形式来朴素的下采样,都是标准操作。在这篇paper中,我们的目标是在深度学习上展示image downscaling的最近结果。 受人类视觉系统聚焦于局部空间变化的启发,该文作者们提出detail-perserving pooling (DPP), 一种自适应的池化方法,这种方法能够放大空间变化并保留重要的结构细节。同样重要的是,它的参数可以和网络的其余部分共同学习。该文作者们分析了该理论的特性并在几个数据集和网络上展示它可实证的好处,即DPP始终比之前的池化方法优越。



核心分析:
考虑到上下文的连贯性和一致性,本部分将分析该文章中第三,四,五部分, 分别为detail-preserving image downscaling, detail-preserving pooling和analysis  and discussion。


# Detail-Preserving Image Downscaling (DPID)
在文献[2]中,作者们的目标是保留输入图片的细小细节,因为细节往往对准确的视觉印象非常关键。他们的直觉是细微的细节比相同颜色的大块区域带有更多的信息。因此使用逆双边滤波器(inverse bilateral filter)强调不同而不是惩罚不同。给定一张输入图片Article Analysis (AA):Detail-Preserving Pooling (DPP),用DPID可计算出缩减尺度的输出
Article Analysis (AA):Detail-Preserving Pooling (DPP)
其中线性缩减尺度图片 Article Analysis (AA):Detail-Preserving Pooling (DPP) 由下式给定
Article Analysis (AA):Detail-Preserving Pooling (DPP)
 Article Analysis (AA):Detail-Preserving Pooling (DPP)是在输入图片上进行盒式滤波之后再下采样的结果,接着用近似2D高斯滤波器来平滑Article Analysis (AA):Detail-Preserving Pooling (DPP),就得到结果Article Analysis (AA):Detail-Preserving Pooling (DPP)
在第一个公式中,可以看到归一化因子 Article Analysis (AA):Detail-Preserving Pooling (DPP)
 Article Analysis (AA):Detail-Preserving Pooling (DPP)
Article Analysis (AA):Detail-Preserving Pooling (DPP) 的选择依据缩减尺度率的,对二维图片,在一个维度上的缩减因子为 Article Analysis (AA):Detail-Preserving Pooling (DPP),在另一个维度上的缩减因子为 Article Analysis (AA):Detail-Preserving Pooling (DPP),最终得到的缩减尺度图片的大小为 Article Analysis (AA):Detail-Preserving Pooling (DPP),也就是说在输入图片上 Article Analysis (AA):Detail-Preserving Pooling (DPP) 个邻域映射到输出图片上为 Article Analysis (AA):Detail-Preserving Pooling (DPP) 个像素。参数Article Analysis (AA):Detail-Preserving Pooling (DPP)调节奖励函数(后面会再讲)的形状,可以根据图片内容或者缩减尺度率来调整,在DPID中常采用的范围为(0.5<= Article Analysis (AA):Detail-Preserving Pooling (DPP) <=1)DPIP的整个结构参考下图 (Fig. 1)。
Article Analysis (AA):Detail-Preserving Pooling (DPP)
Fig.1 DPID的流程图

总的来说,DPID计算了输入图片的一个加权均值,并且从公式(1)中可以看出输入图片中像素值与 Article Analysis (AA):Detail-Preserving Pooling (DPP) 差别大的对输出贡献更多。且这种差别可以是正的,也可以是负的,这也意味着较亮的或较暗的像素值(与 Article Analysis (AA):Detail-Preserving Pooling (DPP) 相减)都会有较大贡献。这种机制就具有定点放大细节的效果。


# Detail-Preserving Pooling
首先直接上公式

Article Analysis (AA):Detail-Preserving Pooling (DPP)
上述公式(2)在输入图片的一个邻域上计算了该邻域中心结点的空间加权均值。对比公式(1),我们发现基本形式完全没有变化,但逆双边滤波器换成了逆双边权重(inverse bilateral weights)。该权重在论文中有两种变体,一种是对称的,另一种是非对称的。那么下面来讨论逆双边权重,论文中用下式定义

Article Analysis (AA):Detail-Preserving Pooling (DPP)
其中 偏置 Article Analysis (AA):Detail-Preserving Pooling (DPP),用来保证输入不会完全被消除,并能够对输出产生影响,奖励指数 Article Analysis (AA):Detail-Preserving Pooling (DPP) ,在前文也有讲到,用来调整奖励函数的形状;由于以上两个参数都可以从data中学习,这种从data中学习的机制使得池化能够适应每个feature map的需要,达到定制话的效果。
对于对称奖励函数,有以下形式
Article Analysis (AA):Detail-Preserving Pooling (DPP)
对于非对称奖励函数,有以下形式

Article Analysis (AA):Detail-Preserving Pooling (DPP)
观察以上两个奖励函数的形式,可以知道对称形式包括正负两个半轴,非对称形式限制在正半轴,也就是要求 Article Analysis (AA):Detail-Preserving Pooling (DPP)。下面来看看奖励指数 Article Analysis (AA):Detail-Preserving Pooling (DPP) 对逆双边函数的影响,参看下图(Fig. 2)
Article Analysis (AA):Detail-Preserving Pooling (DPP)
Fig. 2 逆双边函数用来在邻域Article Analysis (AA):Detail-Preserving Pooling (DPP)上计算输入节点对应的权重(结合公式(3))。
左边为对称形式,奖励较大的绝对值,右边为非对称形式,奖励较大的正值。
更小的奖励指数 Article Analysis (AA):Detail-Preserving Pooling (DPP) 会压缩奖励函数的动态范围,当 Article Analysis (AA):Detail-Preserving Pooling (DPP) 趋近于0时,就相当于计算邻域上的均值。


注意到公式(3)中有个Article Analysis (AA):Detail-Preserving Pooling (DPP),那么它是从哪里来的呢?答案是线性缩减尺度(linear downscaling),上公式

Article Analysis (AA):Detail-Preserving Pooling (DPP)

其中Article Analysis (AA):Detail-Preserving Pooling (DPP)是在邻域Article Analysis (AA):Detail-Preserving Pooling (DPP)上的一个可学习的,非标准化的2D滤波器,文中 Article Analysis (AA):Detail-Preserving Pooling (DPP) 的大小为3x3,使用这种Article Analysis (AA):Detail-Preserving Pooling (DPP)的池化,文中称其为Full-DPP。个人理解是,这里结合卷积操作,少量的增加可训练参数,可以使得特征更加鲁棒。值得注意的是, Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP) 在表示上有点区别,这也意味着Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP)并不一定大小相同。此外,文中也给出一种DPP的变体,称为Lite-DPP,区别在于,Lite-DPP使用的Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP), 使用这种Article Analysis (AA):Detail-Preserving Pooling (DPP),不会增加可训练参数,也就不会增加灵活性,达到效果就是取平均。对于Lite-DPP,论文的作者们使用的滤波大小为2x2,而不是3x3,因为3x3的大小并不能带来提升(猜测可能是性能下降,较大的滤波区上取平均,会带来更多的信息损耗......)。


既然存在可学习的参数 Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP),就需要对这些参数求微分并更新。
我们知道之前的max pooling和average pooling并不存在梯度更新,单就max pooling,误差项会直接传递到上一层对应的区域块中最大值所对应的神经元,average pooling则把误差项平均分配到上一层对应的区域块中所有的神经元。即是是max pooling和average pooling的线性组合形式的池化,也天生不具有梯度更新的特性。那么DPP中,各参数是如何更新的呢?
从公式(2)中,可以看到,Article Analysis (AA):Detail-Preserving Pooling (DPP) 关于Article Analysis (AA):Detail-Preserving Pooling (DPP), Article Analysis (AA):Detail-Preserving Pooling (DPP), Article Analysis (AA):Detail-Preserving Pooling (DPP) 可微。对 Article Analysis (AA):Detail-Preserving Pooling (DPP) 的求微分是显而易见的。 对Article Analysis (AA):Detail-Preserving Pooling (DPP), Article Analysis (AA):Detail-Preserving Pooling (DPP) 求微分可以追溯到对称或非对称奖励函数。对于非对称奖励函数Article Analysis (AA):Detail-Preserving Pooling (DPP),求其对 Article Analysis (AA):Detail-Preserving Pooling (DPP) 的微分,可以得到如下表达式
Article Analysis (AA):Detail-Preserving Pooling (DPP)
由上述公式看,是常规的微分计算。

总得来说,由于DPP能够放大特征图中的细节,所以需要对各个细节的重要性进行衡量,衡量的方式就是用Article Analysis (AA):Detail-Preserving Pooling (DPP)Article Analysis (AA):Detail-Preserving Pooling (DPP)来控制各个节点的响应强度。



Article Analysis (AA):Detail-Preserving Pooling (DPP)
Article Analysis (AA):Detail-Preserving Pooling (DPP)对于非对称的case,推理过程是类似的。

last but not least, code

参考文献
[1] Detail-Preserving Poolingi in Deep Networks. here
[2] Rapid, detail-preserving image downscaleing. here

相关文章:

  • 2021-07-26
  • 2021-06-11
  • 2021-04-11
  • 2021-07-22
  • 2021-12-24
猜你喜欢
  • 2021-05-12
  • 2021-08-06
  • 2021-11-06
  • 2021-10-30
  • 2021-05-24
  • 2021-06-24
  • 2021-10-30
相关资源
相似解决方案