Dynamic Filter Networks

2019-06-10 11:29:19

Paper:http://papers.nips.cc/paper/6578-dynamic-filter-networks.pdf

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)。

该模型包含两个部分:

1). filter-generating network, 可以基于给定的输入,动态的生成 sample-specific filter network。该参数并非是固定的,像正则化模型参数;

2). dynamic filtering layer, 然后将这些 filters 应用到输入上。

这两个模块都是可微分的。作者还基于此提出了一种 dynamic local filtering layer,不但是 sample-specific,而且是 position-specific 的。这些 filters 从不同 position 以及 不同 samples 都是可变化的,允许我们在在输入上进行更多操作。该框架可以学习 spatial 和 photometric changes,因为像素不是简单的进行放置的,filters 可能在所有的近邻上进行操作。

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 的。

==

Dynamic Filter Networks的更多相关文章

  1. 论文笔记:Learning Dynamic Memory Networks for Object Tracking

    Learning Dynamic Memory Networks for Object Tracking  ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...

  2. 【CV论文阅读】Dynamic image networks for action recognition

    论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而 ...

  3. (zhuan) Attention in Neural Networks and How to Use It

    Adam Kosiorek About Attention in Neural Networks and How to Use It this blog comes from: http://akos ...

  4. Attention and Augmented Recurrent Neural Networks

    Attention and Augmented Recurrent Neural Networks CHRIS OLAHGoogle Brain SHAN CARTERGoogle Brain Sep ...

  5. SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-001- DispatcherServlet的高级配置(ServletRegistration.Dynamic、WebApplicationInitializer)

    一. 1.如想在DispatcherServlet在Servlet容器中注册后自定义一些操作,如开启文件上传功能,则可重写通过AbstractAnnotationConfigDispatcherSer ...

  6. 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

    论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...

  7. 论文笔记:Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries

    Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries 2018-09-18 09:58:50 Pape ...

  8. 基于神经网络的混合计算(DNC)-Hybrid computing using a NN with dynamic external memory

    前言: DNC可以称为NTM的进一步发展,希望先看看这篇译文,关于NTM的译文:人工机器-NTM-Neutral Turing Machine 基于神经网络的混合计算 Hybrid computing ...

  9. 论文阅读 GloDyNE Global Topology Preserving Dynamic Network Embedding

    11 GloDyNE Global Topology Preserving Dynamic Network Embedding link:http://arxiv.org/abs/2008.01935 ...

随机推荐

  1. Struts框架笔记03_OGNL表达式与值栈

    目录 1. OGNL 1.1 OGNL概述 1.1 什么是OGNL 1.1.2 OGNL的优势 1.1.2 OGNL使用的要素 1.2 OGNL的Java环境入门[了解] 1.2.1 访问对象的方法 ...

  2. layui 单选框、复选框、下拉菜单 不显示问题 记录

    1. 如果是 ajax嵌套了 页面, 请确保  只有最外层的页面引入了 layui.css 和 layui.js 内层页面 切记不要再次引入 2. layui.use(['form', 'upload ...

  3. Centos7安装autoconf

    一.原因 安装此插件的原因:在初始化MySQL数据库时出现提示FATAL ERROR: please install the following Perl modules before executi ...

  4. netty实现websocket发送文本和二进制数据

    原文:https://huan1993.iteye.com/blog/2433552 最近在学习netty相关的知识,看到netty可以实现 websoket,因此记录一下在netty中实现webso ...

  5. 简单介绍 Java 中的注解 (Annotation)

    1. 例子 首先来看一个例子: @Override public String toString() { return "xxxxx"; } 这里用了 @Override, 目的是 ...

  6. 《Exceptioning团队》第六次作业:团队项目系统设计改进与详细设计

    一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.掌握面向对象软件设计方法:2.完善系统设计 ...

  7. Django --- ajax结合sweetalert使用,分页器,bulk_create批量创建数据

    目录 ajax结合sweetalert使用 bulk_create批量插入数据 分页器的使用 ajax结合sweetalert使用 ajax可以在不刷新页面的情况下与后端进行交互,在对数据进行操作的时 ...

  8. Nginx和php-fpm的启用和停用脚本

    #!/bin/bash #停止php-fpm sudo php -v ps -ef | grep php-fpm | sed '$d' echo "..................... ...

  9. 细说 call、apply 以及 bind 的区别和用法

    call 和 apply 的共同点 它们的共同点是,都能够改变函数执行时的上下文,将一个对象的方法交给另一个对象来执行,并且是立即执行的. 为何要改变执行上下文?举一个生活中的小例子:平时没时间做饭的 ...

  10. js 常见数组算法

    数组方法概述 1.不改变原数组,返回新数组 concat() 连接两个或多个数组,两边的原始数组都不会变化,返回被连接数组的一个副本. join() 把数组中所有元素放入一个字符串中,返回字符串. s ...