𝔖 Scriptorium
✦   LIBER   ✦

📁

Python深度学习:基于PyTorch

✍ Scribed by 吴茂贵; 郁明敏; 杨本法; 李涛; 张粤磊


Publisher
机械工业出版社
Year
2019
Tongue
Chinese
Leaves
504
Series
智能系统与技术丛书
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


这是一本基于最新的Python和PyTorch版本的深度学习著作,旨在帮助读者低门槛进入深度学习领域,轻松速掌握深度学习的理论知识和实践方法,快速实现从入门到进阶的转变。

本书是多位人工智能技术专家和大数据技术专家多年工作经验的结晶,从工具使用、技术原理、算法设计、案例实现等多个维度对深度学习进行了系统的讲解。内容选择上,广泛涉猎、重点突出、注重实战;内容安排上,实例切入、由浅入深、循序渐进;表达形式上,深度抽象、化繁为简、用图说话。

本书共16章,分为三部分:

第一部分(第1~4章) PyTorch基础

首先讲解了机器学习和数据科学中必然会用到的工具Numpy的使用,然后从多个角度讲解了Pytorch的必备基础知识,最后详细讲解了Pytorch的神经网络工具箱和数据处理工具箱。

第二部分(第5~8章) 深度学习基础

这部分从技术原理、算法设计、实...

这是一本基于最新的Python和PyTorch版本的深度学习著作,旨在帮助读者低门槛进入深度学习领域,轻松速掌握深度学习的理论知识和实践方法,快速实现从入门到进阶的转变。

本书是多位人工智能技术专家和大数据技术专家多年工作经验的结晶,从工具使用、技术原理、算法设计、案例实现等多个维度对深度学习进行了系统的讲解。内容选择上,广泛涉猎、重点突出、注重实战;内容安排上,实例切入、由浅入深、循序渐进;表达形式上,深度抽象、化繁为简、用图说话。

本书共16章,分为三部分:

第一部分(第1~4章) PyTorch基础

首先讲解了机器学习和数据科学中必然会用到的工具Numpy的使用,然后从多个角度讲解了Pytorch的必备基础知识,最后详细讲解了Pytorch的神经网络工具箱和数据处理工具箱。

第二部分(第5~8章) 深度学习基础

这部分从技术原理、算法设计、实践技巧等维度讲解了机器学习和深度学习的经典理理论、算法以及提升深度学习模型性能的多种技巧,涵盖视觉处理、NLP和生成式深度学习等主题。

第三部分(第9~16章) 深度学习实践

这部分从工程实践的角度讲解了深度学习的工程方法和在一些热门领域的实践方案,具体包括人脸识别、图像修复、图像增强、风格迁移、中英文互译、生成式对抗网络、对抗攻击、强化学习、深度强化学习等内容。

✦ Table of Contents


