前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AutoML 前瞻与实践 ---- AutoML 简介

AutoML 前瞻与实践 ---- AutoML 简介

作者头像
流川疯
发布2021-12-06 15:52:10
6980
发布2021-12-06 15:52:10
举报
文章被收录于专栏:流川疯编写程序的艺术

00 – 简介

机器学习的应用需要大量的人工干预,这些人工干预表现在:特征提取、模型选择、参数调节等机器学习的各个方面。AutoML视图将这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可被应用。

2012年,AlexNet为了充分利用多个GPU的算力,创新性地将深度神经网络设计成两部分,使网络可以在两个GPU上进行训练。2013年,ZFNet又进一步解决了Feature Map可视化的问题,将深度神经网络的理解推进了一大步。2014年,VGGNet通过进一步增加网络的深度而获得了更高的准确率;同年,GoogLeNet的发明引入了重复模块Inception Model,使得准确率进一步提升。而2015年ResNet将重复模块的思想更深层次地发展,从而获得了超越人类水平的分辨能力。这时,由于深度神经网络层数的不断加深,需要训练的参数过于庞大,为了在不牺牲精度的同时减少需要训练的参数个数,2017年DenceNet应运而生。

随着深度神经网络的不断发展,各种模型和新颖模块的不断发明利用,人们逐渐意识到开发一种新的神经网络结构越来越费时费力,为什么不让机器自己在不断的学习过程中创造出新的神经网络呢?出于这个构思,2017年Google推出了AutoML—一个能自主设计深度神经网络的AI网络,紧接着在2018年1月发布第一个产品,并将它作为云服务开放出来,称为Cloud AutoML。自此,人工智能又有了更进一步的发展,人们开始探索如何利用已有的机器学习知识和神经网络框架来让人工智能自主搭建适合业务场景的网络,人工智能的另一扇大门被打开。

研究动机

(1)传统机器学习是一个烦琐且耗时的过程

传统的AI模型训练往往要经历特征分析、模型选择、调参、评估等步骤,这些步骤需要经历数月的时间,如果完全没经验,时间会更长。AutoML虽然也需要经历这些步骤,但是通过自动化的方式,可以减少这些步骤的时间。选择怎样的参数,被选择的参数是否有价值或者模型有没有问题,如何优化模型,这些步骤在从前是需要依靠个人的经验、知识或者数学方法来判断的。而AutoML可以完全不用依赖经验,而是靠数学方法,由完整的数学推理的方式来证明。通过数据的分布和模型的性能,AutoML会不断评估最优解的分布区间并对这个区间再次采样。所以可以在整个模型训练的过程中缩短时间,提升模型训练过程的效率。

(2)传统机器学习有一定难度,准入门槛高

模型训练的难度使得很多初学者望而却步,即使是数据专家也经常抱怨训练过程是多么令人沮丧和变化无常。没有经过一定时间的学习,用户很难掌握模型选择、参数调整等步骤。

AutoML可以降低使用机器学习的门槛,它作为一个新的AI研究方法,将机器学习封装成云端产品,用户只需提供数据,系统即可完成深度学习模型的自动构建,从而实现自动化机器学习。

AutoML将会成为机器学习发展的最终形态,即机器自己完成学习任务,这样基于计算机强大计算能力所获得的模型将优于人类对它定义的模型。从使用的角度来讲,必定会有更多非专业领域的人受益于AutoML的发展。

意义和作用

21世纪是一个信息的时代,各行各业都面临着一个同样的问题,那就是需要从大量的信息中筛选出有用的信息并将其转化为价值。随着机器学习2.0的提出,自动化成为了未来机器学习发展的一个方向。各行各业都涉及机器学习,机器学习已经融入我们生活的方方面面,比如金融、教育、医疗、信息产业等领域。

AutoML带来的不仅仅是自动化的算法选择、超参数优化和神经网络架构搜索,它还涉及机器学习过程的每一步。从数据预处理方面,如数据转换、数据校验、数据分割,到模型方面,如超参数优化、模型选择、集成学习、自动化特征工程等,都可以通过AutoML来完成,从而减少算法工程师的工作量,使他们的工作效率得到进一步提升。

(1)AutoML解决了人工智能行业人才缺口的瓶颈

