CVPR 2018 | Spotlight论文:解耦神经网络DCNet,性能优于标准CNN

选自arXiv

作者:Weiyang Liu等

机器之心编译

参与:Tianci LIU、路

本论文提出一个通用的解耦学习框架,并构建了解耦神经网络 DCNet,实验表明解耦操作可大大提高模型性能,加速收敛,提升稳健性。这篇论文已被 CVPR 2018 接收,是大会的 Spotlight 论文。

卷积神经网络(CNN)大大拓展了视觉任务的边界,如目标识别 [24, 25, 5]、目标检测 [2, 23, 22]、语义分割 [16] 等。最近,CNN 领域一个重要研究方向是:通过引入捷径连接(shortcut connection)[5, 8] 、多分支卷积(multi-branch convulsion)[25, 30] 等改进架构,来增加网络的深度和表征能力。但另一方面,尽管 CNN 有了诸多改进和提升,对于卷积本身为何能够实现判别表征和优秀的泛化能力,这依然是一个有趣的、值得探索的问题。

如今,CNN 中通常利用内积来编码表示 patch x 和卷积核 w 之间的相似性。但内积公式

将语义差异(即类间差异)和类内差异耦合到同一个度量中。因此,当两个样本间的内积很大时,我们很难确定是由于两个样本间存在很大的语义/标签差异,还是由于存在很大的类内差异。为了更好地研究 CNN 表征的性质,进而改善现有的 CNN 框架,本文作者提出明确地解耦(decouple)语义差异和类内差异。具体而言,研究者使用范数和角度(angle)将内积重新参数化为:

。该直觉来自图 1 中的观察,其中角度表示语义/标签差异,而特征范数(feature norm)则表示类内差异。特征范数越大,则预测越可信。这种直观的解耦方法启发研究者提出了解耦卷积算子(decoupled convolution operator)。研究者希望,通过将内积解耦为范数和角度,能够更好地对深度网络中的类内差异和语义差异进行建模。

基于将内积解耦为范数和角度这一思路,研究者通过将传统的基于内积的卷积算子(||w|| ||x|| cos(θ_(w,x)))扩展至解耦算子,提出了一个全新的解耦神经网络 DCNet。为此,研究者将此类解耦算子定义为:某个范数函数 h(||w||, ||x||) 与某个角度函数 g(θ_(w,x)) 的乘积形式。解耦算子为更好地建模类内差异和语义差异提供了一个通用框架,原始的 CNN 等价于将 h(||w||, ||x||) 设置为 ||w|| ||x||,将 g(θ_(w,x)) 设置为 cos(θ_(w,x))。(在解耦算子中),幅度函数(magnitude function)h(||w||, ||x||) 建模类内差异,而角度函数(angular function)g(θ_(w,x)) 则建模语义差异。

从解耦的角度看,原始 CNN 包含了一个很强大的假设:类内差异可通过范数乘积的形式进行线性建模,而语义差异可利用角度余弦值刻画。但这个建模方法并非在所有任务中都是最优的,而通过解耦学习框架,我们可以根据任务本身设计解耦算子,或者直接从数据中「学习」出来。DCNet 共有以下四个优点:一,DCNet 不仅允许我们使用一些替代函数更好地建模类内差异和语义差异,还允许我们直接学习这些函数,而不是修复它们。二,通过使用有界幅度函数,DCNet 可以改善 [14] 中分析的问题,进而实现更快的收敛,同时取得和原始 CNN 相当甚至更好的准确率。三,DCNet 的一些实例展现出了面对对抗攻击时更强的稳健性:通过一个有界函数 h(·) 压缩各类别的特征空间,可以获得一定的稳健性。四,解耦算子具有很强的灵活性,且是架构不敏感的(architecture-agnostic),因此我们可以很轻松地将其引入各种网络架构,如 VGG [24]、GooleNet [25] 以及 ResNet [5]。

具体而言,研究者提出了两种不同的解耦卷积算子:有界算子和无界算子,并利用两种算子完成多个实例。结果显示,有界算子具有更快的收敛速度,且在对抗攻击中具有更好的稳健性;而无界算子则具有更好的表征能力。解耦算子可以是平滑或非平滑的,平滑与否会影响其表现。另外,研究者针对解耦算子提出了一个全新的概念:算子半径(operator radius)。算子半径刻画了幅度函数 h(·) 对输入 ||x|| 的导数的重大变化。通过利用反向传播算法联合学习算子半径,研究者还提出了可学习的解耦算子。最后,研究者展示了多种通过改进标准反向传播算法优化解耦算子的替代方式。本论文的主要贡献如下:

  • CNN 学得的特征是天然解耦的,受此启发,研究者提出了一个明确解耦的框架来研究神经网络。
  • 研究者展示了 CNN 中包含了一个很强大的假设,以完成对类内差异和类间差异的建模,而此假设可能不是最优的。通过对内积解耦,研究者能够针对不同任务设计出更有效的幅度函数和角度函数,而非使用原始的卷积。
  • 和标准 CNN 相比,DCNet 能够更容易地收敛,且具有更好的准确率和稳健性。

