作者:Cody Coleman, Peter Bailis, and Matei Zaharia

时间:2020年4月23日

摘要:全文约1800字,建议阅读时间为7分钟。本文主要介绍了SVP方法。作为一种用于深度学习的数据选择方法,其可以在保证识别准确率的同时,有效地提高深度学习中的计算效率。例如,在主动学习中,SVP的运行速度最多可提高到基础的41.9倍,同时误差没有显著增加,这对于深度学习中提高模型训练速度来说是一个有效的方法。


在许多任务中我们会面对海量的有效数据来训练深度网络,那么在实际的训练中我们怎样可以快速确定应该使用哪些数据呢?类似于主动学习(active learning)和核心集选择(core-set selection)等方法是确定训练数据的有效手段,但是上述方法计算花销大且难以大规模使用。

在最近的ICLR 2020中,Cody Coleman等人提出了一种将数据选择速度提高多达41.9倍的方法。他们使用一种规模较小、精度较差的模型作为规模较大的目标模型的简单替代模型,并用此来选择用于训练的“核心”数据。尽管这些替代模型的准确性较低,但它们选择的是不会对最终模型的准确性产生较大影响(通常在0.1%以内)的高质量数据。另外,在不影响ResNet-164模型准确性的情况下,上述替代模型可以清洗掉50%以上的CIFAR-10训练数据,从而使端到端模型的训练速度提升40%。

Cody Coleman等人在ICLR 2020 上发表了此论文,并且代码可在github中获得。

直觉:与模型架构对数据的排名相似

从宏观上来看,数据选择方法中的迭代过程包括以下三个步骤:

1.根据一些信息量度(例如:熵)对数据集进行排序

2.选择排名最高的数据集

3.根据选定的数据集更新模型

其中的第三步是深度学习的主要瓶颈。模型需要花费数小时甚至数天的时间进行训练,因此对于我们选择的每个数据集,从头开始训练模型都不划算。在SVP下我们发现的重要一点是,当较大模型变得越来越准确时,他们将选择与规模更小、准确率更低的模型相同的数据。例如,下图显示了来自相似模型架构的不同模型之间的相关程度。我们可以利用这些高相关性来创建替代模型,从而将数据选择的速度提高一个数量级。

在ImageNet数据集下模型架构的排名。 上图为在ImageNet上来自PyTorch预训练模型的最大熵排名之间的Spearman相关性。大多数的模型架构之间相关性很高。例如,MobileNet V2基于熵的排名与ResNet50模型高度相关,尽管该模型的参数要少得多(3.5M vs 25.6M)。

创建有效且可用的替代模型

文章中提出了两种创建替代模型的主要方法:

1.缩小网络规模。对于具有多层的深层模型,我们可以减小隐藏层的大小或数量,这也是在权衡模型精度下减少训练时间的简便方法。例如,ResNet20模型在26分钟内在CIFAR10数据集中实现了top-1误差为7.6%,而更大的ResNet164模型则花费了4小时才减少了2.5%的误差。

2.训练轮数减少。在训练期间,大部分时间都花在了误差减少相对较小的时间段。例如,在训练ResNet20模型时,几乎一半的训练时间(26分钟中的12分钟)都花费在了优化测试集1.4%的错误率上。基于上述结论,文章还研究了可以更快地获得目标模型决策边界的近似值并且使用较少迭代次数的替代训练模型。

结果

为了评估SVP对数据选择运行时间和质量的影响,我们将SVP使用在主动学习和核心集选择中来对于以下五个数据集进行数据选择:CIFAR10,CIFAR100,ImageNet,Amazon Review Polarity和Amazon Review Full。对于主动学习,SVP在数据集和标签预测中达到了相等甚至更高的准确率,并且在标签选择的运行时间上提升了多达41.9倍:

主动学习中的SVP表现使用最小置信度不确定性采样(具有不同的替代模型和四个数据集)来进行3次主动学习的平均(±1std)数据加速。粗体的加速表明使用相同模型进行选择和最终预测的基准方法可以达到较低误差水平或在平均top-1误差的1 std之内。在整个数据集中,SVP加快了数据选择速度的同时并没有显着增加最终结果的误差。

对于核心集选择,替代模型在选择保持高精度的数据子集时的性能几乎与目标模型相同甚至更好。

特别是在CIFAR10上,小规模的替代模型删除了50%的数据,但不会影响在子集上训练的更大、更准确的模型的最终准确性。此外,在所有数据上训练替代模型,选择要保留的数据以及在子集上训练目标模型的整个过程仅花费了2小时23分钟,相比于在完整数据集上训练目标模型的标准方法,端到端的训练速度提高了1.6倍,如下图所示:

使用带有和不带SVP方法的CIFAR10上具有预激活功能的ResNet164的训练曲线浅红色线表示训练替代模型(ResNet20)。红色实线表示在使用SVP的图像子集上训练目标模型(ResNet164)。使用替代的方法,删除了50%的数据且不会影响ResNet164的最终准确性,将端到端的训练时间从3小时49分钟缩短到2小时23分钟。

总结

