神经网络与深度学习讲义.pdf
- 文档编号:3209742
- 上传时间:2022-11-20
- 格式: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(e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 深度 学习 讲义