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