点击我爱计算机视觉标星,更快获取CVML新技术


集成学习可以有效利用不同机器学习算法,提高最终模型精确度,在Kaggle比赛中被广泛应用。

训练集成学习模型计算量浩大,参数众多,虽然随着GPU/TPU的出现一定程度上降低了问题的难度,但对开发者仍是成本极高的。

可喜的是,谷歌刚刚发布了AdaNet,这是一个基于TensorFlow的轻量级框架,可以通过最少的专家干预自动学习高质量的模型。 AdaNet以谷歌最新的强化学习和基于进化算法的AutoML为基础,在提供学习保证的同时实现快速灵活的模型构建。而且,AdaNet是一个通用框架,它不仅可以学习神经网络架构,还可以模型集成以获得更好的模型。

AdaNet易于使用,可以构筑高质量的模型,帮助机器学习从业者节省选择最佳神经网络架构的时间,并能够自适应实现将子网络集成学习为新的网络架构的方法。

AdaNet能够添加不同深度和宽度的子网络,以创建多样化的集成,并可以在参数数量和模型性能之间方便做出权衡。

AdaNet自适应地增长了神经网络的集合。在每次迭代中,它测量每个候选者的集成损失,并选择最佳的一个进入下一次迭代。

快速且易于使用

AdaNet实现了TensorFlow Estimator接口,通过封装训练、评估、预测和模型导出,大大简化了机器学习编程。它集成了开源工具,如 TensorFlow Hub modules, TensorFlow Model Analysis, 和 Google Cloud’s Hyperparameter Tuner。分布式训练的支持可显著缩短训练时间,并能与可用的CPU和加速器(例如GPU)进行线性扩展。

AdaNet在CIFAR-100上训练结果,x轴代表训练step数,y轴代表精度。蓝线是训练集上的准确度,红线是测试集上的性能。每隔一百万step就加入一个新的子网络,最终提高整体的性能。灰线和绿线是在添加新子网之前的精度。

AdaNet的学习保证Learning Guarantees

构建神经网络集成有几个挑战:比如要考虑的最佳子网架构是什么?是否要重用相同的架构还是鼓励模型多样性?虽然具有更多参数的复杂子网将倾向于在训练集上表现更好,但由于其更大的复杂性,推广性能可能不好。这些挑战源于如何评估模型性能。可以通过将训练集样本分割来评估,但这样做会减少可用于训练神经网络的样本数量。

AdaNet的做法(源自论文“AdaNet: Adaptive Structural Learning of Artificial Neural Networks” at ICML 2017)是为了优化平衡集合在训练集上的表现及其推广到看不见的数据的能力之间的权衡的目标。直觉上是指只有当新加入的子网络改善整体训练损失而不会影响其推广能力时才将其加入。

这项学习保证意味着:

1)集合的泛化误差受其训练误差和模型复杂性的限制。

2)通过优化此目标,直接最小化此限制。

优化此目标的一个实际好处是,它不需要训练样本集专门划出一部分子集来评估选择要添加到集合中的候选子网,况且可以使用更多的训练数据来训练子网。

要了解更多信息,请浏览有关AdaNet优化目标的教程:

https://github.com/tensorflow/adanet/tree/v0.1.0/adanet/examples/tutorials/adanet_objective.ipynb

用户自定义扩展

AdaNet不仅提供了常用的模型架构供研究人员使用,同时允许用户将自己定义的网络加入进来,用户可以使用adanet.subnetwork.Builder加入使用TensorFlow API(如tf.layers)定义的网络架构,定义自己的AdaNet。

使用TensorFlow构建模型的用户可以轻松将TensorFlow代码转换为AdaNet子网,使用adanet.Estimator提高模型性能,同时获得学习保证。AdaNet将探索他们定义的候选子网的搜索空间,并学习整合子网。

在这个例子中,使用了NASNet-A CIFAR架构的开源实现,将其转换为子网,在八次AdaNet迭代后对CIFAR-10最先进的结果进行了改进。不仅提高进行而且新模型使用的参数更少。

用户还可以使用tf.contrib.estimator.Heads将自己的自定义损失函数用作AdaNet目标函数的一部分,以便训练回归,分类和多任务学习问题。

用户还可以通过扩展adanet.subnetwork.Generator类来定义要探索的候选子网的搜索空间,根据可用硬件增加或减少搜索空间。子网的搜索空间可以简单到使用不同的随机种子复制相同的子网配置,或者训练具有不同超参数组合的数十个子网,让AdaNet选择包含在最终集成模型中的子网。

AdaNet代码主页:

https://github.com/tensorflow/adanet

AdaNet教程:

https://github.com/tensorflow/adanet/tree/v0.1.0/adanet/examples/tutorials

总之一句话,要构筑神经架构的集成学习,就选AdaNet!

AdaNet会成为研究社区和Kaggle竞赛的新宠吗?让我们拭目以待~


