点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨二玖

审稿丨邓富城

编辑丨极市平台

导读

如何在较小的数据集上训练神经网络?马里兰大学的学者提出了一种以“进化”为灵感的训练方法:Knowledge Evolution(KE)。这种名为KE的方法能像生物进化一样,巧妙地提升神经网络在小数据集上的性能。该方法已开源。

如果将深度学习比作汽车,那数据集就是石油。深度学习对于数据集的依赖是不言而喻的。那么一个深度学习领域悬而未决的挑战则是:如何在较小的数据集上训练神经网络?

针对这一问题,马里兰大学的学者提出了一种以“进化”为灵感的训练方法:Knowledge Evolution(KE)。这种名为KE的方法能像生物进化一样,巧妙地提升神经网络在小数据集上的性能。目前作者已经开源了这一方法。

KE将神经网络用两种假设进行拆分:拟合假设和重置假设,并通过多次扰动重置假设来迭代拟合假设中知识。这种方法不仅能提升性能,还能以较低的推理成本来获取一个精简的神经网络。同时,KE能减少过拟合和数据收集的负担。不但如此,KE支持各种网络结构和损失函数,还能与残差卷积网络,以及其他正则化技术(如标签平滑)等无缝集成。

下面我们将更详细地介绍这篇论文。

KE的主要贡献

在本文中,作者尝试用神经网络复制一个这样的生物过程:基因编码了从祖先到后代的遗传信息(知识),而基因传递将遗传信息从父母传递至其后代。虽然祖先并不一定具有更好的知识,但是遗传信息(知识)在几代人之间的发展将会促进后代更好的学习曲线。

因此,作者将深度神经网络的知识封装在一个名为拟合假设的子网络 中,然后将拟合假设的知识从父母网络传递至其后代,即下一代神经网络。并反复重复此过程,在后代网络中证明了其性能的显著提升:

如下图所示,KE将神经网络分为两个假设(子网络):拟合假设和重置假设。通过重新训练多代网络来进化中的知识。而每一代都会通过扰乱内部的权重以鼓励学习独立的表达形式。这种知识进化方法能够提高神经网络在小数据集上的性能。

此外,为了降低推理成本,作者提出了一种为CNN量身定制的一种拆分技术,即内核级卷积感知拆分(kernel-level-convolutional-aware splitting,KELS)。KELS同时支持CNN和残差网络,且既不引入超参数也不引入正则项。

知识进化方法详解

假设一个具有层的深度网络 。网络  具有卷积滤波器,批范数以及权重为,偏置项为的完全连接层。

知识进化(KE)首先从概念上将深度网络N分为两个互斥假设(子网络):拟合假设和重置假设。这些假设由二进制掩码概述。 为1,为0,即和。随后,网络被随机初始化,即和都被随机初始化。训练期,并将已训练的网络称为第一代,其中,。

为了学习更好的网络(下一代),作者使用重新初始化网络,然后重新训练以学习。网络使用卷积滤波器和来自 的拟合假设中的权重进行重新初始化,而网络的剩余部分则被随机初始化。作者使用哈达玛积重新初始化每层,如下所示:

类似地,作者通过它们相应的二进制掩码重新初始化权重和偏置。网络架构仅在最后一个完全连接层中具有偏差项。因此,对于这些架构,所有偏差项都属于拟合假设,即。并将学习的批规范进行无随机化的跨代传递。

重新初始化后,训练期以学习第二代。为了学习更好的网络,反复为代重新初始化以及重新训练。通过拟合假设 将知识(卷积滤波器和权重)从一代传递至下一代。需要注意的是:

  • 一代网络的贡献在初始化下一代后立刻结束,即每一代的训练都是独立的;

  • 在训练了新一代后,两个假设中的权重都会发生变化 ,即   ,;

  • 所有网络代都使用精确的超参数,即相同的期数、优化器、学习率调度器等)进行训练。

拆分网络

KE需要进行网络拆分。作者主要采用了两种拆分技术:

  1. weight-leverl splitting(WELS),能用于突出KE通用性;

  2. kernel-level convolutional-aware splitting(KELS),一种有效的CNN技术。

WELS技术十分简单:对每一层  ,二进制掩码  将  分为两个专有部分:拟合假设  和重置假设  。给定拆分率 ,使用掩码随机分配权重,其中是内部权重的数量,。WELS技术支持完全连接,卷积,递归以及图卷积,这也印证了KE的通用性。

