如何入门Keras? 您所在的位置:网站首页 python怎么安装keras库 如何入门Keras?

如何入门Keras?

#如何入门Keras?| 来源: 网络整理| 查看: 265

Keras 是一款用 Python 编写的高级神经网络 API,由François Chollet发明,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。因此能够以最小的时延把你的想法转换为实验结果,所以是一个很流行的机器学习和深度学习开发工具。

数据科学家&机器学习专家Charles Martin曾这么总结过Keras的功劳:

机器学习算法我们已经使用了10余年了,这些算法并不是很容易掌握和运用。在我看来,这些年最重要的一项进展就是Keras的出现,它让此前被人们认为并不现实甚至遥不可及的人工智能产品实现了落地应用,发挥出它们的价值。

总而言之,Keras是任何想涉足机器学习研发工作的人都应掌握的工具。关于Keras的学习资料,现在网上已经出现了很多。今天我们就分享一下新手入门掌握Keras的学习路径,教你如何通过7步从头开始学习Keras,进而打开深度学习的大门

第一步:神经网络的基础知识

要想使用Keras学习机器学习知识,最好先熟悉神经网络的基础原理。如果不了解,可以看看我们这篇对神经网络的详细解读:

https://www.zhihu.com/question/22553761/answer/309089493

以及这篇对8种神经网络的总结归纳:

https://zhuanlan.zhihu.com/p/34022544

第二步:Keras基础知识

首先,到底什么是Keras?了解的最好方式就是阅读Keras官方中文文档主页内容(戳这里),一定要特别注意“快速开始:30 秒上手 Keras”部分,这部分内容应该足够让你明白Keras的简单使用方法。

强烈推荐DataCamp计算机专家Karlijn Willems整理的Keras速查表,可以把它下载下来放在手边使用,非常方便。下载地址:

https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Keras_Cheat_Sheet_Python.pdf

还可以查看她对这篇速查表的详细解释:

https://www.datacamp.com/community/blog/keras-cheat-sheet#gs.0X64hsc

最后查看Keras官方文档中关于Keras的安装问题,了解如何安装Keras:

https://keras.io/zh/

第三步:Keras概览

机器学习专家Valerio Maggio在PyData London 2017大会上分享了一场叫做“10步掌握Keras”的很棒的演讲。内容包括了详细介绍Keras,与其它机器学习库的比较,已经如何使用Keras。这篇视频绝对值得观看,大概时长90分钟,一定能让你对Keras的理解更深一步。

视频地址:

https://youtu.be/FrkYu2zVUyM

接着查看Keras文档的如下几个页面,以理解Keras的模型实现方法。

https://keras.io/zh/models/about-keras-models/

https://keras.io/zh/getting-started/sequential-model-guide/

https://keras.io/zh/getting-started/functional-api-guide/

如果你想进一步了解Keras和TensorFlow之间的区别,可以看看Aakash Nain写的这篇博客:

https://medium.com/implodinggradients/tensorflow-or-keras-which-one-should-i-learn-5dd7fa3f9ca0

最后,学习关于更改Keras后端的信息,查看文档中的这个页面:

https://keras.io/zh/backend/

第四步:用Keras迈出一小步

前面掌握了神经网络知识和Keras的基本原理后,我们现在先用Keras做出一点东西,就跟大家使用新的深度学习库时通常的做法一样:实现一个简单的逻辑回归模型。

如果你前面看过我们推荐的Valerio的视频,那么这里你应该知道完成这个任务需要哪些东西。如果没看,可以参考Valerio的这篇演讲的笔记要点,很好地比较了TensorFlow,Theano和Keras的实现代码。如果你只对Keras代码感兴趣,看完Keras部分就OK了。

笔记地址:

https://github.com/leriomaggio/deep-learning-keras-tensorflow/blob/euroscipy2017/1%20Multi-layer%20Fully%20Connected%20Networks.ipynb

下方就是Keras部分的代码(摘自Maggie的笔记),从中应该能很清楚的看到如何用Keras实现逻辑回归模型。注意,数据预处理部分已经包含在内:

from keras.models import Sequential from keras.layers import Dense, Activation dims = X_train.shape[1] print(dims, 'dims') print("Building model...") nb_classes = Y_train.shape[1] print(nb_classes, 'classes') model = Sequential() model.add(Dense(nb_classes, input_shape=(dims,), activation='sigmoid')) model.add(Activation('softmax')) model.compile(optimizer='sgd', loss='categorical_crossentropy') model.fit(X_train, Y_train)

实现逻辑回归模型只是简单的一小步,下面我们用Keras实现更复杂更有价值的东西——神经网络,且包含一个隐藏层。

首先,确保已经查看了Keras文档的如下页面,主要讲解Sequential模型和网络层。

https://keras.io/zh/models/sequential/

https://keras.io/zh/layers/about-keras-layers/

https://keras.io/zh/layers/core/

待熟悉这部分文档后,就开始用Keras实现神经网络。首先可以参看集智的这篇用Keras搭建深度神经网络的教程:

https://jizhi.im/blog/post/gpu-p3

然后跟着这篇讲解用Keras实现一个会玩一字棋游戏的神经网络的教程:

https://www.kdnuggets.com/2017/09/neural-networks-tic-tac-toe-keras.html

教程中附有代码,跟着敲就行。

等完成以上这四步后,我们接着学习实现更为复杂的神经网络。

第五步:实现卷积神经网络

要想在Keras中实现卷积神经网络(CNN),首先需阅读Keras文档中关于卷积层的部分:

https://keras.io/zh/layers/convolutional/

之后可以查看集智的这两篇讲解文章和教程:

https://jizhi.im/blog/post/ml_is_fun_03

https://jizhi.im/blog/post/intuitive_explanation_cnn

机器学习专家Brandon Rohrer的讲解卷积神经网络的这段视频也值得一看:

https://youtu.be/FmpDIaiMIeA

如果觉得不够,可以搜罗其它关于用Keras实现CNN网络的教程,总之多加练习。

第六步:实现循环神经网络

和前面实现卷积神经网络一样,我们在用Keras实现循环神经网络(RNN)之前,首先阅读Keras文档中关于循环层的部分:

https://keras.io/zh/layers/recurrent/

如果对循环神经网络知识不是很熟悉,一定先掌握这部分知识。接着我们学习Chris Albon这篇用Keras实现LSTM网络(RNN中的主要类型)用于文本分类的教程:

https://chrisalbon.com/deep_learning/keras/lstm_recurrent_neural_network/

了解更多关于循环神经网络的知识,还可以看看Brandon Rohrer的这段讲解视频:

https://youtu.be/WCUNPb-5EYI

以及集智的这篇讲解用RNN生成超级玛丽关卡的文章:

https://jizhi.im/blog/post/ml_is_fun_02

第七步:接下来呢?

到了这里,你应该已经对Keras有了很牢固的理解,包括为何用Keras,在哪些情况下用Keras,以及如何用Keras实现多种神经网络架构。现在算得上是Keras老手了,对吧?

不过,我们还是要百尺竿头更进一步,探索更多额Keras话题。建议下一步跟着Keras的官方教程学习:

https://blog.keras.io/category/tutorials.html

之后,看看Keras的这篇示例目录,包含了视觉模型实例,文本&序列模型,生成式模型示例等等。

https://github.com/fchollet/keras/tree/master/examples

另外,也可以挑战一下自己,学习怎样调试你在前面几步实现的神经网络模型。比如修改优化器,添加网络层,应用激活函数等。或者用Keras指标回过头判定一下你的模型的性能。Keras文档的评估标准部分是个不错的学习去处:

https://keras.io/zh/metrics/

结语

上面就是大家学习和掌握Keras的七个步骤,通过这七步,相信最后你应该能熟练应用Keras。

后面我们会分享针对小白的更为详细具体的Keras入门教程,包括从设置开发环境、安装Keras、加载数据集到定义模型、训练模型和评估模型的整个流程,欢迎关注我们。

0806期《人工智能-从零开始到精通》火热报名中!

戳这里看详情

谈笑风生 在线编程 了解一下?

或许你还喜欢:

https://jizhi.im/blog/post/how-to-do-style-transfer-with-keras

https://jizhi.im/blog/post/how-to-create-fk-review-with-keras

https://jizhi.im/blog/post/keras_av



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有