新書推薦:
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
《
画艺循谱:晚明的画谱与消闲
》
售價:NT$
653.0
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:NT$
454.0
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:NT$
203.0
《
甲骨拼合六集
》
售價:NT$
1520.0
《
视觉美食家:商业摄影实战与创意解析
》
售價:NT$
602.0
|
編輯推薦: |
1 作者本身也是从小白开始入门深度学习的,无论从书中内容,还是讲解思路,以及语言风格,均适合你从零开始进入深度学习这个充满魔力的世界。
2 实例简单而不简约,用到了生成对抗网络和注意力机制等目前相对前沿的深度学习技术。
3 虽然是一本入门教程,但是对原理的讲述也不含糊,清晰易懂,让读者能知其然且知其所以然。
|
內容簡介: |
深度学习如今已经成为了科技领域最炙手可热的技术,在本书中,我们将帮助你入门深度学习的领域。本书将从人工智能的介绍入手,了解机器学习和深度学习的基础理论,并学习如何用PyTorch框架对模型进行搭建。通过阅读本书,你将会学习到机器学习中的线性回归和logistic回归,深度学习的优化方法,多层全连接神经网络,卷积神经网络,循环神经网络以及生成对抗网络,同时从零开始对PyTorch进行学习,了解PyTorch基础及如何用其进行模型的搭建,最后通过实战了解最前沿的研究成果和PyTorch在实际项目中的应用。
|
關於作者: |
廖星宇,目前就读于中国科学技术大学应用数学系,获得国家一等奖学金。在个人博客、知乎等平台上发布多篇关于深度学习的文章,具有一定的阅读量和人气。
|
目錄:
|
第1 章深度学习介绍1
1.1 人工智能 1
1.2 数据挖掘、机器学习与深度学习 2
1.2.1 数据挖掘 3
1.2.2 机器学习 3
1.2.3 深度学习 4
1.3 学习资源与建议 8
第2 章深度学习框架11
2.1 深度学习框架介绍 11
2.2 PyTorch 介绍 13
2.2.1 什么是PyTorch 13
2.2.2 为何要使用PyTorch 14
2.3 配置PyTorch 深度学习环境 15
2.3.1 操作系统的选择 15
2.3.2 Python 开发环境的安装 16
2.3.3 PyTorch 的安装 18
第3 章多层全连接神经网络24
3.1 热身:PyTorch 基础 24
3.1.1 Tensor(张量) 24
3.1.2 Variable(变量) 26
3.1.3 Dataset(数据集) 28
3.1.4 nn.Module(模组) 29
3.1.5 torch.optim(优化) 30
3.1.6 模型的保存和加载 31
3.2 线性模型 32
3.2.1 问题介绍 32
3.2.2 一维线性回归 33
3.2.3 多维线性回归 34
3.2.4 一维线性回归的代码实现 35
3.2.5 多项式回归 38
3.3 分类问题 42
3.3.1 问题介绍 42
3.3.2 Logistic 起源 42
3.3.3 Logistic 分布 42
3.3.4 二分类的Logistic 回归 43
3.3.5 模型的参数估计 44
3.3.6 Logistic 回归的代码实现 45
3.4 简单的多层全连接前向网络 49
3.4.1 模拟神经元 49
3.4.2 单层神经网络的分类器 50
3.4.3 激活函数 51
3.4.4 神经网络的结构 54
3.4.5 模型的表示能力与容量 55
3.5 深度学习的基石:反向传播算法 57
3.5.1 链式法则 57
3.5.2 反向传播算法 58
3.5.3 Sigmoid 函数举例 58
3.6 各种优化算法的变式 59
3.6.1 梯度下降法 59
3.6.2 梯度下降法的变式 62
3.7 处理数据和训练模型的技巧 64
3.7.1 数据预处理 64
3.7.2 权重初始化 66
3.7.3 防止过拟合 67
3.8 多层全连接神经网络实现MNIST 手写数字分类 69
3.8.1 简单的三层全连接神经网络 70
3.8.2 添加激活函数 70
3.8.3 添加批标准化 71
3.8.4 训练网络 71
第4 章卷积神经网络76
4.1 主要任务及起源 76
4.2 卷积神经网络的原理和结构 77
4.2.1 卷积层 80
4.2.2 池化层 84
4.2.3 全连接层 85
4.2.4 卷积神经网络的基本形式 85
4.3 PyTorch 卷积模块 87
4.3.1 卷积层 87
4.3.2 池化层 88
4.3.3 提取层结构 90
4.3.4 如何提取参数及自定义初始化 91
4.4 卷积神经网络案例分析 92
4.4.1 LeNet 93
4.4.2 AlexNet 94
4.4.3 VGGNet 95
4.4.4 GoogLeNet 98
4.4.5 ResNet 100
4.5 再实现MNIST 手写数字分类 103
4.6 图像增强的方法 105
4.7 实现cifar10 分类 107
第5 章循环神经网络111
5.1 循环神经网络 111
5.1.1 问题介绍 112
5.1.2 循环神经网络的基本结构 112
5.1.3 存在的问题 115
5.2 循环神经网络的变式:LSTM 与GRU 116
5.2.1 LSTM 116
5.2.2 GRU 119
5.2.3 收敛性问题 120
5.3 循环神经网络的PyTorch 实现 122
5.3.1 PyTorch 的循环网络模块 122
5.3.2 实例介绍 127
5.4 自然语言处理的应用 131
5.4.1 词嵌入 131
5.4.2 词嵌入的PyTorch 实现 133
5.4.3 N Gram 模型 133
5.4.4 单词预测的PyTorch 实现 134
5.4.5 词性判断 136
5.4.6 词性判断的PyTorch 实现 137
5.5 循环神经网络的更多应用 140
5.5.1 Many to one 140
5.5.2 Many to Many(shorter) 141
5.5.3 Seq2seq 141
5.5.4 CNN+RNN 142
第6 章生成对抗网络144
6.1 生成模型 144
6.1.1 自动编码器 145
6.1.2 变分自动编码器 150
6.2 生成对抗网络 153
6.2.1 何为生成对抗网络 153
6.2.2 生成对抗网络的数学原理 160
6.3 Improving GAN 164
6.3.1 Wasserstein GAN 164
6.3.2 Improving WGAN 167
6.4 应用介绍 168
6.4.1 Conditional GAN 168
6.4.2 Cycle GAN 170
第7 章深度学习实战173
7.1 实例一——猫狗大战:运用预训练卷积神经网络进行特征提取与预测 173
7.1.1 背景介绍 174
7.1.2 原理分析 174
7.1.3 代码实现 177
7.1.4 总结 183
7.2 实例二——Deep Dream:探索卷积神经网络眼中的世界 183
7.2.1 原理介绍 184
7.2.2 预备知识:backward 185
7.2.3 代码实现 190
7.2.4 总结 195
7.3 实例三——Neural-Style:使用PyTorch 进行风格迁移 196
7.3.1 背景介绍 196
7.3.2 原理分析 197
7.3.3 代码实现 199
7.3.4 总结 205
7.4 实例四——Seq2seq:通过RNN 实现简单的Neural Machine Translation 205
7.4.1 背景介绍 206
7.4.2 原理分析 206
7.4.3 代码实现 209
7.4.4 总结 221
|
內容試閱:
|
随着AlphaGo 以3:1 的成绩战胜李世石,人们对人工智能的热情如井喷式增长,你也许对人工智能充满兴趣,向往着了解机器学习,特别是深度学习,那么本书恰好能够由浅及深地带你进入深度学习这个世界。
讲深度学习的书有很多,深度学习的框架也有很多,本书将以PyTorch 为工具从基础的线性回归开始,讲到时下最前沿的生成对抗网络,并在其中穿插PyTorch 的教学,所以本书不仅仅是深度学习的入门指南,同时也是PyTorch 的入门教程。
本书针对的对象是对深度学习有所了解、用过一些深度学习框架(如使用Tensor-Flow 跑过简单的模型),但是希望能够用PyTorch 进行深度学习研究和学习的入门者。阅读本书并不需要太多的数学基础,但是需要一定的Python 基础。本书中的数学推导不多,感觉困难的读者可以跳过,这对理解全书的主要内容不会造成影响。
本书的主要内容包括:
第1 章,深度学习介绍;
第2 章,深度学习框架;
第3 章,多层全连接神经网络;
第4 章,卷积神经网络;
第5 章,循环神经网络;
第6 章,生成对抗网络;
第7 章,深度学习实战。
建议读者按照本书的内容顺序学习,因为后面的内容会以前面的内容为基础,另外本书的全部代码放在了https:github.comSherlockLiaocode-of-learn-deep-learning-withpytorch中,读者可以前往下载。
本书面向的对象是初学者,学习完本书之后,读者能够大致了解深度学习的基本知识,基本掌握PyTorch 的使用方法,知道如何根据实际问题搭建对应的深层网络结构,并能够进行调参得到较好的结果。当然本书只是一本入门读物,如果希望以后从事该领域的研究,仅靠此书是不够的,需要阅读更多专业的书籍和学术论文。
在本书的创作过程离不开很多人对我的帮助,书中的一部分内容参考了李飞飞教授在斯坦福大学开设的课程cs231n,以及台湾国立大学教授李宏毅开始的MLDS,除此之外还参考了网络上的一些图例,因为大多找不到出处,所以无法一一列出进行感谢。
除此之外,还感谢在写书的过程中我的家人对我的鼓励和信任,正是他们的支持让我能够坚持写完整本书。
最后,感谢电子工业出版社给我这次机会让我能够出版此书,同时也感谢孙学瑛编辑全程对我的帮助。
由于本人水平有限,书中存在的纰漏,欢迎大家向我指出,我也很高兴收到大家的意见和建议,不胜感激。
廖星宇
中国科学技术大学数学系
E-mail:sherlockliao01@gmail.com
|
|