深度学习DeepLearning目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用深度学习概念•机器学习(MachineLearning,ML)主要是研究如何使计算机从给定的数据中学习规律,即从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对未知或无法观测的数据进行预测。目前,主流的机器学习算法是基于统计的方法,也叫统计机器学习。•人工神经网络(ArtificialNeuralNetwork,ANN),也简称神经网络,是众多机器学习算法中比较接近生物神经网络特性的数学模型。人工神经网络通过模拟生物神经网络(大脑)的结构和功能,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成,可以用来对数据之间的复杂关系进行建模。深度学习概念•2006年,HintonandSalakhutdinov发现多层前馈神经网络可以先通过逐层预训练,再用反向传播算法进行精调的方式进行有效学习。并且近年来计算机计算能力的提高(大规模并行计算,GPU),计算机已经可以训练大规模的人工神经网络。随着深度的人工神经网络在语音识别和图像分类等任务上的巨大成功,越来越多的人开始关注这一个“崭新”的研究领域:深度学习。•深度学习(DeepLearning,DL)是从机器学习中的人工神经网络发展出来的新领域。早期所谓的“深度”是指超过一层的神经网络。但随着深度学习的快速发展,其内涵已经超出了传统的多层神经网络,甚至机器学习的范畴,逐渐朝着人工智能的方向快速发展。深度学习历史•1958年Rosenblatt感知器•1969年MinskyXOR•1986年Hinton、LeCun人工神经网络(BP算法)•1998年LeCun卷积神经网络•2006Hinton在DBN中提出了一种逐层预训练方法,解决了梯度弥散问题•2008Vincent等提出了降噪自编码器•2011Rafir等提出了收缩自编码器•2012微软研究员建立深度神经网络–隐马尔科夫混合模型,在语音识别领域取得突深度学习历史•2012Krizhevsky等提出应用于ImageNet的AlexNet,在图像分类领域取得突破•2012Ng在“GoogleBrain”项目中使用无监督深度学习方法•2015Xu提出了结合注意力的场景识别•2015微软研究员He等人提出了拥有152层的深度残差网络深度学习难点•参数过多,影响训练•非凸优化问题:即存在局部最优而非全局最优解,影响迭代•下层参数比较难调•参数解释起来比较困难•计算资源要大•数据要多•算法效率要好:即收敛快深度学习的局限性•模型规模与训练速度、训练精度之间的权衡。一般地,相同数据集下,模型规模越大,训练精度越高,训练速度会越慢。如何在保证一定的训练精度的前提下,提高训练速度,是深度学习方向研究的课题之一。•深度学习网络的架构规模、参数选择等问题都是由经验来确定。•深度学习由于缺乏逻辑推理能力,在面对需要复杂推理的任务时受到一定限制。•目前大多数的深度学习方法都基于有监督学习。而在实际生活中,大部分事物都是未知的、不带标记的,这就增加了可以发现事物内在结构关系的无监督学习算法的需求。深度学习的优势•深度学习缓解了传统训练算法的局部最小性。•深度学习具有多层非线性映射的深层结构,可以完成复杂的函数逼近。•深度学习理论上可获取分布式表示,即可通过逐层学习算法获取输入数据的主要驱动变量。目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用向量向量的模和范数常见的向量矩阵矩阵的基本运算矩阵的基本运算常见的矩阵常见的矩阵导数向量导数导数法则导数法则导数法则常用函数及其导数常用函数及其导数向量函数及其导数按位计算的向量函数及其导数logistic函数softmax函数softmax函数softmax函数softmax函数目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用机器学习中的一些概念•数据:指所有能被计算机程序处理的对象的总称,可以是数字、字母和符号等。在不同的任务中,表现形式不一样,比如图像、声音、文字、传感器数据等。•特征:机器学习中很多算法的输入要求是数学上可计算的。而在现实世界中,原始数据通常是并不都以连续变量或离散变量的形式存在的。我们首先需要将抽取出一些可以表征这些数据的数值型特征。这些数值型特征一般可以表示为向量形式,也称为特征向量。机器学习中的一些概念•特征学习:原始数据的特征有很多,但是并不是所有的特征都是有用的。并且,很多特征通常是冗余并且易变的。我们需要抽取有效的、稳定的特征。传统的特征提取是通过人工方式进行的,这需要大量的人工和专家知识。即使这样,人工总结的特征在很多任务上也不能满足需要。因此,如何自动地学习有效的特征也成为机器学习中一个重要的研究内容,也就是特征学习,也叫表示学习。特征学习分成两种,一种是特征选择,是在很多特征集合选取有效的子集;另一种是特征提取,是构造一个新的特征空间,并将原始特征投影在新的空间中。机器学习中的一些概念•样本:是指按照一定的抽样规则从全部数据中取出的一部分数据,是指实际观测得到的数据。在有监督学习中,需要提供一组有输出目标的样本用来学习模型以及检验模型的好坏。•正例和负例:对于两类分类问题,类别可以表示为{+1,−1},或者直接用正负号表示。因此,常用正例和负例来分别表示属于不同类别的样本。机器学习中的一些概念•判别函数:经过特征抽取后,一个样本可以表示为k维特征空间中的一个点。为了对这个特征空间中的点进行区分,就需要寻找一些超平面来将这个特征空间分为一些互不重叠的子区域,使得不同类别的点分布在不同的子区域中,这些超平面就成为判别界面。•为了定义这些用来进行空间分割的超平面,就需要引入判别函数的概念。假设变量为特征空间中的点,这个超平面由所有满足函数f(z)=0的点组成。这里的f(z)就称为判别函数。有了判别函数,分类就变得很简单,就是看一个样本在特征空间中位于哪个区域,从而确定这个样本的类别。•判别函数的形式多种多样,在自然语言处理中,最为常用的判别函数为线性函数。mz机器学习中的一些概念•学习算法:就是如何从训练集的样本中,自动学习决策函数的参数。不同机器学习算法的区别在于决策函数和学习算法的差异。相同的决策函数可以有不同的学习算法。比如线性分类器,其参数的学习算法可以是感知器、支持向量机以及梯度下降法等。•通过一个学习算法进行自动学习参数的过程也叫作训练过程。机器学习机器学习损失函数过拟合结构风险最小化原则损失函数损失函数损失函数损失函数机器学习算法类型:有监督学习机器学习算法类型:无监督学习参数估计梯度下降法Early-Stop学习率设置:动量法学习率设置:AdaGrad学习率设置:AdaDelta学习率设置:AdaDelta线性回归平方损失函数平方损失函数最小二乘法估计梯度下降法线性分类线性分类•图中给了一个两维数据的判别函数以及对应的判别界面。在二维空间中,分类界面为一个直线。在三维空间中,分类界面为一个平面。在高维空间中,分类界面为一个超平面。对于线性函数来说,权重向量在线性空间中垂直于分类界面的向量。Logistic回归Logistic回归梯度下降法多类线性分类多类线性分类SoftMax回归SoftMax回归SoftMax回归梯度下降法梯度下降法梯度下降法评价方法1||NiiirryyEN评价方法11||1iiNiiiyccNiycyyRF1值•F1值是根据正确率和召回率二者给出的一个综合的评价指标,具体定义如下:**21cccccPRFPR目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用感知器生物神经细胞生物神经细胞感知器模型感知器两类感知器算法目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用人工神经网络神经元神经元示例激活函数激活函数激活函数前馈神经网络前馈计算前馈计算将前馈网络应用于机器学习参数估计反向传播算法反向传播算法反向传播算法误差项反向传播反向传播算法梯度消失问题梯度消失问题梯度消失问题•我们可以看到,sigmoid型函数的值域都小于1。这样误差经过每一层传递都会不断衰减。当网络层数很深时,梯度就会不停的衰减,甚至消失,使得整个网络很难训练。这就是所谓的梯度消失问题(VanishingGradientProblem),也叫梯度弥散。•减轻梯度消失问题的一个方法是使用线性激活函数(比如rectifier函数)或近似线性函数(比如softplus函数)。这样,激活函数的导数为1,误差可以很好地传播,训练速度得到了很大的提高。目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用卷积神经网络卷积神经网络•卷积神经网络由卷积层和下采样层交替层叠而成。卷积层采用权重共享,使得网络的参数减少;下采样层由于采用最大值或均值下采样的方式,使得图像维度降低。通过卷积和下采样学习到的特征具有平移、旋转不变性。•卷积神经网络架构非常适合处理图像数据,随着网络层数的增加,卷积神经网络能够从原始数据中抽取更抽象的特征,更加有利于图像的识别。卷积两维卷积卷积层:用卷积来代替全连接卷积层:用卷积来代替全连接全连接层和卷积层二维卷积层特征映射特征映射两维卷积层的映射关系连接表两维卷积层示例子采样层子采样层卷积神经网络示例:LeNet-5LeNet示例LeNet示例LeNet示例梯度计算卷积层的梯度卷积层的梯度卷积层的梯度卷积层的梯度子采样层的梯度子采样层的梯度目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用循环神经网络循环神经网络•从数学上讲,公式7.1可以看成一个动态系统。动态系统是指系统的状态按照一定的规律随时间变化的系统。因此,活性值在很多文献上也称为状态。但这里的状态是数学上的概念,区别与我们在前馈网络中定义的神经元的状态。理论上循环神经网络可以近似任意的动态系统。图给出了循环神经网络的示例。•循环神经网络的参数训练可以通过随时间进行反向传播(Backpropaga-tionThroughTime,BPTT)算法。但循环神经网络的一个最大问题是训练时梯度需要随着时间进行反向传播。当输入序列比较长时,会存在梯度爆炸和消失问题。长短时记忆神经网络(longshortmemoryneuralnetwork,LSTM)是循环神经网络的一个扩展。()th循环神经网络的示例简单循环网络简单循环网络•循环神经网络又称递归神经网络。•递归神经网络会对前面的信息进行记忆,并应用于当前层计算输出,即隐层之间的节点有连接。•递归神经网络一次处理一个输入序列元素,每个节点同时包含过去时刻序列元素的历史信息。•递归神经网络主要用于处理时序数据,常应用在预测文本和语音识别中。梯度梯度梯度长期依赖问题改进方案改进方案•为了解决这个问题,Hochreiter和Schmidhuber提出一个非常好的解决方案,就是引入门机制(GatingMechanism)来控制信息的累积速度,并可以选择遗忘之前累积的信息。这就是下面要介绍的长短时记忆神经网络。长短时记忆神经网络:LSTM长短时记忆神经网络:LSTMLSTM结构示例门限循环单元:GRU目录•深度学习简介•数学基础•机器学习简介•感知器•前馈神经网络•卷积神经网络•循环神经网络•深度学习应用AlphaGo概述•计算机围棋起源于20世纪60年代,长期以来,它被认为是人工智能领域的一大挑战,并为智能学习算法的研究提供了一个很好的测试平台。围棋的计算复杂度约为250。如果采用传统的暴力搜索方式,按照现有的计算能力是远远无法解决围棋问题的。•人工智能领域一个里程碑式的工作是由Deep-Mind在2016年初发表于《Nature》上的围棋AI:Alpha