【文献阅读】 用于图像分类的注意力循环网络RAM(V. Mnih等人,NIPS,2014)

一、背景

文章题目:《Recurrent Models of Visual Attention》

近两年越来越多的看到attention机制应用到图像领域中了,所以想总结一下attention机制,于是就找到了这篇文章。

文章的下载链接:http://papers.nips.cc/paper/5542-recurrent-models-of-visual-attention.pdf

                             或:     https://arxiv.org/abs/1406.6247

文章的引用格式:V. Mnih, N. Heess, A. Graves, K. Kavukcuoglu. "Recurrent Models of Visual Attention." Conference and Workshop on Neural Information Processing Systems(NIPS). 2014

项目地址:可参考:https://github.com/hehefan/Recurrent-Attention-Model  (tensorflow版本)

                  以及:https://github.com/jlindsey15/RAM  (tensorflow版本)

二、文章导读

这篇文章比较早,网上有部分解读的博客:

[1] 论文阅读:《Recurrent Models of Visual Attention》

[2] 论文笔记之: Recurrent Models of Visual Attention

看一下文章的摘要部分:

Applying convolutional neural networks to large images is computationally expensive because the amount of computation scales linearly with the number of image pixels. We present a novel recurrent neural network model that is capable of extracting information from an image or video by adaptively selecting a sequence of regions or locations and only processing the selected regions at high resolution. Like convolutional neural networks, the proposed model has a degree of translation invariance built-in, but the amount of computation it performs can be controlled independently of the input image size. While the model is non-differentiable, it can be trained using reinforcement learning methods to learn task-specific policies. We evaluate our model on several image classification tasks, where it significantly outperforms a convolutional neural network baseline on cluttered images, and on a dynamic visual control problem, where it learns to track a simple object without an explicit training signal for doing so.

摘要部分也比较明确的说到了,作者提出了一种新的循环神经网络RNN(Recurrent Attention Model (RAM)),该网络能够自适应的选择图像中的连续区域,然后重点针对这些区域进行处理,以提取图像或者视频中的信息。这种网络的优势在于,计算量可以根据输入图像的尺寸来控制;可以使用强化学习来训练。

三、文章详细介绍

神经网络在图像分类以及目标识别中有着非常好的表现,但是带来的问题则是,训练和测试过程都有着巨大的计算量。类似于人眼,人类看到一张图之后不会立刻仔细观察整张图,而是有选择性的关注部分区域以获取信息,最后再结合这些信息以建立对整张图像的感受。作者的灵感来自于此,作者将注意力机制引入到RNN中,以实现对图像的分类工作。

之前的减少计算量的方法主要有两个:一是减少窗口数量,限制分类器的输出;二是引入注意力。

下面就是作者提出的模型循环注意力网络Recurrent Attention Model (RAM):

我们可以将注意力问题看作目标驱动的序列决策问题,我们使用了一个代理(agent)实现与环境的可视交互。代理每次只会用有限波长宽度的sensor来检测图像中的环境,但不会是全部图像。由于环境也都只是被部分检测到,因此后面还需要agent整合所有信息。在每一步,代理都会得到一个奖励,我们的目的是要最大化代理得到奖励。

整个模型的结构如下图所示:

关于sensor结构:

假设第t步,代理对图像x_{t}进行检测,通过限制的波段宽传感器(sensor)\rho来提取图像中的信息。我们用图像x_{t}在位置l_{t-1}附近的函数表示\rho \left ( x_{t},l_{t-1}\right )。利用l附近的低分辨率提取的像元,再进一步提取高分辨率的像元。我们将这个提取出的低分辨率图像叫做glimpse,而glimpse网络f_{g}可以生成glimpse特征向量g_{t}=f_{g}\left ( x_{t},l_{t-1};\theta_{g} \right ),其中\theta _{g}=(\theta_{g}^{0} ,\theta_{g}^{1} ,\theta_{g}^{2} )

关于内部状态internal state:

代理基于历史检测到的结果提取信息。内部状态由两部分组成:一是循环神经网络RNN的隐藏单元h_{t},二是核心网络的更新结果h_{t}=f_{h}\left ( h_{t-1},g_{t};\theta_{h} \right )

行为actions:

每一步代理都会执行两个行动:怎样通过sensor控制l_{t}和怎样使用环境行为(environment action)a_{t}。假设位置网络f_{l}\left (h_{t};\theta_{l} \right )在时间t内随机采样得到位置行为l_{t}l_{t}\sim p\left ( \cdot \mid f_{l}(h_{t};\theta _{l}) \right )。环境行为a_{t}提取自第二个网络输出a_{t}\sim p\left ( \cdot \mid f_{a}(h_{t};\theta _{a}) \right )的条件分布。对于分类来说,输出层一般是softmax。最后,模型的结束可以通过何时停止glimpse来控制。

奖励制度rewards:

代理执行完上述行动之后,会获得一个奖励r_{t+1}以及环境的可视化结果x_{t+1},代理的最终目的就是最大化这个奖励,这个过程R=\sum_{t=1}^{T}r_{t}往往是稀疏的。

以上过程都可以看作部分可观测马尔可夫过程(Partially Observable Markov Decision Process (POMDP))。环境的真实状态是不可观测过程,因此代理还需要学习一个随机策略\pi

下面是关于训练过程。

核心网络(core network)见图中的1c,我们要最大化奖励是建立在如下分布的条件下:

这种分布的近似梯度可以表示为:

上式是梯度的无偏估计(unbiased estimate),但是会产生方差。因此我们将梯度的估计改写成:

方程(2)和方程(1)的期望是相同的,但方差更小。

学习信号只是通过奖励制度提供,"最好"的行为还是不知道的。但是一些情况下的正确行为是可以知道的,比如图像分类的训练过程,我们是可以知道目标图像的输出标签和真实标签,以此可以来建立优化策略(就是一般的loss函数)。这是一种通过最大化图像真实标签的条件概率实现的监督学习。这里采用了交叉熵(cross entropy loss)来训练行为网络(action network),通过glimpse network和core network来进行梯度的后向传播(backpropagate)。

最后就是实验的结果部分了:

首先是一些网络结构参数的设置:

(1)Retina and location encodings:在位置l处选择k*k的patch

(2)Glimpse network:有两个全连接层

(3)Location network:在位置l处定义的方差修正的双组分高斯函数

(4)Core network:纠正单元网络(rectifier units)。这里用的是LSTM。

关于图像分类的实验,作者把图像分成了3类:(1)数字在图像的中心(Centered Digits)(2)数字不在图像的中心(Non-Centered Digits)(3)杂乱且不在中心的数字图像(Cluttered Non-Centered Digits)

先来看一下前两类的结果:

Table1左边是MNSIT数据集的结果,数字都在图像的中心,Table1右边是非中心的数字图像结果,数据集由MNIST经过变换得来。Fig2的左边就是做好的示意图,右边则是生成的杂乱的数字图像(里面由很多干扰噪声)。

对于杂乱图像的处理结果:

左边第一列是glimpse path,第2-7列则是不同的glimpse的选择结果,可以看到,这样做能够很好避免杂乱图像上噪声部分的影像。

最后就是总结了,RAM的优点主要表现在:(1)参数量和计算量都能够通过输入图像的尺寸进行控制(2)RAM能够忽略杂乱图像中的噪声部分(3)能够方便的进行扩展(4)网络对输入图像采样的尺度能够控制,使它可用于不同尺寸的图像。

四、小结

1. attention机制在这里用的glimpse表示,并结合了LSTM和RNN网络。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值