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