深度学习实战

栏目: 数据库 · 发布时间: 5年前

深度学习实战

周末做个新书活动,送5本《深度学习实战》,规则和之前一样,直接抽, 公众号后台回复 读书 , 弹出抽奖小程序后点击参与,然后静候开奖就是了,开奖时间是后天晚上8点,也就是5月21号周二20点开奖。中奖用户必须是AINLP公众号粉丝,否则视为自动放弃,请中奖的同学添加微信号 "AINLP2" ,再确认一下快递信息,过期不候。最后 感谢本次活动的赞助者 机械工业出版社华章公司

《深度学习实战》

作者: [ 杜威 · 奥辛格( DouweOsinga

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

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

通过本书,你将学会:

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

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

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

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

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

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

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

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

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

以下是译者写得关于这本书的介绍:

深度学习( Deep Learning )是机器学习中一种基于对数据进行表征学习的方法。近年来,深度学习已经在科技界、工业界日益广泛地应用。随着全球各领域多样化数据的极速积累和计算资源的成熟化商业服务,深度学习已经成为人工智能领域最有效的方法。目前,深度学习技术在语音识别、图像分类、商品推荐等各应用领域不断刷新着智能处理水平纪录。但是与此同时,深度学习模型难以解释,参数调优困难,参数规模大训练周期长等问题也困扰着研究和开发人员。

当下介绍深度学习的书籍很多,但是《深度学习实战》一书视角不同,它重在实践,内容全面。《深度学习实战》英文版由 O’REILLY 出版社出版,中文版由机械工业出版社出版,作者 Douwe Osinga 曾供职于 Google 公司,是深度学习研究及实践方面的一位资深专家。

《深度学习实战》最大的特色就是系统化提供了面向文本数据、图形图像数据、语音数据的多个实例。 在书中,所有的例子都是用 Python 编写的,并且大部分代码的实现都依赖于优秀的 Keras 框架,每章的代码存放在一个 notebook 中,可以从网站下载学习。在实例章节,每章针对一种技术应用场景,从数据获取技巧开始,接着是几个完成本章目标的技巧和一个数据可视化的技巧。

1. 文本处理领域

词嵌入是自然语言处理的基本方法,我们首先在第 3 章将使用预先训练好的词嵌入模型计算单词相似性,然后展示一些有趣的 Word2vec 数学特性,探索如何对高维空间进行可视化,接下来 利用 Word2vec 等词嵌入的语义特性进行特定领域中的排名。

推荐系统在商业领域应用广泛,它基于先前收集到的用户评级数据进行训练。我们在第 4 章会使用新训练的嵌入来预测电影的评论分数,基于维基百科传出链接( outgoing link )构建一个简单的电影推荐系统。

循环神经网络是一类善于处理时间或序列的重要神经网络,在文本处理中应用广泛,我们在第 5 章使用 RNN 根据文本风格生成类似莎士比亚风格的文本,并对 RNN 的工作进行可视化。

智能客服会应用问答系统,其中关键一环是文本问题匹配,在第6章我们使用来自 Stack Exchange 网站的数据来构建整个问题的词嵌入,然后使用 Pandas 从这些嵌入来匹配查找类似的文档或问题。

在社交网络中人们会为给定的一小段文本来推荐适用的表情符号,在第 7 章我们使用 Twitter API 实现推文收集,用贝叶斯分类器来阐述基线性能,还介绍卷积模型以及组合模型及模型调优方法。之后,在第 8 章我们将介绍序列神经网络来学习文本片段之间的转换,从古腾堡项目( Project Gutenberg )的 19 世纪小说中提取对话,并利用 seq2seq 工具包来训练聊天机器人。

2. 图像处理领域

深度学习技术在图像识别和计算机视觉领域产生了比较深远的影响。在图像分类任务中,数十层(有时超过一百层)的神经网络已被证明十分有效,训练这样的网络需要极佳的处理能力和海量的训练图像。

在第 9 章我们将介绍如何加载预训练网络(该网络是 Keras 提供的五个预训练网络之一),研究图像输入网络之前所需要预处理过程,展示如何运行网络的推理模式。针对其他任务的新数据进行部分的重新训练也涵盖了迁移学习 (transfer learning) 概念。

在网络搜索中,可能有人会采取以图搜图模式。在第 10 章我们构建通过实例图片来搜索图的搜索引擎, 我们研究如何查询维基数据(Wikidata),并从维基百科中获取适合的基础图片集开始着手。然后,我们将使用预训练网络为每个图片赋值,我们将研究主成分分析( principal components analysis PCA )作为可视化展现图与图之间关系的一种方法。

在现实世界中,我们往往需要从一幅图像中检测提取多个目标对象的信息,这是图像处理中经典任务,也是一个十分活跃的研究领域,在Keras上的Python notebook中重现其中最先进的算法较为棘手。在第11章我们使用Faster RCNN进行训练完成目标检测任务,Faster RCNN在用于训练图像分类器的同一个特征图上并行训练区域建议模型,而不是单独处理区域建议问题。

使用计算机来“魔术”渲染图像很有趣,在第12章我们将探讨一些用于可视化展现卷积网络进行图像分类时所见内容的技术。然后,我们将介绍尺度(octaves)、深度梦想(deep dreaming)技术、格拉姆矩阵(gram matrices)等,之后,我们进一步将这种技术应用于现有图像,并采用文森特·梵高的名画《星空》的绘画风格渲染照片,使用两种样式的图像渲染同一张图片,从而获得一个两种风格之间的渲染结果。

基于实例生成图像是一个热门的研究领域,在该领域中每月都会涌现出新想法和新突破。在第13章,我们将研究一个略有局限性的领域:手绘草图,从Google的Quick Draw数据集开始着手,建立一个能够学习“猫属性”的自编码器模型。我们还研究条件变分自编码器(conditional variational autoencoders),它在训练时会考虑图像标签,因此能够以随机样式再现特定类的图像。

在线搜索“免费图标”可以得到很多搜索结果。但是,这些结果并不是真正免费的(即没有任何使用限制的免费使用),大部分结果只是让用户感觉好像不需要花钱。此外,你还不能免费地重用这些图标,并且通常情况下网站会强烈建议你购买它们。因此,在第14章,我们使用条件变分自编码器、生成式对抗网络(generative  adversarial network,GAN)、RNN三种深度网络生成图标,从如何下载、提取,并将图标处理成可使用的标准格式。

3. 音乐处理

语音识别和语音合成技术使得亚马逊Alexa和GoogleHome成为可能,然而,语音处理任务实际上是在亚马逊、Google或苹果的数据中心运行的,因此我们还不认为这些是真正的深度学习试验。尽管Mozilla的深度语音(Deep Speech)已取得了令人瞩目的进步,建立最先进的语音识别系统还是十分困难的。第15章关注的重点是音乐,我们从训练音乐分类器模型开始,该模型可以告诉我们正在听的是什么音乐。然后,我们使用模型结果建立本地MP3索引,使用Spotfy API建立公开播放列表语料库,并用该库建立音乐推荐系统。

最后,该书在第 16 章介绍了在实际生产系统中使用模型的内容,让模型在真实的服务器或移动设备上运行。

近年,全球人工智能研究机构、研究院相继成立,深度学习成为人工智能的核心必备工具。对于深度学习研究人员,特别是应用开发工程师而言,如何摆脱深度学习模型的“黑盒”困境、如何让深度学习模型设计更加简洁高效、如何将深度学习快速地应用到具体的业务领域,该书进行了详细的介绍及代码示例,在每个实例场景,作者还提供具有重要价值的实践经验提点。读者如果想要进一步了解相关内容,可以参阅该书相关部分。

认真学完本书,读者将具备或提高两种能力:一是掌握深度学习的 Python 代码设计;二是能够自行开发深度学习具体应用。

以下是本书的目录:

目录

第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


以上所述就是小编给大家介绍的《深度学习实战》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程原本

编程原本

Alexander Stepanov、Paul McJones / 裘宗燕 / 机械工业出版社华章公司 / 2012-1-10 / 59.00元

本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。 这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目......一起来看看 《编程原本》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码