第一章 深度学习入门
帮助您使用Python进行深度学习,包括如何使用Keras构建和运行深度学习模型。本书也包括深度学习的技巧、示例代码和技术内容。
深度学习的数学基础很精妙:但是一般用户不需要完全了解数学细节就可以抄起键盘开始编程。实用一点讲,深度学习并不复杂,带来的成效却很客观。教会你如何用深度学习:这就是本书的目的。
如果你去问大佬们深度学习如何入门,他们会怎么说?不外乎:
总结一下:只有大神才能做深度学习。
本书准备把传统的教学方式倒过来:直接教你怎么深度学习。如果你觉得这东西真厉害我要好好研究一下,再去研究理论细节。本书直接让你用深度学习写出能跑的东西。
我用了不少深度学习的库:我觉得最好的还是基于Python的Keras。Python是完整的成熟语言,可以直接用于商业项目的核心,这点R是比不上的。和Java比,Python有SciPy和scikit-learn这些专业级别的包,可以快速搭建平台。
Python的深度学习库有很多,最著名的是蒙特利尔大学的Theano(已死,有事烧纸)和Google的TensorFlow。这两个库都很简单,Keras都无缝支持。Keras把数值计算的部分封装掉,留下搭建神经网络和深度学习模型的重点API。
本书会带领你亲手构建神经网络和深度学习模型,告诉你如何在自己的项目中利用。废话少说,赶快开始:
本书分3部分:
每节课是独立的,推荐一次性完成,时长短则20分钟,长则数小时 - 如果你想仔细调参数。课程分4块:
这部分我们介绍Theano、TensorFlow(TF)和Keras这3个库,以及如何在亚马逊的云服务(AWS)上用低廉的价格测试你的网络。分成4个部分:
这些是最重要的深度学习库。我们多介绍一点东西:
到这里你应该准备好用Keras开发模型了。
这部分我们介绍前馈神经网络,以及如何用Keras写出自己的网络。大体分段:
这里有3个项目可以帮助你开发神经网络,以及为之后的网络打下模板:
到这里你已经熟悉了Keras的基本操作。
这部分我们进一步探索Keras的API,研究如何得到世界顶级的结果。内容包括:
到这里你已经可以使用Keras开发成熟的模型了。
这部分我们介绍一些计算机视觉和自然语言的问题,以及如何用Keras构建神经网络出色地解决问题。内容包括:
写代码才能真正理解网络:这里我们用CNN解决如下问题:
到这里你可以用CNN对付你遇到的实际问题了。
这部分我们给你提供一些继续深造的资料。
边学习边积累代码库:每个问题你都写了代码,供以后使用。
本书给你所有项目的代码,以及一些没有讲到的Keras代码。自己动手积累吧!
你起码得会装Python和SciPy,本书默认你都配置好了。你可以在自己的机器上,或者虚拟机/Docker/云端配置好环境。参见第二章项目。
本书使用的软件和库:
版本不需要完全一致:但是希望安装的版本不要低于上面的要求。第二部分会带领你配置环境。
你不需要专业背景,但是会用scikit-learn研究简单的机器学习很有帮助。交叉检验等基本概念了解一下。书后有参考资料:简单阅读一下。
你不需要知道算法的数学理论,但是概念需要有所了解。本书有个神经网络和模型的入门,但是不会深度研究细节。术后有参考资料:希望你对神经网络有点概念。
注意:所有的例子都可以用CPU跑,GPU不是必备的,但是GPU可以显著加速运算。第5章会告诉你如何在云上配置GPU。
希望你看完本书后有能力从数据集上用Python开发深度学习算法。包括:
现在可以开始了。你可以挑自己需要的主题阅读,也可以从头到尾走一遍流程。我推荐后者。
希望你亲手做每一个例子,将所思所想记录下来。我的邮箱是[email protected]。本书希望你努力一下,尽快成为深度学习工程师。
本书为开发者提供深度学习的入门教程,但是挂一漏万。本书不是:
如果需要深入了解某个主题,请看书后的帮助。
此时此刻,深度学习的工具处于历史顶峰,神经网络和深度学习的发展从未如此之快,在无数领域出神入化。希望你玩的开心。
下一章我们讲解一下Theano、TensorFlow和你要用的Keras。