深度学习是机器学习的一个子领域,它采用了一个特定的模型:一族通过某种方式连接起来的简单函数。由于这类模型的结构是受到人类大脑结构的启发而创造出来的,因此我们通常把它们称为
神经网络
(neural networks)。神经网络中的函数链条能够将复杂的概念分解为多个层次的更简单的概念,这就是深度学习的核心思想。例如,深度学习模型的第一层,可以用来学习如何获取原始数据,并用基本的方式来组织它(如将多个点组合成直线)。后面每一层都将前面一层组织成更高级、更抽象的概念。我们把学习这种抽象概念的过程称作
表征学习
(representation learning)。
深度学习的神奇之处在于,我们并不需要事先了解中间层的概念具体是什么。如果选择的模型层次足够多(即深度足够深),并提供足够数量的训练数据,它就能在训练过程中逐步将原始数据组织为越来越高级的概念。那么训练算法怎么知道应当使用哪些概念呢?它并不需要知道。它只需要找到能够更好地匹配训练样本的数据组织方式就可以了。至于生成的表征是不是能够符合人们对数据的印象,那就无法保证了。图1-9展示了如何将表征学习融入深度学习的流程中。
图1-9 深度学习和表征学习
深度学习的这种强大能力是有代价的:深度学习模型需要学习的权重数量非常巨大。回顾一下前面处理身高-体重数据集的简单模型
ax
+
b
,这个模型只有两个权重需要学习。而用于处理图像标签应用的深度学习模型,则可能有上百万个权重。因此,深度学习需要更大的数据集、更强的计算能力以及更多的训练实践。深度学习与传统机器学习各有其适用的情形。在下列几种情形中,深度学习是一个不错的选择。
-
应用的数据格式是非结构化的
。图像、音频和书面语言都是深度学习的理想处理对象。采用简单模型来学习这些数据也不是不可能,但通常需要非常复杂的预处理过程。
-
有大量的可用数据,或者有办法获得更多数据
。通常,模型越复杂,训练所需的数据就越多。
-
有足够强的计算能力或充足的时间
。深度学习模型在训练和评估过程中都需要更多的计算量。
而在以下的情形中,应当选择参数较少的传统模型。
-
应用的数据是结构化的
。如果输入看起来更像是数据库记录,那么通常可以直接应用简单模型。
-
想要一个描述性的模型
。使用简单模型,能够看到最终学习到的具体函数,因而可以直接检查不同的输入对输出的影响。这样做能让开发者更方便地了解应用在真实世界中的工作情况。但是在深度学习模型中,特定输入与最终输出之间隔着绵长曲绕的神经连接,使得我们很难对模型做出描述或解释。
由于深度学习指的是模型类型,因此前面讲到的几个不同的机器学习分支,都可以应用它。例如,在监督学习中,根据拥有的训练数据的不同,我们可以在简单模型或深度学习模型之间做出选择。
深度学习推荐书单
深度学习[deep learning]
-
深度学习领域奠基性经典畅销书,
-
数据科学家和机器学习从业者必读,
-
长期位居美亚AI和机器学习类图书榜首
-
图灵奖获奖作品,全彩印刷
《深度学习》由全球知名的三位专家IanGoodfellow、YoshuaBengio和AaronCourville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。
《深度学习》适合各类读者阅读,包括相关专业的大学生或研究生,以及不具有机器学习或统计背景、但是想要快速补充深度学习知识,以便在实际产品或平台中应用的软件工程师。
动手学深度学习
人工智能机器学习深度学习领域重磅教程图书,
美亚科学家作品,交互式实战环境下动手学深度学习的全新模式
原理与实战紧密结合
本书面向希望了解深度学习,特别是对实际使用深度学习感兴趣的大学生、工程师和研究人员。本书不要求读者有任何深度学习或者机器学习的背景知识,读者只需具备基本的数学和编程知识,如基础的线性代数、微分、概率及Python编程知识。本书的附录中提供了书中涉及的主要数学知识,供读者参考。
本书的英文版Dive into Deep Learning是加州大学伯克利分校2019年春学期“Introduction to Deep Learning”(深度学习导论)课程的教材。截至2019年春学期,本书中的内容已被全球15 所知名大学用于教学。本书的学习社区、免费教学资源(课件、教学视频、更多习题等),以及用于本书学习和教学的免费计算资源(仅限学生和老师)的申请方法在本书配套网站zh.d2l.ai上发布。读者在阅读本书的过程中,如果对书中某节内容有疑惑,也可以扫一扫书中对应的二维码寻求帮助。
PyTorch生成对抗网络编程
-
动手学深度学神经网络与深度学习
-
图像识别搭建GAN卷积图像生成
-
配套示例代码,图文并茂,用PyTorch构建自己的生成对抗网络
生成对抗网络(Generative Adversarial Network,GAN)是神经网络领域的新星,被誉为“机器学习领域近20年来最酷的想法”。
本书以直白、简短的方式向读者介绍了生成对抗网络,并且教读者如何使用PyTorch按部就班地编写生成对抗网络。全书共3章和5个附录,分别介绍了PyTorch基础知识,用PyTorch开发神经网络,改良神经网络以提升效果,引入CUDA和GPU以加速GAN训练,以及生成高质量图像的卷积GAN、条件式GAN等话题。附录部分介绍了在很多机器学习相关教程中被忽略的主题,包括计算平衡GAN的理想损失值、概率分布和采样,以及卷积如何工作,还简单解释了为什么梯度下降不适用于对抗式机器学习。
机器学习的数学
-
人工智能深度学习领域经典教程,AI程序员的数学参考书
-
透彻理解机器学习算法,从数学层面搞懂核心算法原理的逻辑
-
python程序讲解,众多专家学者力荐
本书的目标是帮助读者全面、系统地学习机器学习所必须的数学知识。全书由8章组成,力求精准、最小地覆盖机器学习的数学知识。包括微积分,线性代数与矩阵论,**化方法,概率论,信息论,随机过程,以及图论。本书从机器学习的角度讲授这些数学知识,对它们在该领域的应用举例说明,使读者对某些抽象的数学知识和理论的实际应用有直观、具体的认识。
本书内容紧凑,结构清晰,深入浅出,讲解详细。可用作计算机、人工智能、电子工程、自动化、数学等相关专业的教材与教学参考书。对人工智能领域的工程技术人员与产品研发人员,本书也有很强的参考价值。对于广大数学与应用的数学爱好者,本书亦为适合自学的读本。
零基础学机器学习
-
人工智能教程书籍,深入浅出神经网络与深度学习入门
-
基于python框架算法,入门必备小白书
-
课堂培训配备丰富的实战案例赠送全书实例源代码。
本书的目标,是让非机器学习领域甚至非计算机专业出身但有学习需求的人,轻松地掌握机器学习的基本知识,从而拥有相关的实战能力。
本书通过AI“小白”小冰拜师程序员咖哥学习机器学习的对话展开,内容轻松,实战性强,主要包括机器学习快速上手路径、数学和Python 基础知识、机器学习基础算法(线性回归和逻辑回归)、深度神经网络、卷积神经网络、循环神经网络、经典算法、集成学习、无监督和半监督等非监督学习类型、强化学习实战等内容,以及相关实战案例。本书所有案例均通过Python及Scikit-learn 机器学习库和Keras 深度学习框架实现,同时还包含丰富的数据分析和数据可视化内容。
程序员面试宝典:百面机器学习+百面深度学习 算法工程师带你去面试
-
人工智能时代程序员不可不读学习面试宝典
-
一线大厂算法工程师合力著作,套装全面收录200+真实算法面试题
-
浪潮之巅作者吴军推荐。套装书专属资源赠送!
《百面机器学习 算法工程师带你去面试》
不可不读的机器学习面试宝典!微软全球执行副总裁、美国工程院院士沈向洋,《浪潮之巅》《数学之美》作者吴军,《计算广告》作者、科大讯飞副总裁刘鹏,联袂推荐!
人工智能几起几落,最近这次人工智能浪潮起始于近10年,技术的飞跃发展,带来了应用前suo未有的可能性。未来的几年,是人工智能技术全面普及化的时期,也是算法工程师稀缺的时期。
本书旨在帮助对人工智能和机器学习有兴趣的朋友们更加深入地了解这个领域的基本技能,帮助每个软件工程师成为自信的AI实践者,帮助每个数据科学家成为出众的AI研究者。对每个有志进入此领域的工程师来说,本书会为你铺设一条快速通往目标的道路。
《百面深度学习 算法工程师带你去面试》
不可不读的深度学习面试宝典《百面机器学习》姊妹篇。
Hulu诚意出品,全面收录135道算法面试题。
一线大厂算法工程师合力创作,直击面试要点。
从算法与模型到多领域应用,全方位解读深度学习。
Python神经网络编程
-
人工智能深度学习机器学习领域又一重磅力作
-
自己动手用Python编写神经网络
-
美亚排名前茅荣获众多好评 全彩印刷 图表丰富
本书首先从简单的思路着手,详细介绍了理解神经网络如何工作所必须的基础知识。第一部分介绍基本的思路,包括神经网络底层的数学知识,第2部分是实践,介绍了学习Python编程的流行和轻松的方法,从而逐渐使用该语言构建神经网络,以能够识别人类手写的字母,特别是让其像专家所开发的网络那样地工作。第3部分是扩展,介绍如何将神经网络的性能提升到工业应用的层级,甚至让其在Raspberry Pi上工作。
最新深度学习书
-
人工智能的实践性入门教程,采用Keras深度学习框架
-
用Python来实现代码,Google旗下AI子公司Deepmind研究科学家作序推荐
-
提供配套源代码
本书通过教读者构建一个围棋机器人来介绍深度学习技术。随着阅读的深入,读者可以通过Python深度学习库Keras采用更复杂的训练方法和策略。读者可以欣赏自己的机器人掌握围棋技艺,并找出将学到的深度学习技术应用到其他广泛的场景中的方法。
本书主要内容
● 构建一个游戏 AI,并教会它自我改进。
● 用深度学习增强经典游戏 AI 系统。
● 实现深度学习的神经网络。
要阅读本书,读者只需具备基本的Python技巧和高中水平的数学知识,而不需要任何深度学习经验。