深度学习的基本理论与应用.ppt
深度学习的基本理论与应用,Haishan Li 2018年5月14日,目 录,概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用,概 述,2012年6月,纽约时报披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学机器学习教授Andrew和在大规模计算机系统方面的世界顶尖专家Jeff 共同主导,用16000个CPU Core的并行计算平台训练一种称为“深层神经网络”(DNN,Deep Neural Networks)的机器学习模型,在语音识别和图像识别等领域获得了巨大的成功。,2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译,以及中文语音合成,效果非常流畅。据报道,后面支撑的关键技术也是DNN,或者深度学习(DL,Deep Learning)。,2012.6“谷歌大脑”项目,2012.11 微软智能同声传译,概 述,2013年1月,在百度的年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个重点方向就是深度学习,并为此而成立Institute of Deep Learning(IDL)。这是百度成立十多年以来第一次成立研究院。,2013年4月,麻省理工学院技术评论杂志将深度学习列为2013年十大突破性技术(Breakthrough Technology)之首。,百度首席科学家吴恩达2014年12月19日表示,百度在深度学习领域的发展已经超过了谷歌与苹果,如果这项技术真具有划时代的革命意义,那么百度就此开启并且引领了语音2.0时代,也即是人工智能时代的一个重要分支,改变搜索,更改变交互。,概 述,全球爆发人工智能产业浪潮,概 述,三大因素推劢人工智能快速发展,概 述,当前处亍行业应用大规模起量阶段,目 录,概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用,深度学习简介,识别系统主要的计算和测试工作耗时主要集中在特征提取部分;特征的样式目前一般都是人工设计的,靠人工提取特征;手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气;不能够自动地学习特征,传统的模式识别方法(浅层学习):,深度学习简介,传统的模式识别方法(如BP算法),如BP算法,随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛比较容易过拟合,参数比较难调整,而且需要不少技巧;训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;需要有标签数据来训练,但大部分数据是无标签的;,深度学习简介,2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton在科学上发表论文提出深度学习主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,逐层初始化可通过无监督学习实现的。采用逐层训练机制的原因在于如果采用BP机制,对于一个deep network(7层以上),残差传播到最前面的层将变得很小,出现所谓的gradient diffusion(梯度扩散),深度学习简介,本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。与浅层学习区别:强调了模型结构的深度,通常有5-10多层的隐层节点;明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。,从历史数据中学习知识,从而对未来做预测,深度学习简介,好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。,ImageNet图像分类结果,目 录,概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用,深度学习的训练过程,第一步:采用自下而上的无监督学习,逐层构建单层神经元每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整这个过程可以看作是一个feature learning的过程,是和传统神经网络区别最大的部分,深度学习的训练过程,wake-sleep算法:(1)wake阶段:认知过程,通过下层的输入特征(Input)和向上的认知(Encoder)权重产生每一层的抽象表示(Code),再通过当前的生成(Decoder)权重产生一个重建信息(Reconstruction),计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(Decoder)权重。也就是“如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样”(2)sleep阶段:生成过程,通过上层概念(Code)和向下的生成(Decoder)权重,生成下层的状态,再利用认知(Encoder)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(Encoder)权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”,深度学习的训练过程,第二步:自顶向下的监督学习,深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。,这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数,目 录,概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用深度残差网络的应用,深度学习的具体模型及方法,生成式/无监督模型,判别式模型,正则化的自编码器降噪自动编码器(Denoising AutoEncoders)稀疏自动编码器(Sparse AutoEncoder)受限玻尔兹曼机深度置信网络(Deep Belief Networks DBN)等等,递归神经网络深度神经网络卷积神经网络(深度残差网络)等等,深度学习的具体模型及方法,自动编码器(AutoEncoder),AutoEncoder还不能用来分类数据,因为它还没有学习如何去连结一个输入和一个类。它只是学会了如何去重构或者复现它的输入而已。在AutoEncoder的最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),然后通过标准的多层神经网络的监督训练方法(梯度下降法)去训练。我们需要将最后层的特征code输入到最后的分类器,通过有标签样本,通过监督学习进行微调,这也分两种,深度学习的具体模型及方法,自动编码器(AutoEncoder),只调整分类器(黑色部分),通过有标签样本,微调整个系统:(如果有足够多的数据,这个是最好的。端对端学习),深度学习的具体模型及方法,降噪自动编码器(Denoising AutoEncoders),在自动编码器的基础上,对训练数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。,深度学习的具体模型及方法,稀疏自动编码器(Sparse AutoEncoder),在AutoEncoder的基础上加上L1的Regularity限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0,这就是Sparse名字的来源),稀疏性的约束是使得学习到的表达更有意义的一种重要约束;深度学习中要优化的参数非常多,如果不加入稀疏性的约束往往会使得学习到的权重矩阵为单位矩阵,这样就失去了深度的意义,深度学习的具体模型及方法,受限玻尔兹曼机(Restricted Boltzmann Machine),定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1值)变量节点,同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型Restricted BoltzmannMachine(RBM)。,玻尔兹曼机(Boltzmann machine)本质上是一种能量模型。限制条件是在给定可见层或者隐层中的其中一层后,另一层的单元彼此独立。,深度学习的具体模型及方法,深度置信网络(Deep Belief Networks)-DBN,Deep Belief Networks是在靠近可视层的部分使用贝叶斯信念网络(即有向图模型),而在最远离可视层的部分使用Restricted Boltzmann Machine的模型。,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,通过用卷积代替规则神经元的矩阵乘法运算来大大减少每层中需要训练的未知权重系数的数量,输入40 x60,C1125x5,S11220 x30,C285x5,S2810 x15,卷积,池化,卷积,池化,全连接,C3120,softmax,输出,卷积层,上一层输出,卷积核,卷积核类似于滤波器,通过移动卷积核来提取上层输入的局部特征,卷积核也就是生物学里视觉系统上的“局部感受野”,模拟视觉神经细胞接受刺激的方式。,feature map(特征映射),二维离散卷积函数:,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,池化(pooling),对4x4的矩阵进行步长为2的池化操作,结果矩阵为2x2,矩阵的大小降低了4倍,参数个数降低了4倍;池化能起到下采样的作用,能简化网络结构,减少网络参数,为增加网络深度留下余地。,池化操作一般有两种:最大池化(max pooling)、平均池化(average pooing)。,平均池化,最大池化,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,特征表达,从低级的V1区提取边缘特征,再到V2区的形状或者目标的一部分等,再到更高层,整个目标、目标的行为等。高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现高级语义。抽象层面越高,存在的可能猜测就越少,就越利于分类。,人的视觉系统的信息处理是分级的,人类视觉系统,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,全连接和Softmax,K分类的Softmax假设函数是:,全连接:就是添加一个隐含层,与上层输入的每个结点进行全连接;Softmax回归模型:是logistic回归模型在多分类问题上的推广,可以解决多分类的问题。,所有k个类别加起来的概率和为1.,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,深度学习的具体模型及方法,卷积神经网络(Convolutional Neural Networks)CNNs,通过用卷积代替规则神经元的矩阵乘法运算来大大减少每层中需要训练的未知权重系数的数量,CNN的优点:避免了显式的特征抽取,而隐式地从训练数据中进行学习;同一特征映射面上的神经元权值相同,从而网络可以并行学习,降低了网络的复杂性;采用时间或者空间的子采样结构,可以获得某种程度的位移、尺度、形变鲁棒性;输入信息和网络拓扑结构能很好的吻合,在语音识别和图像处理方面有着独特优势,成为这两方面的研究热点。,目 录,概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用,深度学习的应用,机器视觉、智能语音成为产业化水平最高的人工智能领域,深度学习的应用,图像识别,空间金字塔,深度学习的应用,图像识别,深度学习的应用,图像超分辨,深度学习的应用,CT图像重建(学习噪声),深度学习的应用,目标检测,深度学习的应用,语音搜索,短信输入,微博输入,古诗输入,新闻输入,深度学习的应用,视觉相似搜索,检索图片,展 望,未来需解决的问题:对于一个特定的框架,多少维的输入它可以表现得较优?对捕捉短时或者长时间的时间依赖,哪种架构才是有效的?如何对于一个给定的深度学习架构,融合多种感知的信息?如何分辨和利用学习获得的中、高层特征语义知识?有什么正确的机理可以去增强一个给定的深度学习架构,以改进其鲁棒性和对变形及数据丢失的不变性?模型方面是否有其他更为有效且有理论依据的深度模型学习算法?是否存在更有效的可并行训练算法?,参考文献,Zouxy博客专栏Deep Learning网址:刘建伟,刘媛,罗雄麟.深度学习研究进展J.计算机应用研究,2014,,3(7):1921-1942.郑胤,陈权崎,章毓晋.深度学习及其在目标和行为识别中的新进展J.中国图象图形学报,2014,19(2):175-184.许可卷积神经网络在图像识别上的应用浙江:浙江大学,2012Rachel Zhang博客网址:深度学习的基本理论与方法,