《Non-local Neural Networks》论文阅读

本文介绍了一种名为Non-localBlock的模块,它受Non-localmeans算法启发,用于捕获神经网络中的长距离依赖信息。通过四种不同的函数选择,Non-localBlock能够有效地集成到现有神经网络中,即使在网络中添加此模块对计算复杂度的影响也相对较小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:https://arxiv.org/abs/1711.07971

 

一、简介

无论是卷积操作(convolutional operation)还是循环操作(recurrent operation),都是在一个邻域内进行的处理。

本文受到 Non-local means 的启发,提出了一个可以集成在神经网络中的非局部操作模块——Non-local Block,来捕获神经网络中的长距离依赖信息( capture long-range dependencies)。

Non-local means的表达式如下:

其中 y_{i} 代表输出信号 y 中的第 i 个位置的值,该值将受到输入信号 x 中所有点的值的影响(由 x_{j} 来遍历输入信号中所有点),不同点的影响是可以不一样的(例如离 x_{i} 越近的点,对该点的输出( y_{i}) 的影响越大),影响的大小是由函数 f(x_{i},x_{j}) 来决定的(例如 f 可以是用来计算欧氏距离的函数),g(x_{j}) 表示的是输入信号 xj 点的强度,C(x)的作用是作标准化(normalized)。

假设 g 是一个线性函数即 g(x_{j}) = W_{g}x_{j},下面讨论函数 f(x_{i},x_{j}) 有哪些选择:

1、高斯函数(Gaussian):f(x_{i},x_{j}) = e^{x_{i}^{T}x_{j}}x_{i}^{T}x_{j} 是利用内积来计算相似度,相比于欧氏距离,它的实现比较简单,标准化因子可以设为:C(x)= \sum_{\forall j}^{ }f(x_{i},x_{j})

2、复合高斯函数(Embedded Gaussian):f(x_{i},x_{j}) = e^{\theta (x_{i})^{T}\Phi (x_{j})},其中 \theta(x_{i}) = W_{\theta }x_{i}\Phi (x_{j}) = W_{\Phi }x_{j},标准化因子可以设为:C(x)= \sum_{\forall j}^{ }f(x_{i},x_{j}) ,对于任一给定的 i\frac{1}{C(x)}f(x_{i},x_{j})  在 j 维度上是个 softmax 函数(归一化指数函数),因此有y = softmax(x^{T}W_{\theta }^{T}W_{\Phi }x)g(x),这就是最近出现在机器翻译中的自注意力模块(self-attention module)

3、内积形式(Dot product):f(x_{i},x_{j}) = \theta (x_{i})^{T}\Phi (x_{j}),此时将标准化因子设为:C(x)= NNx 中点的个数,这样简化了梯度的计算。

4、连结形式(Concatenation):f(x_{i},x_{j}) =ReLU(W_{f}^{T} [\theta (x_{i}),\Phi (x_{j})])

作者在实验中发现,上述 f(x_{i},x_{j}) 的几种形式对实验结果的提升差异不大(not sensitive to these choices)。

 

二、Non-local Block(非局部模块)

定义 Non-local Block 如下:

其中的 y_{i} 是上面公式(1)所定义的非局部操作(non-local operation),+x_{i} 是为了将该模块做成一个残差结构(方便插入到网络中,如当 W_{z}  初始化为0时,对原网络没有影响)。

根据前面的定义,Non-local Block 的结构如下:

值得注意的是,这里都是使用 1x1x1 (因为在 spacetime 域中,所以是三维)的卷积核来执行线性操作(linear embedding),如 W_{\theta }W_{\Phi }W_{g }W_{z} 。同时 1x1x1 的卷积核将输入在 channel 上的维度由 1024 降到 512 ,减少计算复杂度。若要进一步降低计算复杂度,可以先对输入进行下采样。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值