Published as a conference paper at ICLR 2017
其中
ˆ
W
i
∈ R
n×m
,z
i
,比较 Eq2 和 Eq5,我个人猜想,这就是为什么说双线性池化等
价于双线性模型的原因。
然后双线性模型的 z 可以写成:
z =
x
T
ˆ
W
1
y
x
T
ˆ
W
2
y
...
x
T
ˆ
W
c
y
= x
T
ˆ
W y ∈ R
c
(6)
后续的 Low-Rank Bilinear Pooling 和 Factorized Bilinear Pooling 本质上都是用的
双线性模型而非双线性池化。但有一点要特别注意:
ˆ
W ∈ R
c×n×m
是一个三维张量,
而 W ∈ R
c×nm
是一个二维张量 (或者叫矩阵),如果后面不特别说明的话,我们默认
W ∈ R
c×n×m
来代替
ˆ
W 。
3 Low-rank Bilinear Pooling
LBM 是改进 BM,之前不是说 BP 的问题在于参数量太大不好训练嘛,那从 BM 的角
度出发,参数量的本质在 W 上,因为 W 是一个三维张量。
现在我们考虑 z
i
= x
T
W
i
y, W
i
∈ R
m∗n
,如果能把 W
i
的维度搞下来,那 W 的维数
也就下来了。在这里我们考虑矩阵分解,W
i
= U
i
V
T
i
, U
i
∈ R
m∗d
, V
i
∈ R
n∗d
,其中 d
是远小于 mn 的,也就是说 Rank(U
i
) << Rank(W
i
),即 R ank(U
i
V
T
i
) << Rank(W
i
),
那么基于这种思想
z
i
= x
T
W
i
y = x
T
U
i
V
T
i
y = 1
T
(U
T
i
x o V
T
i
y), 1 ∈ R
d
(7)
1
是一个
d
维的列向量,其元素全是数字
1
。
o
是哈德马积,也就是按元素乘。
3.1 LBM 角度看 LBP
那么好了,我们有了上面的推导我们可以把 y 求出来
z = P
T
(U
T
x o V
T
y), P ∈ R
d∗c
, U ∈ R
m∗d
, V ∈ R
n∗d
(8)
通过引入了 P,使得 U 和 V 可以是二维张量。而比较有意思的事情是 MFBP 这篇论
文恰恰是从 U,V 入手,直接按照三维张量处理,但是去掉了 P,有了比 MLBP 更好的
效果。
请注意:实际上 Eq8 也可以理解为:先对两个输入向量做映射,然后做元素相乘,得
到一个融合后的向量,然后再做一次分类映射。
然后在 MLBP 这篇论文提到:为了不丢失视觉和文本的特征信息,采用了一种类似于
残差连接的方法,如下公式:
z = P
T
(U
T
x o V
T
y + U
′T
x + V
′T
y) (9)
4