新智元报道
编辑:张佳
【新智元导读】日前,亚马逊AWS推出AutoGluon,只需三行代码自动生成高性能模型,让调参、神经架构搜索等过程实现自动化。一位调参师亲自试了一番,他手工调的faster rcnn就被AutoGluon通过NAS自动搜索的yolo打爆了整整6个点。这也让李沐大神感慨:调得一手好参的时代要过去了。戳右边链接上新智元小程序了解更多!
近日,亚马逊宣布推出AutoGluon,这是一个新的开源库,开发人员能够正常的使用该库构建包含图像、文本或表格数据集的机器学习应用程序。使用AutoGluon,只需编写几行代码就可通过深度学习的力量来构建应用程序。
已经有不少朋友按耐不住内心的激动开始尝鲜,这不,一位名叫“Justin ho”的“灵魂调参师”就用自己的亲身经历给我们讲了一个深夜鬼故事:
他手工调的faster rcnn(resnet50 backbone)就被AutoGluon通过NAS自动搜索的yolo(mobilenet backbone)打爆了整整6个点。
这也让李沐大神感慨,调得一手好参的时代要过去了:
知乎网友纷纷感慨,调参法师要失业了:
接下来,我们为大家介绍一下AutoGluon。
AutoGluon:用更少的代码,打造更高的SOTA性能模型
深度学习是机器学习的一部分,深度学习模型是受到人脑结构的启发而生成的。深度学习算法通常包含不少层,用于学习输入数据的有用表示。比如,在面向图像识别的深度学习模型中,较低的层可检测更多的基本特征(颜色或边缘),而较高的层可用于识别更复杂的特征(如数字或对象)。
一般来讲,部署深度学习模型,实现最先进的性能需要广泛的专业相关知识。目前来看深度学习的应用仍主要局限在有限数量的专家中,但在过去十年里,为了简化深度学习应用难度,降低门槛,让机器学习为更多的技术专业技术人员方便使用,研究人员的努力已经收到了明显成效。
比如,开发人员早先必须投入大量时间和专业相关知识,来计算训练深度学习模型所需的梯度。梯度是向量,可以标识出效果最好的参数更新,最大程度地减少训练数据中实例的错误。像Theano这样的软件库还可以自动计算高度复杂的神经网络的梯度,让开发人员通过样板代码使用日益复杂的神经体系结构。
像Keras这样的较新的库代表了深度学习普适化的又一次进步。它允许开发人员指定参数,比如输入数量,深度学习模型的层数,甚至仅需几行代码就能定义一个网络层,从而简化了现有库中的大量样板代码,而这部分代码在现在的库中是必不可少的。
不过,即使有了这些进步,今天的深度学习专家和开发人员仍必须解决许多麻烦的问题,包括超参数调整、数据预处理、神经体系结构搜索以及迁移学习有关的决策。
超参数调整涉及到如何明智的选择神经网络中的层数、如何连接这些层(即网络的体系结构)以及如何训练网络。
数据处理,包括数据分类和正确格式化矢量的数据预处理也可能是一个非常麻烦的过程。
神经架构搜索涉及自动化架构工程,能够使开发人员为其机器学习模型找到最佳设计。所有这些决定都需要相当多的专业相关知识,提高了深度学习的门槛。
三行代码自动生成高性能模型,让人工决策自动化
AutoGluon为开发人员自动化了许多决策,开发人员只需三行代码即可生成高性能的神经网络模型!
开发人员无需在设计深度学习模型时手动尝试必须做出的数百种选择,只需简单地指定让训练好的模型就绪的时间即可。作为响应,AutoGluon可通过可用的计算资源在其分配的运行时间内找到最强大的模型。
AutoGluon能够最终靠自动调整默认范围内的选择来生成仅需三行代码的模型,而这些默认范围在已知范围内可以很好地完成给定任务。开发人员只需指定他们何时准备好训练后的模型,AutoGluon就会利用可用的计算资源来在分配的runtime中找到最强大的模型。
Mueller说:“由于深度学习固有的不透明性,深度学习专家做出的许多选择都是基于特殊的直觉,没有很严格的科学指导规范。AutoGluon解决了这样的一个问题,因为所有选择都会在默认范围内自动调整,而且默认范围对于特定任务和模型表现良好。”
官网指南:AutoGluon快速上手
AutoGluon官方网站为开发人员提供了许多教程,可利用它们对表格,文本和图像数据进行深度学习(诸如涵盖分类/回归等基本任务以及对象检测等更高级的任务)。
对于经验比较丰富的开发人员,AutoGluon网站提供有关如何使用AutoGluon API来自动提高定制应用程序中的预测性能的自定义说明。
关于Autogluon简明使用教程和官方安装指南等更多信息,请见官网:
https://autogluon.mxnet.io/