《深度学习实战》是由机械工业出版社出版的一本关于深度学习方面的书籍,作者是杜威·奥辛格(DouweO,主要介绍了关于深度学习、实战方面的知识内容,目前在深度学习类书籍综合评分为:8.3分。
书籍介绍
这本书是针对实际应用深度学习的开发指南。笔者是一位前Google软件工程师,在深度学习的研究和实践方面积累了丰富的经验。该书记载了作者从实际工作中总结出的许多开发技巧,不仅涵盖了与深度神经网络调试有关的一般技巧,包括错误查找、结果检查、激活函数的选择、正则化和Dropout等技巧,还通过实例介绍了深度学习在文本处理、图像处理、音乐处理等方面的技巧,并从实际应用的角度阐述了如何将机器学习应用应用到生产系统中,非常适合开发实际应用的深度学习工程师进行阅读和参考。
深度学习没那么可怕。这一机器学习方法要过好几年才能掌握,但在像Keras和TensorFlow这样的框架出现之前,没有机器学习背景的软件工程师也可以迅速进入这一领域。从这本书中,你可以学到深度学习如何制作和分类文本、图片和音乐。
这本书每一章都包含了一些完成独立项目所需的技巧,比如训练音乐推荐系统。当你遇到困难时,作者在第二章中还提供了六个帮助你的技巧。这本书中的示例使用Python语言编写,代码以Pythonnotebooks的方式在GitHub上提供。
目录
- 第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