虽然KE通过WELS跨代提升了网络性能,但是WELS不能从CNN的连接中受益。因此,作者提出了一种既能提高性能,又能减少在小数据集上的推理成本的拆分技术,即KELS。利用CNN的连接性并引出拟合假设,对网络进行修剪。用内核遮罩替代加权遮罩,因此为内核级卷积感知分割( KELS)技术。给定一个拆分率和一个卷积滤波器,KELS引出拟合假设,以将第一个内核包括在第一个滤波器中,如下图所示。KELS保证了结果卷积滤波器之间的维度匹配。因此,KELS可以无缝集成在经典CNN(AlexNet和VGG)和具有残差连接的最新网络架构中。

KELS

知识进化的直觉

为了理解KE,作者给出了不需要KELS技术的两个互补直觉:Dropout和残差网络。

Dropout在训练过程中随机丢弃神经网络单元,使得神经网络单元减少相互依赖并学习独立表示。类似的,在KE中通过在每一代之前随机初始化重置假设,我们可以在重新初始化期间丢弃。这同样让减少对的依赖,并学习独立表示。通过评估各代的性能验证了这种直觉,且的性能随着代数的增加而增加。如下图所示:

Split-Nets vs Dropout

Res-Nets将连续层之间的默认映射设置为身份。但是从一个不同的角度来看,没有限制网络容量,Res-Nets在某些子网络(残差连接)中实现零映射。类似地,KE通过跨代重复使用拟合假设来实现重置假设的零映射。在第一代N1之后,与包含随机值的相比,总是更趋于收敛。因此,KE促进了新一代网络在和中对前代网络的知识进化。

Split-Nets vs Res-Nets

对KE进行评估

作者在两个分类和度量学习这两个监督任务上对KE进行了评估。分类任务已有研究对深度神经网络在小型数据集上的性能进行了广泛的探讨,因此它提供了严格的性能基准。而在度量学习上的评估则突出了KE的灵活性与普遍性。

在分类任务上对KE进行评估

下图为用带有KELS的ResNet18进行定量分类评估。 表示网络代的性能。第一代既是KE的基准又是起点。随着代数的增加,KE的性能提高。

下图为用带有WELS的DenseNet169进行的定量评估。

在度量学习任务上对KE进行评估

下图为使用标准度量学习数据集和架构进行的定量检索评估。

消融实验

(1)Dropout与Res-Net

在VGG11_bn上使用CUB-200进行定量分类评估,下图显示了10代密集网络和拟合假设的性能。

拟合假设在处的性能较差,但随着代数的增加,其性能也会提高。 和表示和 内部的平均绝对值。

(2)WELS 与 KELS

在ResNet18上使用Flower-102对KELS和WELS进行100代定量评估。下图左为密集网络的分类性能,右为拟合假设的性能。

(3)拆分率的tradeoffs

拆分率控制拟合假设的大小;小的会降低推理成本,但是小的会减少的容量。下图左比较了使用CUB-200和GoogLeNet的两个拆分率的10代。两种分割率都在密集网络上显著提升了边际量。但是,下图右显示,较大的拆分率 可以帮助拟合假设 更快地收敛并获得更好的性能。因而对于大型数据集,需要大的拆分率才能使拟合假设的性能具有竞争力。

论文传递门

论文:

https://arxiv.org/abs/2103.05152

代码:

https://github.com/ahmdtaha/knowledge_evolution

