学习笔记整理系列之,深度学习( 二 )


例如,在计算机视觉领域,深度学习算法从原始图像去学习得到一个低层次表达,例如边缘检测器、小波滤波器等,然后在这些低层次表达的基础上,通过线性或者非线性组合,来获得一个高层次的表达 。此外,不仅图像存在这个规律,声音也是类似的 。比如,研究人员从某个声音库中通过算法自动发现了20种基本的声音结构,其余的声音都可以由这20种基本结构来合成!在进一步阐述深度学习之前,我们需要了解什么是机器学习(Machine Learning) 。
机器学习是人工智能的一个分支,而在很多时候,几乎成为人工智能的代名词 。简单来说,机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测 。而深度学习又是机器学习研究中的一个新的领域,其动机在于建立可以模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如,图像、声音和文本 。
深度学习之所以被称为“深度”,是因为之前的机器学习方法都是浅层学习 。深度学习可以简单理解为传统神经网络(Neural Network)的发展 。大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性 。如图4-47所示,深度学习与传统的神经网络之间有相同的地方,采用了与神经网络相似的分层结构:系统是一个包括输入层、隐层(可单层、可多层)、输出层的多层网络,只有相邻层节点(单元)之间有连接,而同一层以及跨层节点之间相互无连接 。
这种分层结构,比较接近人类大脑的结构(但不得不说,实际上相差还是很远的,考虑到人脑是个异常复杂的结构,很多机理我们目前都是未知的) 。图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),从而限制了性能 。

推荐阅读