深度学习算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在开始训练前,所有的权值都应该用一些不同的小随机数进行初始化。“小随 机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不 同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵 ,则网络无能力学习。
Results
均方误差
Mean squared error
1.5 1.5
随着迭代次数的增加,无论是特征的提取还是重构错误率都有很 好的改善;当然,也不是迭代次数越多越好,迭代次数的增加会 消耗大量的时间和储存空间,训练数据集较大时尤其明显。
Convolutional Neural Networks
CNN简介
卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像 识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经 网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络 的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输 入,避免了传统识别算法中复杂的特征提取和数据重建过程。 convolution和pooling的优势为使网络结构中所需学习到的参数个 数变得更少,并且学习到的特征具有一些不变性,比如说平移,旋转 不变性。以2维图像提取为例,学习的参数个数变少是因为不需要用 整张图片的像素来输入到网络,而只需学习其中一部分patch。而不 变的特性则是由于采用了mean-pooling或者max-pooling等方法。 CNN是第一个真正成功训练多层网络结构的学习算法。它利用空间 关系减少需要学习的参数数目以提高一般前向BP算法的训练性能。 CNN作为一个深度学习架构提出是为了最小化数据的预处理要求。在 CNN中,图像的一小部分(局部感受区域)作为层级结构的最低层的 输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得 观测数据的最显著的特征。
Results
权重矩阵可视化结果
50
50
100
100
150
150
200
200
250
250
0
50
100
150
200
250
300
0
50
100
150
200Biblioteka 250300迭代1次
迭代10次
Results
重构平均错误率
迭代1次: Average reconstruction error is: 66.2661; Mini-batch mean squared error on training set is 0.13954; Full-batch train err = 0.068880; 迭代10次: epoch 10/10. Average reconstruction error is: 42.2354; Mini-batch mean squared error on training set is 0.026504; Full-batch train err = 0.025100。
深度学习算法
Deep Belief Networks 深度信念网络
Convolutional Neural Networks 卷积神经网络
Deep Belief Networks
典型的神经网络类型
深度信念网络的框架
DBNs由多个限制玻尔兹曼机(RBM)层组成。RBM被“限制”为一个可视层 和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练 去捕捉在可视层表现出来的高阶数据的相关性。
深度学习算法
e of Deep Learning), 更是在国内引起了很多关注。在计 算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神 经网络。 很多深度学习的算法是无监督或半监督式学习算法,用来处理存在少 量未标识数据的大数据集。常见的深度学习算法包括: 受限波尔兹曼机(Restricted Boltzmann Machine) 深度信念网络( Deep Belief Networks) 卷积神经网络(Convolutional Neural Networks) 堆栈式自动编码器(Stacked Auto-encoders)
深度学习的实质
深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征 输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征 的能力。多层的好处在于可以用较少的参数表示复杂的函数。
深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练 数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深 度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不 同在于: 强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点; 明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在 原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与 人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的 丰富内在信息。
浅谈深度学习DBN和CNN算法
报告人:龚再文 院系:自动化学院 时间:2015.7.4
深度学习的浪潮
2006年,加拿大多伦多大学教授、机器学习领域的泰斗G. E. Hinton和他的学生R. R. Salakhutdinov在science上发表了一篇文章(用 神经网络实现数据降维),开启了深度学习在学术界和工业界的浪潮。 这篇文章有两个主要观点: 多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对 数据有更本质的刻画,从而有利于可视化或分类; 深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学 习实现的。
1
1
0.5
0.5
Num of patc
0
0
200
400
600
800
1000
1200
1400 0
0
1000
2000
3000
4000
5000
6000
7000
迭代1次
迭代5次
深度学习未来的工作
Future Works
Theoretical studies on Deep Learning New optimization and training algorithms Parallel computing systems to train very large and very deep network with larger training data Learn dynamic features for video analysis Improve the efficiency for pixel-wise classification, segmentation, detection and tracking
Convolutional Neural Networks
经典的例子(LeNet5结构图)
可以看出对于这个网络,每输入一张32*32大小的图片 ,就输出一个84维的向量,这个向量即我们提取出的特 征向量。
Convolutional Neural Networks
CNN训练过程
训练算法与传统的BP算法差不多。 主要包括4步,这4步被分为两个阶段: 第一阶段,向前传播阶段: a)从样本集中取一个样本(X,Yp),将X输入网络; b)计算相应的实际输出Op。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是 网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计 算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果): Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n)) 第二阶段,向后传播阶段 a)算实际输出Op与相应的理想输出Yp的差; b)按极小化误差的方法反向传播调整权矩阵。
Deep Belief Networks
DBN 训练模型的过程
分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不 同特征空间时,都尽可能多地保留特征信息; 在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为 它的输入特征向量,有监督地训练实体关系分类器。而且每一层 RBM 网络只能确保自身层内的 权值对该层特征向量映射达到最优, 并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还 将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络。RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化 ,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优 和训练时间长的缺点。 上述训练模型中第一步在深度学习的术语叫做预训练,第二步叫 做微调。最上面有监督学习的那一层,根据具体的应用领域可以换成 任何分类器模型,而不必是BP网络。
深度学习
Deep Belief Networks
CD Pseudo,对比散度算法伪代码
伪代码中涉及到的后验概 率可以由能量模型和极大 似然估计求出
Deep Belief Networks
Notes On CD Pseudo,对比散度算法伪代码注释
This is the RBM update procedure for binomial units. It can easily adapted to other types of units. X1 is a sample from the training distribution for the RBM is a learning rate for the stochastic gradient descent in Contrastive Divergence W is the RBM weight matrix, of dimension (number of hidden units, number of inputs) b is the RBM offset vector for input units c is the RBM offset vector for hidden units Notation: Q(h2·= 1|x2) is the vector with elements Q(h2i = 1|x2)
Convolutional Neural Networks
CNN的网络结构
输入图像通过和三个可训练的滤波器和可加偏置进行卷积,卷积后在 C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行 求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征 映射图。这些映射图再进过滤波得到C3层。这个层级结构再和S2一样 产生S4。最终,这些像素值被光栅化,并连接成一个向量输入到传统 的神经网络,得到输出。 C:Convolutions S:Subsampling
深度学习的浪潮
深度学习(Deep Learning)是机器学习研究中的一个新的领域,深度学习 是当下最热门的方向之一。其动机在于建立、模拟人脑进行分析学习的神经 网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 深度学习热潮爆发以来,诸多研究者都在不懈地努力着,希望能够把它应 用于解决计算机视觉的各种任务上,从高层次(high-level)的识别( recognition),分类(classification)到低层次(low-level)的去噪( denoise)。让人不禁联想起当年的稀疏表达(sparse representation)的热 潮,而深度学习如今的风靡程度看上去是有过之而无不及。深度学习也有横 扫high-level问题的趋势,high-level的很多方向都在被其不断刷新着数据。 作为强大的特征(feature)学习工具,在给定足够多的训练集的情况下, 它可以帮助用户学习到这个任务下的具有很强分辨能力的特征。