媲美谷歌AutoML!四行代码上手开源AutoKeras
作者 | Favio Vázquez
编译 | Debra
编辑 | Natalie
AI 前线导读: 自动化机器学习就像是一个新生儿呱呱坠地,它能帮助我们创建更好用的模型和更容易使用的 API。今天,我们来讲一讲 AutoKeras——一个开源的,基于 Keras 的新型 AutoML 库。有人将它称为谷歌 AutoML 的“杀手”,真是这样吗?
更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
在开始之前,先来看看 Matthew Mayo 关于 AutoML 的一段话:
AutoML 不是自动化数据科学。虽然毫无疑问会有所重叠,但机器学习只是数据科学工具包中的众多工具之一,而且它不是所有数据科学任务不可或缺的因素。例如,在关于预测的数据科学任务中,机器学习将是一个有用的部分;但是,机器学习可能根本不会参与到描述性分析任务中去。
那么,什么是自动化机器学习呢?简单来说就是一种自动化(https://www.automl.org/automl/ )任务的方法:
预处理并清理数据。
选择并构建适当的功能。
选择合适的模型系列。
优化模型超参数。
后处理机器学习模型。
批判性地分析所获得的结果。
现在我们已经明确了什么是 AutoML,那什么是 Keras 呢?
Keras 是一个用 Python 编写的高级神经网络 API,能够在 TensorFlow、CNTK 或 Theano 之上运行。它的意义在于可以实现快速实验。而能够以最小的延迟把想法变成结果是顺利进行研究的关键。
Fran?oisChollet 创建的这个工具,是让大众轻松学习深度学习的第一步。
虽然 TensorFlow 的 Python API 并不那么难,但是对很多人来说用 Keras 入门深度学习更加容易。值得注意的是,Keras 现在已经正式成为 Tensorflow 的一部分了:
https://www.tensorflow.org/api_docs/python/tf/contrib/keras
好了,现在我们知道什么是 Keras 和 AutoML,接下来是把它们结合起来。
AutoKeras 是一个用于自动化机器学习的开源软件库,提供自动搜索深度学习模型的架构和超参数的功能。
凭什么说 AutoKeras 比 AutoML 更好?
在机器学习自动化方面,谷歌的 AutoML 无疑地位稳固。AutoML 基于谷歌最新的图像识别技术神经架构搜索( Neural Architecture Search ,NAS)。NAS 是一种算法,会根据特定数据集搜索最佳神经网络架构,以在该数据集上执行特定任务。AutoML 是一套机器学习工具,可以轻松训练高性能深度网络,而无需用户掌握深度学习或 AI 知识,所有你需要的只是标记数据!
AutoML 完全改变了整个机器学习格局,因为许多应用程序不再需要专业技能和知识了,许多公司也只需要深度网络来完成简单的任务,如图像分类。这样,他们就不需要雇用 5 名机器学习博士来做这件事,而只需要能够处理和组织数据的人就行。
但是,AutoML 不是一剂万能的良方,不能让所有公司和个人轻轻松松做 AI,因为它是收费的。据悉,使用 Google 的 AutoML 进行计算机视觉,每小时需要花费 20 美元,在付费试用之前,我们不能确定结果的精确度会比自己手动设计的网络更好。但是,现在的 AI 社区开源已经成为潮流和趋势,这正是 AutoKeras 略胜 AutoML 一筹的地方——开源。
另一方面,AutoKeras 基于非常易于使用的深度学习数据库 Keras,使用 ENAS 的方法。ENAS 是 NAS 的最新版本,因此让 AutoKeras 具有高效、安装简单、参数可调、易修改等特点。
如何使用 AutoKeras?
安装
pip install autokeras接下来我用一个示例来说明它的用法。
首先,让我们比较一下如何使用不同的工具来做相同的事。我先使用著名的,但有时令人讨厌的 MNIST 数据集。
MNIST 是一个简单的计算机视觉数据集,它包含手写数字的图像,如下所示:
它还包括每个图像的标签,告诉我们它是哪个数字。
MNIST+TensorFlow 进行 Eager execution
参考资料:
https://github.com/tensorflow/models/blob/master/official/mnist/mnist_eager.py
https://www.tensorflow.org/guide/eager
虽然做起来不是那么容易,但在例子中很好地解释了。TensorFlow 并不是深度学习最简单的工具,而是一种快速可靠的工具。通过 eager execution,代码更具可读性。
MNIST+PyTorch
参考资料:
https://github.com/pytorch/examples/blob/master/mnist/main.py
MNIST+Keras
参考资料:
https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py
经过对比,你可以发现,目前 Keras 是运行这个例子最简单的包,它功能强大,可以在几分钟内从零开始构建模型。
重点来了,现在,还有更秀的!
MNIST+AutoKeras
是的,就是这样。很简单吧?你只需要一个 ImageClassifier,然后拟合数据并对其进行评估。你会得到一个 final_fit,在找到最好的架构后,它就会进行最后的训练。
现在,你有了 ImageClassifier、BayesianSearcher、Graph module、预处理器、LayerTransformer、NetTransformer、ClassifierGenerator 和一些实用程序。这个库还在不断开发中。
无论如何,这都将是一个非常有用的库。有关 AutoML 和代码库的更多信息,请参阅:
https://www.automl.org/
https://www.kdnuggets.com/2017/01/current-state-automated-machine-learning.html
https://www.kdnuggets.com/2018/01/managing-machine-learning-workflows-scikit-learn-pipelines-part-4.html
如果你还想要做 AutoML 和深度学习不用编程、更加简单的方法,请参阅我的博客:
https://becominghuman.ai/deep-learning-made-easy-with-deep-cognition-403fbe445351
https://towardsdatascience.com/a-video-walkthrough-of-deep-cognition-fd0ca59d2f76
https://towardsdatascience.com/deep-learning-with-a-little-help-from-my-friends-596ee10fd934
小结
就像有人说所说,深度学习和人工智能能力强大,我们不应该把它藏在付费这堵墙后面。谷歌、亚马逊、苹果、Facebook 和微软都是需要赚钱才能生存和竞争的企业,但现在,研究论文是公开的,很多人决定在 Arxiv 等网站上公开发布他们的工作,与社区分享研究成果并获得反馈。然而,事实上仍然有很多研究成果因为付费问题而发挥不了它们的最大价值。
知识应该是开源的,这对每个人都有好处。开源的 AutoKeras 会不会真的成为 AutoML“杀手”呢?这还有待用户对它的的使用体验和性能评估,AI 前线将继续保持关注。
原文链接:
https://towardsdatascience.com/auto-keras-or-how-you-can-create-a-deep-learning-model-in-4-lines-of-code-b2ba448ccf5e
https://towardsdatascience.com/autokeras-the-killer-of-googles-automl-9e84c552a319
如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦!
阅读原文
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。 项目经理在线