解析人工智能中深度学习的经典算法
扫描二维码
随时随地手机看文章
(文章来源:数智网)
深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的学习模型:多层感知机 、卷积神经网络等属于监 督学习;深度置信网 、自动编码器 、去噪自动编码器 、稀疏编码等属于无监督学习。
20世纪60年代,Hubel和Wiesel通过对猫视觉皮层细胞的研究,提出了感受野的概 念。受此启发, Fukushima提出神经认知机 (neocognitron)可看作是CNNs卷积神经网络的第一个实现网络,也是感受野概念在人工神 经网络领域的首次应用。随后LeCun等人设计并采用基于误差梯度的算法训练了卷积神经网络,并且其在一些模式识别任务中展现出了相对于当时其它方法的领先性能。现代生理学关于视觉系统的理解也与CNNs中的图像处理过程相一致,这为CNNs在图像识别中的应用奠定了基础。CNNs是第一个真正成功地采用多层层次结构网络的具有鲁棒性的深度学习方法,通过研究数据在空间上的关联性,来减少训练参数的数量。
CNNs是一个多层的神经网络,每层由多个二维平面组成,每个平面又由多个独立的神经元组成。上一层中的一组局部单元作为下一层邻近单元的输入,这种局部连接观点最早起源于感知器。外界输入的图像通过可训练的滤波器加偏置进行卷积,卷积后在C1层会产生3个特征映射图;然后特征映射图中每组像素分别进行求和加偏置,再通过Sigmoid函数得到S2层的特征映射图;这些映射图再通过滤波器得到C3层;C3与 S2类似,再产生S4;最后,这些像素值被光栅化,并且连接成向量输入到神经网络,从而便得到了输出。
一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部特征,根据局部特征来确定它与其他特征空间的位置关系;S层是特征映射层,特征映射具有位移不变性,每个特征映射为一个平面,平面上所有神经元的权值是相等的,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度。每一个特征提取层都会跟着一个用于求局部平均及二次提取的计算层,这便构成了两次特征提取的结构,从而在对输入样本识别时,网络有很好的畸变容忍能力。
CNNs是人工神经网络的一种,其适应性强,善于挖掘数据局部特征。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量,使得CNNs在模式识别中的各个领域得到应用并取得了很好的结果。CNNs通过结合局部感知区域、共享权重、空间或时间上的降采样来充分利用数据本身包含的局部性等特征,优化网络结构,并且保证一定程度上的位移的不变性。由LeCun出的LeNet模型在应用到各种不同的图像识别任务时都取得了不错的效果,被认为是通用图像识别系统的代表之一。通过这些年的研究工作,CNNs的应用越来越多,如人脸检测 、文档分析 、语音检测 、车牌识别等方面。
DBNs是目前研究和应用都比较广泛的深度学习结构,它由多个受限玻尔兹曼机累加而成。RBM结构分为可视层即输入数据层(υ)和隐藏层(h),每一层的节点之间没有连接,但层和层之间彼此互连。相比传统的sigmoid信念网络,RBM易于连接权值的学习。其中,是条件概率分布。DBN学习的过程中,所要学习的就是联合概率分布,在机器学习的领域中,联合概率分布的意义就是对象的生成。
传统的BP算法在经典的网络结构中广泛应用,但对于深度学习的训练却遇到了 很多困难:第一,BP算法是监督学习,训练需要有标签的样本集,但实际能得到的数据都是无标签的;第二,BP算法在多隐层的学习结构中,学习过程较慢;第三,不适当的参数选择会导致局部最优解。为了获取生成性权值,预训练采用非监督贪婪逐层算法,非监督贪婪逐层训练算法被Hinton证明是有效的。
非监督贪婪逐层训练算法的核心思想是:把 DBN分层,每一层进行 无监督学习,每次只训练一层,将其结果作为高一层的输入,最后用监督学习 调整所有层。在这个训练阶段,首先,在可视层会产生一个向量v,通过它将值映射给隐单元;然后,可视层的输入会被随机地选择,以尝试去重构原始的输入信号;最后,这些新可视单元再次映射给隐单元,获得新的隐单元h。执 行这种反复步骤叫做吉布斯(Gibbs)采样。隐层激活单元和可视层输入之间 的 相关性差别就作为权值更新的主要依据。
在最高两层,权值被连接到一起,从而更低层的输出将会提供一个参考的线索或者关联给顶层,这样顶层就会将其 联系到它的记忆内容。预训练结束后,DBN可以利用带标签的数据及BP算法去 调整网络结构的性能。DBNs的BP算法只需要对权值参数空间进行一个局部的搜索,这相比前向神经网络来说,训练的时间会显着减少,训练 RBM是Gibbs有效的随机抽样技术。在贪婪的学习算法过程中,采用了Wake-Sleep算法的基 本思想,算法在Wake阶段,利用学习得到的权重,按照自底向上的顺序为下一层的训练提供数据;在Sleep阶段,按照自顶向下的顺序利用权重对数据进行重组。
DBNs是目前研究和应用都比较广泛的深度学习结构,由于灵活性很好,因此比较容易拓展,例如卷积DBNs就是DBNs的一个拓展,给语音信号处理问题带来 了突破性的进展。DBNs作为一个新兴的生成模型,已广泛应用到了对象建模、特征提取、识别等领域。