概
一种特殊的卷积?
主要内容
CNN通过许许多多的filters进行模式匹配(a pattern matching process), 非常低效, 本文提出利用局部相关性来替代这些卷积层.
-
输入特征图(X in mathbb{R}^{C imes H imes W});
-
特征图通过1x1的卷积(channel transformation layer)分别获得key map, query map, 二者的大小均为(C/m imes H imes W);
-
对于query map上的每一个点(q_{p'}), 计算其与kxk邻域内的点(k_p)间的relation:
[w(p', p) = mathrm{softmax}(Phi(q_{p'}, k_p) + f_{ heta_g}(p - p')), ]其中
[Phi(q_{p'}, k_p) = -(q_{p'}-k_q)^2, ](f_{ heta_g}(p-p'))是通过两层1x1卷积获得的(C/m imes k imes k), 反映了Geometry Prior, 实际上就是相对距离的度量.
注: 因为每个(p)都可以用((h, w))来表示点的位置, 故途中的Position是两个通道的.
-
此时, 对于feature map中的任一点(p)都有了对应的(w), 通过此可以计算出一个对应的值, 于是可以得到(C imes H imes W)的新的特征图, 概特征图反应了点与其对应的kxk邻域内的点的相对关系. 需要注意的是, 图中是(m imes C/m imes k imes k)的形式呈现, 这是因为作者令每(m)个通道共享一个relation (w)(用于减少计算量), 等价于每个点会被作用(C/ m)个kernel, 故aggregation weights 是(C/m)个通道的.
-
最后, 再通过1x1的卷积将特征图转换为(C' imes H imes W)的输出, 图中应该是作者的笔误.
看起来整个网络的权重似乎很少啊, 都是1x1的卷积.