深度学习笔记
批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!
¥
32.3
4.7折
¥
69
全新
库存6件
作者鲁伟
出版社北京大学出版社
ISBN9787301161227
出版时间2020-08
装帧平装
开本16开
定价69元
货号28998679
上书时间2024-10-19
商品详情
- 品相描述:全新
- 商品描述
-
导语摘要
《深度学习笔记》以一名深度学习学习者的视角展开深度学习相关的理论、技术和实践写作,因而命名为深度学习笔记。《深度学习笔记》作为一本以“笔记”命名的深度学习图书,主要定位是面向广大希望入门深度学习的初学者。《深度学习笔记》以深度神经网络(DNN)、卷积神经网络(CNN)和循环神经网络(RNN)为核心,详细介绍了深度学习的理论基础、通用方法和三大网络的原理与实践。全书代码以Keras框架作为范例,对于初学者而言简单易懂。
对于深度学习而言,《深度学习笔记》内容丰富,知识覆盖面广,兼有代码实战,适合想要入门深度学习的广大学习者阅读。
作者简介
鲁伟,贝叶斯统计方向硕士毕业,深度学习算法工程师,微信公众号“机器学习实验室”主编,对人工智能、机器学习、深度学习、医学图像处理和计算机视觉等有深入研究。
目录
第1讲神经网络与深度学习1
1.1机器学习与深度学习的关系2
1.2感知机与神经网络3
第2讲神经网络的过拟合与正则化7
2.1机器学习的核心要义8
2.2范数与正则化9
2.3神经网络的正则化和Dropout11
第3讲深度学习的优化算法14
3.1机器学习的数学规约15
3.2损失函数和深度学习优化算法15
3.3梯度下降法16
3.4从Momentum到Adam18
第4讲卷积神经网络21
4.1CNN发展简史与相关人物22
4.2卷积的含义23
4.3池化和全连接26
深度学习笔记目录第5讲CNN图像学习过程与可视化28
5.1CNN的直观理解29
5.2CNN图像学习的可视化31
第6讲CNN图像分类:从LeNet5到EfficientNet37
6.1计算机视觉的三大任务38
6.2CNN图像分类发展史39
第7讲CNN目标检测:从RCNN到YOLO47
7.1目标检测概述48
7.2CNN目标检测算法49
第8讲CNN图像分割:从FCN到U-Net56
8.1语义分割和实例分割概述57
8.2语义分割58
第9讲迁移学习理论与实践65
9.1迁移学习:深度学习未来五年的驱动力?66
9.2迁移学习的使用场景66
9.3深度卷积网络的可迁移性67
9.4迁移学习的使用方法68
9.5基于ResNet的迁移学习实验68
第10讲循环神经网络76
10.1从语音识别到自然语言处理77
10.2RNN:网络架构与技术79
10.3四种RNN结构81
第11讲长短期记忆网络84
11.1深度神经网络的困扰:梯度爆炸与梯度消失85
11.2LSTM:让RNN具备更好的记忆机制87
第12讲自然语言处理与词向量91
12.1自然语言处理简介92
12.2词汇表征93
12.3词向量与语言模型94
第13讲word2vec词向量98
13.1word2vec99
13.2word2vec的训练过程:以CBOW为例100
第14讲seq2seq与注意力模型104
14.1seq2seq的简单介绍105
14.2注意力模型105
14.3基于seq2seq和Attention机制的机器翻译实践108
第15讲语音识别118
15.1概述119
15.2信号处理与特征提取120
15.3传统声学模型122
15.4基于深度学习的声学模型123
15.5端到端的语音识别系统简介125
第16讲从Embedding到XLNet:NLP预训练模型简介127
16.1从Embedding到ELMo128
16.2特征提取器:Transformer129
16.3低调王者:GPT131
16.4封神之作:BERT131
16.5持续创新:XLNet132
第17讲深度生成模型之自编码器134
17.1自编码器135
17.2自编码器的降噪作用136
17.3变分自编码器138
17.4VAE的Keras实现143
第18讲深度生成模型之生成式对抗网络148
18.1GAN149
18.2训练一个DCGAN151
第19讲神经风格迁移、深度强化学习与胶囊网络159
19.1神经风格迁移160
19.2深度强化学习162
19.3胶囊网络166
第20讲深度学习框架171
20.1概述172
20.2TensorFlow173
20.3Keras175
20.4PyTorch176
第21讲深度学习数据集179
21.1CV经典数据集180
21.2NLP经典数据集187
参考文献189
内容摘要
《深度学习笔记》以一名深度学习学习者的视角展开深度学习相关的理论、技术和实践写作,因而命名为深度学习笔记。《深度学习笔记》作为一本以“笔记”命名的深度学习图书,主要定位是面向广大希望入门深度学习的初学者。《深度学习笔记》以深度神经网络(DNN)、卷积神经网络(CNN)和循环神经网络(RNN)为核心,详细介绍了深度学习的理论基础、通用方法和三大网络的原理与实践。全书代码以Keras框架作为范例,对于初学者而言简单易懂。
对于深度学习而言,《深度学习笔记》内容丰富,知识覆盖面广,兼有代码实战,适合想要入门深度学习的广大学习者阅读。
主编推荐
鲁伟,贝叶斯统计方向硕士毕业,深度学习算法工程师,微信公众号“机器学习实验室”主编,对人工智能、机器学习、深度学习、医学图像处理和计算机视觉等有深入研究。
精彩内容
第1讲神经网络与深度学习深度学习作为当前机器学习一个最热门的发展方向,仍然保持着传统机器学习方法的理念与特征。从有监督学习的角度来看,深度学习与机器学习并无本质上的差异。隐藏层使得感知机能够发展为拟合万物的神经网络模型,而反向传播算法则是整个神经网络训练的核心要义。
1.1机器学习与深度学习的关系深度学习笔记第1讲神经网络与深度学习想要学习深度学习,就要先温习一下机器学习,弄清楚二者之间的关系。
简单来说,机器学习就是从历史数据中探索和训练出数据的普遍规律,将其归纳为相应的数学模型,并对未知的数据进行预测的过程。至于在这个过程中所碰到的各种各样的问题,如数据质量、模型评价标准、训练优化方法、过拟合等一系列关乎机器学习模型生死的问题,在这里不做具体展开,读者可自行补习相关的机器学习知识。
在机器学习中,有很多相当成熟的模型和算法。其中有一种很厉害的模型,那就是人工神经网络。这种模型从早期的感知机发展而来,对任何函数都有较好的拟合性,但自20世纪90年代一直到2012年深度学习集中爆发前夕,神经网络受制于计算资源的限制和较差的可解释性,一直处于发展的低谷阶段。之后大数据兴起,计算资源也迅速跟上,加之2012年ImageNet竞赛冠军采用的AlexNet卷积神经网络一举将图像分类的Top5错误率降至16.4%,震惊了当时的学界和业界。从此之后,原本处于研究边缘状态的神经网络又迅速火热了起来,深度学习也逐渐占据了计算机视觉的主导地位。
注意:这里有必要解释一下模型和算法的概念,通常所说的像支持向量机(SupportVectorMachine,SVM)之类的所谓机器学习十大算法其实不应该称之为算法,更应该称之为模型。机器学习算法应该是在给定模型和训练策略的情况下采取的优化算法,如梯度下降法、牛顿法等。当然,一般情况下将机器学习中的模型和算法概念混在一起并没有什么不妥之处,毕竟模型中本身就包含着计算规则的意思。
介绍了这么多,无非就是想让大家知道,以神经网络为核心的深度学习是机器学习的一个领域分支,所以深度学习在其本质上也必须遵循机器学习的基本要义和法则。在传统的机器学习中,需要训练的是结构化的数值数据,如预测销售量、预测某人是否按时还款等。但在深度学习中,其训练输入就不再是常规的数值数据了,它可能是一张图像、一段语言、一段对话语音或一段视频。例如,深度学习要做的就是输入一张狗的图像到神经网络中,它输出的是狗或dog这样的标签;输入一段语音到神经网络中,它输出的是如“你好”这样的文本。综上所述,可以看出机器学习(深度学习)的核心任务就是找(训练)一个模型,它能够将输入转化为正确的输出。
1.2感知机与神经网络深度学习看起来就像是一个黑箱机制,输入各种非结构化的数据之后出来预测结果。例如,输入一段语音,输出为“Hello,World!”这样的文本;输入一张狗的图像,输出为“狗”这样的标签;输入一副棋盘和当前的局势,输出为下一步的走棋方式;输入“你好!”这样一句中文,输出为“Hi!”这样一句英文;等等。我们很难对输入与输出之间的模型转化过程给出一个合理的解释。在实际工作中,调用像TensorFlow这样优秀的深度学习框架能够快速搭建起一个深度学习项目,但在学习深度学习时,不建议大家一开始就上手各种深度学习框架,希望大家能和笔者一起,在把基本原理弄清楚之后利用Python自己手动去编写模型和实现算法细节。
为了学习深度学习和各种结构的神经网络,我们需要从头开始。感知机作为神经网络和支持向量机的理论基础,一定要清楚其中的模型细节。简单来说,感知机就是一个旨在建立一个线性超平面对线性可分的数据集进行分类的线性模型,其基本结构如图1.1所示。
图1.1感知机的基本结构图1.1从左到右为感知机模型的计算执行方向,模型接受了x1、x2、x3三个输入,将输入与权值参数w进行加权求和并经过sigmoid函数进行激活,将激活结果y作为输出,这便是感知机执行前向计算的基本过程。这样就行了吗?当然不行。刚刚只是解释了模型,对策略和算法并未做出解释。当执行完前向计算得到输出之后,模型需要根据当前的输出和实际的输出按照损失函数计算当前损失,计算损失函数关于权值和偏置的梯度,然后根据梯度下降法更新权值和偏置,经过不断地迭代调整权值和偏置使损失最小,这便是完整的单层感知机的训练过程。图1.2所示是输入为图像的感知机计算过程。
图1.2输入为图像的感知机计算过程前面介绍的是单层感知机,单层感知机包含两层神经元,即输入与输出神经元,可以非常容易地实现逻辑与、逻辑或和逻辑非等线性可分情形,但是单层感知机的学习能力是非常有限的,对于像异或问题这样的线性不可分情形,单层感知机就搞不定了(所谓线性不可分,即对于输入训练数据,不存在一个线性超平面能够将其进行线性分类)。其学习过程会出现一定程度的振荡,权值参数w难以稳定下来,最终不能求得合适的解,异或问题如图1.3(c)所示。
(a)x1ANDx2(b)x1ORx2(c)x1XORx2图1.3异或问题对于线性不可分的情况,在感知机基础上一般有两个解决方向,一个是著名的支持向量机,旨在通过核函数映射来处理非线性的情况,而另一种就是神经网络模型。这里的神经网络模型也叫作多层感知机(MultiLayerPerceptron,MLP),图1.4单隐藏层的神经网络的结构与单层感知机在结构上的区别主要在于MLP多了若干隐藏层,这使得神经网络能够处理非线性问题。
一个单隐藏层的神经网络的结构,如图1.4所示。
从图1.4中可以看出,相较于两层神经元的单层感知机,该多层感知机中间多了一个隐藏层。何为隐藏层?即在神经网络的训练过程中只能观察到输入层和输出层的数据,对于中间隐藏层的数据变化是看不见的,因而在深度神经网络(DeepNeuralNetworks,DNN)中,将中间看不见又难以对其效果进行合理解释的隐藏层称为“黑箱子”。
含隐藏层的神经网络是如何训练的呢?与感知机一样,神经网络的训练依然包含前向计算和反向传播(BackPropaggtion,BP)两个主要过程。当然,单层感知机没有反向传播这个概念,而是直接建立损失函数对权值和偏置参数进行梯度优化。简单来说,前向计算就是权值偏置与输入的线性加权和激活操作,在隐藏层上有个嵌套的过程。这里重点讲解反向传播算法(也称为误差逆传播算法),作为神经网络的训练算法,反向传播算法可谓是目前最成功的神经网络学习算法。通常所说的BP神经网络就是指应用反向传播算法进行训练的神经网络模型。
那么,反向传播算法的工作机制究竟是怎样的呢?这里需要大家复习一下在大学本科阶段学习的微积分知识。下面以一个两层(单隐藏层)网络为例,即图1.4中的网络结构,给大家详细推导一下反向传播的基本过程。
假设输入层为x,输入层与隐藏层之间的权值和偏置分别为w1和b1,线性加权计算结果为Z1=w1x+b1,采用sigmoid激活函数,激活输出为a1=σ(Z1)。而隐藏层到输出层的权值和偏置分别为w2和b2,线性加权计算结果为Z2=w2x+b2,激活输出为a2=σ(Z2)。所以,这个两层网络的前向计算过程为x→Z1→a1→Z2→a2。
可以看出,反向传播的直观理解就是将前向计算过程反过来,但必须是梯度计算的方向反过来,假设这里采用如式(1.1)所示的交叉熵损失函数。
L(y,a)=-(yloga+(1-y)log(1-a))(1.1)反向传播是基于梯度下降策略的,主要是以目标参数的负梯度方向对参数进行更新,所以基于损失函数对前向计算过程中各个变量进行梯度计算就非常必要了。将前向计算过程反过来,那么基于损失函数的梯度计算顺序就是da2→dZ2→dw2→db2→da1→dZ1→dw1→db1。下面从输出a2开始进行反向推导,输出层激活输出为a2,那么首先计算损失函数L(y,a)关于a2的微分da2,影响输出a2的是谁呢?由前向传播可知,a2是由Z2经激活函数激活计算而来的,所以计算损失函数关于Z2的导数dZ2必须经由a2进行复合函数求导,即微积分上常说的链式求导法则。然后继续往前推,影响Z2的又是哪些变量呢?由前向计算Z2=w2x+b2可知,影响Z2的有w2、a1和b2,继续按照链式求导法则进行求导即可。最终以交叉熵损失函数为代表的两层神经网络的反向传播向量化求导计算公式如下。
— 没有更多了 —
以下为对购买帮助不大的评价