![]()
内容推荐 本书通过9个直观、有趣和生活息息相关的实际项目,详细介绍如何通过结合深度学习和增强学习构建智能而实用的人工智能系统,涉及的项目涵盖医疗健康、电子商务、专家系统、移动应用和自动驾驶等领域,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。借助本书的理论知识,你将有能力建立自己的智能模型,轻松解决任何类型的人工智能问题。 全书共10章,第1章介绍构建人工智能系统的基础知识;第2章介绍如何使用迁移学习来检测人眼中的糖尿病性视网膜病变症状,并判断其严重程度;第3章介绍循环神经网络(RNN)架构的基础知识;第4章解释如何创建一个智能的Al模型;第5章讨论CNN和长短期记忆(LSTM)在视频字幕中的角色,以及视频字幕系统的构建;第6章讨论推荐系统;第7章解释机器学习如何向移动应用提供服务;第8章解释聊天机器人是如何进化的,以及使用聊天机器人的好处;第9章解释增强学习和Q学习;第10章讨论什么是CAPTCHA以及为什么我们需要CAPTCHA,并介绍如何使用对抗学习来生成CAPTCHA。 作者简介 桑塔努·帕塔纳亚克(Santanu Pattanayak)是高通公司研发部门的一名资深机器学习专 家,著有一本深度学习图书《Pro Deep Learning with TensorFlow-A Mathematical Approach to Advanced Artificial Intelligence in Python》。他拥有12年的工作经验,在加入高通之前, 曾在GE、Capgemini和IBM任职。他毕业于加尔各答贾达普大学(Jadavpur University) 的电气工程专业,是一个狂热的数学爱好者。Santanu目前就读于海得拉巴的印度理工学 院(Indian Institute of Technology,IIT),攻读数据科学硕士学位。在闲暇时间,他也参加 Kaggle比赛,并且排名在前500以内。现在,他和妻子居住在班加罗尔。 目录 译者序 前言 作者简介 审校者简介 第1章 人工智能系统基础知识 1.1 神经网络 1.2 神经激活单元 1.2.1 线性激活单元 1.2.2 sigmoid激活单元 1.2.3 双曲正切激活函数 1.2.4 修正线性单元 1.2.5 softmax激活单元 1.3 用反向传播算法训练神经网络 1.4 卷积神经网络 1.5 循环神经网络 1.6 生成对抗网络 1.7 强化学习 1.7.1 Q学习 1.7.2 深度Q学习 1.8 迁移学习 1.9 受限玻尔兹曼机 1.10 自编码器 1.11 总结 第2章 迁移学习 2.1 技术要求 2.2 迁移学习简介 2.3 迁移学习和糖尿病视网膜病变检测 2.4 糖尿病视网膜病变数据集 2.5 定义损失函数 2.6 考虑类别不平衡问题 2.7 预处理图像 2.8 使用仿射变换生成额外数据 2.8.1 旋转 2.8.2 平移 2.8.3 缩放 2.8.4 反射 2.8.5 通过仿射变换生成额外的图像 2.9 网络架构 2.9.1 VGG16迁移学习网络 2.9.2 InceptionV3迁移学习网络 2.9.3 ResNet50迁移学习网络 2.10 优化器和初始学习率 2.11 交叉验证 2.12 基于验证对数损失的模型检查点 2.13 训练过程的Python实现 2.14 类别分类结果 2.15 在测试期间进行推断 2.16 使用回归而非类别分类 2.17 使用keras sequential工具类生成器 2.18 总结 第3章 神经机器翻译 3.1 技术要求 3.2 基于规则的机器翻译 3.2.1 分析阶段 3.2.2 词汇转换阶段 3.2.3 生成阶段 3.3 统计机器学习系统 3.3.1 语言模型 3.3.2 翻译模型 3.4 神经机器翻译 3.4.1 编码器–解码器模型 3.4.2 使用编码器–解码器模型进行推断 3.5 实现序列到序列的神经机器翻译 3.5.1 处理输入数据 3.5.2 定义神经翻译机器的模型 3.5.3 神经翻译机器的损失函数 3.5.4 训练模型 3.5.5 构建推断模型 3.5.6 单词向量嵌入 3.5.7 嵌入层 3.5.8 实现基于嵌入的NMT 3.6 总结 第4章 基于GAN的时尚风格迁移 4.1 技术要求 4.2 DiscoGAN 4.3 CycleGAN 4.4 学习从手绘轮廓生成自然手提包 4.5 预处理图像 4.6 DiscoGAN的生成器 4.7 DiscoGAN的判别器 4.8 构建网络和定义损失函数 4.9 构建训练过程 4.10 GAN训练中的重要参数值 4.11 启动训练 4.12 监督生成器和判别器的损失 4.13 DiscoGAN生成的样例图像 4.14 总结 第5章 视频字幕应用 5.1 技术要求 5.2 视频字幕中的CNN和LSTM 5.3 基于序列到序列的视频字幕系统 5.4 视频字幕系统数据集 5.5 处理视频图像以创建CNN特征 5.6 处理视频的带标签字幕 5.7 构建训练集和测试集 5.8 构建模型 5.8.1 定义模型的变量 5.8.2 编码阶段 5.8.3 解码阶段 5.8.4 计算小批量损失 5.9 为字幕创建单词词汇表 5.10 训练模型 5.11 训练结果 5.12 对未见过的视频进行推断 5.12.1 推断函数 5.12.2 评估结果 5.13 总结 第6章 智能推荐系统 6.1 技术要求 6.2 什么是推荐系统 6.3 基于潜在因子分解的推荐系统 6.4 深度学习与潜在因子协同过滤 6.5 SVD 6.6 基于受限玻尔兹曼机的推荐系统 6.7 对比分歧 6.8 使用RBM进行协同过滤 6.9 使用RBM实现协同过滤 6.9.1 预处理输入 6.9.2 构建RBM网络进行协作过滤 6.9.3 训练RBM 6.10 使用训练好的RBM进行推断 6.11 总结 第7章 用于电影评论情感分析的移动应用程序 7.1 技术要求 7.2 使用TensorFlow mobile构建Android移动应用程序 7.3 Android应用中的电影评论评分 7.4 预处理电影评论文本 7.5 构建模型 7.6 训练模型 7.7 将模型冻结为protobuf格式 7.8 为推断创建单词到表征的字典 7.9 应用程序交互界面设计 7.10 Android应用程序的核心逻辑 7.11 测试移动应用 7.12 总结 第8章 提供客户服务的AI聊天机器人 8.1 技术要求 8.2 聊天机器人的架构 8.3 基于LSTM的序列到序列模型 8.4 建立序列到序列模型 8.5 Twitter平台上的聊天机器人 8.5.1 构造聊天机器人的训练数据 8.5.2 将文本数据转换为单词索引 8.5.3 替换匿名用户名 8.5.4 定义模型 8.5.5 用于训练模型的损失函数 8.5.6 训练模型 8.5.7 从模型生成输出响应 8.5.8 所有代码连起来 8.5.9 开始训练 8.5.10 对一些输入推特的推断结果 8.6 总结 第9章 基于增强学习的无人驾驶 9.1 技术要求 9.2 马尔科夫决策过程 9.3 学习Q值函数 9.4 深度Q学习 9.5 形式化损失函数 9.6 深度双Q学习 9.7 实现一个无人驾驶车的代 |