[套装书]Python人工智能项目实战+MXNet深度学习实战(2册)

作者
[印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)魏凯峰
丛书名
智能系统与技术丛书
出版社
机械工业出版社
ISBN
9781911191548
简要
简介
内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------MXNet深度学习实战--------------------------- 内容简介 这是一本详细讲解计算机视觉算法实现以及MXNet框架的原理和使用的工具书。 作者是网易的资深计算机视觉算法工程师,本书融合了他丰富的工程实践经验,一方面详细讲解了深度学习框架MXNet的技术原理和应用方法,一方面以MXNet为工具讲解了算法实现的具体细节。辅以大量简洁的代码,助你从零基础开始实现深度学习算法。 全书共12章,分为4个部分: 第一部分 准备篇(第1~2章) 介绍了MXNet的发展、优势、预备知识、各种深度学习框架的对比,以及开发环境的搭建,包括Docker的使用。 第二部分 基础篇(第3~7章) 纤细讲解了MXNet主要模块使用和原理,如MXNet的数据读取、数据增强操作、常用网络层的含义及使用、常见网络结构的设计思想、模型训练相关的参数配置等。 . 第三部分 实战篇(第8~10章) 以图像分类、目标检测、图像分割这三个常用领域为例演示了如何通过MXNet实现算法训练和模型测试,同时还结合MXNet的接口详细讲解了算法实现的细节。 第四部分 扩展篇(第11~12章) 主要介绍了基于动态图构建网络结构的Gluon接口,以及MXNet专门为计算机视觉任务推出的深度学习库GluonCV。
目录



---------------------------Python人工智能项目实战---------------------------


