• 发表日期:2017-07-03 【大 中 小】【打印】【关闭】

  近日,自动化所马佳彬、王威、王亮等研究人员在arxiv上预发表了一项研究,提出了一种新形式的卷积神经网络——不规则卷积神经网络,这种新的方法能够解决常规卷积效率低下的问题。 

  

在深度卷积神经网络(CNN)中,卷积核是最基本和最重要的组件。研究人员给卷积核配置了形状属性以生成不规则卷积神经网络(ICNN)。与传统CNN使用规则卷积核(如3x3)不同,该方法训练了不规则的内核形状,以更好地适应输入特征的几何变化。换言之,除权重以外,形状也是可以学习的参数。在端对端的训练中,使用标准的反向传播算法,卷积核的形状和权重就能同时学习出来。研究人员使用ICNN进行了图像语义分割的实验,以验证模型的有效性。

    

  问题提出 

  近年来,卷积神经网络(CNN)在学界和业界广受欢迎,已被成功地应用到各种特征提取的任务当中。CNN的效果相较于前有很大提升,对各种任务的实用性都非常的强,但尽管如此,经典CNN仍存在一些问题值得探讨和深究。 

  

 

  图1 规则与不规则卷积核的对比。(a)不规则输入特征,其范围超越了3x3的区域 (b)两个3x3的卷积核,它们联合建模了输入特征(c)从3x3卷积核到不规则卷积核的变形过程示例。

  

  首先,卷积核的规则形状和不规则的特征模式并不匹配。在视觉任务中有一个重要的事实:虽然输入图像拥有矩形的形状且尺寸固定,但图像中的物体大多是形状不规则的——而这些物体才是研究中真正感兴趣的部分。以图像分类为例,常常需要的是给图像中的目标分类,而非图像本身。而这种情况在物体检测和分割中更加明显,因为这些任务的基本思想就是将不规则的目标从图像中分离出来。由于卷积运算本质上是两个向量的点积操作,即特征模式和卷积核,那么这两个向量在理想状态下应该具有相同的属性,这样才能获得更加准确的响应。也就是说,卷积核应该跟输入特征模式一样,也拥有不规则的形状,这样模型才能更好地提取最有价值的信息。而传统卷积神经网络的内核形状通常是固定的,不能通过训练来直接学习得到。  

       相应地,形状的不匹配导致了规则卷积核在对不规则特征模式进行建模时效率低下。实际上,规则形状的卷积核也可以模拟不规则的特征模式,其基本思想是,在规则形状内不同尺度的权重分布可以具有与不规则形状相类似的效果。如图1 (b)所示,两个规则卷积核K1和K2都因为其特殊的分布,而拥有了建模不规则形状的能力。但这种方式消耗了18个权重参数去建模9个像素的输入特征。而且需要注意的是,如果输入特征更加细长或离散、如果卷积核更加离散(Dilated Convolution),这种低效的情况还会加剧。  

  

  解决方案 

  由于基本问题是规则卷积核与不规则输入特征的形状不匹配,那么最直观而合理的解决方案就是使卷积核的形状不规则且可训练。如图1 (c)所示,3x3的规则卷积核可以通过变形学习到一个新的不规则的形状。在变形的过程中,原本规则卷积核内的权重将会移动到新的位置来找到更有价值的特征信息。而移动的范围没有绝对限制,可以超出原先规则卷积核的范围。变形后,虽然权重数量不变,但不规则卷积核已经能够建模更加复杂的特征,而这个特征本应该被多个规则卷积核共同建模。

     

   

  图2 (a)规则卷积核各个权重的位置固定在一个矩形上 (b)不规则卷积核各权重的位置会随着训练而发生变化,损失函数梯度的反向传播会直接作用在不规则卷积核的形状变量上 (c) 位置浮动的双线性插值。

    为了让卷积核拥有形变的能力,直接为其赋予可学习的权重位置变量(用以表征核的形状信息)。由于可导性的要求,位置变量必须满足连续性——用浮点小数表示。浮点小数的使用又自然地将插值操作应用进来,进而成功地建立起了用小数表示的形变位置、用整数表示的原始位置、输入特征和输出特征这四者的函数关系,最终使权重位置变量获得可学习的能力。

  

  训练结果示意 

  为了更深刻地理解卷积核最后变成了什么形状,论文作者可视化了若干层的卷积核训练结果。实验使用Resnet101在pascal voc数据集上进行了语义分割训练。

   

  

  图3 来自不同层的卷积核形状示意。(a)是最后一个卷积层fc1_voc12的卷积核,(c)是(a)在高-宽二维平面上的投影。(b)和(d)是另外相应层卷积核的二维投影。在这些图中,相同颜色的点意味着它们原本属于3x3矩形中的同一个位置。Px,Py代表高-宽平面,而channel代表输入数据流的通道数。