SVP方法可以通过在数据选择期间用计算花销小的替代模型来代替计算花销大的模型来提高深度学习中主动学习和核心集选择的计算效率。在主动学习中,SVP的运行时间最多可提高41.9倍,同时误差没有显着增加(通常在0.1%以内);在核心集选择中,SVP可以从CIFAR10中删除多达50%的数据,并使训练目标模型花费的时间缩短为原来的十分之一,从而使端到端模型的训练速度提高1.6倍。

参考资料:https://dawn.cs.stanford.edu/2020/04/23/selection-via-proxy/

SVP——一种用于深度学习的高效数据选择方法相关推荐

  1. 独家 | SVP:一种用于深度学习的高效数据选择方法

    作者:Cody Coleman, Peter Bailis, and Matei Zaharia 翻译:杨毅远 校对:王琦 本文长度为1800字,建议阅读7分钟 本文为你介绍SVP方法如何在保证识别准 ...

  2. AIDATANG_1505ZH:一种用于深度学习的大规模汉语语音语料库

    AIDATANG_1505ZH:一种用于深度学习的大规模汉语语音语料库 文章来源:数据堂 网址:https://www.datatang.com/ 前言: 近年来,深度学习在语音识别领域取得了突破性进 ...

  3. 基于linux火焰识别算法,一种基于深度学习模型的火焰识别方法与流程

    本发明属于通信领域,具体涉及一种基于深度学习模型的火焰识别方法. 背景技术: 随着我国工业化与城镇水平的不断提高,现代设施大型公共建筑朝着空间大.进深广功能复杂的多元化方向发展,这对于防烟火朝着空间大 ...

  4. [综述类] 一文道尽深度学习中的数据增强方法(上)

    今天带来一次有关于深度学习中的数据增强方法的分享. 00 什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间.但在很多实际的项目中,我们难以找到充足的数据来完成任务. 为了要保证完美地完成项 ...

  5. 总结 62 种在深度学习中的数据增强方式

    数据增强 数据增强通常是依赖从现有数据生成新的数据样本来人为地增加数据量的过程 这包括对数据进行不同方向的扰动处理 或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而 ...

  6. 【技术综述】深度学习中的数据增强方法都有哪些?

    很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好:(1)寻找更多的数据.(2)充分利用已有的数据进行数据增强,今天就来说说数据增强. 作者 | 言有三 编辑 ...

  7. 深度学习中图片数据增强方法

    简 介: 在深度学习中需要对图像进行不同的处理.本文对比了基于Numpy以及Paddle.vision.transforms函数中对于图片处理的效果. 关键词: 图像预处理,cv2,paddle #m ...

  8. 深度学习中的数据增强方法

    对于较深层次的深度神经网络,其性能会随着训练数据的提升而进一步提升. 目前深度学习方法广泛采用的数据增强方法,主要有: multi-scale:多尺度: translate:平移,[-6, -6],左 ...

  9. 深度学习中常用数据预处理方法

    数据归一化处理,比较简单公式为 (x-min)/(max-min),主要目的是将数据的范围缩小至0-1之间,因而对数据绝对值的大小不敏感 2.数据标准化处理,也比较简单,公式为(x-avg)/sigm ...

  10. 用于深度学习的医学图像预处理

    用于深度学习的医学图像数据,往往非常庞大,如果从网上下载公开数据集数据,往往有几十GB的图象数据,我们需要先进行预处理,将其转换成适合深度学习网络训练的形式:        变为      或者我们还 ...

最新文章

  1. Day19-File操作-创建 删除,文件过滤
  2. 关于程序员的脑筋急转弯(附答案)
  3. 立镖机器人浙江_立镖在美国获2020 NextGen供应链解决方案奖
  4. curl / libcURL ‘tailmatch()’ Cookie 信息泄露漏洞
  5. Github操作指南
  6. 现实世界与虚拟世界的差别在哪里
  7. php++l+函数,关于PHP中usort()函数的解读
  8. iOS--在线搜索苹果 App Store 应用商店
  9. qt QAxObject word文档添加页码(页眉和页脚)
  10. 【Git】git tag
  11. 2018电视剧行业调研报告-趋势篇
  12. Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
  13. 传奇手游服务器搭建_传奇私服服务器端在云服务器架设,全版本通用的传奇游戏架设教程...
  14. Arthur van Hoff
  15. 远程桌面拷贝数据到远程计算机,远程桌面如何复制本地文件 远程桌面拷贝电脑上的文件方法...
  16. 量化风控系列--风险定价(一)
  17. 小程序源码:云之道知识付费独立线传版V2-2.4.9-多玩法安装简单
  18. rpf逆向路径转发 linux,CISCO 组播RPF 逆向路径转发 实验原理
  19. 实验一OpenGL图形编程入门
  20. 道客巴巴之中考物理考试试题【2】

热门文章

  1. 易用宝项目记录day7-权限与菜单
  2. 查看局域网内的所有IP地址
  3. JEB工具介绍及使用
  4. MSP430的JTAG接口和BSW接口
  5. 艾永亮:这家酒店如何让你毫不犹豫点上五星好评?
  6. 计算机考试win10可以吗,计算机二级考试练习系统可以用win10吗?
  7. Unity 导航网格生成碰撞体
  8. 拨号保护,网络电话,保护隐私,匿名通话
  9. linux系统USB转网卡驱动异常,usb 网卡驱动安装问题(芯片AX88772B)
  10. 软件测试中三角形白盒测试,软件测试案例(三角形白盒测试)