对于急速发展的人工智能领域来说,人才的培养显得有些不足。人工智能的发展时时刻刻都在变化,而培养一批该行业的专业人员通常需要几年的时间。以青年人群为例,从上大学开始,学校才会根据专业对他们进行培养。如果选择计算机专业,本科教育通常只会让他们了解到计算机的基础知识,使其具备基本的编程能力;通常到研究生阶段,才会接触到机器学习等复杂的人工智能。这就需要至少6年的时间才能培养出一批机器学习领域的从业人员。 这样长的人才培养周期是无法跟上人工智能行业快速发展的脚步的,而AutoML就很好地解决了这一问题。AutoML可以提供自动化的服务,对于曾经需要人工参与的数据处理、特征处理、特征选择、模型选择、模型参数的配置、模型训练和评估等方面,实现了全自动,仅凭机器就可以独立完成这一系列工作,不需要人工干预,从而减少了人力资源的浪费,解决了人才紧缺的问题。

但是,这就涉及另一个问题了,既然机器可以完成大部分的工作,是否会造成相关专业人员的失业问题呢?其实,这个答案必然是否定的,AutoML可以解决人才紧缺的状况,但是并不代表它能取代专业人士。现有的AutoML平台虽然可以完成这些步骤的自动化处理,但是其中的规则仍然需要人工设定,也就是说,专业人士并不会面临失业的困境,而是要做更高端的工作。

(2)AutoML可以降低机器学习的门槛,使AI平民化

前文已经提到过很多次,机器学习的自动化可以降低机器学习的入门门槛。无论是机器学习新人、机器学习行业从业者,还是机器学习行业专家,都可以很好地适应AutoML,并使用它提供的服务。

(3)AutoML可以扩大AI应用普及率,促进传统行业变革

AutoML作为这类问题的解决方案,使得越来越多的科技企业开始研发AutoML平台,目的就是为不懂技术的传统企业提供使用AutoML技术的捷径,从而达到人人皆可用AI的局面。AutoML作为一个新的AI研究方法,扩展了AI研究能够到达的边界,然后又在其上构建了AutoML的应用平台及产品,让AI的应用得到了较为有效的扩展,让更多行业都可以用AI解决现实世界中的问题。

现有AutoML 平台产品

写 这篇文章的主要动因也是因为发现了,百度目前全方位对autoML 的转型

  • 探智立方DarwinML
  • 第四范式AI Prophet AutoML
  • 智易科技
  • 阿里云PAI

当然,作为autoML 的初级产品,很多产品的形态是拖拽式建模,或者叫可视化建模,这里本人曾经做过一个整体的调研对比:

autoML 前景展望

为了解决上述问题而诞生了AutoML,AutoML试图将这些特征工程、模型选择以及参数优化等重要步骤进行自动化学习,使得机器学习模型无需人工参与即可被应用。

从前节可见,机器学习的泛化受到了诸多条件的制约,此时急需一种更加通用的方案来解决上述问题,这就产生了AutoML。AutoML是一个将从根本上改变基于机器学习解决方案现状的方案。

AutoML是一个控制神经网络提出一个可以在特定任务上训练和评测性能的子模型架构,测试的结果会反馈给控制器,让控制器知道下一轮如何改进自己的模型。自动机器学习集中在以下两个方面:数据采集和模型预测。在这两个阶段之间所有发生的步骤将被自动机器学习抽象出来。实际上,用户只需要提供自己的数据集、标签并按下一个按钮来生成一个经过全面训练的和优化预测的模型。大多数平台都提示用户来上传数据集,然后对类别进行标记。之后,在数据预处理、模型选择、特征工程和超参数优化中涉及的大部分步骤将在后台进行处理。这种方法极大地改变了在训练机器学习模型中涉及的传统工作流。

AutoML完全改变了整个机器学习领域的游戏规则,因为对于许多应用程序,不需要专业技能和知识。许多公司只需要深度网络来完成更简单的任务,例如图像分类。那么他们并不需要雇用一些人工智能专家,他们只需要能够数据组织好,然后交由AutoML来完成即可。

AutoML OpenSource Tool 趋势与排名

小技巧:使用一下两个方式进行搜索:

当使用github 时候可以在链接 topics 后面输入相对应的关键词,从而得到这个领域关键词下面opensource 组件的排名

  • Ray ⭐ 16,874 An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
  • Nni ⭐ 10,085 An open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.
  • Tpot ⭐ 8,168 A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
  • Autokeras ⭐ 8,077 AutoML library for deep learning
  • Featuretools ⭐ 5,666 An open source python library for automated feature engineering
  • Auto Sklearn ⭐ 5,579 Automated Machine Learning with scikit-learn
  • H2o 3 ⭐ 5,474 H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.
  • Automl ⭐ 4,477 Google Brain AutoML

参考文献

autoML系列文章目录

论文合集

参考网站:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 00 – 简介
    • 研究动机
      • 意义和作用
        • 现有AutoML 平台产品
          • autoML 前景展望
          • AutoML OpenSource Tool 趋势与排名
          • 参考文献
            • autoML系列文章目录
              • 论文合集
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档