PaddlePaddle深度学习实战
基本信息
作者: 刘祥龙 杨晴虹 谭中意 蒋晓琳
丛书名: 智能系统与技术丛书
出版社:机械工业出版社
ISBN:9787111600466
定价 69元
出版日期:2018 年6月
开本:16开
版次:1-1
所属分类:计算机
目录
序
前言
致谢
第1章 数学基础与Python库 1
1.1 Python是进行人工智能编程的
主要语言 1
1.2 数学基础 4
1.2.1 线性代数基础 4
1.2.2 微积分基础 8
1.3 Python库的操作 17
1.3.1 numpy操作 17
1.3.2 matplotlib操作 23
本章小结 27
第2章 深度学习概论与PaddlePaddle入门 28
2.1 人工智能、机器学习与深度学习 29
2.1.1 人工智能 30
2.1.2 机器学习 30
2.1.3 深度学习 31
2.2 深度学习的发展历程 32
2.2.1 神经网络的第一次高潮 32
2.2.2 神经网络的第一次寒冬 33
2.2.3 神经网络的第二次高潮 34
2.2.4 神经网络的第二次寒冬 35
2.2.5 深度学习的来临 35
2.2.6 深度学习崛起的时代背景 36
2.3 深度学习的应用场景 36
2.3.1 图像与视觉 37
2.3.2 语音识别 37
2.3.3 自然语言处理 38
2.3.4 个性化推荐 38
2.4 常见的深度学习网络结构 39
2.4.1 全连接网络结构 39
2.4.2 卷积神经网络 40
2.4.3 循环神经网络 41
2.5 机器学习回顾 41
2.5.1 线性回归的基本概念 42
2.5.2 数据处理 44
2.5.3 模型概览 45
2.5.4 效果展示 46
2.6 深度学习框架简介 47
2.6.1 深度学习框架的作用 47
2.6.2 常见的深度学习框架 48
2.6.3 PaddlePaddle简介 49
2.6.4 PaddlePaddle使用 49
2.7 PaddlePaddle实现 51
本章小结 60
第3章 深度学习的单层网络 61
3.1 Logistic回归模型 62
3.1.1 Logistic回归概述 62
3.1.2 损失函数 64
3.1.3 Logistic回归的梯度下降 66
3.2 实现Logistic回归模型 71
3.2.1 Python版本 72
3.2.2 PaddlePaddle版本 81
本章小结 90
第4章 浅层神经网络 92
4.1 神经网络 92
4.1.1 神经网络的定义及其结构 92
4.1.2 神经网络的计算 94
4.2 BP算法 100
4.2.1 逻辑回归与BP算法 101
4.2.2 单样本双层神经网络的BP算法 101
4.2.3 多个样本神经网络BP算法 105
4.3 BP算法实践 108
4.3.1 Python版本 109
4.3.2 PaddlePaddle版本 116
本章小结 122
第5章 深层神经网络 123
5.1 深层网络介绍 123
5.1.1 深度影响算法能力 124
5.1.2 网络演化过程与常用符号 125
5.2 传播过程 127
5.2.1 神经网络算法核心思想 127
5.2.2 深层网络前向传播过程 128
5.2.3 深层网络后向传播过程 129
5.2.4 传播过程总结 130
5.3 网络的参数 132
5.4 代码实现 133
5.4.1 Python版本 133
5.4.2 PaddlePaddle版本 136
本章小结 140
第6章 卷积神经网络 141
6.1 图像分类问题描述 141
6.2 卷积神经网络介绍 142
6.2.1 卷积层 142
6.2.2 ReLU激活函数 147
6.2.3 池化层 148
6.2.4 Softmax分类层 149
6.2.5 主要特点 151
6.2.6 经典神经网络架构 152
6.3 PaddlePaddle实现 159
6.3.1 数据介绍 159
6.3.2 模型概览 160
6.3.3 配置说明 160
6.3.4 应用模型 168
本章小结 169
第7章 个性化推荐 170
7.1 问题描述 170
7.2 传统推荐方法 171
7.2.1 基于内容的推荐 172
7.2.2 协同过滤推荐 173
7.2.3 混合推荐 175
7.3 深度学习推荐方法 176
7.3.1 YouTube的深度神经网络推荐系统 176
7.3.2 融合推荐系统 178
7.4 个性化推荐系统在PaddlePaddle上的实现 180
7.4.1 数据准备 180
7.4.2 模型配置 182
7.4.3 模型训练 184
7.4.4 模型测试 188
本章小结 188
第8章 个性化推荐的分布式实现 190
8.1 PaddlePaddle Cloud介绍 190
8.2 PaddlePaddle Cloud使用 192
8.2.1 创建集群 192
8.2.2 配置集群 192
8.2.3 配置客户端 193
8.3 个性化推荐在PaddlePaddle Cloud上的实现 194
8.3.1 提交单节点任务 194
8.3.2 个性化推荐在PaddlePaddle Cloud上的实现 196
本章小结 199
第9章 广告CTR预估 200
9.1 CTR预估简介 200
9.1.1 CTR定义 201
9.1.2 CTR与推荐算法的异同 202
9.1.3 CTR预估的评价指标 202
9.2 CTR预估的基本过程 205
9.2.1 CTR预估的三个阶段 206
9.2.2 CTR预估中的特征预处理 206
9.3 CTR预估的常见模型 208
9.3.1 LR模型 208
9.3.2 GBDT模型 210
9.3.3 GBDT+LR模型 212
9.3.4 FM+DNN模型 214
9.3.5 MLR模型 215
9.4 CTR预估在工业上的实现 217
9.5 CTR预估在PaddlePaddle上的实现 218
9.5.1 数据集 218
9.5.2 预测模型选择和构建 219
9.5.3 PaddlePaddle完整实现 222
本章小结 226
第10章 算法优化 227
10.1 基础知识 227
10.1.1 训练、验证和测试集 227
10.1.2 偏差和方差 228
10.2 评估 229
10.2.1 选定评估目标 229
10.2.2 迭代过程 230
10.2.3 欠拟合和过拟合 230
10.3 调优策略 231
10.3.1 降低偏差 231
10.3.2 降低方差 236
10.4 超参数调优 242
10.4.1 随机搜索和网格搜索 242
10.4.2 超参数范围 243
10.4.3 分阶段搜索 243
10.4.4 例子:对学习率的调整 244
本章小结 245
↑折 叠
前言
人工智能(AI)前景无量已经成为业界共识,国内外很多企业都聚集了各种资源大力发展人工智能。人工智能并不是一个新生的名词,在数十年的发展历程中,像“深度学习”这样在学术界和工业界皆具颠覆性的技术可谓十年难遇。作为国内人工智能领域的领头羊,百度在AI领域早已深耕多年,特别是在深度学习领域建树颇丰。百度通过应用深度学习技术,使其在语音、视觉、文本、无人驾驶等各领域都处于领先位置。百度着力打造大AI生态,倾其全力推动中国AI产业大力发展。2016年,百度开源了其内部使用的深度学习框架PaddlePaddle。
深度学习算法十分强大,但深入理解和灵活运用深度学习算法并不是一件容易的事情,尤其是复杂的数学模型和计算过程让不少同学刚入门就放弃了。现在市面上有不少科普型的书,主要作用是从宏观上描述深度学习的发展和用途,没有对细节的描述,只起到了提振读者信心的作用。同时,也不乏学界大牛的全而难的“大部头”著作,但是其中帮助初学者入门深度学习的内容并不多。本书针对此现状立足于PaddlePaddle框架,从算法到应用由浅入深地带领读者一步一步进入AI技术世界。
本书从实战的角度出发,旨在帮助读者掌握满足工业需求的实际技能。在真实工业开发中框架是必不可少的,现在市面上框架很多且各具特色,其中PaddlePaddle因为其具有上手容易、运行效率高、支持私有云等优势,受到越来越多的公司和个人的青睐。虽然开发者对PaddlePaddle表现出了浓厚的兴趣,可惜的是市面上还没有一本关于PaddlePaddle的书。为了让更多的开发者享受到深度学习带来的福利,于是由百度发起,特邀北航参与,两家精诚合作联袂打造了本书。
本书采用由简入繁的原则撰写而成。我们希望本书能成为一名能带领读者领略PaddlePaddle精妙的精神导游。从较为简单的线性回归、逻辑回归到较为复杂的RNN数字识别、个性化推荐、云上部署等,本书结合若干实例,系统地介绍了PaddlePaddle的使用特点。教会读者如何使用框架就像教会了读者一套外功拳法。然而本书不仅关注框架本身的细节用法,还非常注重基础知识和理论,目的是教会读者内功心法。书中既详细描述了神经网络的各个细节,也深入讲解了算法性能优化的思路和技巧,旨在帮助读者深入理解深度学习的精髓。
本书共分为10章,每一章都包含理论介绍和对应的代码实现。除了第1章讲述主要的数学基础外,其余各章都有PaddlePaddle的代码实现。
第1章介绍数学基础和Python库的使用。
第2章回顾神经网络的发展历程和机器学习的基本概念,使用线性回归作为PaddlePaddle的入门示例。
第3章以逻辑回归为主线介绍单个神经元的工作原理,分别使用numpy库和PaddlePaddle实现逻辑回归模型的猫脸分类。
第4章开始正式介绍神经网络。以双层的网络为例深入讲解BP算法的计算过程,分别用numpy库和PaddlePaddle实现“花”的点集分类问题。
第5章介绍深度神经网络的相关知识,总结神经网络的核心算法运算过程。然后使用深度网络再次分别使用numpy库和PaddlePaddle实现猫脸分类。
第6章以图像分类为切入点深入讲解卷积神经网络的相关细节,同时介绍几种经典的网络模型。接着介绍用PaddlePaddle实现基于MNIST数据集的手写数字的识别。
第7章介绍个性化推荐系统的算法,包括基于传统机器学习的推荐方法和基于深度学习的推荐方法,其中重点介绍深度学习的融合推荐系统。同时介绍使用PaddlePaddle在ml-1m 数据集上完成推荐系统的具体实现。
第8章以个性化推荐系统为例,详细讲解PaddlePaddle Cloud的使用方法,介绍在云上如何创建、配置集群,如何提交单节点任务等,并实现基于PaddlePaddle Cloud搭建分布式深度学习推荐网络模型。
第9章介绍PaddlePaddle的又一个应用场景,即广告点击通过率预估(CTR),重点介绍CTR的基本过程和常见模型,然后基于Kaggle数据集网站的Avazu数据集,使用PaddlePaddle实现训练和预测的整个过程。
第10章系统介绍算法优化的思路和方法。从深度学习系统的实践流程开始,介绍评估和调优策略等重要概念和思想,并结合实例给出调优的具体效果。
本书适合的读者主要包含:
对PaddlePaddle框架感兴趣的开发者;
希望学习深度学习的在校大学生和在职的程序员;
从事深度学习教学工作的一线教师;
希望深入理解深度学习的产品经理。
PaddlePaddle深度学习实战
这本书的阅读体验中,最让我感到“舒适”的是它在处理复杂概念时的叙事节奏感。很多技术书籍读起来像是一口气喝下一大杯冰水,虽然内容丰富,但过程是痛苦的。而这本书的结构设计非常巧妙,它总能在关键的转折点设置小结或者“思维导图”,帮助读者消化刚刚学到的知识点,避免信息过载。例如,在讲解了生成对抗网络(GAN)的基本框架后,作者并没有立刻跳到WGAN或DCGAN,而是用一页篇幅总结了“判别器”和“生成器”之间的博弈平衡点,用一种近乎散文的笔触描绘了两者之间的微妙关系。这种张弛有度的节奏,让我的大脑有时间去内化和连接新的知识点,而不是疲于奔命地跟上作者的思路。这种体贴读者的设计,使得即便是面对GAN这样相对高阶的主题,阅读起来也显得从容不迫,信心倍增。它真正做到了让学习成为一种享受。
评分对于任何一本技术书籍而言,实战环节的质量往往是区分优秀和一般的试金石。这本书在这方面表现得尤为出色,它没有采用那些脱离实际的玩具数据集,而是选取了一些贴近真实工业场景的案例。比如,在介绍自然语言处理(NLP)部分时,书中构建了一个完整的文本分类流程,从原始语料的清洗、分词,到词嵌入(Word Embedding)的选择与训练,每一步都配有详尽的代码示例和解释。更值得称道的是,作者并没有止步于跑通代码,而是详细分析了不同超参数调整后对模型性能的影响,甚至探讨了过拟合发生时应如何通过正则化或Dropout进行干预。这种细致入微的“故障排除”和“性能调优”指南,对于希望将理论应用于生产环境的读者来说,简直是无价之宝。我甚至能从书中的案例中提炼出一些通用的工程实践经验,这比单纯看官方文档要高效得多,因为它融入了作者的实战智慧。
评分这本书的封面设计得非常有吸引力,色彩搭配沉稳又不失活力,一看就是一本内容扎实的教材。光是翻开前几页,就能感受到作者在知识组织上的用心。它并没有直接抛出那些晦涩难懂的术语,而是像一位耐心的老师,循序渐进地引导着读者进入深度学习的世界。我尤其欣赏它对基础概念的阐述,那种把复杂问题简单化的能力,简直是教科书级别的示范。比如,讲解神经网络的前向传播和反向传播时,作者使用了非常生动的类比,让我这个初学者也能一下子抓住核心思想,而不是陷在数学公式的泥潭里无法自拔。而且,书中对数据预处理这一关键环节的讲解也非常到位,它没有仅仅停留在理论层面,而是结合了实际案例,告诉我们为什么需要标准化、归一化,以及在不同场景下应该如何选择策略。这种注重实操和底层逻辑结合的叙事方式,极大地增强了阅读的体验感。每次读完一个小节,都会有一种“原来如此”的豁然开朗感,这对于构建一个稳固的知识体系至关重要。这本书的排版也极为清晰,图文并茂,重点突出,即便是需要反复查阅的公式或代码片段,也显得井井有条,让人爱不释手。
评分说实话,我之前尝试过几本号称是“入门”的深度学习书籍,但读完后感觉自己更像是一个公式的搬运工,对背后的原理依旧模糊不清。然而,这本读物给我的感受完全不同,它仿佛是一位经验丰富的工程师在手把手地教你如何“思考”问题。它没有仅仅停留在介绍模型结构的表面,而是深入到了为什么我们选择卷积层(CNN)而非全连接层来处理图像数据,为什么循环神经网络(RNN)在处理序列数据时会遇到梯度消失的问题,以及如何通过LSTM或GRU来缓解这些挑战。这种追问“为什么”的写作风格,极大地激发了我的求知欲。更让我惊喜的是,书中对优化器的介绍,不是简单地罗列Adam、RMSProp这些名字,而是清晰地对比了它们在学习率调度和动量机制上的差异和适用场景。阅读过程中,我感觉自己不仅仅是在学习一个框架的使用,更是在学习一套解决实际问题的完整思路。这种深度和广度兼备的讲解,让这本书的价值远超一般的基础教程,它真正培养的是读者的“模型直觉”。
评分从工具使用的角度来看,这本书对所使用的深度学习框架的集成度和API调用讲解得极其清晰到位,它似乎找到了一个完美的平衡点,既没有让读者完全沉迷于框架的黑箱操作,也没有让他们过于纠结于底层的C++实现细节。它精准地捕捉到了一个“实战者”最需要的知识点:如何高效地调用库函数来构建和训练模型。书中对模型保存与加载、GPU加速的配置、以及分布式训练的基本概念都有明确的指导。特别是关于如何利用框架提供的工具进行模型性能剖析的部分,它教会了我如何定位代码中的性能瓶颈,而不是盲目地修改网络结构。这不仅仅是一本关于理论的书,它更像是一份为期数月的“深度学习实战训练营”的课程大纲,每完成一章,都仿佛完成了一次小型的项目交付,让人充满了成就感和继续探索的动力。这种将理论、实践和工具使用无缝整合的能力,是这本书最值得称赞的特色之一。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有