神经网络与深度学习讲义.pdf
- 文档编号:3432079
- 上传时间:2023-05-05
- 格式:PDF
- 页数:70
- 大小:687.64KB
神经网络与深度学习讲义.pdf
《神经网络与深度学习讲义.pdf》由会员分享,可在线阅读,更多相关《神经网络与深度学习讲义.pdf(70页珍藏版)》请在冰点文库上搜索。
DRAFT编译时间:
2015-12-1122:
00神经网络与深度学习讲义NotesonArtificialNeuralNetworksandDeepLearning邱锡鹏2015年12月11日DRAFT编译时间:
2015-12-1122:
00目录第一章绪论11.1总结和深入阅读.2第二章数学基础32.1向量.32.1.1向量的模.32.1.2向量的范数.32.2矩阵.42.3矩阵的基本运算.42.3.1常见的矩阵.52.3.2矩阵的范数.52.4导数.62.4.1常见的向量导数.62.4.2导数法则.62.5常用函数.72.5.1logistic函数.72.5.2softmax函数.72.6总结和深入阅读.9第三章机器学习概述103.1机器学习概述.10DRAFT编译时间:
2015-12-1122:
00II目录3.1.1损失函数.123.1.2机器学习算法的类型.133.1.3机器学习中的一些概念.143.1.4参数学习算法.163.2线性回归.183.3线性分类.203.3.1两类分类.203.3.2多类线性分类.223.4评价方法.263.5总结和深入阅读.27第四章感知器284.1两类感知器.294.1.1感知器学习算法.294.1.2收敛性证明.304.2多类感知器.324.2.1多类感知器的收敛性.344.3投票感知器.354.4总结和深入阅读.36第五章人工神经网络385.1神经元.395.1.1激活函数.395.2前馈神经网络.415.2.1前馈计算.415.3反向传播算法.425.4梯度消失问题.455.5训练方法.465.6经验.46邱锡鹏:
神经网络与深度学习讲义http:
/Turing1950,机器能思维吗?
让机器具备智能是人们长期追求的目标,但是关于智能的定义也十分模糊。
AlanTur-ing在1950年提出了著名的图灵测试:
“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。
如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。
要通过真正地通过图灵测试,计算机必须具备理解语言、学习、记忆、推理、决策等能力。
这也延伸出很多不同的学科,比如机器感知(计算机视觉、自然语言处理),学习(模式识别、机器学习、增强学习),记忆(知识表示)、决策(规划、数据挖掘)等。
所有这些分支学科都可以看成是人工智能(ArtificialIntelligence,AI)的研究范畴。
其中,机器学习(MachineLearning,ML)因其在很多领域的出色表现逐渐成为热门学科。
机器学习的主要目的是设计和分析一些学习算法,让计算机从数据中获得一些决策函数,从而可以帮助人们解决一些特定任务,提高效率。
对于人工智能来说,机器学习从一开始就是一个重要的研究方向,并涉及了概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。
人工神经网络(ArtificialNeuralNetwork,ANN),也简称神经网络,是众多机器学习算法中比较接近生物神经网络特性的数学模型。
人工神经网络通过模拟生物神经网络(大脑)的结构和功能,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成,可以用来对数据之间的复杂关系进行建模。
Rosenblatt1958最早提出可以模拟人类感知能力的数学模型,并称之为感知器(Per-ceptron),并提出了一种接近于人类学习过程(迭代、试错)的学习算法。
但感知器因其DRAFT编译时间:
2015-12-1122:
002第一章绪论结构过于简单,不能解决简单的异或(XOR)等线性不可分问题,造成了人工神经领域发展的长年停滞及低潮。
直到1980年以后,GeoffreyHinton、YannLeCun等人将反向传播算法(Backpropagation,BP)引入到多层感知器WilliamsandHinton,1986,人工神经网络才又重新引起人们的注意,并开始成为新的研究热点。
但是,2000年以后,因为当时计算机的计算能力不足以支持训练大规模的神经网络,并且随着支持向量机(SupportVectorMachines,SVM)等方法的兴起,人工神经网络又一次陷入低潮。
直到2006年,HintonandSalakhutdinov2006发现多层前馈神经网络可以先通过逐层预训练,再用反向传播算法进行精调的方式进行有效学习。
并且近年来计算机计算能力的提高(大规模并行计算,GPU),计算机已经可以训练大规模的人工神经网络。
随着深度的人工神经网络在语音识别Hintonetal.,2012和图像分类Krizhevskyetal.,2012等任务上的巨大成功,越来越多的人开始关注这一个“崭新”的研究领域:
深度学习。
目前,深度学习技术在学术界和工业界取得了广泛的成功,并逐渐受到了高度重视。
深度学习(DeepLearning,DL)是从机器学习中的人工神经网络发展出来的新领域。
早期所谓的“深度”是指超过一层的神经网络。
但随着深度学习的快速发展,其内涵已经超出了传统的多层神经网络,甚至机器学习的范畴,逐渐朝着人工智能的方向快速发展。
本书主要介绍人工神经网络与深度学习中的基础知识、主要模型(卷积神经网络、递归神经网络等)以及在计算机视觉、自然语言处理等领域的应用。
1.1总结和深入阅读若希望全面了解人工神经网络和深度学习的知识,可以参考如下材料:
1.IanGoodfellow,AaronCourville,andYoshuaBengio.Deeplearning.BookinpreparationforMITPress,2015.URLhttp:
/goodfeli.github.io/dlbook/2.YoshuaBengio.LearningdeeparchitecturesforAI.FoundationsandtrendsRinMachineLearning,2
(1):
1127,2009另外,网站也给出很好的教程,比如http:
/1的矩阵。
a=a1a2.an,(2.1)其中,ai称为向量a的第i个分量,或第i维。
为简化书写、方便排版起见,有时会以加上转置符号T的行向量(大小为1n的矩阵)表示列向量。
a=a1,a2,anT(2.2)向量符号一般用黑体小写字母a,b,c,或小写希腊字母,等来表示。
2.1.1向量的模向量a的模a为a=vuutni=1a2i.(2.3)2.1.2向量的范数在线性代数中,范数(norm)是一个表示“长度”概念的函数,为向量空间内的所有向量赋予非零的正长度或大小。
对于一个n维的向量x,其常见的范数有:
DRAFT编译时间:
2015-12-1122:
004第二章数学基础L1范数:
|x|1=ni=1|xi|.(2.4)L2范数:
x2=vuutni=1x2i=xTx.(2.5)2.2矩阵一个大小为mn的矩阵(Matrix)是一个由m行n列元素排列成的矩形阵列。
矩阵里的元素可以是数字、符号或数学式。
这里,矩阵我们一般默认指数字矩阵。
一个矩阵A从左上角数起的第i行第j列上的元素称为第i,j项,通常记为Ai,j或Aij。
一个n维向量可以看作是n1的矩阵。
2.3矩阵的基本运算如果A和B都为mn的矩阵,则的A+B和AB也是mn的矩阵,其每个元素是A和B相应元素相加或相减。
(A+B)ij=Aij+Bij,(2.6)(AB)ij=AijBij.(2.7)一个标量b与矩阵A乘积为A的每个元素是A的相应元素与c的乘积(cA)ij=cAij.(2.8)一个标量b与矩阵A乘积为A的每个元素是A的相应元素与c的乘积(cA)ij=cAij.(2.9)两个矩阵的乘积仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。
如A是mp矩阵和B是pn矩阵,则乘积AB是一个mn的矩阵(AB)ij=pk=1AikBkj(2.10)矩阵的乘法满足结合律和分配律:
邱锡鹏:
神经网络与深度学习讲义http:
/结合律:
(AB)C=A(BC),分配律:
(A+B)C=AC+BC,C(A+B)=CA+CB.mn矩阵A的转置(Transposition)是一个nm的矩阵,记为AT,AT第i行第j列的元素是原矩阵A第j行第i列的元素,(AT)ij=Aji.(2.11)2.3.1常见的矩阵对称矩阵指其转置等于自己的矩阵,即满足A=AT。
对角矩阵(DiagonalMatrix)是一个主对角线之外的元素皆为0的矩阵。
对角线上的元素可以为0或其他值。
一个nn的对角矩阵矩阵A满足:
Aij=0ifi=ji,j1,n(2.12)对角矩阵A也可以记为diag(a),a为一个n维向量,并满足Aii=ai.(2.13)nn的对角矩阵矩阵A=diag(a)和n维向量b的乘积为一个n维向量Ab=diag(a)b=ab,(2.14)其中表示点乘,即(ab)i=aibi。
单位矩阵是一种特殊的的对角矩阵,其主对角线元素为1,其余元素为0。
n阶单位矩阵In,是一个nn的方形矩阵。
可以记为In=diag(1,1,.,1)。
一个矩阵和单位矩阵的乘积等于其本身。
AI=IA=A(2.15)2.3.2矩阵的范数矩阵的范数有很多种形式,这里我们定义其p-范数为Ap=(mi=1nj=1|aij|p)1/p.(2.16)邱锡鹏:
神经网络与深度学习讲义http:
/Rp,函数y=f(x)=f(x1,xp)R,则y关于x的导数为xf(x)=f(x)x1.f(x)xpRp.(2.17)对于一个p维向量xRp,函数y=f(x)=f(x1,xp)Rq,则y关于x的导数为xf(x)=f1(x)x1fq(x)x1.fq(x)x1fq(x)xpRpq.(2.18)2.4.1常见的向量导数Axx=AT,(2.19)xTAx=A(2.20)2.4.2导数法则导数满足如下法则:
加(减)法则:
y=f(x),z=g(x)则(y+z)x=yx+zx(2.21)乘法法则:
y=f(x),z=g(x)则yTzx=yxz+zxy(2.22)链式法则:
z=f(y),y=g(x)则zx=yxzy(2.23)如果z=f(y),y=g(X),X为矩阵,则zXij=tr(zy)TyXij)(2.24)邱锡鹏:
神经网络与深度学习讲义http:
/个标量x1,xK,我们可以通过f(x)得到另外一组K个标量z1,zK,zk=f(xk),k=1,K(2.25)为了简便起见,我们定义x=x1,xKT,z=z1,zKT,z=f(x),(2.26)f(x)是按位运算的,即(f(x)i=f(xi)。
,即。
如果f(x)的导数记为f(x)。
当这个函数的输入为K维向量x=x1,xKT时,其导数为一个对角矩阵。
f(x)x=f(xj)xiKK=f(x1)000f(x2)0.00f(xK)(2.27)=diag(f(x).(2.28)2.5.1logistic函数logistic函数经常用来将一个实数空间的数映射到(0,1)区间,记为(x)(x)=11+ex.(2.29)其导数为(x)=(x)(1(x)(2.30)(2.31)2.5.2softmax函数softmax函数是将多个标量映射为一个概率分布。
邱锡鹏:
神经网络与深度学习讲义http:
/个标量x1,xK,softmax函数定义为zk=softmax(xk)=exp(xk)Ki=1exp(xi),(2.32)这样,我们可以将K个变量x1,xK转换为一个分布:
z1,zK,满足zk0,1,k,Ki=1zk=1.(2.33)当softmax函数的输入为K维向量x时,z=softmax(x)(2.34)=1Kk=1exp(xk)exp(x1).exp(xK)=exp(x)Kk=1exp(xk)=exp(x)1TKexp(x),(2.35)其中,1K=1,1K1是K维的全1向量。
其导数为softmax(x)x=(exp(x)1TKexp(x)x=11Kexp(x)exp(x)x+(11TKexp(x)x(exp(x)T=diag(exp(x)1Kexp(x)(1(1TKexp(x)2)(1TKexp(x)x(exp(x)T=diag(exp(x)1Kexp(x)(1(1TKexp(x)2)diag(exp(x)1K(exp(x)T=diag(exp(x)1Kexp(x)(1(1TKexp(x)2)exp(x)(exp(x)T=diag(exp(x)1Kexp(x)exp(x)1TKexp(x)(exp(x)T1TKexp(x)=diag(softmax(x)softmax(x)softmax(x)T,(2.36)其中,diag(exp(x)1K=exp(x)。
邱锡鹏:
神经网络与深度学习讲义http:
/1997在介绍人工神经网络之前,我们先来了解下机器学习的基本概念。
然后再介绍下最简单的神经网络:
感知器。
机器学习主要是研究如何使计算机从给定的数据中学习规律,即从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对未知或无法观测的数据进行预测。
目前,主流的机器学习算法是基于统计的方法,也叫统计机器学习。
机器学习系统的示例见图3.1。
3.1机器学习概述狭义地讲,机器学习是给定一些训练样本(xi,yi),1iN(其中xi是输入,yi是需要预测的目标),让计算机自动寻找一个决策函数f()来建立x和y之间的关系。
y=f(x),),(3.1)模型输入x输出y学习算法训练样本(x,y)图3.1:
机器学习系统示例DRAFT编译时间:
2015-12-1122:
003.1机器学习概述11这里,y是模型输出,为决策函数的参数,(x)表示样本x对应的特征表示。
因为x不一定都是数值型的输入,因此需要通过(x)将x转换为数值型的输入。
如果我们假设x是已经处理好的标量或向量,公式3.1也可以直接写为y=f(x,).(3.2)此外,我们还要建立一些准则来衡量决策函数的好坏。
在很多机器学习算法中,一般是定义一个损失函数L(y,f(x,),然后在所有的训练样本上来评价决策函数的风险。
R()=1NNi=1L(y(i),f(x(i),).(3.3)这里,风险函数R()是在已知的训练样本(经验数据)上计算得来的,因此被称之为经验风险。
用对参数求经验风险来逐渐逼近理想的期望风险的最小值,就是我们常说的经验风险最小化原则(EmpiricalRiskMinimization)。
这样,我们的目标就是变成了找到一个参数使得经验风险最小。
=argminR().(3.4)因为用来训练的样本往往是真实数据的一个很小的子集或者包含一定的噪声数据,不能很好地反映全部数据的真实分布。
经验风险最小化原则很容易导致模型在训练集上错误率很低,但是在未知数据上错误率很高。
这就是所谓的过拟合index过拟合。
过拟合问题往往是由于训练数据少和噪声等原因造成的。
过拟合的标准定义为:
给定一个假设空间H,一个假设h属于H,如果存在其他的假设h属于H,使得在训练样例上h的损失比h小,但在整个实例分布上h比h的损失小,那么就说假设h过度拟合训练数据Mitchell,1997。
和过拟合相对应的一个概念是泛化错误。
泛化错误是衡量一个机器学习模型是否可以很好地泛化到未知数据。
泛化错误一般表现为一个模型在训练集和测试集上错误率的差距。
为了解决过拟合问题,一般在经验风险最小化的原则上上加参数的正则化(Regular-ization),也叫结构风险最小化原则(StructureRiskMinimization)。
=argminR()+22(3.5)=argmin1NNi=1L(y(i),f(x(i),)+2.(3.6)这里,2是L2范数的正则化项,用来减少参数空间,避免过拟合。
用来控制正则化的强度。
邱锡鹏:
神经网络与深度学习讲义http:
/lossfunction)是L(y,f(x,)=1ify=f(x,)0ify=f(x,)(3.7)=I(y=f(x,),(3.8)这里I是指示函数。
平方损失函数平方损失函数(quadraticlossfunction)是L(y,y)=(yf(x,)2(3.9)交叉熵损失函数对于分类问题,预测目标y为离散的类别,模型输出f(x,)为每个类的条件概率。
假设y1,C,模型预测的第i个类的条件概率P(y=i|x)=fi(x,),则f(x,)满足fi(x,)0,1,Ci=1fi(x,)=1(3.10)fy(x,)可以看作真实类别y的似然函数。
参数可以直接用最大似然估计来优化。
考虑到计算问题,我们经常使用最小化负对数似然,也就是负对数似然损失函数(NegativeLogLikelihoodfunction)。
L(y,f(x,)=logfy(x,).(3.11)邱锡鹏:
神经网络与深度学习讲义http:
/EntropyLossfunction)是负对数似然函数的一种改进。
Hinge损失函数对于两类分类问题,假设y和f(x,)的取值为1,+1。
Hinge损失函数(HingeLossFunction)的定义如下:
L(y,f(x,)=max(0,1yf(x,)(3.13)=|1yf(x,)|+.(3.14)3.1.2机器学习算法的类型根据训练数据提供的信息以及反馈方式的不同,机器学习算法一般可以分为以下几类:
有监督学习(SupervisedLearning)有监督学习是利用一组已知输入x和输出y的数据来学习模型的参数,使得模型预测的输出标记和真实标记尽可能的一致。
有监督学习根据输出类型又可以分为回归和分类两类。
回归(Regression)如果输出y是连续值(实数或连续整数),f(x)的输出也是连续值。
这种类型的问题就是回归问题。
对于所有已知或未知的(x,y),使得f(x,)和y尽可能地一致。
损失函数通常定义为平方误差。
L(y,f(x,)=yf(x,)2分类(Classification)如果输出y是离散的类别标记(符号),就是分类问题。
损失函数有很多种定义方式。
一种常用的方式0-1损失函数。
L(y,y)=I(f(x,)=y),1在数字电路中,one-hot是一种状态编码,指对任意给定的状态,状态寄存器中只有l位为1,其余位都为0。
邱锡鹏:
神经网络与深度学习讲义http:
/Learning)无监督学习是用来学习的数据不包含输出目标,需要学习算法自动学习到一些有价值的信息。
一个典型的无监督学习问题就是聚类(Clustering)。
增强学习(ReinforcementLearning)增强学习也叫强化学习,强调如何基于环境做出一系列的动作,以取得最大化的累积收益。
每做出一个动作,并不一定立刻得到收益。
增强学习和有监督学习的不同在于增强学习不需要显式地以输入/输出对的方式给出训练样本,是一种在线的学习机制。
有监督的学习方法需要每个数据记录都有类标号,而无监督的学习方法则不考虑任何指导性信息。
一般而言,一个监督学习模型需要大量的有标记数据集,而这些数据集是需要人工标注的。
因此,也出现了很多弱监督学习和半监督学习的方法,希望从大规模的未标记数据中充分挖掘有用的信息,降低对标记数据数量的要求。
3.1.3机器学习中的一些概念上述的关于机器学习的介绍中,提及了一些基本概念,比如“数据”,“样本”,“特征”,“数据集”等。
我们首先来解释下这些概念。
数据在计算机科学中,数据是指所有能计算机程序处理的对象的总称,可以是数字、字母和符号等。
在不同的任务中,表现形式不一样,比如图像、声音、文字、传感器数据等。
特征机器学习中很多算法的输入要求是数学上可计算的。
而在现实世界中,原始数据通常是并不都以连续变量或离散变量的形式存在的。
我们首先需要将抽取出一些可以表征这些数据的数值型特征。
这些数值型特征一般可以表示为向量形式,也称为特征向量。
邱锡鹏:
神经网络与深度学习讲义http:
/y。
假设测试集为T,模型的正确率为:
Acc=1|T|(xi,yi)T|yi=yi|,(3.15)其中|T|为测试集的大小。
第?
节中会介绍更多的评价方法。
正例和负例对于两类分类问题,类别可以表示为+1,1,或者直接用正负号表示。
因此,常用正例和负例来分别表示属于不同类别的样本。
判别函数经过特征抽取后,一个样本可以表示为k维特征空间中的一个点。
为了对这个特征空间中的点进行区分,就需要寻找一些超平面来将这个特征空间分为一些互不重叠的子区域,使得不同类别的点分布在不同的子区域中,这些超平面就成为判别界面。
邱锡鹏:
神经网络与深度学习讲义http:
/Rm为特征空间中的点,这个超平面由所有满足函数f(z)=0的点组成。
这里的f(z)就称为判别函数。
有了判别函数,分类就变得很简单,就是看一个样本在特征空间中位于哪个区域,从而确定这个样本的类别。
判别函数的形式多种多样,在自然语言处理中,最为常用的判别函数为线性函数。
3.1.4参数学习算法学习算法就是如何从训练集的样本中,自动学习决策函数的参数。
不同机器学习算法的区别在于决策函数和学习算法的差异。
相同的决策函数可以有不同的学习算法。
比如线性分类器,其参数的学习算法可以是感知器、支持向量机以及梯度下降法等。
通过一个学习算法进行自动学习参数的过程也叫作训练过程。
这里我们介绍一种常用的参数学习算法:
梯度下降法(GradientDescentMethod)。
梯度下降法也叫最速下降法(SteepestDescendMethod)。
如果一个实值函数f(x)在点a处可微且有定义,那么函数f(x)在a点沿着梯度相反的方向f(a)下降最快。
梯度下降法经常用来求解无约束优化的极值问题。
梯度下降法的迭代公式为:
at+1=atf(at),(3.16)其中0是梯度方向上的搜索步长。
对于为一个够小数值时,那么f(ak+1)f(a1)。
因此,我们可以从一个初始值x0开始,并通过迭代公式得到x0,x1,x2,xn,并满足f(x0)f(x1)f(x2)f(xn),最终xn收敛到期望的极值。
搜索步长的取值必须合适,如果过大就不会收敛,如果过小则收敛速度太慢。
一般步长可以由线性搜索算法来确定。
在机器学习问题中,我们需要学习到参数,使得风险函数最小化。
=argminR(t)(3.17)=argmin1NNi=1L(y(i),f(x(i),).(3.18)邱锡鹏:
神经网络与深度学习讲义http:
/R()t(3.19)=atNi=1R(t;x(i),y(i),(3.20)在机器学习中也叫作学习率(LearningRate)。
这里,梯度下降是求得所有样本上的风险函数最小值,叫做批量梯度下降法。
若样本个数N很大,输入x的维数也很大时,那么批量梯度下降法每次迭代要处理所有的样本,效率会较低。
为此,有一种改进的方法即随机梯度下降法。
随机梯度下降法(StochasticGradientDescent,SGD)也叫增量梯度下降,每个样本都进行更新at+1=atR(t;x(t),y(t),(3.21)x(t),y(t)是第t次迭代选取的样本。
批量梯度下降和随机梯度下降之间的区别在于每次迭代的风险是对所有样本汇总的风险还是单个样本的风险。
随机梯度下降因为实现简单,收敛速度也非常快,因此使用非常广泛。
还有一种折中的方法就是mini-batch随机梯度下降,每次迭代时,只采用一小部分的训练样本,兼顾了批量梯度下降和随机梯度下降的优点。
Early-Stop在梯度下降训练的过程中,由于过拟合的原因,在训练样本上收敛的参数,并不一定在测试集上最优。
因此,我们使用一个验证集(ValidationDataset)(也叫开发集(De-velopmentDataset)来测试每一次迭代的参数在验证集上是否最优。
如果在验证集上的错误率不再下降,就停止迭代。
这种策略叫Early-Stop。
如果没有验证集,可以在训练集上进行交叉验证。
学习率设置在梯度下降中,学习率的取值非常关键,如果过大就不会收敛,如果过小则收敛速度太慢。
一般步长可以由线性搜索算法来确定。
在机器学习中,经常使用自适应调整学习率的方法。
邱锡鹏:
神经网络与深度学习讲义http:
/Method)Rumelhartetal.,198
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 深度 学习 讲义
![提示](https://static.bingdoc.com/images/bang_tan.gif)