深度学习是如今最火热的技术之一,但是对于有心入门却不得其法的同学来说,选择适合自己的书籍至关重要。
本着乐于助人、无私奉献的精神,营长特意为大家精选了 7 本深度学习相关的书籍。这些书籍中,有些非常注重理论知识,主要关注神经网络和深度学习背后的数学和相关假设;有些则注重实战,通过代码而不是理论来讲解深度学习。而那种既有理论讲解,同时又有相应的实战训练的书籍,往往是营长的最爱。
接下来,营长将列出每本书籍的核心内容以及目标受众,帮助大家选择最适合自己的深度学习教材。
1.《深度学习》(Deep Learning)
出自 Goodfellow、Bengio 和 Courville 三位大牛之手的《深度学习》(Deep Learning)不可不提。本书旨在成为一本教科书,用于在大学课堂上教授关于深度学习的基本原理和理论。Goodfellow 等人的《深度学习》完全是理论性的书籍,而且没有代码,因此适用对象为学术界的读者。
这本书首先讨论了机器学习的基础知识,从学术角度讲解了有效研究深度学习所需的应用数学(线性代数,概率和信息论等)知识;在此基础上,本书进一步讲解了深度学习算法和技术的相关知识;在最后一部分,《深度学习》这本书主要讲解了深度学习领域当前的研究趋势以及正在发生的变化。
本书适用人群:
1. 习惯从理论中学习,而不是实践
2. 喜欢学术写作
3. 本科生、研究生、教授等学术界的人员
2、Neural networks and Deep Learning
第二本以理论为主的深度学习图书是 Michael Nielsen 撰写的《神经网络和深度学习》(Neural networks and Deep Learning)。
本书其实还包含了 7 段由 Python 编写的代码,包括各种基本的机器学习算法,神经网络或深度学习技术,所有都是基于 MNIST 数据集上实现的。虽然这些代码的实现手段可能并不是最好的,但它们可以帮助读者理解书中的一些理论概念。
如果你对机器学习和深度学习不熟悉,但渴望深入了解其理论方法,Nielsen 的书应该是你的首选。这本书比 Goodfellow 的《深度学习》要更容易阅读,而 Nielsen 的写作风格加上一些的代码片段使得知识更容易融会贯通。
本书适用人群:
1. 正在寻找一本基于理论的深度学习书籍
2. 机器学习/深度学习的新手,但希望从更学术的角度来看待这一领域
3、Deep Learning with Python
谷歌 AI 研究员、Keras 的作者 Francois Chollet 在 2017 年 10 月出版了他自己的书 Deep Learning with Python 。
在该书中,Francois 从一个从业者的角度来讲解深度学习方法。书中包括了一些理论知识和相应的讨论,但是每一段理论都会配合基于 Keras 的实现方式。
这本书我最喜欢的一个地方是 Francois 列举了将深度学习应用于计算机视觉、文本和序列的例子,使这本书为那些希望在了解机器学习和深度学习的同时学习 Keras 的读者,提供了一个不错的选择。
我发现 Francois 的文字清晰易读,他对深度学习趋势和历史的评论非常富有洞察力。需要特别指出的是,这本书并不是一本深入深度学习的书。相反,它的主要用途是通过 Keras 来教会你深度学习基础和不同领域的深度学习实战案例。
本书适用人群:
1. 对 Keras 感兴趣
2. 习惯通过动手来学习
3. 希望快速了解如何将深度学习应用于各个领域,如计算机视觉、序列学习和文本等
4、Hands-On Machine Learning with Scikit-Learn and TensorFlow
当我第一次拿到 Aurélien Géron 的 Hands-On Machine Learning with Scikit-Learn and TensorFlow 这本书时,如果不是标题中包含了“TensorFlow”这个词,我可能仅认为它只是关于机器学习的基本介绍。
幸运的是,这本书其实非常棒,而且是被标题耽误的一本好书。
Géron 的深度学习书籍分为两部分:第一部分介绍支持向量机(SVM),决策树,随机森林,集成方法和无监督学习算法等基本机器学习算法,而且还包括了每个算法的 Scikit-learn 代码示例;第二部分是基于 TensorFlow 库讲解了基本的深度学习内容。
本书适用人群:
机器学习的新手,并希望从代码示例来学习核心算法
对流行的 scikit-learn 机器学习库感兴趣
想要快速学习如何使用 TensorFlow 库来完成基本的深度学习任务
5、TensorFlow Deep Learning Cookbook
如果你喜欢“食谱”那样的教学风格(理论少、代码多),我会建议你看看 Gulli 和 Kapoor 撰写的 TensorFlow Deep Learning Cookbook 这本书。
这是一本非常具有实用性的深度学习手册,而且对于 TensorFlow 使用者来说也是一个很好的参考。再次说明,这本书并不是要教深度学习,而是告诉你如何在深度学习的背景下使用 TensorFlow库。
当然,读完这本书,你一定会学习到新的深度学习概念、技术和算法。但是这本书采用了严格的类似于食谱的写作手法:大量的代码和相应的解释。
我认为这本书的唯一不足之处是代码片段中存在一些拼写错误。当你阅读这本书时,请注意这一点。
本书适用人群:
1. 已经学习了深度学习的基础知识
2. 对 TensorFlow 感兴趣
3. 喜欢“食谱”这种文风,也就是用代码来解决特定问题,但不讨论基础理论
6、Deep Learning: A Practitioners Approach
虽然大多数包含代码示例的深度学习书籍都使用 Python,但 Adam Gibson 和 Josh Patterson 撰写的 Deep Learning:A Practitioners Approach 一书却使用 Java 和 DL4J 库。
为什么选择 Java?
Java 是大型企业中最常用的编程语言,特别是在企业级的应用上。
Gibson 和 Patterson 在前几章讨论了基本的机器学习和深度学习基础知识,剩下的部分包括了使用 DL4J 库,基于 Java 的深度学习代码示例。
本书适用人群:
1. 需要使用 Java 编程语言来进行特定的开发
2. 为主要使用 Java 的大型公司或企业工作
3. 想了解如何使用 DL4J 库
7、Deep Learning for Computer Vision with Python
这本书已经成为当今最好的深度学习和计算机视觉资源之一。谷歌AI的研究员、Keras 的作者 Francois Chollet 对这本新书是这样评价的:
“这本书在计算机视觉深度学习实践方面讲解得非常深入,而且读起来也通俗易懂:讲解不仅清晰而且非常详细。你会发现许多实用的技巧和建议,这些在其他书籍或大学课程中都很少提到。无论你是从业人员还是初学者,我强烈推荐这本书。—— Francois Chollet”
这本书里面有很多的细节讲解,并有大量的详细例子,涵盖了各种方法与如何在实际问题使用这些方法来解决问题。
如果你有兴趣学习深度学习在计算机视觉上的应用(图像分类、物体检测、图像理解等),那么这本书将非常适合你。
在这本书里面,你会:
理论和实践相结合的方式来学习机器学习和深度学习的基础;
学习先进的深度学习技术,包括对象检测,多GPU训练,迁移学习和生成对抗网络(GAN)等;
复现 ResNet、SqueezeNet、VGGNet 等在 ImageNet 数据集上的结果;
此外,对于每个理论深度学习概念,你都可以在这本书中找到相关的 Python实 现来帮助您巩固知识。
本书适用人群:
1. 对深度学习在计算机视觉和图像理解方面的应用特别有兴趣
2. 想在理论和实践之间取得很好的平衡需要一本深度学习书籍,使得看似复杂的算法和技巧易于掌握和理解
3. 需要一本清晰易懂的书,引导你掌握深度学习