长按关注我爱计算机视觉

【点赞与转发】就是一种鼓励

谷歌发布AdaNet,快速灵活的AutoML工具,帮助开发者构筑强大集成学习模型相关推荐

  1. 谷歌发布了安卓设备管理远程安全工具

    谷歌发布了安卓设备管理远程安全工具 谷歌已经发布了一款远程管理应用程序,改程序可以使得用户追踪.定位和清除丢失的设备. 该公司表示安卓设备管理器将提供一套被期待已久的安全工具来管理安卓设备,防止丢失或 ...

  2. 谷歌发布史上“最强大脑”——可以控制和操作机器人的AI模型

    ​谷歌发布了一款被誉为史上"最强大脑"的人工智能模型PaLM-E (Parameter-efficient Language Model with Explicit Memory) ...

  3. 机器视觉实用工具集NO.10——使用深度学习模型(yolo3)实现物体检测工具

    目录 前言 opencv+YOLO3实现物体检测 python源码 前言 OpenCV 3.3版本之后提供了对主流深度学习主干网络框架的加载支持.opencv给我们提供了一个应用成熟深度学习模型的便捷 ...

  4. 谷歌发布 iOS 黑客工具软件,或导致 iOS 11 被越狱

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 为 iPhone 带来巨大进步, 让 iPad 实现里程碑式飞跃. 这个是苹果官网上 iOS ...

  5. Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架

    雷锋网 AI 科技评论编者按:近期,Google 开源了轻量级 AutoML 框架-- AdaNet,该框架基于 TensorFlow,只需要少量的专家干预便能自动学习高质量模型,在提供学习保证(le ...

  6. 谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具

    谷歌又有了大动作.在大洋彼岸的谷歌Cloud Next conference大会上,谷歌一口气发布了多款AI新品和工具,主要包括: 端到端的AI平台 用于处理视频和表格数据的AutoML Tables ...

  7. 谷歌开源集成学习工具AdaNet:2017年提出的算法终于实现了

    晓查 编译整理 量子位 报道 | 公众号 QbitAI 最近,谷歌在GitHub上发布了用TensorFlow实现的AutoML框架--AdaNet,它改进了集成学习的方法,能以最少的专家干预实现自动 ...

  8. 谷歌发布TF新工具:计算速度提升2倍,减少无效参数

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一顿操作后,需要实时模糊背景的视频,看起来流畅了不少: 实时目标检测的延迟也更低了: 这是谷歌特意为移动设备和Web端开发的一系列新工具,可 ...

  9. 今天,谷歌发布了一个里程碑项目Cloud AutoML 这是个什么东西

    图:2017年3月9日在旧金山举行的Google Cloud Next大会 文章来源:ATYUN AI平台 谷歌在今天宣布了一项新的云服务Cloud AutoML,该服务旨在让企业更方便地创建定制的机 ...

最新文章

  1. C++中图像处理的类之二 CImg
  2. 互斥信号量和二进制信号量
  3. android--------Popupwindow的使用
  4. 高性能云网关,打通云内外业务互通的任督二脉
  5. 微信 oauth授权2
  6. fortran语言和python_fortran是什么语言吗?
  7. Failed to instantiate [com.XXX.entity.People]
  8. 验证集与测试集的区别
  9. nosqlbooster pojie
  10. 关于手画猫,耳朵涂颜色
  11. 牛逼,一个开源,高隐私,自架自用的聚合搜索引擎
  12. cf 487E/uoj 30 Tourists
  13. 中景园2.4寸TFT显示屏取模方式
  14. 什么是虚拟计算机集群
  15. 数电发票(全电发票)时代如何查验发票?
  16. Vuex基本使用的总结
  17. php中访问excel文件,PHP中常用的Excel文件访问类及修改 | 学步园
  18. HDU_1709 The Balence (生成函数)
  19. 区块链技术培训—从技术小白到年薪百万区块链工程师的进阶之路
  20. mysql数据库有哪些版本_MySQL数据库各个版本的区别

热门文章

  1. STM32 - 定时器的设定 - 基础- 06 - OCxREF signal - Clearing the OCxREF signal on an external event
  2. php rijndael,将PHP Rijndael算法重写为Java(Android)
  3. 5调色板怎么打开_CAD打开较大的图纸就卡死的解决方法
  4. 163 邮件 服务器 ssl,为什么用163的smtp服务时要关闭TLS才能发送邮件?
  5. #窗体整人小程序_Excel VBA和文件夹-1.8通过对话框灵活选定文件的小技巧
  6. python存储json数据_python 存储json数据
  7. eclipse java web乱码_JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)...
  8. iis php5.3配置,windows+IIS 环境下以Fastcgi方式配置php 5.3.3的方法
  9. pythonide的作用_Linux程序员宝典:2020年10款出色的Python IDE!
  10. NOIP 2011 聪明的质检员-二分答案