1、深度学习(Deep Learning)及其优化方法,1/25,报告人:胡海根E-mail:,浙江工业大学计算机学院,Outline,2/25,深度学习的概念,3/25,什么是deep learning?深度学习:一种基于无监督特征学习和特征层次结构的学习方法。本质:通过构建多隐层的模型和海量训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。含多隐层的多层感知器就是一种深度学习结构。,DL训练过程,4/25,深度学习的基本思想:对于Deep Learning,需要自动地学习特征,假设有一堆输入I,输出是O,设计一个系统S(有n层),形象地表示为:I=S1=S2=.=Sn=O,通过调整
2、系统中参数,使得它的输出仍然是输入I,那么就可以自动地获取得到输入I的一系列层次特征,即S1,.,Sn。用自下而上的无监督学习 1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。,5/25,第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(如,SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。,DL训练过程,6/25,深度学习的具体模型及方法:1、自动编码器(AutoEncoder)2、稀疏自动编码器(Sparse AutoEncoder)3、限制波尔兹曼机(Restri
3、cted Boltzmann Machine)4、深信度网络(Deep Belief Networks)5、卷积神经网络(Convolutional Neural Networks),DL训练过程,自动编码器,7/25,1、自动编码器(AutoEncoder)通过调整encoder和decoder的参数,使得重构误差最小,就得到了输入input信号的第一个表示了,也就是编码code了。因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。,稀疏自动编码器,8/25,如上图,其实就是限制每次得到的表达code尽量稀疏。因为稀疏的表达往往比其他的表达要有效。,2、稀疏自动编码器(Spar
4、se AutoEncoder)AutoEncoder的基础上加上L1的Regularity限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0),就可以得到Sparse AutoEncoder法。,RBM,9/25,3、限制波尔兹曼机(RBM)定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1)变量节点,同时假设全概率分布p(v,h)满足Boltzmann分布,称这个模型是RBM。,RBM,10/25,给定隐层h的基础上,可视层的概率确定:(可视层节点之间是条件独立的)给定可视层v的基础上,隐
5、层的概率确定:给定一个满足独立同分布的样本集:D=v(1),v(2),v(N),我们需要学习参数=W,a,b。最大似然估计:对最大对数似然函数求导,就可以得到L最大时对应的参数W了。,DBN,10/25,DBNs由多个限制玻尔兹曼机(RBM)层组成,一个典型的神经网络类型如下图所示。,CNN,10/25,5、卷积神经网络(Convolutional Neural Networks)卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。CNNs是第一个真正成功训练多层网络结构的学习算法。,核心思想:局部感受野、权值共享以及时间或空间子采样这三种结构思想结合起来
6、获得某种程度的位移、尺度、形变不变性。,Loss Function一般形式,10/25,Loss Function一般形式,10/25,回归函数及目标函数以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。,数学概念,10/25,1、梯度(一阶导数)某一点的梯度方向是在该点坡度最陡的方向,而梯度的大小告诉我们坡度到底有多陡;对于一个含有 n 个变量的标量函数,即函数输入一个 n 维 的向量,输出一个数值,梯度可以定义为:,数学概念,10/25,2、Hesse 矩阵(二阶导数)Hesse 矩阵常被应用于牛顿法解决的大规模优化问题,主要形式如下:,当 f(x)是下列形式:其中x为列向量,A 是 n 阶对称矩阵,b 是 n 维列向量,c 是常数。f(x)梯度是 Ax+b,Hesse 矩阵等于 A。,数学概念,10/25,3、Jacobian 矩阵Jacobian 矩阵实际上是向量值函数的梯度矩阵,假设F:RnRm 是一个从n维欧氏空间转换到m维欧氏空间的函数。这个函数由m个实函数组成:,这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵(m