专栏首页新智元谷歌AutoML鼻祖Quoc Le新作AutoML-Zero:从零开始构建机器学习算法

谷歌AutoML鼻祖Quoc Le新作AutoML-Zero:从零开始构建机器学习算法

新智元报道

来源:google

编辑:白峰

【新智元导读】市面上的自动机器学习算法多如牛毛,但并没有得到很好的普及,因为这些算法限制了搜索的空间,很多研究者还是需要自己设计机器学习模型的结构,而谷歌此次发布的AutoML-Zero搜索空间完全没有限制,可以从最基础的数学公式开始。「新智元急聘主笔、编辑、运营经理、客户经理,添加HR微信(Dr-wly)了解详情。」

AutoML 试图将特征工程、模型选择、参数调节这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可生成。谷歌这次提出的方法跟以往的有何不同呢?

新方法可自动搜索新算法,仅利用基本的数学公式

Automl-Zero 旨在自动发现机器学习算法,从空的或随机的程序开始,只使用基本的数学运算。它可以同时无偏好地搜索机器学习算法的所有方面,包括模型结构和学习策略

尽管 Automl-Zero 的搜索域很广,但进化搜索看起来表现不错,通过搜索发现了线性回归、带有反向传播的双层神经网络,甚至是超过手工设计的复杂度相当的基线算法。

上面的图显示了我们实验中的一个例子,可以看到演化算法是如何来一步步解决二分类任务的。首先是个线性模型,没有任何优化方法,然后逐步发现了 SGD 来进行优化,接着开始加入随机的学习率,再往后发现了ReLU激活函数,随机权重初始化,梯度归一化等等,越来越接近我们手工设计的网络结构和优化方法。

如果想了解更多的细节可以去论文中查找。原文链接:https://arxiv.org/abs/2003.03384

几乎从零开始,跟传统的组装型自动机器学习区别很大

我们手工构建一个典型的机器学习模型,要经过以下几个步骤,数据预处理、模型构建、学习、预测,而 AutoML-Zero 的工作原理,可以简单理解为将各个步骤涉及的基本数学方法放在一个篮子里,然后随机从篮子取出放在对应的步骤,利用进化搜索,不断得到最优的组合

AutoML-Zero 跟之前的自动机器学习有什么异同呢?之前的自动学习主要集中在体系结构上,它依赖于专家设计的复杂层作为构建块——或类似的限制性搜索空间。我们的目标是证明 AutoML 可以走得更远: 只需使用基本的数学运算作为构建块,来发现一个完整的机器学习方法, 我们通过引入一个新的框架来证明这一点,在这个搜索空间中可以显著减少人类经验的偏见,发现一些有趣的东西。

我们用 auto-sklearn 来解释下传统的自动机器学习所使用的方法,对细节感兴趣的同学可以看下这篇论文。

原文链接:http://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf

作者开发了一个基于 scikit-learn 的强大的新 AutoML 系统(使用 15 个分类器,14 个特征预处理方法和 4 种数据预处理方法,从而产生具有 110 个超参数的结构化搜索空间)。这个系统是在有限的参数空间中,通过自动对比在类似数据集上的性能,以及评估这些自动构造的模型性能,来实现自动搜索最优的机器学习方法。

如何用Python实现传统的AutoML

到这里你应该理解了,AutoML-Zero 的普适性更强一些,可以发现未知的机器学习方法,而 auto-sklearn 只是在现有的结构和参数中自动找到最优的。

我们用 Python 来举个简单的例子:

import autosklearn.classification
import sklearn.model_selection
import sklearn.datasets
import sklearn.metrics
X, y = sklearn.datasets.load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = \
sklearn.model_selection.train_test_split(X, y, random_state=1)
AutoML = autosklearn.classification.AutoSklearnClassifier()
AutoML.fit(X_train, y_train)
y_hat = AutoML.predict(X_test)
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_hat))

如果想亲自动手实验的话可以安装 Anaconda ,它集成了所需要的大部分Python科学计算库,然后通过conda安装 auto-sklearn。

本文分享自微信公众号 - 新智元(AI_era),作者:新智元

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【全自动机器学习】ML 工程师屠龙利器,一键接收训练好的模型

    【新智元导读】机器学习系统有大量的超参数,在应用中需要依赖领域专家知识,并且有繁重的人工调参任务。现在,有一项工作希望让这些过程自动化,只需一个按钮,就能让你得...

    新智元
  • 【让调参全部自动化】自动机器学习,神经网络自主编程(代码与诀窍)

    【新智元导读】自动机器学习(AutoML)是近来很活跃的研究方向。KDnuggets 的主编 Matthew Mayo 写了一篇文章介绍了 AutoML 的概念...

    新智元
  • 深度学习颠覆云计算,亚马逊、微软、谷歌势必与英伟达一决高下

    【新智元导读】多位精英CIO、CTO和技术高管组成的福布斯杂志的常设部门Forbes Technology Council 撰文指出,随着市场对针对机器学习优化...

    新智元
  • 云计算的限制:为什么需要边缘的机器学习

    能够在设备或边缘上执行基于机器学习的任务,而不是将其发送到云端进行处理,许多人将其描述为“机器学习演进的下一个阶段”。有许多重要的限制,功耗、成本、延迟、隐私等...

    静一
  • 迁移学习 - 机器学习的下一个前沿

    近年来,我们在训练深度神经网络从大量的标记数据(图片、句子、标签预测等)中获取非常精确的输入输出映射关系上取得了巨大的进展。

    人工智能资讯小编
  • 吴恩达最新TensorFlow专项课程开放注册,你离TF Boy只差这一步

    以前,吴恩达的机器学习课程和深度学习课程会介绍很多概念与知识,虽然也会有动手实验,但它们主要是为了帮助理解。在这一份 Coursera 新课中,吴恩达与谷歌大脑...

    磐创AI
  • 深度 | 迁移学习全面概述:从基本概念到相关研究

    选自sebastianruder.com 作者:Sebastian Ruder 机器之心编译 参与:马亚雄、吴攀、李亚洲 将在一个场景中学习到的知识迁移到另一个...

    机器之心
  • 机器学习入门概览

    用户1737318
  • 机器学习入门概览

    我们从一个实例来了解机器学习的基本概念。假设我们现在面临这样一个任务(Task) ,任务的内容是识别手写体的数字。对于计算机而言,这些手写数字是一张张图片,如下...

    AI科技大本营
  • 吴恩达最新TensorFlow专项课程开放注册,你离TF Boy只差这一步

    以前,吴恩达的机器学习课程和深度学习课程会介绍很多概念与知识,虽然也会有动手实验,但它们主要是为了帮助理解。在这一份 Coursera 新课中,吴恩达与谷歌大脑...

    机器之心

扫码关注云+社区

领取腾讯云代金券