0%

『论文笔记』Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

Information

  • Title: Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
  • Author: Wenjie Luo, Yujia Li, Raquel Urtasun, Richard Zemel
  • Institution: Department of Computer Science, University of Toronto
  • Year: 2016
  • Journal: NIPS
  • Source: NeurIPS Proceedings, PDF, Arxiv
  • Cite: Luo W, Li Y, Urtasun R, et al. Understanding the effective receptive field in deep convolutional neural networks[J]. Advances in neural information processing systems, 2016, 29.
  • Idea: 提出了感受野(ERF)理论,作者认为感受野是近似高斯分布的,且有效感受野远远小于理论感受野
1
2
3
4
5
6
7
8
9
10
11
@inproceedings{NIPS2016_c8067ad1,
author = {Luo, Wenjie and Li, Yujia and Urtasun, Raquel and Zemel, Richard},
booktitle = {Advances in Neural Information Processing Systems},
editor = {D. Lee and M. Sugiyama and U. Luxburg and I. Guyon and R. Garnett},
pages = {4905-4913},
publisher = {Curran Associates, Inc.},
title = {Understanding the Effective Receptive Field in Deep Convolutional Neural Networks},
url = {https://proceedings.neurips.cc/paper/2016/file/c8067ad1937f728f51288b3eb986afaa-Paper.pdf},
volume = {29},
year = {2016}
}

Abstract

这篇文章主要对深度卷积网络的单元感受野特征进行了研究。感受野的大小对于许多视觉任务来说很重要,输出的感受野要足够大才能捕捉到比较大的目标对象的信息。在此基础上,作者还引入了有效感受野,并说明了两者都符合高斯分布,作者对许多结构的有效感受野进行了分析,也给出了一些对于有效感受野太小的改进建议。

Introduction

在卷积网络中,输出单元取决于输入的一个区域,这个区域就被称为该单元的感受野。因为在感受野外的任意扰动都不会影响单元的值,所以在很多任务中我们需要确保感受野能覆盖整个图像以保证不会遗漏重要信息。

扩大单元的感受野的常见方法有:堆叠更多的层理论上能线性的增加感受野,增加大小为卷积核大小。下采样能成倍的增加感受野。

在感受野中并不是所有像素对于单元有同等的贡献的,位于中间的像素显然是更重要的,因为中间的像素能有很多路径到达输出单元,而外围的像素能影响到输出单元的路径比较少,在反向传播中,中心像素同样会有较大的梯度。

作者观察到,感受野的影响是满足高斯分布的,而感受野中的有效面积,作者称为有效感受野(effective receptive field, ERF) 通常只占理论感受野的一小部分,因为高斯分布是从中心迅速衰减的。

Method

Define

首先考虑如何用数学表征第 \(n\) 层单元的感受野。

假设每层的像素用 \((i, j)\) 进行索引,其中心为 \((0, 0)\), 第 \(p\) 层的 \((i, j)\) 像素记为 \(x_{i, j}^p\), 则输入为 \(x_{i, j}^0\), 记 \(y_{i, j}= x_{i, j}^n\) 是第 \(n\) 层的输出。则我们的目标是衡量每一个 \(x_{i, j}^0\)\(y_{0, 0}\) 的贡献。有效感受野的具体定义为包含对中心输出单元具有不可忽视的影响的所有输入像素的区域。

这篇文章中使用偏导数 \(\partial y_{0,0} / \partial x_{i, j}^{0}\) 表示有效感受野,这衡量的是 \(y_{0, 0}\) 的变化受到 \(x_{i, j}^0\) 的影响,但这种方法对于输入有依赖,所以在此基础上取其期望作为最终衡量指标。

偏导数由损失通过反向传播计算得到,根据链式法则: \[ \frac{\partial l}{\partial x_{i, j}^{0}}=\sum_{i^{\prime}, j^{\prime}} \frac{\partial l}{\partial y_{i^{\prime}, j^{\prime}}} \frac{\partial y_{i^{\prime}, j^{\prime}}}{\partial x_{i, j}^{0}} \] 为了计算 \(\partial y_{0,0} / \partial x_{i, j}^{0}\) ,对 \(\forall i \neq 0 , j \neq 0\) 将损失梯度设为 \(\partial l / \partial y_{0, 0} = 1\)\(\partial l / \partial y_{i, j} = 0\),这样就能方便的计算反向传播的梯度了。此时 \(\partial l / \partial x_{i, j}^0\) 等价于 \(\partial y_{0, 0} / \partial x_{i, j}^0\).

convolutional layers

简单起见,考虑步长为1,卷积核为 \(k \times k\) 的连续 \(n\) 个单通道的卷积,并忽略偏移项,堆叠形成线性深度卷积神经网络。假设卷积核初始化全为 1。

\(g(i, j, p)=\partial l / \partial x_{i, j}^{p}\) 表示第 \(p\) 层的梯度,则 \(g(i, j, n)=\partial l / \partial y_{i, j}\) , \(g(,,0)\) 是输入需要的梯度图。

。。。下面开始懵了 >^<

因为卷积核是值为 1 的 \(k \times k\) 的矩阵,所以二维卷积可以拆分为两个一维卷积的乘积,因此只需关注一维卷积。定义初始梯度信号 \(u(t)\) 和核 \(v(t)\) 为: \[ u(t)=\delta(t), \quad v(t)=\sum_{m=0}^{k-1} \delta(t-m), \quad \text { where } \delta(t)=\left\{\begin{array}{ll} 1, & t=0 \\ 0, & t \neq 0 \end{array}\right. \] 其中 \(t = 0, 1, -1, 2, -2, \dots\) 表示像素的索引,输入像素的梯度信号为 \(o=u*v*\cdots*v\), 对 \(v\) 进行 \(n\) 次卷积 \(u\). 然后使用离散时间傅里叶变换(Discrete Time Fourier Transform) 将信号转换到傅里叶域进行计算,得到: \[ U(\omega)=\sum_{t=-\infty}^{\infty} u(t) e^{-j \omega t}=1, \quad V(\omega)=\sum_{t=-\infty}^{\infty} v(t) e^{-j \omega t}=\sum_{m=0}^{k-1} e^{-j \omega m} \] 然后应用卷积理论,\(o\) 的傅里叶变换为: \[ \mathcal{F}(o)=\mathcal{F}(u * v * \cdots * v)(\omega)=U(\omega) \cdot V(\omega)^{n}=\left(\sum_{m=0}^{k-1} e^{-j \omega m}\right)^{n} \] 然后使用逆傅里叶变换得到 \(O(t)\)\[ o(t)=\frac{1}{2 \pi} \int_{-\pi}^{\pi}\left(\sum_{m=0}^{k-1} e^{-j \omega m}\right)^{n} e^{j \omega t} \mathrm{~d} \omega \]\[ \frac{1}{2 \pi} \int_{-\pi}^{\pi} e^{-j \omega s} e^{j \omega t} \mathrm{~d} \omega=\left\{\begin{array}{ll} 1, & s=t \\ 0, & s \neq t \end{array}\right. \] 可以看到 \(o(t)\)\(e^{-j \omega t}\)\(\left(\sum_{m=0}^{k-1} e^{-j \omega m}\right)^{n}\) 的系数。

\(k=2\) 的情况:有 \(\left(\sum_{m=0}^{k-1} e^{-j \omega m}\right)^{n} = \left(1 + e^{-j \omega} \right )^n\). 系数 \(e^{-j \omega t}\) 是标准二项分布 \(\begin{pmatrix}n\\t\end{pmatrix}\) 所以有 \(o(t)=\begin{pmatrix}n\\t\end{pmatrix}\).这种情况就类似与高斯分布,两个高斯分布相乘得到二维高斯分布

\(k>2\) 的情况:在这种情况系数被称为“扩展二项式系数”或“多项式系数”,也类似高斯分布。

下面考虑随机权重的情况,有 \[ g(i, j, p-1)=\sum_{a=0}^{k-1} \sum_{b=0}^{k-1} w_{a, b}^{p} g(i+a, i+b, p) \] 其中 \(w_{a, b}^{p}\) 是第 \(p\) 层在 \((a, b)\) 位置卷积的权重,我们假设梯度 \(g\) 与权重相互独立,当 \(\mathbb{E}_w[w_{a, b}^p]=0\),可以计算期望为: \[ \mathbb{E}_{w, \text { input }}[g(i, j, p-1)]=\sum_{a=0}^{k-1} \sum_{b=0}^{k-1} \mathbb{E}_{w}\left[w_{a, b}^{p}\right] \mathbb{E}_{\text {input }}[g(i+a, i+b, p)]=0, \quad \forall p \] 可以看到期望与 \(w\) 的分布相关,考虑方差: \[ \operatorname{Var}[g(i, j, p-1)]=\sum_{a=0}^{k-1} \sum_{b=0}^{k-1} \operatorname{Var}\left[w_{a, b}^{p}\right] \operatorname{Var}[g(i+a, i+b, p)]=C \sum_{a=0}^{k-1} \sum_{b=0}^{k-1} \operatorname{Var}[g(i+a, i+b, p)] \] 这和权重为 1 的情况是等价的,仅需乘一个常数 \(C\).

基于上述分析很容易得出的结论是,\(\operatorname{Var}[g(., ., p-1)]\) 具有高斯形状,在方差梯度图像上仅具有额外的 \(C^n\) 常数因子乘数的轻微变化,这不会影响感受野内的相对分布。

后面还有非均匀分布核、非线性激活函数、dropout,下采样,空洞卷积、跳层链接的分析,但看不太懂就不浪费时间了。简单说下结论

  • 在诸多假设下是收敛于高斯分布的,但具体到任何一定是有可能偏移高斯分布的,所以只能说分布总体是呈高斯分布
  • 非线性激活函数很难分析
  • dropout 不影响
  • 下采样和空洞卷积大大增大了感受野
  • 跳层链接会减小ERF

Experiment

有兴趣可以看论文去

Conclusion

两点结论:

  1. 感受野是近似服从高斯分布的
  2. 有效感受野只占理论感受野的一小部分

References


如果对你有帮助的话,请给我点个赞吧~

欢迎前往 我的博客 查看更多笔记

--- ♥ end ♥ ---

欢迎关注我呀~