前言
第一部分 PyTorch基础
第1章 Numpy基础
1.1 生成Numpy数组
1.1.1 从已有数据中创建数组
1.1.2 利用random模块生成数组
1.1.3 创建特定形状的多维数组
1.1.4 利用arange、linspace函数生成数组
1.2 获取元素
1.3 Numpy的算术运算
1.3.1 对应元素相乘
1.3.2 点积运算
1.4 数组变形
1.4.1 更改数组的形状
1.4.2 合并数组
1.5 批量处理
1.6 通用函数
1.7 广播机制
1.8 小结
第2章 PyTorch基础
2.1 为何选择PyTorch?
2.2 安装配置
2.2.1 安装CPU版PyTorch
2.2.2 安装GPU版PyTorch
2.3 Jupyter Notebook环境配置
2.4 Numpy与Tensor
2.4.1 Tensor概述
2.4.2 创建Tensor
2.4.3 修改Tensor形状
2.4.4 索引操作
2.4.5 广播机制
2.4.6 逐元素操作
2.4.7 归并操作
2.4.8 比较操作
2.4.9 矩阵操作
2.4.10 PyTorch与Numpy比较
2.5 Tensor与Autograd
2.5.1 自动求导要点
2.5.2 计算图
2.5.3 标量反向传播
2.5.4 非标量反向传播
2.6 使用Numpy实现机器学习
2.7 使用Tensor及Antograd实现机器学习
2.8 使用TensorFlow架构
2.9 小结
第3章 PyTorch神经网络工具箱
3.1 神经网络核心组件
3.2 实现神经网络实例
3.2.1 背景说明
3.2.2 准备数据
3.2.3 可视化源数据
3.2.4 构建模型
3.2.5 训练模型
3.3 如何构建神经网络?
3.3.1 构建网络层
3.3.2 前向传播
3.3.3 反向传播
3.3.4 训练模型
3.4 神经网络工具箱nn
3.4.1 nn.Module
3.4.2 nn.functional
3.5 优化器
3.6 动态修改学习率参数
3.7 优化器比较
3.8 小结
第4章 PyTorch数据处理工具箱
4.1 数据处理工具箱概述
4.2 utils.data简介
4.3 torchvision简介
4.3.1 transforms
4.3.2 ImageFolder
4.4 可视化工具
4.4.1 tensorboardX简介
4.4.2 用tensorboardX可视化神经网络
4.4.3 用tensorboardX可视化损失值
4.4.4 用tensorboardX可视化特征图
4.5 本章小结
第二部分 深度学习基础
第5章 机器学习基础
5.1 机器学习的基本任务
5.1.1 监督学习
5.1.2 无监督学习
5.1.3 半监督学习
5.1.4 强化学习
5.2 机器学习一般流程
5.2.1 明确目标
5.2.2 收集数据
5.2.3 数据探索与预处理
5.2.4 选择模型及损失函数
5.2.5 评估及优化模型
5.3 过拟合与欠拟合
5.3.1 权重正则化
5.3.2 Dropout正则化
5.3.3 批量正则化
5.3.4 权重初始化
5.4 选择合适激活函数
5.5 选择合适的损失函数
5.6 选择合适优化器
5.6.1 传统梯度优化的不足
5.6.2 动量算法
5.6.3 AdaGrad算法
5.6.4 RMSProp算法
5.6.5 Adam算法
5.7 GPU加速
5.7.1 单GPU加速
5.7.2 多GPU加速
5.7.3 使用GPU注意事项
5.8 本章小结
第6章 视觉处理基础
6.1 卷积神经网络简介
6.2 卷积层
6.2.1 卷积核
6.2.2 步幅
6.2.3 填充
6.2.4 多通道上的卷积
6.2.5 激活函数
6.2.6 卷积函数
6.2.7 转置卷积
6.3 池化层
6.3.1 局部池化
6.3.2 全局池化
6.4 现代经典网络
6.4.1 LeNet-5模型
6.4.2 AlexNet模型
6.4.3 VGG模型
6.4.4 GoogleNet模型
6.4.5 ResNet模型
6.4.6 胶囊网络简介
6.5 PyTorch实现CIFAR-10多分类
6.5.1 数据集说明
6.5.2 加载数据
6.5.3 构建网络
6.5.4 训练模型
6.5.5 测试模型
6.5.6 采用全局平均池化
6.5.7 像Keras一样显示各层参数
6.6 模型集成提升性能
6.6.1 使用模型
6.6.2 集成方法
6.6.3 集成效果
6.7 使用现代经典模型提升性能
6.8 本章小结
第7章 自然语言处理基础
7.1 循环神经网络基本结构
7.2 前向传播与随时间反向传播
7.3 循环神经网络变种
7.3.1 LSTM
7.3.2 GRU
7.3.3 Bi-RNN
7.4 循环神经网络的PyTorch实现
7.4.1 RNN实现
7.4.2 LSTM实现
7.4.3 GRU实现
7.5 文本数据处理
7.6 词嵌入
7.6.1 Word2Vec原理
7.6.2 CBOW模型
7.6.3 Skip-Gram模型
7.7 PyTorch实现词性判别
7.7.1 词性判别主要步骤
7.7.2 数据预处理
7.7.3 构建网络
7.7.4 训练网络
7.7.5 测试模型
7.8 用LSTM预测股票行情
7.8.1 导入数据
7.8.2 数据概览
7.8.3 预处理数据
7.8.4 定义模型
7.8.5 训练模型
7.8.6 测试模型
7.9 循环神经网络应用场景
7.10 小结
第8章 生成式深度学习
8.1 用变分自编码器生成图像
8.1.1 自编码器
8.1.2 变分自编码器
8.1.3 用变分自编码器生成图像
8.2 GAN简介
8.2.1 GAN架构
8.2.2 GAN的损失函数
8.3 用GAN生成图像
8.3.1 判别器
8.3.2 生成器
8.3.3 训练模型
8.3.4 可视化结果
8.4 VAE与GAN的优缺点
8.5 ConditionGAN
8.5.1 CGAN的架构
8.5.2 CGAN生成器
8.5.3 CGAN判别器
8.5.4 CGAN损失函数
8.5.5 CGAN可视化
8.5.6 查看指定标签的数据
8.5.7 可视化损失值
8.6 DCGAN
8.7 提升GAN训练效果的一些技巧
8.8 小结
第三部分 深度学习实践
第9章 人脸检测与识别
9.1 人脸识别一般流程
9.2 人脸检测
9.2.1 目标检测
9.2.2 人脸定位
9.2.3 人脸对齐
9.2.4 MTCNN算法
9.3 特征提取
9.4 人脸识别
9.4.1 人脸识别主要原理
9.4.2 人脸识别发展
9.5 PyTorch实现人脸检测与识别
9.5.1 验证检测代码
9.5.2 检测图像
9.5.3 检测后进行预处理
9.5.4 查看经检测后的图像
9.5.5 人脸识别
9.6 小结
第10章 迁移学习实例
10.1 迁移学习简介
10.2 特征提取
10.2.1 PyTorch提供的预处理模块
10.2.2 特征提取实例
10.3 数据增强
10.3.1 按比例缩放
10.3.2 裁剪
10.3.3 翻转
10.3.4 改变颜色
10.3.5 组合多种增强方法
10.4 微调实例
10.4.1 数据预处理
10.4.2 加载预训练模型
10.4.3 修改分类器
10.4.4 选择损失函数及优化器
10.4.5 训练及验证模型
10.5 清除图像中的雾霾
10.6 小结
第11章 神经网络机器翻译实例
11.1 Encoder-Decoder模型原理
11.2 注意力框架
11.3 PyTorch实现注意力Decoder
11.3.1 构建Encoder
11.3.2 构建简单Decoder
11.3.3 构建注意力Decoder
11.4 用注意力机制实现中英文互译
11.4.1 导入需要的模块
11.4.2 数据预处理
11.4.3 构建模型
11.4.4 训练模型
11.4.5 随机采样,对模型进行测试
11.4.6 可视化注意力
11.5 小结
第12章 实战生成式模型
12.1 DeepDream模型
12.1.1 Deep Dream原理
12.1.2 DeepDream算法流程
12.1.3 用PyTorch实现Deep Dream
12.2 风格迁移
12.2.1 内容损失
12.2.2 风格损失
12.2.3 用PyTorch实现神经网络风格迁移
12.3 PyTorch实现图像修复
12.3.1 网络结构
12.3.2 损失函数
12.3.3 图像修复实例
12.4 PyTorch实现DiscoGAN
12.4.1 DiscoGAN架构
12.4.2 损失函数
12.4.3 DiscoGAN实现
12.4.4 用PyTorch实现从边框生成鞋子
12.5 小结
第13章 Caffe2模型迁移实例
13.1 Caffe2简介
13.2 Caffe如何升级到Caffe2
13.3 PyTorch如何迁移到Caffe2
13.4 小结
第14章 AI新方向:对抗攻击
14.1 对抗攻击简介
14.1.1 白盒攻击与黑盒攻击
14.1.2 无目标攻击与有目标攻击
14.2 常见对抗样本生成方式
14.2.1 快速梯度符号法
14.2.2 快速梯度算法
14.3 PyTorch实现对抗攻击
14.3.1 实现无目标攻击
14.3.2 实现有目标攻击
14.4 对抗攻击和防御措施
14.4.1 对抗攻击
14.4.2 常见防御方法分类
14.5 总结
第15章 强化学习
15.1 强化学习简介
15.2 Q-Learning原理
15.2.1 Q-Learning主要流程
15.2.2 Q函数
15.2.3 贪婪策略
15.3 用PyTorch实现Q-Learning
15.3.1 定义Q-Learing主函数
15.3.2 执行Q-Learing
15.4 SARSA算法
15.4.1 SARSA算法主要步骤
15.4.2 用PyTorch实现SARSA算法
15.5 小结
第16章 深度强化学习
16.1 DQN算法原理
16.1.1 Q-Learning方法的局限性
16.1.2 用DL处理RL需要解决的问题
16.1.3 用DQN解决方法
16.1.4 定义损失函数
16.1.5 DQN的经验回放机制
16.1.6 目标网络
16.1.7 网络模型
16.1.8 DQN算法
16.2 用PyTorch实现DQN算法
16.3 小结
附录A PyTorch0.4版本变更
附录B AI在各行业的最新应用


