[套装书]Python人工智能项目实战+人工智能极简编程入门(基于Python)(2册)

作者
[印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)张光华 贾庸 李岩
丛书名
智能系统与技术丛书
出版社
机械工业出版社
ISBN
9781911069393
简要
简介
内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------人工智能极简编程入门(基于Python)--------------------------- 本书共8章。第1章给出了切实可行的学习建议;第2章介绍了开发环境;第3~5章是专为人工智能大数据而优化的知识要点,手把手带领同学们从零基础开始学习编程;第6章与第7章从不同的角度手把手带领读者完成最简单的卷积运算-深度学习的基础算法;第8章带领读者解读一个案例中的部分源码(来自于最流行的深度学习框架TensorFlow)。 本书适合对人工智能、机器学习、深度学习和计算机视觉感兴趣的读者阅读,尤其适合零基础和弱基础的读者学习。阅读本书不要求读者有太多的编程基础与高等数学基础。
目录



---------------------------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



---------------------------人工智能极简编程入门(基于Python)---------------------------


推荐序
前言
第1篇 语法篇
第1章 零基础入门AI解决方案 2
1.1 AI极简史(选修) 2
1.2 AI极简介 3
1.2.1 认识颜色:表征学习与深度学习 3
1.2.2 该往哪边旋转: 决策科学 4
1.2.3 转起来:控制论 5
1.2.4 自动驾驶与AI三大领域 5
1.2.5 有关AI三大领域的解释说明 6
1.3 史上最轻松的入门AI完整解决方案 6
1.3.1 兴趣模块 7
1.3.2 入门AI所需基础模块 9
1.3.3 入门模块及其他 11
1.4 入门好资源 12
1.4.1 慕课(MOOC) 12
1.4.2 框架 13
1.4.3 社区 13
1.4.4 数据集 14
1.4.5 论文 14
1.4.6 公司 15
1.5 学习新主张(最重点) 15
1.5.1 什么是“体验” 16
1.5.2 什么是“最简” 17
1.5.3 “最简体验”主张 18
1.6 如何使用本书(纯小白请重点阅读) 19
1.6.1 高效学习本书的首要原则 19
1.6.2 什么是“要点” 19
1.6.3 对纯零基础学习者的建议 20
1.6.4 使用本书GitHub提高学习效率(敲黑板级别的重点) 20
1.7 网络词汇简写与昵称 24
1.8 小结 26
第2章 环境搭建 27
2.1 最简体验Jupyter Notebook 27
2.1.1 手机上最简体验Jupyter 28
2.1.2 计算机上最简体验Jupyter 29
2.1.3 Notebook中运行Python代码 30
2.1.4 Notebook的最基本概念Cell 31
2.1.5 移动Cell 32
2.1.6 揭秘HelloWorld Cell 34
2.1.7 为啥要用Jupyter Notebook(选修) 34
2.1.8 Notebook服务与社区文化(选修) 35
2.1.9 Jupyter与MyBinder(选修) 36
2.2 Azure Notebook简介 37
2.3 Google Colaboratory简介 39
2.4 Windows下安装Anaconda 42
2.5 Linux下安装Anaconda 43
2.6 Mac下安装Anaconda 47
2.7 本地启动Jupyter Notebook 47
2.8 小结 51
2.9 习题 52
2.9.1 基础部分 52
2.9.2 扩展部分 53
第3章 零点一基础入门Python 54
3.1 最简体验print方法 54
3.2 更多print玩法 59
3.3 最简体验Python变量 63
3.4 最简体验Python列表与遍历 65
3.5 最简体验Python字典 67
3.6 项目实战:智能通讯录 69
3.7 分支语法if 71
3.7.1 最简体验分支if 71
3.7.2 在智能通讯录中使用分支语法 73
3.7.3 智能通讯录0.2 75
3.8 小结 78
3.8.1 真正掌握了吗 78
3.8.2 真的能用吗 79
3.8.3 真的智能吗 80
3.8.4 开发环境与协作学习 81
3.9 习题 83
3.9.1 基础部分 83
3.9.2 扩展部分 83
第4章 最简体验数字图像 84
4.1 最简体验像素 84
4.1.1 嵌套使用列表 84
4.1.2 列表取元素 86
4.1.3 嵌套使用遍历 88
4.1.4 print进阶 89
4.1.5 数值 90
4.1.6 使用“数据”list最简体验像素 92
4.2 最简体验代码画图 94
4.2.1 最简体验图像操作 95
4.2.2 最简体验plot 97
4.2.3 最简体验marker 100
4.2.4 更多marker属性 102
4.3 点与线 104
4.3.1 两点之间,线段最短 104
4.3.2 画更多的线 106
4.3.3 点与线:最简体验面向对象 108
4.4 高效交流,协作学习 110
4.5 正式认识Matplotlib 112
4.6 小结 115
4.7 习题 115
4.7.1 基础部分 115
4.7.2 扩展部分 115
第5章 最简体验数组 117
5.1 最简体验NumPy 117
5.1.1 从list到array 117
5.1.2 Notebook技能之Run all 120
5.1.3 生成一个array 121
5.1.4 操作array中的元素 123
5.2 基于数组进行画图 125
5.2.1 最简体验imshow()方法 125
5.2.2 改进图像显示效果 128
5.2.3 像素级操作图像 130
5.2.4 精准体验像素 132
5.3 最简体验Figure与Axes 135
5.3.1 最简体验容器 135
5.3.2 Python方法的返回值 137
5.3.3 最简体验figure的size 141
5.3.4 设置figure的size 142
5.3.5 保存图像 143
5.3.6 正式认识plt与mpl:Python包与模块的导入 144
5.4 小结 148
5.5 习题 148
5.5.1 基础部分 148
5.5.2 扩展部分 148
第2篇 算法篇
第6章 最简体验卷积运算 150
6.1 最简体验维度 150
6.1.1 数组的形状 150
6.1.2 最简体验数组维度 152
6.2 最简体验向量 154
6.2.1 从1+1=2开始,轻松理解向量 154
6.2.2 最简体验向量运算 156
6.2.3 向量乘法 158
6.3 最简体验一维卷积 160
6.3.1 滑动窗口 160
6.3.2 一维卷积 162
6.4 卷积得到的是什么 163
6.4.1 特征与学习 163
6.4.2 特征的组合 165
6.4.3 最简体验特征 167
6.4.4 归一化Normalization 169
6.4.5 归一化续(纯小白慎入) 171
6.5 小结 172
6.6 习题 173
6.6.1 基础部分 173
6.6.2 扩展部分 173
第7章 综合案例之滑动窗口示意图 174
7.1 正式认识subplots()方法 174
7.1.1 最简体验subplots()方法 174
7.1.2 最简体验axs对象 176
7.1.3 最简体验Axes坐标轴 179
7.1.4 坐标轴ticks 182
7.2 滑动窗口示意图0.1版 186
7.2.1 技术问答范本 186
7.2.2 起始、终止和步长 188
7.2.3 坐标轴tickline 191
7.2.4 坐标轴ticklabel 194
7.3 最常用图像元素之文本框 196
7.3.1 最简体验plt.text()方法 196
7.3.2 微调文本框 199
7.3.3 滑动窗口示意图0.2版 200
7.4 小结 202
7.5 习题 203
7.5.1 基础部分 203
7.5.2 扩展部分 203
第3篇 综合篇
第8章 源码解读 206
8.1 TensorFlow示例代码解读 206
8.1.1 basic classification示例简介 206
8.1.2 最简体验数据集 209
8.1.3 Fashion MNIST数据集的label 214
8.1.4 批量查看图像 217
8.2 源码解读 220
8.2.1 最简体验源码解读 220
8.2.2 解惑ticks的set与get 222
8.3 基于Notebook服务的开发环境复现 224
8.3.1 Cell内安装TensorFlow 224
8.3.2 最简体验Terminal 227
8.3.3 体验便捷精准复现 229
8.3.4 一键复现目标检测 231
8.4 小结 236
8.5 习题 237
8.5.1 基础部分 237
8.5.2 扩展部分 237
后记 238




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4