论文下载中文镜像:http://cn.arxiv.org/
讲解ResNet比较清晰的网站:http://news.ifeng.com/a/20170825/51759378_0.shtml
摘要
卷积运算和递归运算都在构建中 每次阻塞一个本地社区。在 在本文中,我们将非局部操作作为通用操作 捕获远程脱靶的一系列构件 dencies。灵感来自于经典的非本地方法 [4]在计算机视觉,我们的非本地操作计算 作为特征的加权和的位置上的响应 在所有位置。这个积木可以插进去 许多计算机视觉架构。关于视频任务 分类,即使没有任何的花哨,我们的非本地模式可以竞争或胜过当前的竞争 动力学和字谜数据集的赢家。在静态 在图像识别中,我们的非局部模型改进了对象的解 对COCO数据集的连接/分割和姿态估计的任务。
1 介绍
捕获远程依赖关系是中心问题深神经网络中的抗。连续的数据(例如, 在演讲、语言中),递归操作[38,23]是 远程依赖建模的主要解决方案。对图像数据,远程依赖被建模大的接受域由深深的卷积形成 操作(14,30)。
卷积运算和递归运算都是本地过程,空间或时间上的局部邻近; 因此远程 依赖关系只能在这些操作时捕获 重复应用,逐步传播信号 通过数据。重复的本地操作有几个 的局限性。首先,它的计算效率很低。第二, 它会导致需要小心处理的优化困难 解决[23日21]。最后,这些挑战使多重跳依赖建模,例如,当需要消息时 在遥远的阵地之间来回传递,困难重重。
在本文中,我们将非局部操作表示为ef-ficient、simple和generic组件,用于捕获长距离依赖于深度神经网络。我们的支持 不适定局部运算是经典运算的推广 计算机视觉中的非局部平均操作。直观地说, 非本地操作在某个位置计算响应 作为所有输入服务位置特征的加权和 放置feature map空间,时间,或时空,暗示我们的操作是 适用于图像、序列和视频问题。
使用非地方戏有几个优点:(a) 与周期性的进步性行为相反卷积运算,非局部运算捕获 远程依赖直接通过计算交互 在任意两个位置之间,不管它们的位置差 例如;(b)正如我们在实验中所显示的,非本地操作即使只使用几层; (c)最后,我们的非本地业务保持可变的输入大小,可以很容易地组合对于其他操作(如我们将使用的卷积)。
我们展示了非本地运营的有效性 视频分类的应用。在视频、远程相互作用发生在遥远的空间象素之间以及时间。一个单独的非本地块,它是我们的基本单元,可以 在feed中直接捕获这些时空依赖关系 沃德时尚。一些non-local的块,我们的建筑所谓的非局部神经网络对视频来说更精确 分类比2D和3D卷积网络[48] (包括膨胀变量[7])。此外,non-local 神经网络比计算机网络更经济三维卷积同行。综合abla - 对b0和猜字谜的动力学进行了研究 [44]数据集。只使用RGB,不使用任何铃声 哨子(例如,光流,多尺度测试),我们的方法 取得与最新比赛相等或优于的成绩 这两个数据集的获胜者。
为了演示非本地操作的通用性, 我们进一步介绍了目标 检测/分割和姿态 对COCO数据集[33]进行估计实验。的基础上 强掩模R-CNN基线[19],我们的非本地块能在一个小的额外增加三个任务的准确性吗 计算成本。加上视频中的证据, 这些图像实验表明,非局部操作是通常是有用的,可以成为基本的建筑块 设计神经网络。
2 相关工作
非本地图像处理 非本地意味着[4]是一个分类计算加权均值的物理滤波算法图像中的所有像素。它允许远距离像素的贡献基于补丁外观的位置上的过滤响应相似点。这种非本地过滤思想后来发展起来 到BM3D(块匹配3D)[10],它执行过滤器- 一组类似但非本地的补丁。BM3D是 与深度相比,实像去噪基线更小 神经网络[5]。块匹配与神经匹配相结合 用于图像去噪的网络[6,31]。非本地匹配, ing也是成功纹理合成[12]的本质, 超分辨率[16]和inpainting[1]算法。
图形模型 远程依赖可以是mod 由图形模型(如条件随机字段)划分 (CRF)[29日28]。在深层神经网络的背景下 CRF可以用于后处理语义段 预测网络[9]。迭代平均场 CRF推理可转化为递归网络 训练[56,42,8,18,34]。相比之下,我们的方法是用于计算非本地过滤的更简单的前馈块。 不同于这些用于分割的方法, 我们的通用组件用于分类 和检测。这些方法和我们的方法都与a有关 更抽象的模型称为图神经网络[41]。
前馈序列建模 最近有 出现了使用前馈(即、临时) 用于建模语音和语言序列的网络 (36,54,15)。在这些方法中,长期依赖 被大的接受领域所捕获吗 很深的一维曲线玲珑。这些前馈模型 支持并行实现,而且可以更多 比广泛使用的循环模型更有效。 Self-attention。我们的工作与最近的自我有关 注意机器翻译的[49]方法。一个自我 注意模块在一个位置计算响应 注意所有位置的顺序(例如,一个句子) 在嵌入空间中取它们的加权平均值。 正如我们将在下一节中讨论的那样,可以看到自我关注 作为一种非局部表示的[4],在这种意义上我们 工作是机器翻译的自我关注的桥梁 更一般的非本地过滤操作 适用于计算机视觉中的图像和视频问题。
交互网络 交互网络(IN) [2,52] 最近提出了物理系统建模的方法。他们 操作涉及两两交互的对象的图形。 Hoshen[24]给出了更有效的顶点注意 在多代理预测建模的背景下(徒劳无功)。 另一种变体称为关系网络[40],它在所有位置对的嵌入特性上计算函数 在其输入。我们的方法也处理所有的对,正如我们将要处理的那样 在Eq.(1)中解释(f (xi, xj))。而我们的非本地网络 我们的实验表明,这些方法有联系吗 模型的非局部性,正交于 注意/互动/关系(例如,网络) 能照顾到一个局部的区域),是他们经验的关键吗 成功。非局部建模,是长期的关键要素 图像处理(例如,[12,4])在很大程度上被忽视了 在最近的计算机视觉神经网络中。
视频分类架构 一个自然的解决方案 视频分类是为了结合CNNs的成功 序列的图像和RNNs[55,11]。相比之下反向传播模型是通过三维卷积(C3D)实现的 [26,48]在时空中,三维滤波器可以由 “膨胀”[13,7]预训练的2D过滤器。除了端对端的在对原始视频输入进行最终建模时,我们发现光流[45]和轨迹[50,51]可能有帮助。 流和轨迹都是现成的模块 可能会发现长期的、非本地的依赖。一个系统的 视频架构的比较可以在[7]中找到。
3 非本地神经网络
首先给出了非局部操作的一般定义 然后我们提供了它的几个具体实例。
3.1 公式 根据非局部平均操作[4],我们定义了一个深层神经网络中的一般非局部操作为:
1 X 易建联= f (xi, xj)g(xj) (1) C(x) ∀j
这里i是输出位置的索引(在空间、时间)它的响应要被计算,j是列出所有可能的位置的索引。x是输入信号(图像、序列、视频;它们的特征)和y是与x大小相等的输出。函数 f计算标量(表示关系,例如 i和所有j之间的一元函数g计算 表示输入信号在j.的位置 响应由因子C(x)标准化。
Eq.(1)中的非局部行为是由于 所有职位(∀j)被认为是在操作。作为一个 比较,卷积运算就是加权的总和 输入在当地社区(如我−1≤≤我+ 1 1D的情况下,内核大小为3),在timi的重复操作通常只基于当前和最新的时间步骤 (例如,j =我或我−1)。
非局部操作也不同于全连接(fc)层。Eq.(1)根据 不同位置之间的关系,而fc使用 学会了权重。换句话说,xj之间的关系 xi不是fc中输入数据的函数,不像non- 当地层。此外,我们在Eq.(1)中的公式支持 输入尺寸可变,并保持相应的尺寸 在输出大小。相反,fc层需要a 固定大小的输入/输出,丢失位置对应 (例如,从xi到yi的位置i)。 非本地操作是一个灵活的构建块,并且可以 易于与卷积/循环层一起使用。 它可以被加入到深层神经网络的早期部分, 不像fc层,后者通常在最后使用。这让我们 构建一个更丰富的层次结构,它将非本地的和 当地的信息。
3.2 实例化 接下来我们将介绍f和g的几个版本值得注意的是,我们将通过实验证明(表2a)我们的Non-local模型对这些选择不敏感,表明 一般的非局部行为是其产生的主要原因 观察到的改进。
为了简单起见,我们只考虑线性形式的g 嵌入:g(xj) = Wg xj,其中Wg是一个权重矩阵 是习得的。这是实现为,例如,1×1卷积 在太空中或在时空1×1×1卷积。 接下来我们讨论成对函数f的选择。
高斯函数。遵循非局部平均值[4]和双边滤波器[47],f的一个自然选择是高斯函数。在 本文我们考虑:
T f (xi, xj) = exi xj。 (2)
这里xTi xj是点积相似度。欧氏距离作为 用于[4,47]也适用,但点积更多 在现代深度学习中易于实现 平台。 归一化系数设为C(x) = P ∀j f(xi,xj)。 嵌入式高斯。高斯函数的一个简单扩展 函数是计算嵌入空间中的相似性。在 本文我们考虑: f(xi,xj)= eθ(xi) T φ(xj) 。 (3) 这里θ(xi)= Wθxi和φ(xj)= Wφxj是两个嵌入- 丁当作响。如上所述,我们设C(x) = P ∀j f(xi,xj)。 我们注意到自我关注模块[49]最近发布了 机器翻译是一个特例 操作在嵌入的高斯版本。这可以 从一个给定的i来看,1 f (xi, xj)变成 C(x) 沿着维数j的softmax计算
解读过程
论文:Non-local Neural Networks for Video Classification
论文链接:https://arxiv.org/abs/1711.07971
代码链接:https://github.com/facebookresearch/video-nonlocal-net
参考文件:
1. https://blog.csdn.net/u014380165/article/details/80012001
Non-local提出的背景,使用循环神经网络一直是比较主流的做法。对于图片来说,我们通常使用较大的卷积核来捕捉较远距离的像素之间的关系。然而,循环神经网络或者传统的卷积神经网络都只是在其时间或空间的很小的邻域内进行捕捉,却很难捕获到更远的位置的数据的依赖关系。以一个视频片段为例,假设我们要考虑的某一个帧中的某一个点为Xi,该视频片段里所有的像素点为Xj, non-local的最终输出为: 也就是Non-local。下面是Non-local块。
下面是视频分类的方法:
膨胀3D卷积(Inflated 3D ConvNet)这里的膨胀指的是把卷积层膨胀成为3D的。使用2D卷积层初始化,然后再将每层缩放1/t1/t。要注意的是,3D卷积是非常消耗计算资源的,因此每隔两个res层才会使用一次3D卷积。提出I3D的人表示他们的方法要比CNN+LSTM方法好。
Non-local network在C2D和I3D中加入Non-local块。