Non-local能够引入全局的信息,就能很好地解决local操作无法看清全局的情况,为后面的层带去更丰富的信息。(可以和FC以及普通local conv对比下,FC也是non-local连接,而且是global的)
这两篇blog感觉写的很好:
https://zhuanlan.zhihu.com/p/33345791
https://blog.csdn.net/u014380165/article/details/80012001
自己总结下,
Non-local module的核心就是如下两个公式:
具体实现的时候很神奇,f(·)是有关
θ
\theta
θ和
ϕ
\phi
ϕ的函数,g(·)也是关于参数g的。并且转化为参数化的矩阵运算(可以自己去验证,图中注明了维度变化),就成了如下的计算流程:
很有美感的idea,insight很好,听师兄说,王小龙硕士是在我们实验室读的,传奇大佬,太强了(我怎么这么菜)。实验做的也很好,可以当做范文了,值得参考,这里不多分析了。