阅读

Python深度学习实战:75个有关神经网络建模、强化学习与迁移

英德拉·丹·巴克著,2018年版    [文件格式: PDF - 43MB]

内容简介

本书以自上而下和自下而上的方法来展示针对不同领域实际问题的深度学习解决方案,包括图像识别、自然语言处理、时间序列预测和机器人操纵等。还讨论了采用诸如TensorFlow、PyTorch、Keras和CNTK等流行的深度学习开源框架用于实际问题的解决方案及其优缺点。本书内容包括:用于深度学习的编程环境、GPU计算和云端解决方案;前馈神经网络与卷积神经网络;循环与递归神经网络;强化学习与生成对抗网络;深度学习用于计算机视觉、自然语言处理、语音识别、视频分析、时间序列预测、结构化数据分析以及游戏智能体(Agents)和机器人操控等。后讨论了深度学习的超参数选择和神经网络的内在结构以及预训练模型的使用技巧等。

作者简介

Indra den Bakker是一位经验丰富的深度学习工程师和培训师。他是23insights平台的创始人,这是NVIDIA所属孵化项目计划的一部分,这是一个机器学习构建解决方案的初创型计划,可以改变世界上重要的行业。在开放课程平台Udacity,他指导了在深度学习和相关领域攻读微学位(Nanodegree)的学生,他还负责审查学生的实习项目。Indra拥有计算智能背景,并在创建23insights平台之前作为IPG Mediabrands的品牌代理以及Screen6的数据科学家若干年。

目录

  • 译者序
  • 原书前言
  • 第1章 编程环境、GPU计算、云解决方案和深度学习框架 1
    • 1.1 简介 1
    • 1.2 搭建一个深度学习环境 2
    • 1.3 在AWS上启动实例 2
    • 1.4 在GCP上启动实例 3
    • 1.5 安装CUDA和cuDNN 4
    • 1.6 安装Anaconda和库文件 6
    • 1.7 连接服务器上的JupyterNotebooks 7
    • 1.8 用 TensorFlow构建进的即用模型 8
    • 1.9 直观地用Keras建立网络 10
    • 1.10 使用PyTorch的RNN动态计算图 12
    • 1.11 用CNTK实现高性能模型 14
    • 1.12 使用MXNet构建高效的模型 15
    • 1.13 使用简单、高效的Gluon编码定义网络 17
  • 第2章 前馈神经网络 19
    • 2.1 简介 19
    • 2.2 理解感知器 19
    • 2.3 实现一个单层神经网络 23
    • 2.4 构建一个多层神经网络 27
    • 2.5 开始使用激活函数 30
    • 2.6 关于隐层和隐层神经元的实验 35
    • 2.7 实现一个自动编码器 38
    • 2.8 调整损失函数 41
    • 2.9 测试不同的优化器 44
    • 2.10 使用正则化技术提高泛化能力 47
    • 2.11 添加Dropout以防止过拟合 51
  • 第3章 卷积神经网络 56
    • 3.1 简介 56
    • 3.2 开始使用滤波器和参数共享 56
    • 3.3 应用层合并技术 60
    • 3.4 使用批量标准化进行优化 62
    • 3.5 理解填充和步长 66
    • 3.6 试验不同类型的初始化 72
    • 3.7 实现卷积自动编码器 76
    • 3.8 将一维CNN应用于文本 79
  • 第4章 递归神经网络 81
    • 4.1 简介 81
    • 4.2 实现一个简单的RNN 82
    • 4.3 添加LSTM 84
    • 4.4 使用GRU 86
    • 4.5 实现双向RNN 89
    • 4.6 字符级文本生成 91
  • 第5章 强化学习 95
    • 5.1 简介 95
    • 5.2 实现策略梯度 95
    • 5.3 实现深度Q学习算法 102
  • 第6章 生成对抗网络 109
    • 6.1 简介 109
    • 6.2 了解GAN 109
    • 6.3 实现DCGAN 112
    • 6.4 使用SRGAN来提高图像分辨率 117
  • 第7章 计算机视觉 125
    • 7.1 简介 125
    • 7.2 利用计算机视觉技术增广图像 125
    • 7.3 图像中的目标分类 130
    • 7.4 目标在图像中的本地化 134
    • 7.5 实时检测框架 139
    • 7.6 用U-net将图像分类 139
    • 7.7 语义分割与场景理解 143
    • 7.8 寻找人脸面部关键点 147
    • 7.9 人脸识别 151
    • 7.10 将样式转换为图像 157
  • 第8章 自然语言处理 162
    • 8.1 简介 162
    • 8.2 情绪分析 162
    • 8.3 句子翻译 165
    • 8.4 文本摘要 169
  • 第9章 语音识别和视频分析 174
    • 9.1 简介 174
    • 9.2 从零开始实现语音识别流程 174
    • 9.3 使用语音识别技术辨别讲话人 177
    • 9.4 使用深度学习理解视频 181
  • 第10章 时间序列和结构化数据 185
    • 10.1 简介 185
    • 10.2 使用神经网络预测股票价格 185
    • 10.3 预测共享单车需求 189
    • 10.4 使用浅层神经网络进行二元分类 192
  • 第11章 游戏智能体和机器人 194
    • 11.1 简介 194
    • 11.2 通过端到端学习来驾驶汽车 194
    • 11.3 通过深度强化学习来玩游戏 199
    • 11.4 用GA优化超参数 205
  • 第12章 超参数选择、调优和神经网络学习 211
    • 12.1 简介 211
    • 12.2 用TensorBoard和Keras可视化训练过程 211
    • 12.3 使用批量和小批量工作 215
    • 12.4 使用网格搜索调整参数 219
    • 12.5 学习率和学习率调度 221
    • 12.6 比较优化器 224
    • 12.7 确定网络的深度 227
    • 12.8 添加Dropout以防止过拟合 227
    • 12.9 通过数据增广使模型更加鲁棒 232
    • 12.10 利用TTA来提高精度 234
  • 第13章 网络内部构造 235
    • 13.1 简介 235
    • 13.2 用TensorBoard可视化训练过程 235
    • 13.3 用TensorBoard可视化网络结构 239
    • 13.4 分析网络权重等 239
    • 13.5 冻结层 244
    • 13.6 存储网络结构并训练权重 246
  • 第14章 预训练模型 250
    • 14.1 简介 250
    • 14.2 使用GoogLeNet/Inception进行大规模视觉识别 250
    • 14.3 用ResNet提取瓶颈特征 252
    • 14.4 对新类别使用预训练的VGG模型 253
    • 14.5 用Xception细调 256

Github | Docker | Project