深度学习(Deep Learning)是机器学习研究中的一个新的领域,其目的是建立、模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据。深度学习的概念由Hinton等人于2006年提出,其概念源于人工神经网络的研究,多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的优点是用无监督式或半监督式的特征学习和分层特征提取高效算法来替代以往的特征获取方法。
传统的机器学习算法都是利用浅层的结构,这些结构一般包含最多一到两层的非线性特征变换,浅层结构在解决很多简单的问题上效果较为明显,但是在处理一些更加复杂与自然信号的问题时就会遇到很多问题。
在深度学习中常用的几种模型:①自编码器模型,通过堆叠自编码器构建深层网络;②卷积神经网络模型,通过卷积层与采样层的不断交替构建深层网络;③循环神经网络。
之前的机器学习算法都需要人工指定其特征的具体形式,这个过程称为特征处理,通过对原始数据进行处理得到原始数据的特征,再通过具体的算法,如分类算法回归算法或者聚类算法对其进行处理,得到最终的处理结果。对于上述特征处理的工作,需要大量的先验知识,如果选取的特征能够较好地表征原始数据,最终的结果也比较好,反之,效果并不会很好。对于这样的需要大量经验知识的特征提取工作,是否存在一种可以自动学习出其特征的方式,深度学习很好地解决了这样的问题。
AutoEncoder是最基本的特征学习方式对于一些无标注的数据,AutoEncoder通过重构输入数据,达到自我学习的目的。
对于如图6-8所示的多层神经网络模型,隐含层的层数增加,同时增加了训练的难度,在利用梯度下降对网络中的权重和偏置训练的过程中,会出现诸如梯度弥散的现象,能够充分利用多层神经网络来对样本进行更高层的抽象,Hinton等人提出了逐层训练的概念。
在逐层训练模型中,每次训练2层模型,如图6-9所示。
图6-8 多层神经网络模型(www.daowen.com)
图6-9 逐层训练
在图6-9中,每次通过训练相邻的两层,并将训练好的模型堆叠起来,构成深层网络模型。自编码器AutoEncoder是一种用于训练相邻两层网络模型的一种方法。
深度学习思想就是堆叠多个层,本层的输出作为下一层的输入[3]。
把学习结构看作一个网络,则深度学习的核心思路如下:
①无监督学习用于每一层网络的pre-train;
②每次用无监督学习只训练一层,将其训练结果作为其高一层的输入;
③用自顶而下的监督算法去调整所有层。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。