译者序
前言
作者简介
审校者简介
第1章 人工智能系统基础知识 1
1.1 神经网络 2
1.2 神经激活单元 5
1.2.1 线性激活单元 5
1.2.2 sigmoid激活单元 6
1.2.3 双曲正切激活函数 6
1.2.4 修正线性单元 7
1.2.5 softmax激活单元 9
1.3 用反向传播算法训练神经网络 9
1.4 卷积神经网络 12
1.5 循环神经网络 13
1.6 生成对抗网络 16
1.7 强化学习 18
1.7.1 Q学习 19
1.7.2 深度Q学习 20
1.8 迁移学习 21
1.9 受限玻尔兹曼机 22
1.10 自编码器 23
1.11 总结 24
第2章 迁移学习 26
2.1 技术要求 26
2.2 迁移学习简介 27
2.3 迁移学习和糖尿病视网膜病变检测 28
2.4 糖尿病视网膜病变数据集 29
2.5 定义损失函数 30
2.6 考虑类别不平衡问题 31
2.7 预处理图像 32
2.8 使用仿射变换生成额外数据 33
2.8.1 旋转 34
2.8.2 平移 34
2.8.3 缩放 35
2.8.4 反射 35
2.8.5 通过仿射变换生成额外的图像 36
2.9 网络架构 36
2.9.1 VGG16迁移学习网络 38
2.9.2 InceptionV3迁移学习网络 39
2.9.3 ResNet50迁移学习网络 39
2.10 优化器和初始学习率 40
2.11 交叉验证 40
2.12 基于验证对数损失的模型检查点 40
2.13 训练过程的Python实现 41
2.14 类别分类结果 50
2.15 在测试期间进行推断 50
2.16 使用回归而非类别分类 52
2.17 使用keras sequential工具类生成器 53
2.18 总结 57
第3章 神经机器翻译 58
3.1 技术要求 59
3.2 基于规则的机器翻译 59
3.2.1 分析阶段 59
3.2.2 词汇转换阶段 60
3.2.3 生成阶段 60
3.3 统计机器学习系统 60
3.3.1 语言模型 61
3.3.2 翻译模型 63
3.4 神经机器翻译 65
3.4.1 编码器–解码器模型 65
3.4.2 使用编码器–解码器模型进行推断 66
3.5 实现序列到序列的神经机器翻译 67
3.5.1 处理输入数据 67
3.5.2 定义神经翻译机器的模型 71
3.5.3 神经翻译机器的损失函数 73
3.5.4 训练模型 73
3.5.5 构建推断模型 74
3.5.6 单词向量嵌入 78
3.5.7 嵌入层 79
3.5.8 实现基于嵌入的NMT 79
3.6 总结 84
第4章 基于GAN的时尚风格迁移 85
4.1 技术要求 85
4.2 DiscoGAN 86
4.3 CycleGAN 88
4.4 学习从手绘轮廓生成自然手提包 89
4.5 预处理图像 89
4.6 DiscoGAN的生成器 91
4.7 DiscoGAN的判别器 93
4.8 构建网络和定义损失函数 94
4.9 构建训练过程 97
4.10 GAN训练中的重要参数值 99
4.11 启动训练 100
4.12 监督生成器和判别器的损失 101
4.13 DiscoGAN生成的样例图像 103
4.14 总结 104
第5章 视频字幕应用 105
5.1 技术要求 105
5.2 视频字幕中的CNN和LSTM 106
5.3 基于序列到序列的视频字幕系统 107
5.4 视频字幕系统数据集 109
5.5 处理视频图像以创建CNN特征 110
5.6 处理视频的带标签字幕 113
5.7 构建训练集和测试集 114
5.8 构建模型 115
5.8.1 定义模型的变量 116
5.8.2 编码阶段 117
5.8.3 解码阶段 117
5.8.4 计算小批量损失 118
5.9 为字幕创建单词词汇表 118
5.10 训练模型 119
5.11 训练结果 123
5.12 对未见过的视频进行推断 124
5.12.1 推断函数 126
5.12.2 评估结果 127
5.13 总结 128
第6章 智能推荐系统 129
6.1 技术要求 129
6.2 什么是推荐系统 129
6.3 基于潜在因子分解的推荐系统 131
6.4 深度学习与潜在因子协同过滤 132
6.5 SVD++ 136
6.6 基于受限玻尔兹曼机的推荐系统 138
6.7 对比分歧 139
6.8 使用RBM进行协同过滤 140
6.9 使用RBM实现协同过滤 142
6.9.1 预处理输入 143
6.9.2 构建RBM网络进行协作过滤 144
6.9.3 训练RBM 147
6.10 使用训练好的RBM进行推断 149
6.11 总结 150
第7章 用于电影评论情感分析的移动应用程序 151
7.1 技术要求 152
7.2 使用TensorFlow mobile构建Android移动应用程序 152
7.3 Android应用中的电影评论评分 153
7.4 预处理电影评论文本 154
7.5 构建模型 156
7.6 训练模型 157
7.7 将模型冻结为protobuf格式 159
7.8 为推断创建单词到表征的字典 161
7.9 应用程序交互界面设计 162
7.10 Android应用程序的核心逻辑 164
7.11 测试移动应用 168
7.12 总结 170
第8章 提供客户服务的AI聊天机器人 171
8.1 技术要求 172
8.2 聊天机器人的架构 172
8.3 基于LSTM的序列到序列模型 173
8.4 建立序列到序列模型 174
8.5 Twitter平台上的聊天机器人 174
8.5.1 构造聊天机器人的训练数据 175
8.5.2 将文本数据转换为单词索引 175
8.5.3 替换匿名用户名 176
8.5.4 定义模型 176
8.5.5 用于训练模型的损失函数 178
8.5.6 训练模型 179
8.5.7 从模型生成输出响应 180
8.5.8 所有代码连起来 180
8.5.9 开始训练 181
8.5.10 对一些输入推特的推断结果 181
8.6 总结 182
第9章 基于增强学习的无人驾驶 183
9.1 技术要求 183
9.2 马尔科夫决策过程 184
9.3 学习Q值函数 185
9.4 深度Q学习 186
9.5 形式化损失函数 186
9.6 深度双Q学习 187
9.7 实现一个无人驾驶车的代码 189
9.8 深度Q学习中的动作离散化 189
9.9 实现深度双Q值网络 190
9.10 设计智能体 191
9.11 自动驾驶车的环境 194
9.12 将所有代码连起来 197
9.13 训练结果 202
9.14 总结 203
第10章 从深度学习的角度看CAPTCHA 204
10.1 技术要求 205
10.2 通过深度学习破解CAPTCHA 205
10.2.1 生成基本的CAPTCHA 205
10.2.2 生成用于训练CAPTCHA破解器的数据 206
10.2.3 CAPTCHA破解器的CNN架构 208
10.2.4 预处理CAPTCHA图像 208
10.2.5 将CAPTCHA字符转换为类别 209
10.2.6 数据生成器 210
10.2.7 训练CAPTCHA破解器 211
10.2.8 测试数据集的准确性 212
10.3 通过对抗学习生成CAPTCHA 214
10.3.1 优化GAN损失 215
10.3.2 生成器网络 215
10.3.3 判别器网络 216
10.3.4 训练GAN 219
10.3.5 噪声分布 220
10.3.6 数据预处理 220
10.3.7 调用训练 221
10.3.8 训练期间CAPTCHA的质量 222
10.3.9 使用训练后的生成器创建CAPTCHA 224
10.4 总结 225



---------------------------MXNet深度学习实战---------------------------


