- ISBN:9787121414497
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:628
- 出版时间:2021-07-01
- 条形码:9787121414497 ; 978-7-121-41449-7
本书特色
适读人群 :没有任何深度学习基础的初学者;具有深度学习库使用经验、想了解其底层实现原理的从业人员深度学习是目前人工智能的核心技术,本书从原理到实现,介绍了深度学习的基本理论、网络结构、优化技术和实际应用,帮助读者用Python的NumPy库从底层而不是借助现有的深度学习库,从0开始构建属于自己的深度学习库。
内容简介
本书深入浅出地介绍了深度学习的基本原理和实现过程,带领读者用Python的NumPy库从底层而不是借助现有的深度学习库,从0开始构建属于自己的深度学习库。本书在介绍基本的Python编程、微积分、概率、统计知识的基础上,按照深度学习的发展脉络介绍了回归模型、神经网络、卷积神经网络、循环神经网络、生成对抗网络等深度学习的核心知识,在深入浅出地剖析原理的同时,给出了详细的代码实现过程。本书既适合没有任何深度学习基础的初学者阅读,也适合具有深度学习库使用经验、想了解其底层实现原理的从业人员参考。同时,本书特别适合作为高等院校的深度学习教材。
目录
第1章 编程和数学基础 1
1.1 Python快速入门 1
1.1.1 快速安装Python 1
1.1.2 Python基础 2
1.1.3 Python中的常见运算 5
1.1.4 Python控制语句 7
1.1.5 Python常用容器类型 10
1.1.6 Python常用函数 16
1.1.7 类和对象 22
1.1.8 Matplotlib入门 24
1.2 张量库NumPy 33
1.2.1 什么是张量 33
1.2.2 创建ndarray对象 37
1.2.3 ndarray数组的索引和切片 53
1.2.4 张量的计算 57
1.3 微积分 63
1.3.1 函数 64
1.3.2 四则运算和复合运算 66
1.3.3 极限和导数 69
1.3.4 导数的四则运算和链式法则 72
1.3.5 计算图、正向计算和反向传播求导 74
1.3.6 多变量函数的偏导数与梯度 75
1.3.7 向量值函数的导数与Jacobian矩阵 78
1.3.8 积分 83
1.4 概率基础 84
1.4.1 概率 84
1.4.2 条件概率、联合概率、全概率公式、贝叶斯公式 86
1.4.3 随机变量 88
1.4.4 离散型随机变量的概率分布 89
1.4.5 连续型随机变量的概率密度 91
1.4.6 随机变量的分布函数 93
1.4.7 期望、方差、协方差、协变矩阵 95
第2章 梯度下降法 99
2.1 函数极值的必要条件 99
2.2 梯度下降法基础 101
2.3 梯度下降法的参数优化策略 108
2.3.1 Momentum法 108
2.3.2 AdaGrad法 110
2.3.3 AdaDelta法 112
2.3.4 RMSprop法 114
2.3.5 Adam法 115
2.4 梯度验证 117
2.4.1 比较数值梯度和分析梯度 117
2.4.2 通用的数值梯度 118
2.5 分离梯度下降法与参数优化策略 119
2.5.1 参数优化器 119
2.5.2 接受参数优化器的梯度下降法 120
第3章 线性回归、逻辑回归和softmax回归 122
3.1 线性回归 122
3.1.1 餐车利润问题 122
3.1.2 机器学习与人工智能 123
3.1.3 什么是线性回归 126
3.1.4 用正规方程法求解线性回归问题 127
3.1.5 用梯度下降法求解线性回归问题 129
3.1.6 调试学习率 133
3.1.7 梯度验证 135
3.1.8 预测 135
3.1.9 多特征线性回归 136
3.2 数据的规范化 143
3.2.1 预测大坝出水量 143
3.2.2 数据的规范化过程 147
3.3 模型的评估 149
3.3.1 欠拟合和过拟合 149
3.3.2 验证集和测试集 153
3.3.3 学习曲线 155
3.3.4 偏差和方差 160
3.4 正则化 165
3.5 逻辑回归 168
3.5.1 逻辑回归基础 169
3.5.2 逻辑回归的NumPy实现 173
3.5.3 实战:鸢尾花分类的NumPy实现 178
3.6 softmax回归 180
3.6.1 spiral数据集 180
3.6.2 softmax函数 181
3.6.3 softmax回归模型 186
3.6.4 多分类交叉熵损失 188
3.6.5 通过加权和计算交叉熵损失 191
3.6.6 softmax回归的梯度计算 191
3.6.7 softmax回归的梯度下降法的实现 197
3.6.8 spiral数据集的softmax回归模型 197
3.7 批梯度下降法和随机梯度下降法 199
3.7.1 MNIST手写数字集 199
3.7.2 用部分训练样本训练逻辑回归模型 201
3.7.3 批梯度下降法 202
3.7.4 随机梯度下降法 207
第4章 神经网络 209
4.1 神经网络概述 209
4.1.1 感知机和神经元 209
4.1.2 激活函数 213
4.1.3 神经网络与深度学习 216
4.1.4 多个样本的正向计算 221
4.1.5 输出 224
4.1.6 损失函数 224
4.1.7 基于数值梯度的神经网络训练 229
4.2 反向求导 235
4.2.1 正向计算和反向求导 235
4.2.2 计算图 237
4.2.3 损失函数关于输出的梯度 239
4.2.4 2层神经网络的反向求导 242
4.2.5 2层神经网络的Python实现 247
4.2.6 任意层神经网络的反向求导 252
4.3 实现一个简单的深度学习框架 256
4.3.1 神经网络的训练过程 256
4.3.2 网络层的代码实现 257
4.3.3 网络层的梯度检验 260
4.3.4 神经网络的类 261
4.3.5 神经网络的梯度检验 263
4.3.6 基于深度学习框架的MNIST手写数字识别 266
4.3.7 改进的通用神经网络框架:分离加权和与激活函数 268
4.3.8 独立的参数优化器 276
4.3.9 fashion-mnist的分类训练 279
4.3.10 读写模型参数 282
第5章 改进神经网络性能的基本技巧 285
5.1 数据处理 285
5.1.1 数据增强 285
5.1.2 规范化 289
5.1.3 特征工程 289
5.2 参数调试 296
5.2.1 权重初始化 296
5.2.2 优化参数 301
5.3 批规范化 301
5.3.1 什么是批规范化 301
5.3.2 批规范化的反向求导 303
5.3.3 批规范化的代码实现 304
5.4 正则化 310
5.4.1 权重正则化 310
5.4.2 Dropout 312
5.4.3 早停法 316
5.5 梯度爆炸和梯度消失 317
第6章 卷积神经网络 318
6.1 卷积入门 319
6.1.1 什么是卷积 319
6.1.2 一维卷积 325
6.1.3 二维卷积 326
6.1.4 多通道输入和多通道输出 338
6.1.5 池化 341
6.2 卷积神经网络概述 344
6.2.1 全连接神经元和卷积神经元 345
6.2.2 卷积层和卷积神经网络 346
6.2.3 卷积层和池化层的反向求导及代码实现 349
6.2.4 卷积神经网络的代码实现 361
6.3 卷积的矩阵乘法 364
6.3.1 一维卷积的矩阵乘法 364
6.3.2 二维卷积的矩阵乘法 365
6.3.3 一维卷积反向求导的矩阵乘法 371
6.3.4 二维卷积反向求导的矩阵乘法 373
6.4 基于坐标索引的快速卷积 377
6.5 典型卷积神经网络结构 393
6.5.1 LeNet-5 393
6.5.2 AlexNet 394
6.5.3 VGG 395
6.5.4 残差网络 396
6.5.5 Inception网络 398
6.5.6 NiN 399
第7章 循环神经网络 403
7.1 序列问题和模型 403
7.1.1 股票价格预测问题 404
7.1.2 概率序列模型和语言模型 405
7.1.3 自回归模型 406
7.1.4 生成自回归数据 406
7.1.5 时间窗方法 408
7.1.6 时间窗采样 409
7.1.7 时间窗方法的建模和训练 409
7.1.8 长期预测和短期预测 410
7.1.9 股票价格预测的代码实现 412
7.1.10 k-gram语言模型 415
7.2 循环神经网络基础 416
7.2.1 无记忆功能的非循环神经网络 417
7.2.2 具有记忆功能的循环神经网络 418
7.3 穿过时间的反向传播 421
7.4 单层循环神经网络的实现 425
7.4.1 初始化模型参数 425
7.4.2 正向计算 425
7.4.3 损失函数 427
7.4.4 反向求导 427
7.4.5 梯度验证 429
7.4.6 梯度下降训练 432
7.4.7 序列数据的采样 433
7.4.8 序列数据的循环神经网络训练和预测 441
7.5 循环神经网络语言模型和文本的生成 448
7.5.1 字符表 448
7.5.2 字符序列样本的采样 450
7.5.3 模型的训练和预测 452
7.6 循环神经网络中的梯度爆炸和梯度消失 455
7.7 长短期记忆网络 456
7.7.1 LSTM的神经元 457
7.7.2 LSTM的反向求导 460
7.7.3 LSTM的代码实现 461
7.7.4 LSTM的变种 469
7.8 门控循环单元 470
7.8.1 门控循环单元的工作原理 470
7.8.2 门控循环单元的代码实现 472
7.9 循环神经网络的类及其实现 475
7.9.1 用类实现循环神经网络 475
7.9.2 循环神经网络单元的类实现 483
7.10 多层循环神经网络和双向循环神经网络 491
7.10.1 多层循环神经网络 491
7.10.2 多层循环神经网络的训练和预测 497
7.10.3 双向循环神经网络 500
7.11 Seq2Seq模型 506
7.11.1 机器翻译概述 507
7.11.2 Seq2Seq模型的实现 508
7.11.3 字符级的Seq2Seq模型 516
7.11.4 基于Word2Vec的Seq2Seq模型 522
7.11.5 基于词嵌入层的Seq2Seq模型 533
7.11.6 注意力机制 541
第8章 生成模型 552
8.1 生成模型概述 552
8.2 自动编码器 556
8.2.1 什么是自动编码器 557
8.2.2 稀疏编码器 559
8.2.3 自动编码器的代码实现 560
8.3 变分自动编码器 563
8.3.1 什么是变分自动编码器 563
8.3.2 变分自动编码器的损失函数 564
8.3.3 变分自动编码器的参数重采样 565
8.3.4 变分自动编码器的反向求导 565
8.3.5 变分自动编码器的代码实现 566
8.4 生成对抗网络 571
8.4.1 生成对抗网络的原理 573
8.4.2 生成对抗网络训练过程的代码实现 577
8.5 生成对抗网络建模实例 579
8.5.1 一组实数的生成对抗网络建模 579
8.5.2 二维坐标点的生成对抗网络建模 585
8.5.3 MNIST手写数字集的生成对抗网络建模 590
8.5.4 生成对抗网络的训练技巧 594
8.6 生成对抗网络的损失函数及其概率解释 594
8.6.1 生成对抗网络的损失函数的全局*优解 594
8.6.2 Kullback-Leibler散度和Jensen-Shannon散度 595
8.6.3 生成对抗网络的*大似然解释 598
8.7 改进的损失函数——Wasserstein GAN 599
8.7.1 Wasserstein GAN的原理 599
8.7.2 Wasserstein GAN的代码实现 603
8.8 深度卷积对抗网络 605
8.8.1 一维转置卷积 606
8.8.2 二维转置卷积 609
8.8.3 卷积对抗网络的代码实现 612
参考文献 617
作者简介
哈尔滨工业大学数学力学系应用数学本科、基础数学硕士,南京航空航天大学航空宇航制造工程专业博士。2008-2009年德州农工大学tamu访问学者,2016年休斯敦大学访问研究。从事过曲面造型、特征造型的算法研究和系统实现,开发过数控玻璃切割系统。在高校从事过高等数学、线性代数、概率统计、数据结构、C++编程语言、图形学、计算机网络等课程教学,目前主要研究方向:计算机图形学与计算机视觉、深度学习人工智能等。编著了《C++17从入门到精通》《Python 3从入门到实战》等书。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0