non-local操作将某个位置的响应计算为所有位置的特征的加权总和,以捕获长距离信息,可以作为基础模块应加入到许多计算机视觉模型中。
CVPR2018收录
论文地址:https://arxiv.org/abs/1711.07971
1. 摘要
卷积运算和循环运算都是一次处理一个本地邻居的构造块,即局部操作。而本文的non-local操作是捕获远程依赖关系的。受计算机视觉中经典的非局部均值方法的启发,non-local运算将某个位置的响应计算为所有位置的特征的加权总和。 该构建块可以插入许多计算机视觉体系结构中。 在视频分类的任务、在静态图像识别中,non-local模型都获得了较大的提升。
2. 引言
在深度神经网络中,捕获远距离依赖至关重要。 对于序列化数据(例如,语音,语言),循环操作是远程依赖建模的主要解决方案。 对于图像数据,长距离依赖关系是由深层的卷积运算形成的较大的感受野建模的。卷积运算和循环运算都在空间或时间上处理局部邻域。 因此,只有重复执行这些操作,并逐渐在数据中传播信号,才能捕获远程依赖性。
重复本地操作有几个限制:
-
首先,它在计算上效率低下。
-
其次,它会导致优化困难,需要解决。
-
最后,这些挑战使多跳依赖性建模变得困难,例如,当需要在长距离的位置之间来回传递消息时,就很难了。
non-local操作是一种高效,简单且通用的组件,用于通过深度神经网络捕获远程依赖关系。non-local 操作是计算机视觉中经典非局部均值操作的一种概括。 直观地,non-local操作会计算某个位置的响应作为输入特征图中所有位置的特征的加权总和,如下图所示:
位置xix_ixi的响应是通过所有位置特征xjx_j