和原始规则卷积核比较:不规则卷积核的权重能够抽取多种不同尺寸和形状的信息。我们可以发现,原本属于同一位置的权重,在变形后大致拥有一个高斯分布的特性(即图中)。9个分布中心大致与规则形状时的原位置相同,但分布的伸展性保证了不同尺度的信息融合。不同层之间的卷积核比较:从子图(c)和另两张子图的比较中可以发现,越深的层,卷积核更加呈现出带状延伸。这种大幅的延伸方式使得较深的处理层能够更好地综合全局信息。

  

  分割结果对应热度图展示 

  在语义分割任务中,对于一个特定的像素点来说,综合合适的图像信息对于分类结果的准确性非常重要。本实验中的热度图评估了,在对某一特定像素分类时,图像中各个位置对其分类结果的贡献值。红色贡献大,蓝色贡献小。

    

     图4 第一行,原始图像中使用红色十字标记的像素为最终的分类目标。以下两行热图表示的是对首行标记像素分类结果的贡献热度图,其中第二行代表使用规则卷积核的结果,第三行代表使用不规则卷积核的结果。图中黑色框框出的区域表示本不该被关注的干扰区,黄色框框出的区域表示应该关注的有价值的区域。

  

  图4首先表明不规则卷积核可以更好地过滤掉分散注意力的干扰区。在第一列中,使用规则卷积核的传统卷积网络不可避免地加强了变化剧烈的梯子部分的响应,而ICNN却很好地过滤了这部分干扰。再者,它也表明不规则卷积核能够考虑更加全局的信息。如第三列所示,在对马脖子上标记像素进行分类时,除了附近的区域,不规则卷积网络还会加强对马头部和后腿部位的响应。而且稍微提升注意力观察,我们就能发现ICNN在对腹部、后腿、尾巴的响应更加精确。

总结

  ICNN的目标在于建立起输入特征和卷积核的形态兼容,从而提升参数利用的效率。通过为卷积核添加形状属性,并使用双线性插值使其可以进行端到端的训练。这种改进可以在不添加任何子网络的情况下,平滑地集成到现有的卷积神经网络模型当中。

  

  了解更多,请点击原文地址:https://arxiv.org/pdf/1706.07966.pdf

