####本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第1章,第1.2节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2深层网络的特点和优势
神经网络由许多简单的、互连的称为神经元的处理器组成。每一个神经元产生一系列的实值激活[73],其中输入神经元通过传感器激活,其余神经元通过连接激活。
例如,图1.1是两个浅层网络的例子,其中图1.1a是一个单隐层的普通神经
网络,图1.1b是一个单隐层的和积网络。图1.2是两个深层网络的例子,其中图1.2a是一个多层神经网络,图1.2b是一个多层和积网络。
根据Bengio的定义[8],深层网络由多层自适应非线性单元组成。换句话说,深层网络是非线性模块的级联,在所有层次上都包含可训练的参数。在理论上,深层网络和浅层网络的数学描述是类似的,而且都能够通过函数逼近表达数据的内在关系和本质特征。不过应注意,网络虽然在狭义上是指由神经元构成的神经网络,但在广义上可以指任何具有网络结构的学习模型。
迄今还没有公认的区分深层网络和浅层网络的深度划界标准。依据Schmidhuber的观点[73],深层网络和浅层网络可以用得分路径(或译为信度分配路径,Credit Assignment Path,CAP)深度加以区分。得分路径是一条可学习的、连接行为和结果的因果链。对于前馈神经网络,得分路径深度,也就是网络深度,是网络的隐含层数加1(输出层也是可学习的)。对于循环神经网络,得分路径长度可能是无限的,因为信号可以多次通过同一个层。一般认为深层网络至少包含3个非输入层或者CAP>2,而非常深的网络应该深度(或CAP)至少大于10。在工程实践中,深层网络通常是一个多层人工神经网络,可以包含多个隐含层和多达几百万个自由参数。
浅层网络对机器学习来说也很重要,包括单隐层网络[74]、高斯混合模型(Gaussian Mixture Model,GMM)[75]、隐马尔可夫模型(Hidden Markov Model,HMM)[76]、条件随机场(Conditionsl Random Field,CRF)[77]、支持向量机(Support Vector Machine,SVM)[78]、逻辑回归[79]、最大熵模型[80],等等。这些网络的共同特点是,它们都使用不超过三层的结构将原始输入信号变换到一个特征空间。毋庸置疑,浅层网络对解决许多简单的和有良好约束的问题非常有效,但在解决真实世界的复杂应用问题时,往往出现函数表达能力不足的情况。这是因为在处理某些问题时,可能需要指数增长的计算单元,而此时深层网络则可能仅需相对很少的计算单元[81]。
作为例子,不妨来分析一个具有递归结构的和积网络的函数表达能力。设输入变量的个数n=4i,其中i是正整数。l0代表输入层,其中第j个节点表示为l0j=xj,1≤j≤n。分别构造奇数层和偶数层的节点如下:
l2k+1j=l2k2j-1•l2k2j,0≤k≤i-1和1≤j≤22(i-k)-1
l2kj=λjkl2k-12j-1+μjkl2k-12j,1≤k≤i和1≤j≤22(i-k)(1.1)#
其中,权值λjk和权值μjk都为正数。
该和积网络的输出f(x1,…,xn)=l2i1∈R是一个单节点。当i=1时,网络共有3个非输入节点,结构如图1.3所示。由于对任意正整数i,
这个和积网络在不计输入层时共有2i层,其中包含的(非输入)节点总数为1+2+4+8+…+22i-1=22i-1=4i-1=n-1,所以网络规模仅具有线性复杂度。显然,这个递归和积网络在i>1时是一个深层网络。
如果用图1.1b中的单隐层和积网络来计算函数f(x1,x2,…,xn),那么需要把它改写成输入变量乘积的加权和形式。当所有权值都取1时,可以得到下面的表达式:
f(x1,x2,…,x4i)=x1x2x5x6…x4i-1-3x4i-1-2+…(1.2)
由于在该表达式中乘积项的数量为m2i=2n-1,因此用单隐层和积网络计算需要2n-1个积节点和一个和节点,共需2n-1+1个节点,网络规模具有指数复杂度。因为在n较大时,2n-1+1将远远大于n-1,所以用浅层和积网络计算具有n个输入的函数,需要的节点个数可能比深层和积网络多得多。例如,当n=45=1024时,用浅层和积网络计算f(x1,…,xn)=l2i1,需要21024-1+1=231+1=2147483649个节点,而用深层和积网络仅需1024-1=1023个节点。
由此可见,在表达同样的复杂函数时,与浅层网络相比,深层网络可能只需要很少的节点和很少的参数。这意味着,在总节点数大致相同的情况下,深层网络通常比浅层网络的函数表达能力更强。