图 1:CNN 学得的特征天然是解耦的。图中的 2D 特征是通过将 CNN 特征维度设置为 2 直接得到的输出。

图 2:解耦卷积算子的几何解释。绿线表示原始向量,红线表示投影向量。

表 1:加权算子(TanhConv)在 CIFAR-100 上的评估结果。

表 2:未使用反向传播的原始 CNN-9 在 CIFAR-100 上的测试误差(%)。「N/C」表示模型未收敛,「-」表示没有结果。不同列中的结果来自于不同的角度激活函数(angular activation)。

表 6:标准 ResNet-18 和修正 ResNet-18 在 ImageNet-2012 上的 Center-crop Top-5 误差(%)。「*」表示使用了原始 CNN 在 ImageNet-2012 上的预训练模型作为初始模型(见 4.3)。

表 7:CIFAR-10 上的白盒(White-box)攻击,性能用准确率(%)度量。前三行是标准训练模型的结果,后三行是对抗训练模型的结果。

表 8:CIFAR-10 上的黑盒(Black-box)攻击,性能用准确率(%)度量。前三行是标准训练模型的结果,后三行是对抗训练模型的结果。

论文:Decoupled Networks

论文链接:https://arxiv.org/abs/1804.08071

摘要:长期以来,基于内积的卷积都是卷积神经网络(CNN)中的核心成分,也是学习视觉表征的关键所在。而 CNN 学得的特征天然能够解耦为特征范数(对应类内差异)和角度(对应语义差异),受此启发,我们提出了一个通用的解耦学习框架,对类内差异和语义差异分别进行建模。具体而言,我们首先将内积重新参数化为解耦形式,然后将其扩展至解耦卷积算子,并作为解耦神经网络的重要组成成分。我们展示了解耦卷积算子的多个有效实例,其中每个解耦算子都有很好的根据以及直观的几何解释。基于这些解耦算子,我们进一步提出直接从数据中学习算子。大量实验表明,这种解耦重新参数化操作极大地提升了模型性能,加快了模型的收敛速度,显著提升了模型的稳健性。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-05-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏https://www.cnblogs.com/L

【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping

1、适当调整隐藏层数 对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比如对于复杂的问题我们可以在隐藏层上使用足够多的神经元就行了, 很长一段时间...

1013
来自专栏决胜机器学习

机器学习(十三) ——交叉验证、查准率与召回率

机器学习(十三)——交叉验证、查准率与召回率 (原创内容,转载请注明来源,谢谢) 一、样本集使用方案 1、测试集 为了验证系统设计的是否准确,通常需要预留10...

3313
来自专栏机器之心

指数级加速架构搜索:CMU提出基于梯度下降的可微架构搜索方法

研究者称,该方法已被证明在卷积神经网络和循环神经网络上都可以获得业内最优的效果,而所用 GPU 算力有时甚至仅为此前搜索方法的 700 分之 1,这意味着单块 ...

572
来自专栏AI科技大本营的专栏

一文概览主要语义分割网络:FCN,SegNet,U-Net...

图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类。虽然自 2007 年以来,语义分割/场景解析一直是计算机视觉社区的一部分,但与计...

1422
来自专栏机器之心

教程 | 如何在Python中用scikit-learn生成测试数据集

31611
来自专栏AILearning

【机器学习实战】第7章 集成方法 ensemble method

第7章 集成方法 ensemble method ? 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:...

2289
来自专栏算法channel

3000字详细总结机器学习中如何对模型进行选择、评估、优化

对于一个机器学习工程而言,我们可以选择的模型众多,就之前的章节,我们已经可以选择:

910
来自专栏AI科技评论

学界 | 新的网络优化方法:随机权值平均

AI 科技评论按:在本文中,数据科学研究人员 Max Pechyonkin 讨论了最近两篇有趣的论文,它们提供了一种简单的方法,通过用一种巧妙的集成方式来提高任...

732
来自专栏AI科技评论

语义分割领域开山之作:Google提出用神经网络搜索实现语义分割

AI 科技评论按:本文作者陈泰红,邮箱 ahong007@yeah.net,他为 AI 科技评论撰写了 Google 利用神经网络搜索实现语义分割的独家解读。

711
来自专栏专知

【干货】​在Python中构建可部署的ML分类器

【导读】本文是机器学习爱好者 Sambit Mahapatra 撰写的一篇技术博文,利用Python设计一个二分类器,详细讨论了模型中的三个主要过程:处理不平衡...

33811

扫码关注云+社区