动态滤波网络论文解读

论文题目:Dynamic Filter Networks

论文链接:https://arxiv.org/pdf/1605.09673.pdf

summary

在传统的卷积层中,经过训练后的学习滤波器保持不变。相反本篇论文引入了一种动态过滤器网络,根据输入动态生成,但是却没有过多地增加模型参数的数量。

动态滤波网络组成

 总体框架如下图所示:

动态滤波网络由过滤生成网络和动态过滤层组成。过滤生成器网络根据输入动态生成过滤器,而动态过滤层将生成的过滤器应用于另外一个输入。两部分都是可微的。

  • 过滤生成网络

过滤生成网络输入是:I_{A}\in R^{h,w,Ca}, h为高,w为宽,Ca为输入A通道的数目,输出为F_{\theta }\theta \in R^{s,s,n,d,Cb},s为滤波器的尺寸,n为滤波器的数目,动态卷积d=1,Cb为输入B通道的数目,hxW为局部滤波。将过滤器应用于输入I_{B},输出G=F_{\theta }\left ( I_{B} \right )

过滤生成网络可以用任何可微分的架构来实现,比如多层感知器或卷积网络。当使用图像作为过滤器生成网络的输入时,卷积网络尤其适用。(使用编码器-解码器结构可以增加生成滤波器的卷积网络的接受域。我们还可以对过滤器生成网络的输出应用平滑惩罚,以便鼓励相邻的过滤器应用相同的转换。)

  • 动态过滤层

动态卷积层:动态过滤层动态参数θ由过滤生成网络生成。G(i,j)=F_{\theta }(I_{B}(i,j))

动态局部滤波层:在这个层中,过滤操作不再是平移不变量,不同的滤波器被应用到输入的不同位置上。对于输入I_{B}的每个不同位置,一个特定的局部滤波器Fθ(i,j)被应用到以I_{B}(i,j)为中心的区域。G(i, j) = Fθ(i,j)(IB(i, j))。动态局部滤波层不仅可以像动态卷积层那样执行单个的变换,还可以像局部变形那样执行特定位置的变换。与传统的局部连接层相比,动态局部滤波层的另一个优点是我们不需要太多的模型参数。所学习的模型更小,这是嵌入式系统应用所需要的。

Experiment实验

①学习可操纵滤波器

过滤生成网络的任务是将一个角度转换成一个过滤器,然后将其应用于输入图像以生成最终的输出。我们将滤波器生成网络实现为几个完全连接的层,最后一层包含81个神经元,对应于一个9x9卷积滤波器的元素。下图显示了一个经过训练的网络示例。它确实学习了期望的过滤器,并对图像应用了正确的转换。

②视频预测

论文使用卷积编译码器作为过滤生成网络,其中编码器由几个跨卷积层组成,而解码器由几个反池化层和卷积层组成。卷积编码器-解码器能够利用帧内的空间相关性,生成与帧大小相同的特征映射。每个生成的过滤器都应用了一个softmax层,这样每个过滤器都被鼓励只有几个非零元素。为了生成下一帧的预测,将生成的滤波器应用于前一帧,根据第3节中介绍的动态局部滤波机制对前一帧进行变换。使用softmax层可以帮助动态过滤层生成更清晰的图像,因为输出图像中的每个像素都来自前一帧中的几个像素。

③moving Mnist

我们使用10帧的平均二进制交叉熵作为损失函数。动态过滤器的大小设置为9x9。并使用学习率为0.001的Adam优化器[12]更新这些参数。该网络通过反向传播进行端到端训练,迭代次数为20,000次,最小批处理大小为16次。定量结果见figure5(左)。

卷积编码器-解码器有一个很大的接受域,这有助于模型学习弹跳行为,并生成正确的过滤器,以防数字弹跳墙壁。我们观察到预测随着时间的推移而恶化,即数字变得模糊。部分原因是由于模型误差:我们的模型不能在重叠后完美地分离数字,而且这些误差会随着时间累积。模糊的另一个原因来自数据集的人工制品:由于裁剪不完美,不确定数字何时会弹起并改变方向。这种行为不是完全确定的。这种不确定性加上像素上的损失函数,鼓励模型在数字到达边界时“对冲其赌注”,导致结果模糊。

总结

本文介绍了动态滤波网络,这是一类以特定于样本的方式将动态生成的滤波应用于图像的网络。作为未来的工作,我们计划探索动态过滤器网络在其他任务上的潜力,例如细粒度图像分类,过滤器可以学习适应对象姿态;或图像去模糊,过滤器可以调整适应图像结构。

发布了139 篇原创文章 · 获赞 49 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xiewenrui1996/article/details/104157405