首先给出论文地址:[Recurrent Models of Visual Attention]【1】(https://arxiv.org/pdf/1406.6247v1.pdf)
先大概从整体上聊聊这篇文章,这篇论文,它的一个直接竞争对象就是卷积神经网络,文章指出卷积神经网络在任务中的准确率的确还不错,但是在训练方面的确是不尽如人意,大概训练一个模型需要花上几天的时间,而且还是在多GPU的情况下,尽管事先对图像进行了处理,比如:利用降采样来减少计算等。后来联想到人对图像的一个识别,人的眼睛一开始是看到一整个图像的,但是也是有注意点的,人的注意力会着重看到某一处,然后识别这个物体是什么。将这一机制运用到计算机的图像识别方面也是可行的,这就是visual attention的原始来源。
下面介绍一下这篇博文的大概框架(我觉得下面这两部分是论文中的核心部分):
模型介绍
模型
这是论文提出的模型框架,也许第一次看到有点不知所措,没有关系,下面我会详细讲下这个模型的构成。
a)首先这里的 l t − 1 l{_{t-1}} lt−1是前一个时间传过来的位置信息,这里的 x t x{_t} xt是输入的数据,当位置信息 l t − 1 l{_{t-1}} lt−1传入 x t x{_t} xt时,将会对 x t x{_t} xt的 l t − 1 l{_{t-1}} lt−1位置进行采样,按照图里的样子,在这个特定的位置,要采集3个patchs,比如初始的采样图像大小为8*8,接着采样的大小为(8 * 2) * (8 * 2),(这里的“2”表示的是一个因子,是相对前一次采样的尺寸大小的乘子),最后一次采样的大小为(8 * 2 * 2) * (8 * 2 * 2),这3个采样的照片的中心位置不变,就是前面传过来的 l t − 1 l{_{t-1}} lt−1,接下来对这三个采样的照片进行一个resize,例如全部都重新设置成大小为8 * 8 尺寸的照片,最后得到 ρ ( x l , l t − 1 ) \rho(x_{l}, l_{t-1}) ρ(xl,lt−1)。这就是Glimpse Sensor。
b)给定位置信息 l t − 1 l{_{t-1}} lt−1和输入的图片 x t x{_t} xt,用 a)的Glimpse Sensor来提取数据 ρ ( x l , l t − 1 ) \rho(x_{l}, l_{t-1}) ρ(xl,lt−1),经过线性表示【也就是经过一个普通的神经网络】得到 θ g 0 \theta{_g}^0 θg0,位置信息 l t − 1 l{_{t-1}} lt−1也经过线性表示【同上】得到 θ g 1 \theta{_g}^1 θg1,然后 θ g 0 \theta{_g}^0 θg0和 θ g 1 \theta{_g}^1 θg1也经过一个线性层,结合两者得到 θ g 2 \theta{_g}^2 θg2。Glimpse网络 f g ( . ; θ g 0 , θ g 1 , θ g 2 ) f_g(.; {\theta{_g}^0, \theta{_g}^1, \theta{_g}^2}) fg(.;θg0,θg1,θg2)定义了用来产生glimpse representation g t g_t gt 的注意力网络的可训练带宽限制传感器。
c)这是一个整体的模型架构,总的来说,这是一个RNN模型。这个核心网络模型 f h ( , ; θ h ) f_h(,; \theta_h) fh(,;θh) 将glimpse 网络产生的输出和之前一个时间的核心网络产生的一个输出 h t − 1 h_{t-1} ht−1,作为输入,产生当前的输出 h t h_{t} ht,位置网络和动作网络将当前产生的 h t h_{t} ht 来产生下一个位置和动作/分类。
奖罚机制
在执行一次活动之后(意思也就是对一个输入图片,经过这个系统之后得出分类结果),如果分类正确,则判为1,否则判为0.其表达式为R =
∑
t
T
r
T
\sum_t^Tr_T
∑tTrT。
返回目录
训练过程
在对一张图片进行分类的时候,我们需要最大化整个奖赏机制。
引入一个交互序列的分布
s
1
:
N
s_{1:N}
s1:N, 我们的目标是在这个分布的条件下最大化我们的奖赏函数:
J
(
θ
)
=
E
p
(
s
1
:
T
;
θ
)
[
∑
t
=
1
T
r
t
]
=
E
p
(
s
1
:
T
;
θ
)
[
R
]
J(\theta) = E_{p(s_{1:T}; \theta)} [\sum_{t = 1}^T r_t] = E_{p(s_{1:T}; \theta)} [R]
J(θ)=Ep(s1:T;θ)[∑t=1Trt]=Ep(s1:T;θ)[R],其中
p
(
s
1
:
T
;
θ
)
{p(s_{1:T}; \theta)}
p(s1:T;θ)取决于策略。
最大化
J
J
J不是一件简单的事情,因为这涉及到高维相互序列的期望,可能导致进入未知的环境空间。
按照论文的方法,得到下列解法:
Δ
θ
J
=
∑
t
=
1
T
E
p
(
s
1
:
T
;
θ
)
[
Δ
θ
l
o
g
π
(
u
t
∣
s
1
:
t
;
θ
)
R
]
≈
1
M
∑
t
=
1
M
∑
t
=
1
T
Δ
θ
l
o
g
π
(
u
t
i
∣
s
1
:
t
i
;
θ
)
R
i
{\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π(ut∣s1:t;θ)R]≈M1∑t=1M∑t=1TΔθlogπ(uti∣s1:ti;θ)Ri
但是上面这个式子可能会引入高方差,以此在上式上进行修改:
Δ
θ
J
=
∑
t
=
1
T
E
p
(
s
1
:
T
;
θ
)
[
Δ
θ
l
o
g
π
(
u
t
∣
s
1
:
t
;
θ
)
R
]
≈
1
M
∑
t
=
1
M
∑
t
=
1
T
Δ
θ
l
o
g
π
(
u
t
i
∣
s
1
:
t
i
;
θ
)
(
R
i
−
b
t
)
{\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)
ΔθJ=∑t=1TEp(s1:T;θ)[Δθlogπ(ut∣s1:t;θ)R]≈M1∑t=1M∑t=1TΔθlogπ(uti∣s1:ti;θ)(Ri−bt)
这里的 R t i = ∑ t ′ = 1 T r t ′ i R_t^i = \sum_{t'=1}^T r_{t'}^i Rti=∑t′=1Trt′i
Reference
[1]Recurrent Models of Visual Attention.