深度学习的基本理论与方法

发布时间:2024-08-27

深度学习的基本理论与方法

王雪2014年12月24日

目 录

概述 深度学习简介 深度学习的训练过程 深度学习的具体模型及方法 深度学习的应用 总结 展望 参考文献

概 述

2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注。 这个项目是由著名的斯坦福大学机器学习教授Andrew Ng和在大规模计算机 系统方面的世界顶尖专家Jeff Dean共同主导,用16000个CPU Core的并行计 算平台训练一种称为“深层神经网络”(DNN,Deep Neural Networks)的 机器学习模型,在语音识别和图像识别等领域获得了巨大的成功。 2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传 译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英 中机器翻译,以及中文语音合成,效果非常流畅。据报道,后面支撑的关键 技术也是DNN,或者深度学习(DL,Deep Learning)。 2013年1月,在百度的年会上,创始人兼CEO李彦宏高调宣布要成立百度研 究院,其中第一个重点方向就是深度学习,并为此而成立Institute of Deep Learning(IDL)。这是百度成立十多年以来第一次成立研究院。 2013年4月,《麻省理工学院技术评论》杂志将深度学习列为2013年十大突 破性技术(Breakthrough Technology)之首。 百度首席科学家吴恩达2014年12月19日表示,百度在深度学习领域的发展已 经超过了谷歌与苹果,如果这项技术真具有划时代的革命意义,那么百度就 此开启并且引领了语音2.0时代,也即是人工智能时代的一个重要分支,改变 搜索,更改变交互。

概 述

深度学习:一种基于无监督特征学习和特征层 次结构的学习方法 可能的的名称: 深度学习 特征学习 无监督特征学习

概 述传统的模式识别方法:Inference: prediction, recognition

Low-level sensing

Preprocessing

Feature extract.

Feature selection

良好的特征表达,对最终算法的准确性起了非常关键的作用; 识别系统主要的计算和测试工作耗时主要集中在特征提取部分; 特征的样式目前一般都是人工设计的,靠人工提取特征; 手工选取特征费时费力,需要启发式专业知识,很大程度上靠 经验和运气; 深度学习就是用来解答这个 是否能自动地学习特征?

问题的!!

浅层学习

浅层学习——人工神经网络(BP算法)采用BP算法调整参数,即采用迭代算法来训练整个网络。 随机设定初值,计算当前网络的输出,然后根据当前输 出和样本真实标签之间的差去改变前面各层的参数,直 到收敛,整体是一个梯度下降法。

神经网络

神经网络的局限

性:

1)比较容易过拟合,参数比较难调整,而 且需要不少技巧; 2)训练速度比较慢,在层次比较少(小于 等于3)的情况下效果并不比其它方法更 优;

深度学习2006年,加拿大多伦多大学教授、机器 学习领域的泰斗Geoffrey Hinton在 《科学》上发表论文提出深度学习主 要观点: 1)多隐层的人工神经网络具有优异的 特征学习能力,学习得到的特征对数 据有更本质的刻画,从而有利于可视 化或分类; 2)深度神经网络在训练上的难度,可 以通过“逐层初始化”(layer-wise pre-training)来有效克服,逐层初 始化可通过无监督学习实现的。采用 逐层训练机制的原因在于如果采用BP 机制,对于一个deep network(7层 以上),残差传播到最前面的层将变 得很小,出现所谓的gradient diffusion(梯度扩散)。

深度学习本质:通过构建多隐层的模型和海量训练数 据(可为无标签数据),来学习更有用的特 征,从而最终提升分类或预测的准确性。 “深度模型”是手段,“特征学习”是目的。 与浅层学习区别: 1)强调了模型结构的深度,通常有5-10多层 的隐层节点; 2)明确突出了特征学习的重要性,通过逐层 特征变换,将样本在原空间的特征表示变换 到一个新特征空间,从而使分类或预测更加 容易。与人工规则构造特征的方法相比,利 用大数据来学习特征,更能够刻画数据的丰 富内在信息。

深度学习

好处:可通过学习一种深层非线性网络结 构,实现复杂函数逼近,表征输入数据分 布式表示。

深度学习训练过程不采用BP算法的原因 (1)反馈调整时,梯度越来越稀疏,从顶层越往下, 误差校正信号越来越小; (2)收敛易至局部最小,由于是采用随机值初始化, 当初值是远离最优区域时易导致这一情况; (3)BP算法需要有标签数据来训练,但大部分数据 是无标签的;

深度学习训练过程第一步:采用自下而上的无监督学习 1)逐层构建单层神经元。 2)每层采用wake-sleep算法进行调优。每 次仅调整一层,逐层调整。 这个过程可以看作是一个feature learning的过程,是和传统神经网络区别 最大的部分。

深度学习训练过程

wake-sleep算法:

1)wake阶段: 认知过程,通过下层的输入特征(Input)和向上的认知 (Encoder)权重产生每一层的抽象表示(Code),再通过当 前的生成(Decoder)权重产生一个重建信息 (Reconstruction),计算输入特征和重建信息残差,使用梯 度下降修改层间的下行生成(Decoder)权重。也就是“如果 现实跟我想象的不一样,改变我的生成权重使得我想象的东西 变得与现实一样”。 2)sleep阶段: 生成过程,通

过上层概念(Code)和向下的生成(Decoder)权 重,生成下层的状态,再利用认知(Encoder)权重产生一个 抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯 度下降修改层间向上的认知(Encoder)权重。也就是“如果 梦中的景象不是我脑中的相应概念,改变我的认知权重使得这 种景象在我看来就是这个概念”。

深度学习训练过程Class label

Decoder.

Encoder

Features

DecoderFeatures

Encoder

Decoder

Encoder

Input Image

深度学习训练过程

第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础 上,在最顶的编码层添加一个分类器(例如罗杰 斯特回归、SVM等),而后通过带标签数据的监督 学习,利用梯度下降法去微调整个网络参数。 深度学习的第一步实质上是一个网络参数初始 化过程。区别于传统神经网络初值随机初始化, 深度学习模型是通过无监督学习输入数据的结构 得到的,因而这个初值更接近全局最优,从而能 够取得更好的效果。

深度学习的具体模型及方法

自动编码器( AutoEncoder ) 稀疏自动编码器(Sparse AutoEncoder) 降噪自动编码器(Denoising AutoEncoders)

深度置信网络( Deep Belief Networks — DBN) 卷积神经网络(CNNs)

    精彩图片

    热门精选

    大家正在看