深度学习是什么?( 二 )


深度学习是什么?

文章插图
图4-47传统的神经网络与深度神经网络
提示:人类大脑由千亿个神经元组成 。同时每个神经元平均连接到其它几千个神经元 。这样形成一个庞大的神经元网络 。通过这种连接方式 。神经元可以收发不同数量的能量 。但它们对能量的接受并不是立即作出响应 。而是先累加起来 。只有当累加的总和达到某个临界阈值时才把能量发送给其它的神经元 。而人工神经网络(Artificial Neural Networks, ANN)将人类神经网络作了数学上的抽象 。如图4-47所示 。将其抽象为输入层、输出层以及中间的若干隐层(Hidden Layer 。用于层次化地对内在特征进行降维和抽象表达 。相当于特征检测器) 。其中每层都有若干结点及连接这些点的边 。通过在训练数据集上学习出边的权重(Weight)来建立模型 。边所表征的函数(通常为非线性函数)的不同 。对应于不同的神经网络 。例如 。第6章6.4.1节所介绍的感知机就是一种最简单的、不含任何隐层的前向(Feedforward)人工神经网络 。其中的函数
深度学习是什么?

文章插图
被称为传递函数(Transfer Function)、而门限截止函数
深度学习是什么?

文章插图
则被用作激活函数(Activation Function) 。在上世纪七八十年代 。这种在人工智能领域被称为联结主义学派(Connectionism)的方法曾盛极一时 。
但是后来 。因为理论分析的难度 。加上训练方法需要很多经验和技巧 。以及巨大的计算量和优化求解难度 。神经网络慢慢淡出了科研领域的主流方向 。值得指出的是 。神经网络(如采用误差反向传播算法:Back Propagation 。简称BP算法 。通过梯度下降方法在训练过程中修正权重使得网络误差最小)在层次深的情况下性能变得很不理想(传播时容易出现所谓的梯度弥散Gradient Diffusion或称之为梯度消失 。根源在于非凸目标代价函数导致求解陷入局部最优 。且这种情况随着网络层数的增加而更加严重 。即随着梯度的逐层不断消散导致其对网络权重调整的作用越来越小) 。所以只能转而处理浅层结构(小于等于3) 。从而限制了性能 。于是 。20世纪90年代 。有更多各式各样的浅层模型相继被提出 。比如只有一层隐层节点的支撑向量机(SVM 。Support Vector Machine)和Boosting 。以及没有隐层节点的最大熵方法(例如LR 。Logistic Regression)等 。在很多应用领域取代了传统的神经网络 。
显然 。这些浅层结构算法有很多局限性:在有限样本和计算单元情况下对复杂函数的表示能力有限 。针对复杂分类问题其泛化能力受到一定的制约 。更重要的是 。浅层模型有一个特点 。就是需要依靠人工来抽取样本的特征 。然而 。手工地选取特征是一件非常费力的事情 。能不能选取好很大程度上靠经验和运气 。既然手工选取特征不太好 。那么能不能自动地学习一些特征呢?
提示:实际生活中 。人们为了实现对象的分类 。首先必须做的事情是如何来表达一个对象 。即必须抽取一些特征来表示一个对象 。例如 。区分人和猴子的一个重要特征是是否有尾巴 。特征选取的好坏对最终结果的影响非常大 。
此外 。我们希望提取到的特征能代表输入数据的最重要部分 。就像PCA(Principal Component Analysis 。主成分分析 。请参见第6章的6.2.2节)那样 。找到可以代表原信息的主要成分 。以自动编码器(AutoEncoder)为例 。这是一种尽可能复现输入信号的神经网络:即输出y要尽可能与输入x相同 。表示为
深度学习是什么?

文章插图
。我们可通过训练调整这个神经网络的参数 。来得到每一层中的权值系数 。这样就可得到输入x的一个层次化的表示 。这个可代表原信息主要成分的表示就是所谓的特征 。进一步地 。我们还可用
深度学习是什么?

文章插图
来表示输出y 。其中W称为字典 。类似于PCA 。W可理解为基 。h可理解为系数 。同时 。我们不仅希望将信号表示为一组层次化基的线性组合 。而且要求只需较少的几个基就可以将信号表示出来 。这就是所谓的稀疏编码(Sparse Coding) 。“稀疏性”定义为:只有很少的几个非零元素或只有很少的几个远大于零的元素 。也即 。我们希望求得一组最佳的系数
深度学习是什么?

推荐阅读