####本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第1章,第1.3节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.3深度学习的模型和算法
深度学习亦称深度机器学习、深度结构学习、分层学习,是一类有效训练深层神经网络(Deep Neural Network,DNN)的机器学习算法,可以用于对数据进行高层抽象建模。广义上说,深层神经网络是一种具有多个处理层的复杂结构,其中包含多重非线性变换。如果深度足够,那么多层感知器无疑是深层网络,前馈神经网络也是深层网络。基本的深层网络模型可以分为两大类:生成模型和判别模型。生成是指从隐含层到输入数据的重构过程,而判别是指从输入数据到隐含层的归约过程。复杂的深层结构可能是一个混合模型,既包含生成模型成分,又包含判别模型成分。生成模型一般用来表达数据的高阶相关性或者描述数据的联合统计分布,判别模型则通常用来分类数据的内在模式或者描述数据的后验分布。生成模型主要包括受限玻耳兹曼机(Restricted Boltzmann Machine,RBM)、自编码器(Autoencoder,AE)[1]、深层信念网络(Deep Belief Network,DBN)[62]、深层玻耳兹曼机(Deep Boltzmann Machine,DBM)[65]以及和积网络(SumProduct Network,SPN)[66],其中AE、DBN和DBM需要RBM进行预训练。判别模型主要包括深层感知器(deep MLP)、深层前馈网络(deep FNN)、卷积神经网络(Convolutional Neural Network,CNN)[82]、深层堆叠网络(Deep Stacking Network,DSN)[83]、循环神经网络(Recurrent Neural Network,RNN)[84]和长短时记忆(Long ShortTerm Memory,LSTM)网络[53]。值得一提的是,虽然受限玻耳兹曼机、自编码器、深层信念网络、深层玻耳兹曼机,以及和积网络都被归类为生成模型,但由于模型中也包含判别过程(即从输入到隐含层的规约),所以在一定条件下,也可以看作判别模型并用于对数据的分类和识别,而且在用于产生序列数据时,循环神经网络也可以看作是生成模型。此外,虽然受限玻耳兹曼机作为一种两层网络,在严格意义上并不是一种深层网络,但由于它是对许多深层网络进行预训练的基础,所以也被看作一种基本的深度学习模型。自编码器作为一种深度学习模型,通常只是用作其他模型的构建模块,而不是作为一个独立的模型使用。
基于各种模型和算法,深层网络能够从大量的复杂数据中学习到合适且有效的特征。这些特征在解决实际问题时常常能够取得极佳的效果,从而使得深度学习受到了学术界和工业界的普遍青睐。借助无监督学习,前馈神经网络和循环神经网络的纯有监督学习早已在有关评测比赛中崭露头角[85,86],在大多数近年的比赛中更是成绩卓著[8794]。特别地,基于GPU的最大池化卷积神经网络,不仅在模式识别和图像分类的比赛中捷报频传[9597],而且在图像分割和目标检测的比赛中也是战果累累、名列前茅[3,96,99]。目前,基于深度学习的机器玩家,通过结合卷积神经网络和强化学习,只需输入图像像素和游戏分数进行训练,就能够学会有效的操作策略,在很多视频游戏中达到与人类专业玩家相当的水平[100]。而最为空前的是,一个命名为AlphaGo的人工智能程序机器人,利用深层网络和蒙特卡罗树搜索(Monte Carlo tree search),首次在完整的围棋比赛中战胜了人类的专业选手、欧洲冠军、职业围棋二段选手樊麾,没有任何让子,且以5比0获胜[101]。这在围棋人工智能领域,是一次史无前例的突破。而且,在2016年3月,AlphaGo又以4比1战胜了人类的顶尖高手、世界冠军、职业围棋九段选手李世石(或李世乭),这更是一次亘古未有的创举。
本书的主要内容就是以矩阵运算、概率论、信息论、图模型等预备知识为基础,从受限玻耳兹曼机开始,逐一介绍深度学习的主要模型和算法,包括它们的变种模型和混合模型,以及广泛应用和问题挑战,并分析一些基本案例。