《Dynamic Filter Networks》动态过滤网络
Dynamic Filter Networks
《Dynamic Filter Networks》NIPS 2016
论文链接:https://arxiv.org/abs/1605.09673
一、目的
卷积核参数训练完就是固定的,不够灵活,作者希望得到一个根据输入动态生成的过滤器。
提出dynamic filter module(filter-generating network 、dynamic filtering layer).
根据一个视角图预测其他视角(旋转人脸)、预测视频下一帧、2D变3D等等常用到类似方法。
二、Dynamic Filter Networks
动态过滤模块包括:过滤器生成网络、动态过滤层
2.1 Filter-Generating Network
2.1.1 过滤器生成网络输入和输出?
输入: , 分别是高、宽、输入通道数;
输出:, 是过滤器大小,是输入特征B的通道数目, 是过滤器数目,对于动态卷积 ,对于动态局部过滤 , 是过滤器的感受野
可以自由设置取得更感受野,也可以堆叠多个提升感受野(可以用于包含大的局部位移的情况)。
2.1.2 怎么使用过滤器?
其中:
是过滤器输入;
是经过过滤器后的输出。
2.1.3 怎么实现过滤器生成网络?
多层感知机、卷积神经网络(适合图像任务)
2.2 Dynamic Filtering Layer
动态过滤层有两种形式:动态卷积、动态局部过滤
图1和图2都是过滤器数目为1的情况:
图1是的卷积核作为过滤器,在B上以次过滤器作为卷积核滑动,是不同位置共享的;
图2虽然是个立方体,但也是一个过滤器,只不过每个位置一个核,保存的时候拉成一列(也为),用的时候每个位置一个卷积核恢复成原来形状使用即可。
2.2.1 动态卷积层
图2的a,和普通卷积一样计算,唯一不同就是卷积核参数是根据输入生成的(样本变卷积核变)
2.2.2 动态局部过滤层
属于动态卷积层的一个扩展,不再是平移不变的卷积核,每个位置都有单独的一个过滤器。
从公式中 的上标 也可以看出每个位置都有一个单独的局部卷积核,整个过滤器有卷积核;
如果每个滤波器都用softmax约束,则每个位置只包含一个非0元素,局部过滤层就可以把每个位置元素替换为它邻域元素,可以用输入 来作为条件建模的局部空间变形。
三、用处
可以用在光流估计、视频预测、深度估计、2D转3D、图像旋转扭曲;
共性就是用一张图或者多张图 预测另一张或多张图。