Non-local Neural Networks

1.什么是local和non-local

Local这个词主要是针对感受野来说的。以卷积操作为例,它的感受野大小就是卷积核大小,而我们一般都选用33,55之类的卷积核,它们只考虑局部区域,因此都是local的运算。相反,non-local指的就是感受野可以很大,而不是一个局部领域。

2.为什么需要non-local

卷积层的堆叠可以增大感受野,但是如果看特定层的卷积核在原图上的感受野,它毕竟是有限的。这是local运算不能避免的。然而有些任务,它们可能需要原图上更多的信息。如果在某些层能够引入全局的信息,就能很好地解决local操作无法看清全局的情况,

3.non-local操作举例

全连接就是non-local的,而且是global的。但是全连接的参数量太大,给计算和优化带来困难。

4.non-local运算

在Non-local Neural Networks论文中,为了能够当作一个组件接入到以前的神经网络中,作者设计的non-local操作的输出跟原图大小一致(类似残差操作),公式1
在这里插入图片描述
该公式的含义:输入是x,输出是y,i和j分别代表输入的某个空间位置,x i是一个向量,维数跟x的channel数一样,表示要计算和输出的position,j枚举了所有可能的 position.(该公式的 non-local 特性主要体现在考虑了所有可能的 position (∀j), 而卷积网络只会考虑 output position 周围位置的像素点),f是一个计算任意两点相似关系的函数,g是一个映射函数,将一个点映射成一个向量,可以看成是计算一个点的特征。C(x)的作用是对响应进行归一化.
为了简化问题,作者简单地设置g函数为一个1*1的点卷积。而f函数有多种选择,常用的是:

  • Gaussian在这里插入图片描述
  • Embedded Gaussian: Gaussian 的一种简单扩展
    在这里插入图片描述
    θ(xi)=Wθxi , ϕ(xj)=Wϕxj , 分别为两种 embeddings方法
  • Dot Product:将f定义成点乘,在这里插入图片描述归一化因子在这里插入图片描述N 是 x 中 positions 的数量
  • Concatenation
    在这里插入图片描述

其中[⋅,⋅] 代表拼接(concatenation)操作, wf 代表着将拼接后的向量映射到标量的权重向量。也就相当于embedded的两个点拼接作为带ReLU激活函数全连接层的输入。
归一化因子在这里插入图片描述N 是 x 中 positions 的数量
注意

  1. 后两种选择的归一化系数C(x)选择为x的点数,只是为了简化计算,同时,还能保证对任意尺寸的输入
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值