Dynamic Filter Networkshtml
2019-06-10 11:29:19git
Paper:http://papers.nips.cc/paper/6578-dynamic-filter-networks.pdf github
Code (Lasagne):https://github.com/dbbert/dfn 网络
1. Background and Motivation:框架
标准卷积神经网络中,都是采用训练以后学习到的 filters,而本文则提出了一种新的学习框架,称为:Dynamic Filter Network,该网络中的 filter 是根据输入动态生成的。 这种框架更加灵活,强大,并无提增长模型的参数个数。普遍的 filtering operation 均可以采用这种框架,包括:local spatial transformations, selective blurring 或者 adaptive feature extraction. 此外,也能够用于循环网络框架中(如 Recurrent architecture)。学习
该模型包含两个部分:spa
1). filter-generating network, 能够基于给定的输入,动态的生成 sample-specific filter network。该参数并不是是固定的,像正则化模型参数;3d
2). dynamic filtering layer, 而后将这些 filters 应用到输入上。orm
这两个模块都是可微分的。做者还基于此提出了一种 dynamic local filtering layer,不可是 sample-specific,并且是 position-specific 的。这些 filters 从不一样 position 以及 不一样 samples 都是可变化的,容许咱们在在输入上进行更多操做。该框架能够学习 spatial 和 photometric changes,由于像素不是简单的进行放置的,filters 可能在全部的近邻上进行操做。htm
2. Dynamic Filter Networks :
如上图所示,本文所提出的网络的结构,主要包含两个模块:一个是 filter 产生模块,另外一个是 dynamic filter layer。这两个模块都是可微分的,模块的输入能够是相同的,也能够是不一样的,具体跟所涉及的任务相关。为了清晰起见,做者这里解释了 model parameters 和 dynamically generated parameters 的区别:model parameters 表示预先进行初始化的 layer parameters,仅仅在 training 阶段进行更新;而 dynamic generated parameters 是 sample-specific 的,而且能够快速的进行产生,而不须要进行初始化。本文所涉及的 filter-generating network 输出的是 dynamically generated parameters,可是该网络自己的参数是属于 model parameters。
2.1 Filter-Generating Network:
滤波产生网络的输入是 $I_A$, 其输出 filter $F_{\theta}$,该滤波器能够用于输入 $I_B$ 上来产生一个输出 G,滤波器的大小决定了感觉野的大小,其选择依赖于具体应用。感觉野的大小还能够经过堆叠多层动态滤波模块来实现增长。
2.2 Dynamic Filtering Layer :
该模块将输入的图像或者特征 $I_B$ 做为输入,而后输出滤波以后的结果 G。
Dynamic convolutional layers: 就前文讲的,此处的卷积操做用的卷积核是动态生成的,而不是预训练产生的。其公式化表达以下:
这些 filter 是 sample-specific 的,而且是基于 filter-generating network 的输入的。动态卷积层以下图所示:
Dynamic local filtering layer :
做为上述 dynamic convolution layer 的一种拓展,dynamic local filtering layer 提供了一种更有意思的结果。在该 layer 中,filter operation 再也不是 translation invariant。不一样的滤波器用于输入 $I_B$ 的不一样位置,这一点与传统的局部链接 layer 相似:对于输入 $I_B$ 的每个位置 (i, j),一个特定的 local filter $F_{\theta}^{(i, j)}$ 是被用于 $I_B(i, j)$ 位置中心区域的:
用于这种 layer 的 filters 再也不是 sample-specific,而是 position-specific。注意到,上述讲的 dynamic convolution 是 local dynamic filtering 的特例,其中 local filters 是在整个图像区域共享的。以下图所示,
当输入 $I_A$ 和 $I_B$ 都是图像的时候,一个很天然的方法是用卷积网络来实现 filter-generating network。也就是说,所产生的 position-specific filters 是依赖于 $I_A$ 区域中的 local image regions 的。
==