乾明 金磊 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

美国持续封锁,华为的技术自研,已经深入到了AI底层算法层面上,并开始将研究成果面向业界开源。

刚刚,华为诺亚实验室开源Disout算法(地址在文末),直接对标谷歌申请专利的Dropout算法

而且,在多项任务上,华为的新算法都超过了Dropout。比如,在ImageNet上训练的ResNet-50可以达到78.76%的准确率,而谷歌Dropout系列方法仅为76.8%。

这一算法背后的论文,已被AAAI 2020收录,并对外公开。华为到底提出的Disout到底如何,也得以呈现。

华为自研Disout:多项AI任务超越Dropout

在申请专利时,谷歌将Dropout定义为“解决神经网络过拟合的系统和方法”。

其核心的思路是,训练神经网络前向传播过程中,Dropout能让某个神经元的激活值以一定的概率p停止工作,也就是“Drop”(丢弃),提升模型稳定性,来缓解过拟合现象。

Disout是提出的新型替代方案,是一种通过研究特征图扰动来增强深度神经网络的泛化能力的方法。

简单来说,就是根据网络中间层的Rademacher 复杂度(ERC),确定给定深度神经网络的泛化误差上界。

并将扰动引入特征图,来降低网络的Rademacher复杂度,从而提高其泛化能力。

它们之间的区别可以用下面这张图来展示——也就是对输出特征进行扰动,而不是丢弃。

相比之下,华为的方法效果更好。

Disout不但在传统视觉任务上表现优异,超越谷歌Dropout性能,在NLP任务以及语音处理任务上,同样具备有效性。

接下来,就让我们一起看下Disout在各个数据集上与Dropout系列方法的对比。

首先,CIFAR-10的和CIFAR-100数据上的测试准确率对比。

全连接层实验中,华为所提出的特征图扰动方法,训练CNN达到85.24%的准确度,相比于最新的RDdrop方法,测试准确率分别在CIFAR-10和CIFAR-100数据集上提高了2.13%和1.58%。

华为研究人员表示,他们提出的Disout方法可以有效地降低经验Rademacher的复杂度,同时保留模型的表示能力,从而具有较好的测试性能。

在卷积层实验上,华为的方法可以适用于卷积层,提高深度神经网络的性能,而且优于DropBlock方法,性能分别提高了0.32%和0.63%。

ImageNet 数据集实验中结果也显示,华为提出的特征扰动方法不仅可以替换常规的dropout方法提高深度神经网络的性能,而且可以提升最近提出的Dropblock方法的性能。

与传统的dropout方法相比,Disout将准确性从76.80%提高到77.71%,Block Disout方法达到了78.76%的top-1准确率,超过其他现有技术。

华为研究人员说,他们的方法可以在提高泛化能力并保留原始特征的有用信息。

此外,他们还在文本数据集IMDB和语音数据集UrbanSound8k上进行了实验,结果如下(上为文本、下为语音):

核心突破:对输出特征进行扰动,而不是丢弃

那么,具体又是如何做到的呢?我们一起来了解一下泛化理论

泛化理研究的是期望风险与经验风险之间的关系。

以图像分类任务为例,总体期望风险R(fL)和训练集上的经验风险是:

Rademacher经验复杂度(ERC)被广泛用于量化期望风险和经验风险之间的差距,它的定义如定义1所示。

定义1:给定由分布Q成的????个实例D= {(x????,y????)}的给定训练数据集,网络????????的经验Rademacher复杂度定义为:

其中Rademacher变量是{-1,+ 1}中的独立统一随机变量。

使用经验Rademacher复杂度和MaDiarmid不等式,可以通过定理1得出预期风险的上限。

定理1:给定???? >0,对任意????>0,至少以概率1−????,对于所有的????????∈????,满足

根据定理1,研究人员发现,期望风险和经验风险之间的差距,可以借助特定神经网络和数据集上的经验Rademacher复杂度加以限制。

直接计算ERC比较难,因此通常在训练阶段使用ERC的上限或近似值,来获得具有更好泛化的模型。

了解完泛化理论,就来看下特征图扰动

研究人员通过减少网络的ERC来学习特征图的扰动值,而不是固定扰动值。

通常,对具有输入数据xi的第l层的输出特征fL(xi)所采用的干扰操作可以表示为:

其中,εli是特征图上的扰动 。

上面的等式中扰动的形式是在ERC指导下自行学习得到的。由于ERC是通过网络最后一层的输出计算出来的,直接使用它来指导扰动将非常困难。

因此,研究人员使用以下定理,通过网络中间层的输出来间接表达网络的ERC:

定理 2 用Kl[k;:]表示权重矩阵Kl的第k行 ||・||p是向量的 p-norm。假设|| Kl[k;:] ||p ≤ Bl,网络输出的ERC 可以被中间特征的ERC限制:

o 和 f 分别是在激活函数之前和之后的特征图。令:

则:

那么,最优的扰动,就可以通过求解下式得到:

直观地, 过于剧烈的扰动将破坏原始的特征并降低网络的表示能力;而过小的扰动不能很好地起到正则化效果。

算法如下所示:

实习生一作,华为诺亚实验室出品

这篇论文,一共有7名研究人员,分别来自北京大学、华为诺亚和悉尼大学,核心团队来自华为诺亚实验室。

一作是北京大学的唐业辉,这一研究是他在华为诺亚实验室实习期间完成。

二作是王云鹤,华为诺亚方舟实验室技术专家,也是唐业辉实习时的导师。

毕业于北京大学,在相关领域发表学术论文40余篇,包含NeurIPS、ICML、CVPR、ICCV、TPAMI、AAAI、IJCAI等。

