猜你喜欢
深度学习实战  [Deep Learning Cookbook]

深度学习实战 [Deep Learning Cookbook]

书籍作者:杜威·奥辛格 ISBN:9787111624837
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3577
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

深度学习并没有那么可怕。直到最近,这项机器学习方法还要经过数年的学习才能掌握,但是有了如Keras和TensorFlow这样的框架后,没有机器学习背景的软件工程师也可以快速进入这个领域。通过本书中的技巧,你将学会解决深度学习在生成和分类文本、图像和音乐方面的问题。

本书每章包括完成独立项目所需的几个技巧,如训练一个音乐推荐系统。如果你陷入了困境,作者还在第2章提供了6个技巧来帮助你。本书中的例子用Python语言编写,代码在GitHub上以Python notebook集合的方式提供。

通过本书,你将学会:

■ 创建为真实用户服务的应用

■ 使用词嵌入计算文本的相似性

■ 基于维基百科链接建立电影推荐系统

■ 通过可视化的内部状态了解AI看待世界的原理

■ 建立一个为文本片段推荐表情符号的模型

■ 重用预训练的神经网络构建反向图像搜索服务

■ 比较GAN、自动编码器和LSTM如何生成图标

■ 检测音乐的风格并检索歌曲集

作者简介

杜威·奥辛格(Douwe Osinga)曾供职于Google,是一位经验丰富的工程师、环球旅行者和三个初创企业的创始人。他的流行软件项目网站(https://douweosinga.com/projects)涉及包括机器学习在内的多个有趣的领域。

编辑推荐

本书是一本聚焦深度学习实际应用的开发指南。作者曾是Google的软件工程师,对深度学习研究及实践有着丰富的积累。本书记录了作者从实际工作中总结出来的很多开发技巧, 不仅涵盖与深度神经网络调试相关的通用技巧,包括排查错误、检查结果、选择激活函数、正则化和Dropout、设置训练参数等技巧,还通过实际例子介绍深度学习在文本处理、图像处理、音乐处理等方面的技巧,而且还从实际使用的角度阐述如何在生产系统中部署机器学习应用,非常适合开发实际应用的深度学习工程师阅读和参考。


前言
译者序
  深度神经网络是一种层数更多、规模更大的人工神经网络,较传统神经网络在处理能力上有大幅的提升。2006年,加拿大多伦多大学的教授杰弗里·辛顿(Geoffrey Hinton)在深度信念网络方面进行了卓越的工作,开辟了深度学习这个新的技术领域。目前,深度学习技术已经成为新一代人工智能技术的研究与开发热点,得到了全球的普遍关注,每天都有相关的报道,每年有大量的论文发表,不断刷新着语音识别、图像分类、商品推荐等各应用领域智能处理水平的纪录。与此同时,深度学习模型难以解释、参数调优困难、参数规模大、训练周期长等问题也困扰着研究和开发人员。
  如何让深度学习模型设计更加简洁高效,如何处理模型参数调试中遇到的困扰和难题,如何将深度学习快速地应用到具体的业务领域,这些都是深度学习技术研究与开发者需要掌握的内容。本书作为一本聚焦深度学习实际应用的开发指南,很好地解决了这些问题。本书的作者是一位资深的软件工程师,有着丰富的软件开发和调试经验。本书记录了作者从实际工作中总结出来的很多开发技巧,非常适合开发实际应用的深度学习工程师阅读和参考。
  本书的第1章从深度学习相关的基本概念开始,介绍了典型的神经网络结构和各种层的设计特点,然后对深度学习中常见的数据集进行了介绍,最后对数据预处理和数据集的划分进行了细致的阐述。第2章是与深度神经网络调试相关的通用技巧,主要涉及如何解决遇到的问题,包括排查错误、检查结果、选择激活函数、正则化和Dropout、设置训练参数等技巧。第3~15章以实际例子,介绍了深度学习在文本处理、图像处理、音乐处理等方面的技巧,涵盖了深度学习主要应用的领域和数据类型,内容非常丰富。最后一章作者从实际使用的角度告诉读者如何在生产系统中部署机器学习应用,使得本书的内容更加贴近实际。
  深度学习的技术还处在不断迭代更新的阶段,每天都有新的研究进展发布,新的开发工具开源,以及新的技术挑战出现。本书的内容是当前深度学习设计开发技巧的总结,需要读者在实践中不断尝试,进而提升自己的技术水平,这样才会不断加深对深度学习技术的理解和把握,创造出更加优秀的算法、模型和应用。希望读者朋友在深度学习的实践中不断总结提炼,贡献出更多优秀的图书作品。
  每一次翻译工作都是一次难忘的学习之旅,我们非常珍惜这个机会。非常感谢本书的作者和机械工业出版社华章公司的编辑,是他们辛勤的工作为我们创造了难得的机会,让我们能够和广大读者一起走进深度学习的世界,领略新一代人工智能技术的风采。这里还要感谢公司同事和家人的大力支持,他们的鼓励给了我们不断前进的动力。本书翻译过程中,我们努力表达作者的真知灼见,但因水平有限,难免有词不达意的地方和疏漏之处,敬请读者朋友不吝赐教。
  
  译者
  2018年12月
  
  译者简介
  李君婷 国家电网有限公司信息通信分公司,主要从事电力信息通信运维数据统计分析、项目管理等工作,研究兴趣包括深度学习、数据科学、颠覆性创新等。
  闫龙川 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究工作,研究兴趣包括深度学习、强化学习、云计算、数据中心等。
  俞学豪 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究与管理工作,研究兴趣包括人工智能、云计算、绿色数据中心等。
  高德荃 国家电网有限公司信息通信分公司,主要从事电力信息通信技术研究工作,研究兴趣包括数据科学与人工智能、地理空间分析等。
目录

目录

前言1

第1章 工具与技术9

1.1 神经网络的类型9

1.2 数据获取19

1.3 数据预处理27

第2章 摆脱困境34

2.1 确定我们遇到的问题34

2.2 解决运行过程中的错误36

2.3 检查中间结果38

2.4 为最后一层选择正确的激活函数39

2.5 正则化和Dropout40

2.6 网络结构、批尺寸和学习率42

第3章 使用词嵌入计算文本相似性44

3.1 使用预训练的词嵌入发现词的相似性45

3.2 Word2vec数学特性47

3.3 可视化词嵌入49

3.4 在词嵌入中发现实体类51

3.5 计算类内部的语义距离55

3.6 在地图上可视化国家数据57

第4章 基于维基百科外部链接构建推荐系统58

4.1 收集数据58

4.2 训练电影嵌入62

4.3 构建电影推荐系统66

4.4 预测简单的电影属性67

第5章 按照示例文本的风格生成文本69

5.1 获取公开领域书籍文本69

5.2 生成类似莎士比亚的文本70

5.3 使用RNN编写代码74

5.4 控制输出温度76

5.5 可视化循环神经网络的活跃程度78

第6章 问题匹配80

6.1 从Stack Exchange网站获取数据80

6.2 使用Pandas探索数据82

6.3 使用Keras对文本进行特征化83

6.4 构建问答模型84

6.5 用Pandas训练模型86

6.6 检查相似性88

第7章 推荐表情符号90

7.1 构建一个简单的情感分类器90

7.2 检验一个简单的分类器93

7.3 使用卷积网络进行情感分析95

7.4 收集Twitter数据97

7.5 一个简单的表情符号预测器99

7.6 Dropout和多层窗口100

7.7 构建单词级模型102

7.8 构建你自己的嵌入104

7.9 使用循环神经网络进行分类106

7.10 可视化一致性/不一致性108

7.11 组合模型111

第8章 Sequence-to-Sequence映射113

8.1 训练一个简单的Sequence-to-Sequence模型113

8.2 从文本中提取对话115

8.3 处理开放词汇表117

8.4 训练seq2seq 聊天机器人119

第9章 复用预训练的图像识别网络123

9.1 加载预训练网络124

9.2 图像预处理124

9.3 推测图像内容126

9.4 使用Flickr API收集一组带标签的图像128

9.5 构建一个分辨猫狗的分类器129

9.6 改进搜索结果131

9.7 复训图像识别网络133

第10章 构建反向图像搜索服务137

10.1 从维基百科中获取图像137

10.2 向N维空间投影图像140

10.3 在高维空间中寻找最近邻141

10.4 探索嵌入中的局部邻域143

第11章 检测多幅图像145

11.1 使用预训练的分类器检测多个图像145

11.2 使用Faster RCNN进行目标检测149

11.3 在自己的图像上运行Faster RCNN152

第12章 图像风格155

12.1 可视化卷积神经网络激活值156

12.2 尺度和缩放159

12.3 可视化神经网络所见161

12.4 捕捉图像风格164

12.5 改进损失函数以提升图像相干性168

12.6 将风格迁移至不同图像169

12.7 风格内插171

第13章 用自编码器生成图像173

13.1 从Google Quick Draw中导入绘图174

13.2 为图像创建自编码器176

13.3 可视化自编码器结果178

13.4 从正确的分布中采样图像180

13.5 可视化变分自编码器空间183

13.6 条件变分编码器185

第14章 使用深度网络生成图标189

14.1 获得训练用的图标190

14.2 将图标转换为张量表示193

14.3 使用变分自编码器生成图标194

14.4 使用数据扩充提升自编码器的性能196

14.5 构建生成式对抗网络198

14.6 训练生成式对抗网络200

14.7 显示GAN生成的图标202

14.8 将图标编码成绘图指令204

14.9 训练RNN绘制图标205

14.10 使用RNN生成图标207

第15章 音乐与深度学习210

15.1 为音乐分类器创建训练数据集211

15.2 训练音乐风格检测器213

15.3 对混淆情况进行可视化215

15.4 为已有的音乐编制索引217

15.5 设置Spotify API219

15.6 从Spotify中收集播放列表和歌曲221

15.7 训练音乐推荐系统224

15.8 使用Word2vec模型推荐歌曲225

第16章 生产化部署机器学习系统228

16.1 使用scikit-learn最近邻计算嵌入229

16.2 使用Postgres存储嵌入230

16.3 填充和查询Postgres存储的嵌入231

16.4 在Postgres中存储高维模型233

16.5 使用Python编写微服务234

16.6 使用微服务部署Keras模型236

16.7 从Web框架中调用微服务237

16.8 Tensorflow seq2seq模型238

16.9 在浏览器中执行深度学习模型240

16.10 使用TensorFlow服务执行Keras模型243

16.11 在iOS中使用Keras模型245


产品特色