首先给出论文地址:[Recurrent Models of Visual Attention]【1】(https://arxiv.org/pdf/1406.6247v1.pdf)

先大概从整体上聊聊这篇文章,这篇论文,它的一个直接竞争对象就是卷积神经网络,文章指出卷积神经网络在任务中的准确率的确还不错,但是在训练方面的确是不尽如人意,大概训练一个模型需要花上几天的时间,而且还是在多GPU的情况下,尽管事先对图像进行了处理,比如:利用降采样来减少计算等。后来联想到人对图像的一个识别,人的眼睛一开始是看到一整个图像的,但是也是有注意点的,人的注意力会着重看到某一处,然后识别这个物体是什么。将这一机制运用到计算机的图像识别方面也是可行的,这就是visual attention的原始来源。

下面介绍一下这篇博文的大概框架(我觉得下面这两部分是论文中的核心部分):

1、模型介绍

2、训练过程

模型介绍

模型

【Recurrent Models of Visual Attention】(讲解) 这是论文提出的模型框架,也许第一次看到有点不知所措,没有关系,下面我会详细讲下这个模型的构成。

a)首先这里的lt1l{_{t-1}}是前一个时间传过来的位置信息,这里的xtx{_t}是输入的数据,当位置信息lt1l{_{t-1}}传入xtx{_t}时,将会对xtx{_t}lt1l{_{t-1}}位置进行采样,按照图里的样子,在这个特定的位置,要采集3个patchs,比如初始的采样图像大小为8*8,接着采样的大小为(8 * 2) * (8 * 2),(这里的“2”表示的是一个因子,是相对前一次采样的尺寸大小的乘子),最后一次采样的大小为(8 * 2 * 2) * (8 * 2 * 2),这3个采样的照片的中心位置不变,就是前面传过来的lt1l{_{t-1}},接下来对这三个采样的照片进行一个resize,例如全部都重新设置成大小为8 * 8 尺寸的照片,最后得到ρ(xl,lt1)\rho(x_{l}, l_{t-1})。这就是Glimpse Sensor。

b)给定位置信息lt1l{_{t-1}}和输入的图片xtx{_t},用 a)的Glimpse Sensor来提取数据ρ(xl,lt1)\rho(x_{l}, l_{t-1}),经过线性表示【也就是经过一个普通的神经网络】得到θg0\theta{_g}^0,位置信息lt1l{_{t-1}}也经过线性表示【同上】得到θg1\theta{_g}^1,然后θg0\theta{_g}^0θg1\theta{_g}^1也经过一个线性层,结合两者得到θg2\theta{_g}^2。Glimpse网络fg(.;θg0,θg1,θg2)f_g(.; {\theta{_g}^0, \theta{_g}^1, \theta{_g}^2})定义了用来产生glimpse representation gtg_t 的注意力网络的可训练带宽限制传感器。

c)这是一个整体的模型架构,总的来说,这是一个RNN模型。这个核心网络模型 fh(,;θh)f_h(,; \theta_h) 将glimpse 网络产生的输出和之前一个时间的核心网络产生的一个输出 ht1h_{t-1},作为输入,产生当前的输出 hth_{t},位置网络和动作网络将当前产生的 hth_{t} 来产生下一个位置和动作/分类。

返回目录

奖罚机制

在执行一次活动之后(意思也就是对一个输入图片,经过这个系统之后得出分类结果),如果分类正确,则判为1,否则判为0.其表达式为R = tTrT\sum_t^Tr_T
返回目录


训练过程

在对一张图片进行分类的时候,我们需要最大化整个奖赏机制。
引入一个交互序列的分布s1:Ns_{1:N}, 我们的目标是在这个分布的条件下最大化我们的奖赏函数:
J(θ)=Ep(s1:T;θ)[t=1Trt]=Ep(s1:T;θ)[R]J(\theta) = E_{p(s_{1:T}; \theta)} [\sum_{t = 1}^T r_t] = E_{p(s_{1:T}; \theta)} [R],其中p(s1:T;θ){p(s_{1:T}; \theta)}取决于策略。
最大化JJ不是一件简单的事情,因为这涉及到高维相互序列的期望,可能导致进入未知的环境空间。
按照论文的方法,得到下列解法:
ΔθJ=t=1TEp(s1:T;θ)[Δθlogπ(uts1:t;θ)R]1Mt=1Mt=1TΔθlogπ(utis1:ti;θ)Ri{\Delta}_{\theta} J = \sum_{t=1}^TE_{p(s_{1:T}; \theta)} [{\Delta}_{\theta} log\pi(u_t|s_{1:t}; \theta)R] \approx \frac{1}{M} \sum_{t=1}^M\sum_{t=1}^T\Delta_\theta log\pi(u_t^i|s_{1:t}^i;\theta)R^i
但是上面这个式子可能会引入高方差,以此在上式上进行修改:
ΔθJ=t=1TEp(s1:T;θ)[Δθlogπ(uts1:t;θ)R]1Mt=1Mt=1TΔθlogπ(utis1:ti;θ)(Ribt){\Delta}_{\theta} J = \sum_{t=1}^TE_{p(s_{1:T}; \theta)} [{\Delta}_{\theta} log\pi(u_t|s_{1:t}; \theta)R] \approx \frac{1}{M} \sum_{t=1}^M\sum_{t=1}^T\Delta_\theta log\pi(u_t^i|s_{1:t}^i;\theta)(R^i - b_t)

这里的 Rti=t=1TrtiR_t^i = \sum_{t'=1}^T r_{t'}^i

Reference

[1]Recurrent Models of Visual Attention.

相关文章: