书籍作者:杜威·奥辛格 | 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、设置训练参数等技巧,还通过实际例子介绍深度学习在文本处理、图像处理、音乐处理等方面的技巧,而且还从实际使用的角度阐述如何在生产系统中部署机器学习应用,非常适合开发实际应用的深度学习工程师阅读和参考。
目录
前言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