主要从事边缘计算领域的算法开发和工程落地,研究领域包含深度神经网络的模型裁剪、量化、蒸馏和自动搜索等。

其他作者有来自华为诺亚实验室的许奕星、许春景、北京大学的许超等人。

如果你对这项研究感兴趣,请收好传送门:

开源链接:
https://github.com/huawei-noah/Disout

论文链接:
https://www.aaai.org/Papers/AAAI/2020GB/AAAI-TangY.402.pdf

华为MindSpore布道师招募

助力小白成为大牛

告别技术造神,尊重每个开发者。

在开源社区中一起快速成长,共建开源生态!

扫描下图二维码即可报名参与▽

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

华为突破封锁,对标谷歌Dropout专利,开源自研算法Disout,多项任务表现更佳相关推荐

  1. 论文速递 | 华为开源自研算法Disout | 中科院计算所GCN中文综述

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手 ...

  2. 华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署...

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 华为的开源AI框架,来了! 刚刚,华为宣布正式开源自研深度学习框架MindSpore,代码已经上线. MindSpore是一款支持端边云全 ...

  3. 被骂了三年,谷歌Dropout专利还是生效了,卡脖子预警

    栗子 李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 谷歌的Dropout专利,6月25日生效了. 有效期15年. 所谓Dropout是一种搞深度学习.训练神经网络时,普遍会用到的方法, ...

  4. 两个月三项成果,对标谷歌!独家对话小米AutoML团队,如何让模型搜索更公平

    大数据文摘出品 作者:曹培信 机器学习自动化(AutoML)正在引领机器学习的下一个时代,而要想让机器自己学会"炼丹",其中最关键的步骤就是,找到最合适的算法模型,也即自动化神经架 ...

  5. 华为开源自研AI框架昇思MindSpore应用案例:SSD目标检测

    目录 一.环境准备 1.进入ModelArts官网 2.使用CodeLab体验Notebook实例 二.环境准备 三.数据准备与处理 数据采样 数据集创建 四.模型构建 五.损失函数 六.Metric ...

  6. 华为开源自研AI框架昇思MindSpore应用实践:FGSM网络对抗攻击

    目录 一.环境准备 1.进入ModelArts官网 2.使用CodeLab体验Notebook实例 二.对抗样本定义 三.攻击方法 快速梯度符号攻击(FGSM) 四.数据处理 五.训练LeNet网络 ...

  7. 华为开源自研AI框架昇思MindSpore应用实践:DCGAN生成漫画头像

    目录 一.原理说明 1.GAN基础原理 2.DCGAN原理 二.环境准备 1.进入ModelArts官网 2.使用CodeLab体验Notebook实例 三.数据准备与处理 1.数据处理 四.创建网络 ...

  8. 华为开源自研AI框架昇思MindSpore模型体验:ModelZoo中的CRNN

    目录 一.环境准备 1.进入ModelArts官网 2.使用CodeLab体验Notebook实例 二.脚本说明 三.数据集 四.训练过程 五.评估过程 六.推理过程 CRNN描述 CRNN是一种基于 ...

  9. 华为开源自研AI框架昇思MindSpore应用案例:Colorization自动着色

    目录 一.环境准备 1.进入ModelArts官网 2.使用ModelArts体验实例 二.数据处理 数据准备 训练集可视化 构建网络 损失函数 三.模型实现 算法流程 模型训练 模型推理 总结 自动 ...

  10. 深挖之后吓一跳,谷歌AI专利何止一个dropout,至少30项今日生效

    乾明 郭一璞 发自 凹非寺  量子位 报道 | 公众号 QbitAI "2030年之前,你需要给谷歌交专利费,才能构建简单的神经网络." 这不是一句调侃,而是在慢慢成为现实. 前不 ...

最新文章

  1. 【数据结构】之基本概念和术语
  2. 市场定位和硬件设计的错误-浅谈GM8126的封装
  3. mysql 自增语句_Mysql 自动增加设定基值的语句 | 很文博客
  4. 单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题
  5. flowable 集成mongodb
  6. SQL Pass北京举办1周年活动(本次活动特别邀请到了来自微软的SQL Server大师何雷谈数据库职业规划)...
  7. docker深入1-配置非https的公司私有的registry仓库
  8. github使用指南_所有开源项目免费使用,GitHub 内置 CI/CD 终于来了
  9. python是干什么的-python干嘛用
  10. 深入研读Cache存储的计算
  11. 运维讨厌流浪地球的原因
  12. Dynamo和Bigtable对比研究
  13. java核心技术卷——学习笔记(一)
  14. AD如何画多图纸原理图
  15. 计算机一级死都过不了怎么办,电脑假死,详细教您电脑假死机怎么处理
  16. c语言输出王字图形,专一的王子,C语言volatile关键字解析
  17. 【Language model】使用RNN LSTM训练语言模型 写出45°角仰望星空的文章
  18. windows系统中nginx图片服务器,windows nginx 图片服务器
  19. 图片过大怎么办?如何把图片压缩到最小
  20. 金立e3t刷android4.4,金立E3T刷机包 基于百度云官方ROM 深度精简 超强权限 省电耐用 安全稳定...

热门文章

  1. 初步设计对复杂系统的意义
  2. matlab求两向量夹角_MATLAB概率和统计(2)
  3. ARM9开发板连接鼠标和键盘
  4. 百度收录批量提交入口以及方法
  5. 黑暗幽灵(DCM)木马详细分析
  6. 随机过程之平稳过程与各态历经过程
  7. 关于服务器磁盘配额超出的问题解决(报错源码是Disk quota exceeded)
  8. 移动端网页点击链接出现蓝色背景如何解决
  9. 计算机是1946年由科学家发明,1946年第一台计算机叫什么
  10. 光纤收发器和交换机之间有什么区别?