深度学习能够训练机器执行一些令人难以置信的任务,例如面部识别,癌症检测,甚至是股市预测。这就是为什么我们要学深度学习。 以下这些书可以让你从零开始学习深度学习。本文综述中的每一本书都有各自的优点,而且每一本书都非常出色。我已经把它们按我认为是最好的以及我建议学习先后的顺序排名。 1.用Scikit-Learn和TensorFlow进行机器学习作者试图以一种几乎任何人都能理解的方式来解释复杂的话题,而且,你可以看到如何处理真实数据,如何将数据可视化以获取洞察力,以及重要的是如何为机器学习算法准备数据。 在本书后面,你将看到著名的MNIST分类器,模型是如何训练以及一些基本的机器学习分类器,如SVM,决策树,随机森林等。 所有这一切都是为了让你准备好本书的第二部分,内容涉及Tensorflow(包括安装)以及基本的神经网络和深度神经网络。 我认为这本书的结构很好,并以正确的顺序介绍了主题,而且书中的想法和具体例子都有很好的解释。 2.深度学习(Deep Learning)这本书被许多人认为是深度学习的圣经,因为它汇集了数年和数年在一本书中学习和专注的研究。 这本书并不是为了专心学习,而是可以更好地用于睡前阅读,因为它充满了函数方程式,并以典型的教科书书写,所以它不会写成最有趣的风格。 它从一开始就介绍基础数学,如线性代数,概率论,接着转向机器学习基础,最后介绍深度网络和深度学习。 如果你是一个渴望掌握主题并进入深度学习研究的有抱负的学生,那么这本书肯定会对你有所帮助。这可能是目前关于此主题的最全面的书籍。 3.Deep Learning for the Layman(为外行准备的深度学习)正如标题所说的的那样,它是为一般读者而写的。 对于外行的深度学习首先介绍深度学习,具体来说,它是什么以及为什么需要它。 本书的下一部分解释了监督学习,无监督学习和强化学习之间的差异,并介绍了分类和聚类等主题。本书后面将讨论人工神经网络,包括它们是如何构建的以及构成网络中每一层的部分。最后讨论了深度学习,包括构成当今许多计算机视觉算法的一部分的卷积神经网络。 如果你想要一本简单的英文指南,同时又能看到很少炒作的文字,那么这本书可能适合你。 4.建立你自己的神经网络(Make Your Own Neural Network)这不是严格意义上的“深度学习”,但本书将带你深入了解神经网络及其工作原理,帮助你了解深度神经网络。 在本书中,你可以通过神经网络的数学指导,完整的理解神经网络的工作方式。你不仅可以知道他们如何工作,还可以在Python中实现两个神经网络示例,这将有助于巩固你对该主题的理解。 本书从机器学习的高层概述开始,然后深入研究神经网络的细节。所涉及的数学并没有超出大学水平,但包含微积分的介绍,这是以尽可能多的人访问的方式解释的。 5.深度学习初学者(Deep Learning for Beginners)对于初学者的深度学习,这本书并不太重视深度学习的数学,而是使用图表来帮助你理解深度学习的基本概念和算法。 本书采用与许多其他书籍不同的方法,通过提供深度学习算法的工作原理的简单示例,然后逐步构建这些示例并逐步引入更复杂的算法部分。 就书本结构而言,你将首先学习人工神经网络的基础知识,并了解机器学习和深度学习之间的差异。之后,你将在进入卷积神经网络(CNN)和其他深度学习算法之前了解有关多层感知器(MLP)的所有信息。 这是一本很好的初学者书籍,可以很好地解释这些概念,但是如果你正在寻找更实用的东西,那么你应该在本综述中查找其他书籍。 6.神经网络和深度学习(Neural Networks and Deep Learningeep Learning explained to your granny)一本通俗解释深度学习的书,简单地说,你的奶奶都可以在本书的帮助下理解深度学习! 神经网络和深度学习:让你逐步了解神经网络和深度学习的基础知识,对于那些想要了解这个主题但不一定想深入了解所有数学背景的人来说,这本书是一本很棒的书。 因此,在简要介绍机器学习之后,你将学习有监督学习和无监督的学习,然后研究诸如神经元、激活函数和不同类型的网络体系结构等。 最后,你将学习深度学习的实际工作原理,深度神经网络的主要类型(包括卷积神经网络),如何给神经网络提供记忆,还讨论了可用的各种框架和库。 7.深度学习基础:设计下一代机器智能算法(Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms)Nikhil Buduma和Nicholas Locascio撰写的这本书以及旨在帮助你开始深度学习,但其目标是那些熟悉Python并具有微积分背景的人。 我认为这本书的亮点之一是它大量使用了Tensorflow,它是Google的深度学习框架,用于构建神经网络。事实上,书中有一整章专门介绍它,这在我看来是一个巨大的优势。 就本书的其余部分而言,它涉及一些相当先进的特性,如梯度下降、卷积滤波器、深度强化学习等等。 8.学习TensorFlow:构建深度学习系统的指南(Learning TensorFlow: A Guide to Building Deep Learning Systems)接下来是一本完全关注Tensorflow的书,本书为Tensorflow提供了一个实用的实践方法,适用于广泛的技术人员,从数据科学家到工程师,学生。 通过在Tensorflow中提供一些基本示例,本书开始非常入门,但随后转向更深入的主题,如卷积神经网络等神经网络体系结构,如何使用文本和序列、TensorBoard可视化、TensorFlow抽象库以及多线程输入管道。 学习TensorFlow的终极目标是教你如何通过保存和导出模型以及如何使用Tensorflow服务API,在Tensorflow中构建和部署适用于生产的深度学习系统。 9.用Python深入学习(Deep Learning with Python)深度学习with python作为标题建议介绍深度学习使用Python编程语言和开源Keras库,它允许简单快速的原型设计。 在Python深度学习中, 你将从一开始就学习深度学习,你将学习所有关于图像分类模型,如何使用深度学习获取文本和序列,甚至可以学习如何使用神经网络生成文本和图像。 本书是为那些具有Python技能的人员编写的,但你不必在机器学习,Tensorflow或Keras方面有过任何经验。你也不需要先进的数学背景,只有基础的高中水平数学应该让你跟随和理解核心思想。 10.深度学习:从业者的方法(Deep Learning :A Practitioner’s Approach)本书重点介绍Deep Learning For Java(DL4J),它是用于训练和实施深度神经网络的Java框架/库。 现在大多数人工智能研究都是用Python进行的,因为快速原型开发通常更快,但随着更多组织(其中许多使用Java)拥抱AI,我们可能会看到更多的AI算法转向Java,如DL4J。 本书首先是关于深度学习的初学者书籍,但如果你已经具备Java或深度学习的经验,那么你可以直接查看示例。 通过阅读本书,你将总体了解机器学习概念,特别关注深度学习。你将了解深度神经网络是如何从基础神经网络发展而来的,你还将了解一些深层网络架构,如卷积神经网络和循环神经网络。 如果你熟悉Hadoop和Spark,那么你将能够了解如何使用DL4J本身的这些技术。 11.用TensorFlow进行专业深度学习(Pro Deep Learning with TensorFlow)本书将以亲身实践的方式教给你Tensorflow,让你能够从零开始学习深度学习,快速掌握Tensorflow API并学习如何优化各种深度学习网络架构。 专业深度学习将帮助你开发调整现有神经网络体系结构所需的数学知识和经验,甚至创造出可能挑战最新技术水平的全新体系结构。 本书中的所有代码都以iPython笔记本的形式提供,因为我过去曾使用过Tensorflow,我发现在开发过程中使用iPython笔记本电脑非常有用。 本书面向数据科学家和机器学习专业人员、软件开发人员、研究生和开源爱好者,并将为你提供数学基础和机器学习原理,使你能够开展研究并将深度学习解决方案部署到生产环境中。 12.用于深度学习的TensorFlow(TensorFlow for Deep Learning)本书将通过从头开始的实例向你介绍深度学习的概念,专门为开发经验丰富的构建软件系统的开发人员但没有深度学习体系结构的经验设计。 本书将向你展示如何设计可执行对象检测,翻译人类语言,分析视频甚至预测潜在药物特性的系统! 你将获得关于Tensorflow API的深入知识,如何在大型数据集上训练神经网络以及如何在卷积网络,循环网络,LSTM和强化学习中使用TensorFlow。 本书的确需要一些基本线性代数和微积分的背景知识,但这是一本实用的书,旨在教你如何创建可以学习的系统。
|