【总结】不规则卷积神经网络:可动态提升内核效率相关推荐

  1. 深度学习:GCN(图卷积神经网络)理论学习总结

    目录 来源 作用 原理 解释 核心 两种理解 空间域的缺点 图的概念 学习新特征 目标 提出 步骤 图卷积 分类 特点 常见问题 缺点 改进 残差结构与扩张卷积 图注意力网络GAT 邻接矩阵的探索 A ...

  2. Ristretto:面向硬件的卷积神经网络逼近

    Ristretto是一个自动化的CNN近似工具,可以压缩32位浮点网络.Ristretto是Caffe的扩展,允许以有限的数字精度测试.训练和微调网络. Ristretto速览 Ristretto T ...

  3. 卷积核和全连接层的区别_「动手学计算机视觉」第十六讲:卷积神经网络之AlexNet...

    前言 前文详细介绍了卷积神经网络的开山之作LeNet,虽然近几年卷积神经网络非常热门,但是在LeNet出现后的十几年里,在目标识别领域卷积神经网络一直被传统目标识别算法(特征提取+分类器)所压制,直到 ...

  4. CVPR 2020丨动态卷积:自适应调整卷积参数,显著提升模型表达能力

    编者按:轻量级卷积神经网络能够在较低的计算预算下运行,却也牺牲了模型性能和表达能力.对此,微软 AI 认知服务团队提出了动态卷积,与传统的静态卷积(每层单个卷积核)相比,根据注意力动态叠加多个卷积核不 ...

  5. 动态卷积:自适应调整卷积参数,显著提升模型表达能力 CVPR 2020

    本文转载自微软研究院AI头条. 编者按:轻量级卷积神经网络能够在较低的计算预算下运行,却也牺牲了模型性能和表达能力.对此,微软 AI 认知服务团队提出了动态卷积,与传统的静态卷积(每层单个卷积核)相比 ...

  6. 多尺度动态图卷积神经网络----Multi-scale Dynamic Graph Convolutional Network for Hyperspectral Image Classificati

    一.摘要 卷积神经网络(CNN)在表示高光谱图像和实现高光谱图像分类方面表现出令人印象深刻的能力.然而,传统的CNN模型只能对固定大小和权重的规则正方形图像区域进行卷积,因此不能普遍适用于具有不同对象 ...

  7. DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略

    DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图).七大层级结构(动态图详解卷积/池化+方块法理解卷积运算).CNN各层作用及其可视化等之详细攻略 目录 CNN 的层级结构及相关概念 ...

  8. 卷积神经网络和循环神经网络的思想内核是什么

    CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别? 如下:1.DNN:存在着一个问题--无法对时间序列上的变化进行建模.然而,样本出现的时间顺序对于自然语 ...

  9. GCN图卷积神经网络综述

    文章目录 一.GNN简史 二.GCN的常用方法及分类 2.1 基于频域的方法 2.2 基于空间域的方法 2.3 图池化模块 三. GCN常用的基准数据集 四.GCN的主要应用 4.1 计算机视觉 4. ...

最新文章

  1. 查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试
  2. android后台获取view,android – 如何获取当前显示在AdapterView中的项目?
  3. linux cacti安装教程,Linux下cacti的安装与配置
  4. 高斯消元法解方程matlab程序,用高斯消元法解线性方程组 的MATLAB程序
  5. win7电脑0x000007b蓝屏怎么办
  6. 5招训练你的数据敏感度,数据高手都在用
  7. 算法笔记_面试_0.刷leetcode攻略
  8. php xdebug调试 phpstorm配置
  9. 五一快乐假期每天都在上课qaq
  10. 必应搜索昨晚开始恢复正常访问
  11. 牛客小白月赛 22 C. 交换游戏
  12. 规划Autovue的安装
  13. 不定积分、定积分 复习笔记
  14. 青少年的音乐合成器原理指南
  15. 【强推文章】如果你在犹豫要不要去外包公司,不妨看看这篇文章(自己深有感触)
  16. 如何更改AutoCAD软件图纸背景颜色?
  17. ggplot2-设置坐标轴
  18. 禁忌搜索算法TS(学习笔记_04)
  19. 【极】P3-1 网络消息处理_通讯与协议(客户端通信)
  20. 26万人的巨复杂考勤自动核算,比亚迪搞定了!

热门文章

  1. Bipartite Segments CodeForces - 901C (区间二分图计数)
  2. Android-入门学习笔记-图片和外观改善
  3. js_md5加密和base64的加密解密
  4. UVA 620 - Cellular Structure
  5. MySQL字符集问题
  6. 【Hadoop】在Linux中的Hadoop部署与yarn HDFS MapReduce 的配置中常见的问题?你解决了吗?
  7. Servlet如何上传文件? 戳这里
  8. 软件测试用例质量不高?我教你如何编写高质量的测试用例!
  9. easypoi导出数值型_解决EasyPoi导出Excel金额数值类型
  10. python计算在月球的体重_NumPy-快速处理数据--矩阵运算