一、论文信息
论文名称:Dynamic Filter Networks
作者团队:NIPS2016
二、动机与创新
-
卷积层是通过将上一层的特征映射与一组过滤器进行卷积计算输出特征映射,滤波器是卷积层的唯一参数,通常用反向传播算法在训练中学习,学习到的滤波器经训练后固定,在测试中不变。
-
因此作者,提出一个 Dynamic Filter Networks,这个模型中的卷积核是可学习的,通过学习将输入映射到过滤器的函数,实现随输入的不同而变化。
三、模型结构
1. Dynamic Filter Networks包含两部分:Filter-generating network和Dynamic filtering layer。第一部分的作用是,产生卷积核,第二部分是实现卷积核的乘法操作。
与卷积层相比,动态卷积层接收两个输入,第一个输入是来自前一层的特征映射InputB,第二个输入是InputA经过网络学习的过滤器。
2. Dynamic convolution layer
-
下图这种操作是Sample-specific,也就是说,针对每个输入的样本卷积核共享,就是我们常使用的标准卷积,只是卷积核是可学习的。
3. Dynamic local filtering laye
下图的右边部分,这种操作是Sample specific 和 Position specific,每个像素点对应的卷积核不相同。
动态过滤层有两种形式:动态卷积、动态局部过滤
-
图1和图2都是过滤器数目为1,feature map的channel为1的情况:
-
图1是5 ∗ 5 的卷积核作为过滤器,在B上以过滤器作为卷积核滑动,是不同位置共享的;
-
图2虽然是个立方体,但也是一个过滤器,只不过每个位置一个核,保存的时候拉成一列(也为5 ∗ 5),用的时候每个位置一个卷积核恢复成原来形状使用即可。