程序员慌不慌?自动化Keras四行代码搞定ML模型

点击上方关注,All in AI中国

导读:Auto-Keras是一个用于自动化机器学习的开源软件库。 Auto-Keras提供自动搜索深度学习模型的架构和超参数的功能。

程序员慌不慌?自动化Keras四行代码搞定ML模型

自动机器学习是听起来是个“城里”的新生事物,它将帮助我们创建更好的模型、更易于使用的优秀的API。在本文中,我们将与您讨论Auto-Keras,这是AutoScript与Keras的新软件包。

在开始之前,Matthew Mayo引用了一句名言:

AutoML不是自动化的数据科学。虽然毫无疑问它们一定会有重叠的部分,但机器学习只是数据科学工具包中的众多工具之一,而且它的使用实际上并没有考虑到所有数据科学任务。例如,如果预测将成为给定数据科学任务的一部分,那么机器学习将是一个有用的组件;但是,机器学习可能根本不会参与描述性分析任务。

那么,什么是自动化机器学习呢?简单来说就是一种自动化(https://www.automl.org/automl/)任务的方法:

  • 预处理并清理数据
  • 选择并构建适当的功能
  • 选择合适的模型系列
  • 优化模型超参数
  • 后处理机器学习模型
  • 批判性地分析所获得的结果

现在我们已经明确了什么是AutoML,什么是Keras?

程序员慌不慌?自动化Keras四行代码搞定ML模型

Keras是一个高级神经网络API,用Python编写,能够在TensorFlow、CNTK或Theano之上运行。它的开发重点是实现快速实验,能够以最小的延迟从想法到结果是进行良好研究的关键。

这是由FrançoisChollet创建的,是第一个让大众轻松学习深度学习的重要步骤。

TensorFlow有一个Python API并不那么难,但是Keras很容易让很多人进入深度学习。值得注意的是,Keras现在正式成为Tensorflow的一部分:

模块:tf.contrib.keras | TensorFlow

现在我们知道什么是Keras和AutoML,让我们把它们结合起来理解下。 Auto-Keras是一个用于自动化机器学习的开源软件库。 Auto-Keras提供自动搜索深度学习模型的架构和超参数的功能。

安装

程序员慌不慌?自动化Keras四行代码搞定ML模型

用法

对于用法,我将使用他们在网络上的示例。但首先让我们比较一下我们如何使用不同的工具做同样的事情。这里将使用的是著名但有时令人讨厌的MNIST数据集。

MNIST是一个简单的计算机视觉数据集。它包含手写数字的图像,如下所示:

程序员慌不慌?自动化Keras四行代码搞定ML模型

它还包括每个图像的标签,告诉我们它是哪个数字。

使用Eager执行的TensorFlow上的MNIST:

程序员慌不慌?自动化Keras四行代码搞定ML模型

资源:

  • tensorflow / models - 使用TensorFlow构建的模型和示例(https://github.com/tensorflow/models/blob/master/official/mnist/mnist_eager.py)
  • 动态执行| TensorFlow - 虽然动态执行使开发和调试更具交互性,但TensorFlow图执行具有以下优势......(https://www.tensorflow.org/guide/eager)

这并不是那么容易,但在示例中解释的很好。 TensorFlow并不是最容易进行深度学习的工具,而是一种快速可靠的工具。 通过快速执行,代码更具可读性。

使用PyTorch的MNIST:

程序员慌不慌?自动化Keras四行代码搞定ML模型

资源:

pytorch / examples - 关于视觉、文本、强化学习等中的pytorch的一组例子。(https://github.com/pytorch/examples/blob/master/mnist/main.py)

MNIST与Keras:

程序员慌不慌?自动化Keras四行代码搞定ML模型

资源:

keras-team / keras - 为人类提供深度学习(https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py)

你可以看到,直到现在,Keras是运行这个示例的更简单的包。 它是一个很棒的软件包,具有很棒的功能,可以在几分钟内从零变成一个模型。

带有Auto-Keras的MNIST:

程序员慌不慌?自动化Keras四行代码搞定ML模型

是的,就是这样。很简单吧?您只需要一个ImageClassifier,然后拟合数据并对其进行评估。你也有一个final_fit,在找到最好的架构后,它可以进行最后的训练。

现在您拥有ImageClassifier、BayesianSearcher、Graph模块、PreProcessor、LayerTransformer、NetTransformer、ClassifierGenerator和一些实用程序。这是一个不断发展的包,请看一下创作者的免责声明:

请注意,这是Auto-Keras的预发布版本,在正式发布之前仍进行最终测试。网站、其软件及其上的所有内容均按“原样”和“可用”基础提供。Auto-Keras对网站,其软件或其任何内容的适用性或可用性不做任何明示或暗示的保证。对于任何一方因使用库或内容而遭受的任何直接、间接、特殊或后果性损失,Auto-Keras概不负责。任何库的使用均由用户自行承担风险,用户将对任何计算机系统的任何损坏或由此类活动造成的数据丢失承担全部责任。如果您在网站上遇到任何错误、故障、缺乏功能或其他问题,请立即告知我们,以便我们相应地纠正这些问题。非常感谢您在这方面的帮助。

无论哪种方式都是非常有用的。有关AutoML和包的更多信息,请参阅:

  • AutoML - BOHB结合了贝叶斯优化和HyperBand的优点,以实现两全其美......(https://www.automl.org/)
  • 自动化机器学习的现状 - 自动机器学习(AutoML)在过去一年中已成为一个备受关注的话题......(https://www.kdnuggets.com/2017/01/current-state-automated-machine-learning.html)
  • 使用AutoML通过TPOT生成机器学习管道- 到目前为止,这个岗位将采取不同的方法来建设管道。(https://www.kdnuggets.com/2018/01/managing-machine-learning-workflows-scikit-learn-pipelines-part-4.html)

如果你想要用一个简单的方法来完成AutoML和Deep Learning而不需要编码,请查看Deep Cognition和我的一些帖子:

  • 深度学习让深度认知变得轻松 - 上个月,我庆幸遇到了DeepCognition.ai的创始人。深度认知打破了重大障碍······(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)

程序员慌不慌?自动化Keras四行代码搞定ML模型

程序员慌不慌?自动化Keras四行代码搞定ML模型

相关推荐