前言
第1章 全面认识MXNet1
1.1 人工智能、机器学习与深度学习2
1.1.1 人工智能2
1.1.2 机器学习2
1.1.3 深度学习4
1.2 深度学习框架4
1.2.1 MXNet6
1.2.2 PyTorch6
1.2.3 Caffe/Caffe27
1.2.4 TensorFlow7
1.2.5 其他7
1.3 关于MXNet8
1.3.1 MXNet的发展历程8
1.3.2 MXNet的优势9
1.4 MXNet开发需要具备的知识10
1.4.1 接口语言11
1.4.2 NumPy11
1.4.3 神经网络11
1.5 本章小结12
第2章 搭建开发环境13
2.1 环境配置14
2.2 使用Docker安装MXNet19
2.2.1 准备部分19
2.2.2 使用仓库安装Docker20
2.2.3 基于安装包安装Docker23
2.2.4 安装nvidia-docker23
2.2.5 通过Docker使用MXNet25
2.3 本地pip安装MXNet27
2.4 本章小结29
第3章 MXNet基础31
3.1 NDArray31
3.2 Symbol37
3.3 Module43
3.4 本章小结48
第4章 MNIST手写数字体分类50
4.1 训练代码初探52
4.2 训练代码详细解读55
4.2.1 训练参数配置56
4.2.2 数据读取59
4.2.3 网络结构搭建59
4.2.4 模型训练61
4.3 测试代码初探62
4.4 测试代码详细解读64
4.4.1 模型导入64
4.4.2 数据读取66
4.4.3 预测输出67
4.5 本章小结68
第5章 数据读取及增强69
5.1 直接读取原图像数据70
5.1.1 优点及缺点70
5.1.2 使用方法71
5.2 基于RecordIO文件读取数据75
5.2.1 什么是RecordIO文件75
5.2.2 优点及缺点76
5.2.3 使用方法76
5.3 数据增强78
5.3.1 resize79
5.3.2 crop83
5.3.3 镜像89
5.3.4 亮度90
5.3.5 对比度92
5.3.6 饱和度 94
5.4 本章小结95
第6章 网络结构搭建97
6.1 网络层98
6.1.1 卷积层98
6.1.2 BN层106
6.1.3 激活层108
6.1.4 池化层111
6.1.5 全连接层114
6.1.6 损失函数层116
6.1.7 通道合并层119
6.1.8 逐点相加层121
6.2 图像分类网络结构122
6.2.1 AlexNet123
6.2.2 VGG124
6.2.3 GoogleNet125
6.2.4 ResNet128
6.2.5 ResNeXt130
6.2.6 DenseNet131
6.2.7 SENet132
6.2.8 MobileNet134
6.2.9 ShuffleNet136
6.3 本章小结138
第7章 模型训练配置140
7.1 问题定义141
7.2 参数及训练配置142
7.2.1 参数初始化142
7.2.2 优化函数设置144
7.2.3 保存模型145
7.2.4 训练日志的保存146
7.2.5 选择或定义评价指标147
7.2.6 多GPU训练150
7.3 迁移学习151
7.4 断点训练153
7.5 本章小结154
第8章 图像分类156
8.1 图像分类基础知识157
8.1.1 评价指标158
8.1.2 损失函数160
8.2 猫狗分类实战160
8.2.1 数据准备161
8.2.2 训练参数及配置165
8.2.3 数据读取168
8.2.4 网络结构搭建170
8.2.5 训练模型171
8.2.6 测试模型176
8.3 本章小结179
第9章 目标检测180
9.1 目标检测基础知识182
9.1.1 数据集184
9.1.2 SSD算法简介188
9.1.3 anchor189
9.1.4 IoU194
9.1.5 模型训练目标195
9.1.6 NMS199
9.1.7 评价指标mAP201
9.2 通用目标检测202
9.2.1 数据准备203
9.2.2 训练参数及配置205
9.2.3 网络结构搭建208
9.2.4 数据读取215
9.2.5 定义训练评价指标218
9.2.6 训练模型220
9.2.7 测试模型221
9.4 本章小结224
第10章 图像分割225
10.1 图像分割226
10.1.1 数据集227
10.1.2 评价指标229
10.1.3 语义分割算法230
10.2 语义分割实战231
10.2.1 数据准备232
10.2.2 训练参数及配置233
10.2.3 数据读取237
10.2.4 网络结构搭建240
10.2.5 定义评价指标245
10.2.6 训练模型249
10.2.7 测试模型效果251
10.3 本章小结253
第11章 Gluon255
11.1 Gluon基础256
11.1.1 data模块256
11.1.2 nn模块260
11.1.3 model zoo模块265
11.2 CIFAR10数据集分类267
11.2.1 基于CPU的训练代码267
11.2.2 基于GPU的训练代码272
11.2.3 测试代码275
11.3 本章小结276
第12章 GluonCV278
12.1 GluonCV基础279
12.1.1 data模块280
12.1.2 model zoo模块285
12.1.3 utils模块292
12.2 解读ResNet复现代码293
12.2.1 导入模块296
12.2.2 命令行参数设置296
12.2.3 日志信息设置297
12.2.4 训练参数配置298
12.2.5 模型导入300
12.2.6 数据读取301
12.2.7 定义评价指标303
12.2.8 模型训练303
12.3 本章小结308




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4