为了提升在小数据集上的性能,有学者让神经网络像生物一样“进化”了|CVPR2021 Oral...相关推荐

  1. vs xgb 神经网络_业界 | 深度学习与XGBoost在小数据集上的测评,你怎么看?(附源码)...

    作者:Max Brggen机器之心编译参与:蒋思源 近来,部分机器学习从业者对深度学习不能训练小数据集这一观点表示怀疑,他们普遍认为如果深度学习经过优良的调参,那么就不会出现过拟合和过训练情况,也就能 ...

  2. 深度学习笔记:在小数据集上从头训练卷积神经网络

    目录 0. 前言 1. 数据下载和预处理¶ 2. 搭建一个小的卷积网络 3. 数据预处理 4. 模型训练¶ 5. 在测试集进行模型性能评估 6. 小结¶ 0. 前言 本文(以及接下来的几篇)介绍如何搭 ...

  3. 1230v3配服务器内存性能提升,有点小失望 E3-1280 v3性能实测

    有点小失望 E3-1280 v3性能实测 出处:快科技 2013-05-05 10:43:36     作者:鲲鹏 编辑:鲲鹏[爆料] 收藏文章 Intel在日前的北京IDF上对下一代Haswell平 ...

  4. t420i升级固态硬盘提升_小体积、大性能、台式机笔记本升级可选,酷兽M.2 SSD固态硬盘测评...

    你还在为电脑开机缓慢.软件卡顿.游戏加载慢这些事而烦恼吗?赶快升级你家电脑硬盘吧.因为在电脑组件中 ,有一个存在较大提升空间的就是硬盘.我家电脑装下都5年多了,平时根本不用,满布灰尘,今年疫情期间由于 ...

  5. 基于Keras2《面向小数据集构建图像分类模型》——Kaggle猫狗数据集

    概述 在本文中,将使用VGG-16模型提供一种面向小数据集(几百张到几千张图片)构造高效.实用的图像分类器的方法并给出试验结果. 本文将探讨如下几种方法: 从图片中直接训练一个小网络(作为基准方法) ...

  6. 在西瓜数据集上训练_训练时间和参数量百倍降低,直接使用标签进行预测,性能竟超GNN...

    将传统标签传播方法与简单模型相结合即在某些数据集上超过了当前最优 GNN 的性能,这是康奈尔大学与 Facebook 联合提出的一项研究.这种新方法不仅能媲美当前 SOTA GNN 的性能,而且参数量 ...

  7. 机器学习必须需要大量数据?小数据集也能有大价值!

    机器学习必须需要大量数据?小数据集也能有大价值! https://mp.weixin.qq.com/s/xGnDcRtKKt4FyVRAMPSqYA [导读]数据不够大,就不能玩深度学习?长期存在的一 ...

  8. CVPR 2022 | 提高小数据集利用效率,复旦等提出分层级联ViT网络

    ©作者 | 戈维峰 单位 | 复旦大学 来源 | 机器之心 来自复旦大学.上海市智能信息处理重点实验室和香港大学的研究者提出了一种基于 DINO 知识蒸馏架构的分层级联 Transformer (HC ...

  9. 小数据集同样重要!掌握处理它的7种方法

    2019-10-20 12:35:14 全文共2427字,预计学习时长5分钟 在现实生活中,通常只能使用一个小数据集.基于少量观测数据所训练出的模型往往会过度拟合,产生不准确的结果.所以即使可用的数据 ...

最新文章

  1. Redis6安装配置集群cluster以及集群宕机注意事项
  2. 从零实现Vue的组件库(十)- Select 实现
  3. (转)Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
  4. P3567 [POI2014]KUR-Couriers
  5. c++中静态成员变量和静态成员函数
  6. 保证一致性吗_RabbitMQ消息一致性:重要消息,请设置持久化
  7. php mysql ajax 注册验证 实例_Ajax小实例   用户注册异步验证
  8. 天猫双11星秀猫官方周边开售 从设计到生产用时1个月
  9. 远程连接ubuntu中mysql的数据库
  10. 林锐的《高质量编程》学习笔记——内存分配方式
  11. nbu备份win平台oracle,NBU备份ORACLE错
  12. qcloud-python-sts 下载安装
  13. s8 android8 黑域,【转帖】 8.0未Root禁用系统软件(不用黑域、冰箱之类的软件)...
  14. 微信小程序下拉刷新在真机上不回缩问题的解决方法
  15. 手机直播平台开发的解析
  16. “圆周率的计算”实例详解
  17. 京东云618年中大促开始啦!
  18. day fit into much one too_PGone Talking too much歌词
  19. 【粗翻】CALIPSO数据用户指南-激光雷达等级1B 4.x数据质量声明
  20. hiveserver2 的HA 配置

热门文章

  1. Jetty服务器jmx监控
  2. 3. Swift 数组|字典|集合
  3. C#.Net的常见面试试题 [转]
  4. 开源多年后,Facebook这个调试工具,再登Github热门榜
  5. 那位五十多岁的创业者给我的启示!
  6. 归根到底,大家都是出来卖的!有的人月入十万,有的人月入三千!差距!
  7. 自己动手写一个能操作redis的客户端
  8. 国产项目管理软件/敏捷开发工具
  9. 来客推商城V3多用户uni-app商城源码如何搭建?盈利模式怎么样的?
  10. Scrum Master的职业发展路线