本文为自己学习时,理解后的翻译,仅用作记录学习,若有侵权,联系我删除,由于直接从word复制过来,公式出现错误,学习时可与原论文一起看。
卷积和递归运算都是在空间或时间上处理一个局部领域的信息,所以,长期依赖关系只有重复应用这些操作的时候,数据的逐步传播,才能被捕捉到。重复局部操作会有几个限制:
- 它的计算效率很低
- 网络的优化困难
- 基于以上两点,它使得建立多联系的模型变得困难(在离得较远的位置来回传递信息的时候)
本文提出了一种高效,简单,通用的非局部操作,用来捕捉深度神经网络中的远程依赖关系。
非局部运算时计算机视觉中非局部平均运算(non-local means)的推广。
直观的说,我们的non-local 操作是对输入的feature map中所有位置进行了特征加权和的形式,来计算一个位置的输出。
使用non-local 操作的优点:
- 与递归和卷积操作的获取方式不同,non-local 操作对于远程依赖关系的获取,是通过任意两个位置的计算,直接获取的,与他们的位置信息无关。
- 实验证明,non-local 操作是有效的,即使只使用了几层(5层),也能达到最佳效果。
- 由于non-local可变的输入大小,使得它可以很容易和别的运算结合(比如卷积运算)
本文展示了non-local 操作在视频分类应用中的有效性。在视频中,距离较远的像素不仅在空间上有交互,在时间上也存在交互。一个non-local 块,也就是基本单元,可以直接以前馈的方式捕获这种时空依赖关系的信息。
Non-local神经网络架构(包含一些non-local块)在视频分类方面比二维和三维卷积网络更准确(包括膨胀后的变体I3D)
为了证明non-local操作的通用性,我们在COCO数据集上进行了目标检测,目标分割和位姿估计实验。
与R-CNN相比,non-local块可以以更少的计算成本,提高这3个任务的准确性。
以上实验证明,non-local操作通常是有用的,可以成为设计深度神经网络的基本构件。
Non-local 图像处理:
Non-local means 的滤波算法和运用这种non-local 过滤思想的BM3D。
与深度神经网络相比,BM3D是一种立体的图像去噪形态,将块匹配与神经网络相结合来实现图像的去噪。Non-local 匹配也是纹理合成,提高分辨率,修复图像算法的关键。
图像模型:
长期依赖关系可以通过图形模型来建模,例如条件随机场(CRF)
在深度神经网络的背景下,可以利用CRF对网络进行语义分割预测。
CRF的推测可以看成是通过一个递归网络进行迭代推理的。
文中运用的方法是一种更简单的用来计算non-local滤波的前馈块
与CRF的目的是用来分割不同,文中的通用组件是用来分类和检测的
这些方法都涉及到一个更抽象的模型,图神经网络。
前馈序列建模:
最近出现了使用前馈网络对语音和语言序列建模的趋势
在这些方法中,远程依赖关系通过很大的感受野从非常深的一维卷积网络中获取。
这些网络可以使用并行实现,并且比广泛使用的递归模型更加有效。
Self-attention:
Self-attention模块是通过关注所有位置嵌入空间中,取加权平均,计算出序列中某个位置的响应。
Self-attention可以堪称一种non-local means的形式,这样看的话,从某种意义上来说,作者的工作将机器翻译中的self-attention转化成了一种更一般的non-local滤波操作,这些操作更适合计算机视觉中的图像和视频问题。
交互网络(IN Interaction networks):
交互网络最近提出可以被用于物理系统建模
他们对图中发生相互作用的物体进行操作
Hoshen提出了对于多主体语境预测的更有效的VAIN(Vertex Attention IN)
另一种变体被称为关系网络,他对输入的所有成对位置上的特性进行计算
文中也需要处理成对的数据
当我们的non-local网络以这些方式相连接的时候,我们的实验表明,模型的non-local的性质是成功的关键。Non-local的性质与attention/interaction/relation的性质正交(没有交集)。
Non-local 建模这个图像处理中的长期存在的关键元素,在最近的计算机视觉神经网络中被广泛的忽视了。
视频分类架构:
视频分类一种自然的解决方案是,将CNN在图像分类中的成功 运用和RNN在序列分类中的成功运用结合起来。
与此相反的是,前馈模型是在时空中通过C3D实现的,3D滤波器可以通过膨胀与预训练的2D滤波器得到。