Non-local Neural Networks
Xiaolong Wang, Ross Girshick, Abhinav Gupta, Kaiming He
TL;DR
This work introduces non-local operations as a generic, efficient means to capture long-range dependencies in visual data, extending beyond traditional local convolutions and recurrent connections. By formulating a flexible non-local block that aggregates information from all positions via various pairwise affinities, the authors demonstrate substantial improvements in video classification (Kinetics, Charades) and image tasks (COCO) when inserted into existing architectures. Key contributions include a generalized formulation, multiple instantiations (Gaussian, embedded Gaussian, dot product, concatenation), a residual non-local block design, and extensive ablations showing robustness across spacetime, depth, and sequence length. The results show non-local blocks offer strong accuracy gains with modest computational overhead and can complement 3D convolutions, suggesting broad applicability as a standard building block in vision networks.
Abstract
Both convolutional and recurrent operations are building blocks that process one local neighborhood at a time. In this paper, we present non-local operations as a generic family of building blocks for capturing long-range dependencies. Inspired by the classical non-local means method in computer vision, our non-local operation computes the response at a position as a weighted sum of the features at all positions. This building block can be plugged into many computer vision architectures. On the task of video classification, even without any bells and whistles, our non-local models can compete or outperform current competition winners on both Kinetics and Charades datasets. In static image recognition, our non-local models improve object detection/segmentation and pose estimation on the COCO suite of tasks. Code is available at https://github.com/facebookresearch/video-nonlocal-net .
