2018年度自动机器学习框架盘点

面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>>   hot3.png

自动机器学习在过去的一年里呈爆发式的增长态势,一个又一个新的自动化学习框架的诞生让人眼花缭乱,目不暇接

为了方便持续关注该领域的动态,我在这里将目前发现和关注的框架再汇总一下,算是对之前的更新和补充:

有兴趣的话,大家可以了解下《开源自动机器学习盘点》以及《AutoML自动化机器学习技术深入》

以下排名,按github上的标星排名

Tpot

Tpot的增长势头很猛,眼睁睁从去年的2k多星增长到了5k多星,不仅是关注的人增加了,框架本身的迭代升级也很快

好消息是经过这一年多的努力,Tpot开始可以支持Xgboost了

坏消息是框架也越来越臃肿庞大,笔者尝试在16核32G上的服务器上跑了一些小任务,结果进程经常就莫名崩溃了

由此可见Tpot目前还缺乏稳定的运行机制,只能做一些小数据集的探索,对于打造自动化模型构建系统来说,还欠缺火候

AutoKeras

AutoKeras无疑是过去一年,AutoML领域增长最快的一套框架,从发布到现在短短1年多,便收集了5k+star

为什么会这么迅速的崛起,除了AutoKeras项目本身的快速迭代更新以外,更重要的是,它是继auto_ml(部分支持深度学习)之后,第一个完全自动化深度学习的框架。大家想必也知道,深度学习的超参数调整一般会比较耗时,AutoKeras抓住了发展时机,给出了一种自动调参的途径。

可能大家就很好奇,AutoKeras采取的是什么方法和手段进行参数调整呢?那就是NAS(neural architecture search),好像很高大上的名词,其实我们可以把它理解为一堆搜索策略的组合:随机搜索、网格搜索、贪婪搜索和贝叶斯优化,这方面的介绍文章也很多了,mark一下,不做深入介绍了

从目前采用的策略来看,也是一个PU beast,看着我可怜的几个CPU和GPU,想想还是算了,惹不起

h2o-3

知道h2o有几年了,但一直以为是一个类似于orange或SAS的机器学习平台,找了一下发现也有AutoML的部分,不过并没有开源,而且仅限于企业版,想要使用需要填写一个申请表格,这样就能得到一个license。唉,都什么年代了,还用老掉牙的商业策略诱惑,算了,pass

Featuretools

Featuretools不能算是一个自动机器学习框架,只是一个半自动的特征组合工具,而且组合特征之前必须先转换成它定义好的类型,心累。虽然关注的人不少,不过相信真正能在工作中用起来的并不多。好不容易算是一个填补自动化空缺的工具,却还是这么难用,唉,pass

auto-sklearn

auto-sklearn在之前的文章里也介绍过了,这一年多发展的不温不火,然而糟糕的是,目前更新频率好像越来越慢,有点要放弃的势头,所以在这里也不继续深入介绍了,pass

AdaNet 

AdaNet给人眼前一亮的感觉,号称是tensorflow团队非官方的项目,一图胜千言,一看就懂

2018年度自动机器学习框架盘点_第1张图片

框架的亮点就在于 ANAS(渐进式的神经网络结构搜索),这个特征非常符合建模准则:奥卡姆剃刀、模型集成方法等,所以也是非常值得期待的,可以持续保持关注

(看来还是大公司靠谱)

可是,目前这个框架只能算是一种搜索算法,只能通过包的形式使用,还缺少一个工程化的壳子

NNI 

这个世界上的软件项目,怎么能缺少微软呢,微软出品的这套NNI框架,也没让我失望,设计条理清晰,结构简单合理,只可惜不支持windows平台

可以继续保持关注,我也是醉了,怎么自己打自己脸,主推的机器学习框架竟然不支持自家最nb的产品

不过NII的确实值得想要打造自动化机器学习平台的朋友的关注,该框架目前已经集成了绝大多数调节器包括:

TPE, Random Search, Anneal, Naive Evolution, SMAC, Batch ,Grid Search, Hyperband, Network Morphism, ENAS, Metis Tuner,BOHB

NNI还在快速的迭代中。不得不说,想要做成事,还得靠大厂

PocketFlow 

Tensorflow团队的自动化模型压缩框架,亮点也很多,顾名思义,是为移动设备准备的,暂不在本次考察考虑范围内,pass

darts

严格意义上来说,darts也只是一种算法框架,主要面向的是卷积和递归神经网络结构的搜索问题,所以它的命运很可能与Adanet类似是成熟后被集成到其他框架中去

TransmogrifAI 

TransmogrifAI,对我而言,这个框架又是一个鸡肋般的存在,使用scala编写,运行在spark之上,想想就很“沉重”,更何况以一己之力去维护这么一堆生态圈上的各个系统,简直就是自杀行为,算了,pass,有兴趣的朋友可以去关注

大家可能会觉得我有点简单粗暴,但我只想表达一点个人的观点:只有足够轻量的东西才能快速迭代,现在的自动化机器学习技术远不算成熟,把不成熟的思想封装到厚重的盒子里,会是什么后果呢?

automl-gs

automl-gs,这个好,简单小巧,有点“沙漠之鹰”的味道,一键输入,一键输出,值得关注

相比其他框架,最大的亮点:0代码,哈哈,懒人们有福了,不过会不会有更大的坑埋在里面呢?自己探索去吧

2018年度自动机器学习框架盘点_第2张图片

Auto_ml

之前的文章里,我也介绍过这款框架,不过不幸的是,和auto-sklearn类似,这款框架也有走下坡路的趋势,更糟的是已经1年没更新了,所以只好忍痛 pass 

Ludwig 

Ludwig,uber推出的机器学习“盒子”,与nni类似,未来这两款盒子谁将成为主导,还说不好,只能都保持关注

 

综上,自动化机器学习领域正受到越来越多巨头的关注,深度学习自动化,以及机器学习工程化的东西也越来越多了

一个掌握机器学习技术的人,能够使用这些工具创造价值、产生生产力的可能性也越来越大

机器学习专家的极客时代就要到来,看来未来真的有点意思了!

 

你可能感兴趣的:(2018年度自动机器学习框架盘点)