| 作者 |
| [印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)[波兰]安东尼奥·古利(Antonio Gulli)[印度] 阿米塔·卡普尔( Amita Kapoor) |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781911191634 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------TensorFlow深度学习实战--------------------------- 本书将介绍如何有效地使用Google的开源框架TensorFlow进行深度学习。通过学习,你将实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Q learning网络(DQN)和生成对抗网络(GAN),以及如何使用TensorFlow的高级封装Keras工具。 |
| 目录 |
---------------------------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 ---------------------------TensorFlow深度学习实战--------------------------- 译者序 前言 作者简介 审校者简介 第1章 TensorFlow简介 1 1.1 引言 1 1.2 TensorFlow安装 2 1.3 Hello world 6 1.4 理解TensorFlow程序结构 8 1.5 常量、变量和占位符 10 1.6 使用TensorFlow 执行矩阵操作 15 1.7 使用数据流图 17 1.8 从0.x迁移到1.x 18 1.9 使用XLA提升运算性能 19 1.10 调用CPU/GPU设备 21 1.11 TensorFlow与深度学习 24 1.12 DNN问题需要的Python包 28 第2章 回归 30 2.1 引言 30 2.2 选择损失函数 31 2.3 TensorFlow中的优化器 33 2.4 读取CSV文件和数据预处理 36 2.5 房价估计——简单线性回归 39 2.6 房价估计——多元线性回归 42 2.7 MNIST数据集的逻辑回归 45 第3章 神经网络——感知机 50 3.1 引言 50 3.2 激活函数 52 3.3 单层感知机 58 3.4 计算反向传播算法的梯度 60 3.5 使用MLP实现MNIST分类器 63 3.6 使用MLP逼近函数来预测波士顿房价 66 3.7 调整超参数 71 3.8 高级API——Keras 72 第4章 卷积神经网络 75 4.1 引言 75 4.2 创建一个ConvNet来分类手写MNIST数字 79 4.3 创建一个ConvNet来分类CIFAR-10数据集 84 4.4 用VGG19做风格迁移的图像重绘 87 4.5 使用预训练的VGG16网络进行迁移学习 96 4.6 创建DeepDream网络 100 第5章 高级卷积神经网络 105 5.1 引言 105 5.2 为情感分析创建一个ConvNet 106 5.3 检验VGG预建网络学到的滤波器 109 5.4 使用 VGGNet、ResNet、Inception和Xception分类图像 113 5.5 重新利用预建深度学习模型进行特征提取 125 5.6 用于迁移学习的深层InceptionV3网络 126 5.7 使用扩张ConvNet、WaveNet和 NSynth生成音乐 129 5.8 关于图像的问答 134 5.9 利用预训练网络进行视频分类的6种方法 140 第6章 循环神经网络 144 6.1 引言 144 6.2 神经机器翻译——seq2seq RNN训练 150 6.3 神经机器翻译——seq2seq RNN推理 156 6.4 你所需要的是注意力—另一个seq2seq RNN例子 157 6.5 使用RNN像莎士比亚一样写作 161 6.6 基于RNN学习预测比特币价格 165 6.7 多对一和多对多的RNN例子 174 第7章 无监督学习 176 7.1 引言 176 7.2 主成分分析 176 7.3 k均值聚类 181 7.4 自组织映射 186 7.5 受限玻尔兹曼机 191 7.6 基于RBM的推荐系统 196 7.7 用DBN进行情绪检测 198 第8章 自动编码机 205 8.1 引言 205 8.2 标准自动编码机 207 8.3 稀疏自动编码机 212 8.4 去噪自动编码机 217 8.5 卷积自动编码机 221 8.6 堆叠自动编码机 225 第9章 强化学习 231 9.1 引言 231 9.2 学习OpenAI Gym 232 9.3 用神经网络智能体玩Pac-Man游戏 235 9.4 用Q learning玩Cart-Pole平衡游戏 238 9.5 用DQN玩Atari游戏 244 9.6 用策略梯度网络玩Pong游戏 252 第10章 移动端计算 259 10.1 引言 259 10.2 安装适用于macOS和Android的TensorFlow mobile 260 10.3 玩转TensorFlow和Android的示例 265 10.4 安装适用于macOS和iPhone的TensorFlow mobile 268 10.5 为移动设备优化TensorFlow计算图 271 10.6 为移动设备分析TensorFlow计算图 273 10.7 为移动设备转换TensorFlow计算图 275 第11章 生成式模型和CapsNet 278 11.1 引言 278 11.2 学习使用简单GAN虚构MNIST图像 284 11.3 学习使用DCGAN虚构MNIST图像 289 11.4 学习使用DCGAN虚构名人面孔和其他数据集 294 11.5 实现变分自动编码机 297 11.6 学习使用胶囊网络击败MNIST前期的最新成果 305 第12章 分布式TensorFlow和云深度学习 319 12.1 引言 319 12.2 在GPU上使用TensorFlow 322 12.3 玩转分布式TensorFlow:多个GPU和一个CPU 323 12.4 玩转分布式TensorFlow:多服务器 324 12.5 训练分布式TensorFlow MNIST分类器 326 12.6 基于Docker使用TensorFlow Serving 328 12.7 使用计算引擎在谷歌云平台上运行分布式TensorFlow 330 12.8 在谷歌CloudML上运行分布式TensorFlow 333 12.9 在Microsoft Azure上运行分布式TensorFlow 334 12.10 在Amazon AWS上运行分布式TensorFlow 337 附录A 利用AutoML学会学习(元学习) 342 附录B TensorFlow处理器 350 |