深度学习的基本理论与方法
深度学习:一种基于无监督特征学习和特征层次结构的学习方法
可能的的名称:
1.深度学习
2.特征学习
3.无监督特征学习
2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton在《科学》上发表论文提出深度学习主要观点:
1、多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;
2、深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,逐层初始化可通过无监督学习实现的。
本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。 “深度模型”是手段,“特征学习”是目的。
与浅层学习区别:
1、强调了模型结构的深度,通常有5-10多层的隐层节点;
2、明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。
好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。
深度学习训练过程
第一步:采用自下而上的无监督学习
1、逐层构建单层神经元。
2、每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。这个过程可以看作是一个feature learning的过程,是和传统神经网络区别最大的部分。
wake-sleep算法:
1、wake阶段:
认知过程,通过下层的输入特征(Input)和向上的认知(Encoder)权重产生每一层的抽象表示(Code),再通过当前的生成(Decoder)权重产生一个重建信息(Reconstruction),计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(Decoder)权重。也就是“如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样”。
2、sleep阶段:
生成过程,通过上层概念(Code)和向下的生成(Decoder)权重,生成下层的状态,再利用认知(Encoder)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(Encoder)权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。
第二步:自顶向下的监督学习
这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。
深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。
领取专属 10元无门槛券
私享最新 技术干货