📜 SIMILAR VOLUMES


深度学习:基于Keras的Python实践
✍ 魏贞原 📂 Library 📅 2018 🏛 电子工业出版社 🌐 Chinese

<p>《深度学习:基于Keras的Python实践》本书系统讲解了深度学习的基本知识,以及使用深度学习解决实际问题,详细介绍了如何构建及优化模型,并针对不同的问题给出不同的解决方案,通过不同的例子展示了在具体项目中的应用和实践经验,是一本非常好的深度学习的入门和实践书籍。</p> <p>《深度学习:基于Keras的Python实践》以实践为导向,使用Keras 作为编程框架,强调简单、快速地上手建立模型,解决实际项目问题。读者可以通过学习本书,迅速上手实践深度学习,并利用深度学习解决实际问题。</p> <p>《深度学习:基于Keras的Python实践》非常适合于项目经理,有意从事机器学习

深度学习入门:基于Python的理论与实现
✍ 斋藤康毅 📂 Library 📅 2018 🏛 人民邮电出版社 🌐 Chinese

本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等“为什么”的问题。

Keras快速上手:基于Python的深度学习实战
✍ 谢梁; 鲁颖; 劳虹岚 📂 Library 📅 2017 🏛 电子工业出版社 🌐 Chinese

<p>《Keras快速上手:基于Python的深度学习实战》系统地讲解了深度学习的基本知识、建模过程和应用,并以深度学习在推荐系统、图像识别、自然语言处理、文字生成和时间序列中的具体应用为案例,详细介绍了从工具准备、数据获取和处理到针对问题进行建模的整个过程和实践经验,是一本非常好的深度学习入门书。</p> <p>不同于许多讲解深度学习的书籍,《Keras快速上手:基于Python的深度学习实战》以实用为导向,选择了 Keras 作为编程框架,强调简单、快速地设计模型,而不去纠缠底层代码,使得内容相当易于理解,读者可以在 CNTK、 TensorFlow 和 Theano 的后台之间随意切换

Python深度学习
✍ 弗朗索·肖莱; 张亮 📂 Library 📅 2018 🏛 人民邮电出版社 🌐 Chinese