深度学习与神经网络
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.4 机器学习、神经网络与深度学习的关系

前面提到,深度学习是机器学习的一个重要的、新的研究领域,源于对神经网络的进一步研究,通常采用包含多个隐藏层的神经网络结构,目的是建立、模拟人脑学习过程的人工神经网络。

人工神经网络(Artificial Neural Network,ANN)是指一系列受生物学和神经科学启发的数学模型。这些模型主要通过对人脑的神经元网络进行抽象,构建人工神经元,并按照一定的拓扑结构建立人工神经元之间的连接,以此来模拟生物神经网络。连接主义的神经网络有着多种多样的网络结构及学习方法,虽然早期模型强调模型的生物学合理性(Biological Plausibility),但后期更关注对某种特定认知能力的模拟,如物体识别、语言理解等。尤其在引入误差反向传播来改进其学习能力之后,神经网络越来越多地应用在各种机器学习任务中。随着训练数据的增多及(并行)计算能力的增强,神经网络在很多机器学习任务上已经取得了很大的突破,尤其在语音、图像等感知信号的处理上,神经网络表现出了卓越的学习能力。

深度学习算法是一类基于生物学对人脑进行进一步认识,将神经-中枢-大脑的工作原理设计成一个不断迭代、不断抽象的过程,以便得到最优数据特征表示的机器学习算法。该算法从原始信号开始,先做底层抽象,然后逐渐向高层抽象迭代,由此组成深度学习的基本框架。深度学习通过组合底层特征形成更加抽象的高层表示属性类别或特征,呈现数据的分布式特征表示。

深度学习框架将特征和分类器结合到一个框架中,用数据学习特征,减少了人工提取特征的工作量。无监督学习的定义是不需要通过人工方式进行样本类别的标注来完成学习。因此,深度学习是一种自动学习特征的方法。

一般来讲,深度学习算法具有以下特点。

(1)使用多重非线性变换对数据进行多层抽象。该类算法采用级联模式的多层非线性处理单元组织特征提取及特征转换。在这种级联模型中,后继层的数据输入由其前一层的输出数据充当。按学习类型划分,该类算法又可归为监督学习(如分类)或无监督学习(如模式分析)。

(2)以寻求更合适的概念表示方法为目标。这类算法通过建立更好的模型学习数据表示方法。对于学习所有的概念特征,或者说数据的表示,一般采用多层结构进行组织,这也是该类算法的一个特色。高层特征值由底层特征值通过推演归纳得到,由此组成一个层次分明的数据特征或抽象概念的表示结构。在这种特征值的层次结构中,每一层的特征数据对应着相关整体知识或概念在不同程度或层次上的抽象。

(3)形成一类具有代表性的特征表示学习方法。在大规模无标识的数据背景下,一个观测值可以使用多种方式表示,如一幅图像、人脸识别数据、面部表情数据等,而某些特定的表示方式可以让机器学习算法学习起来更加容易。因此,深度学习算法的研究也可以看成是在概念表示基础上,对更广泛的机器学习方法的研究。深度学习的一个很突出的前景便是它使用无监督或半监督的特征学习方法,加上层次性的特征提取策略,替代过去手工方式的特征提取。

深度学习可通过学习一种深层非线性网络结构来表征输入数据,实现复杂函数逼近,具有很强的从少数样本集中学习数据集本质特征的能力。深度机器学习方法包含监督学习与非监督学习两类。在不同的学习框架下建立的学习模型库存在差异。其中,卷积神经网络(Convolutional Neural Network,CNN)是一种深度的监督学习下的机器学习模型;深度置信网络是一种无监督学习下的机器学习模型。在深层网络训练中,梯度消失问题的解决方案为通过无监督预训练对权值进行初始化,并结合有监督训练进行微调。深度神经网络优于基于其他机器学习技术及手工设计功能的人工智能系统。深度学习的主要思想是通过自学习的方法学习到训练数据的结构,并在该结构上进行有监督训练微调。分层预训练方法对神经网络进行了更深层次的优化,解决了新的梯度衰减问题,可用于训练150层的神经网络。

在一些复杂任务中,传统机器学习方法需要将一个任务的输入和输出人为地切割成很多子模块(或多个阶段),每个子模块分开学习。例如,要完成一个自然语言理解任务,一般需要分词、词性标注、句法分析、语义分析、语义推理等步骤。这种学习方式有两个问题:一是每个模块都需要单独优化,并且其优化目标和任务总体目标并不能保证一致;二是错误传播,即前一步的错误会对后续的模型造成很大的影响。这样就增加了机器学习方法在实际应用中的难度。

端到端学习(End-to-End Learning)也称端到端训练,是指在学习过程中不进行分模块或分阶段训练,而直接优化任务的总体目标。在端到端学习中,一般不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预。端到端学习的训练数据为“输入-输出”对的形式,无须提供其他额外信息。因此,端到端学习和深度学习一样,都要解决贡献度分配问题。目前,大部分采用神经网络模型的深度学习也可以看作一种端到端学习,如图1-4所示。

图1-4 端到端深度学习过程