5.5.1 引言
神经网络历来都是软计算的主要成员之一,对于软计算的成功应用功不可没。此外,深度学习是神经网络在近10年内的重要突破,在许多应用领域都取得了前所未有的成功。因此,不少研究人员尝试将深度学习融入软计算的技术框架,利用DNN在自动特征提取方面的突出能力,取得了较以往更加满意的结果。接下来,作者将简要介绍几个关于深度学习与软计算融合的研究结果,这些研究可分为两种类型:面向DNN优化的融合和面向应用的融合。需要指出,这两类研究之间的界线并非泾渭分明。
5.5.2 面向DNN优化的融合
该类融合指通过利用其他软计算方法优化DNN的自身结构或训练方式,从而提高深度学习的能力或者效率。一般而言,这类融合的研究结果可适用于更广的应用场景。下面分别介绍此类融合的几项研究成果。
虽然深度学习已经在多个应用领域取得了突破,但是在大多数情况下,DNN的参数仍然依靠经验甚至随机值来设置。鉴于此,Papa等在文献[16]中尝试使用一类基于和声搜索(HS)[17]的快速元启发式优化算法来微调DBN的参数,该网络由多层伯努利受限玻尔兹曼机组成。和声搜索解决优化问题的思想源于音乐家作曲时寻找最优和声的方式。决策变量代表音乐家,问题对应音乐,某个音符组合使音乐最和谐时表示某个适应度函数值最大。在3种不同的网络结构(单隐层,双隐层和多隐层)下,作者分别使用3种学习算法(对比散度、一致对比散度和快速一致对比散度)并分别在3种数据库(MNIST、Cal Tech 101 Silhouettes和Semeion Handwritten Digit)中将6种基于HS的优化算法与3种基于随机搜索(RS)+Hyperopt的优化算法相比较。尽管这3个数据库的图像数据复杂度明显不同,基于HS的优化算法对图像重构的均方误差均优于其对比算法,区别仅在于其优越性分别在不同层数的网络中体现。需要注意的是,尽管HS的计算复杂度比遗传算法(GA)和粒子群优化算法(PSO)低,更适用于对时限有一定要求的应用场合,但它仍属于元启发式算法,所以它在DNN(隐层数至少大于5)中的成熟应用尚需时日,本研究的意义在于证明元启发式优化算法具有调整DNN参数的潜力。
大多数情况下,神经网络层中的所有节点都视为相同且连接权值是随机初始化的,即网络结构不包含先验知识。然而,根据脑科学的最新发现,大脑中有许多可视区域,它们具有针对不同属性的功能特化。根据文献[18]的描述,大脑存在两种观念,一种是不可改变的继承性观念,另一种是可以由于后天经历和思考发生改变的获得性观念。基于这种理论,Zhou等尝试用模糊集模仿继承性观念,用DBN模仿获得性观念[19]。具体如图5.6所示,作者提出了一种基于DBN和模糊集的称为模糊深度置信网(FDBN)的双阶段半监督学习算法,并用于文档级别的观点分类问题。
图5.6 模糊深度置信网(FDBN)的结构
具体来说,在第1阶段,利用基于全部训练数据的半监督学习来训练DBN,数据在空间中的分布被视为先验知识,然后由训练后的DBN将这些先验知识体现为一系列隶属度函数。在第2阶段,基于隶属度函数以及训练后的DBN构建FDBN并通过基于有标签数据的监督学习来提升它的分类性能。此外,作者还将主动学习[20]的思想融入FDBN,提出了一个称为AFD的半监督学习方法,进一步改进分类效果。在5个数据集上,作者分别将FDBN与4个竞争算法、AFD与3个竞争算法进行了比较,最后FDBN、AFD这两个算法均在分类准确率上胜出。此外,AFD在这5个数据集上的分类准确率均优于FDBN。这一研究结果说明除了在输入特征中加入先验知识,在DBN的结构中加入适当的先验知识也能提高分类性能。不过,作者的理论和实验部分仅讨论了正反观点的情况,并未研究观点的多样性对算法的性能以及计算复杂度的影响。
神经网络的训练非常影响其泛化性能,而训练效果很大程度上依赖神经网络的初始化权值,因此权值初始化始终是DNN的研究热点。在文献[21]中,Paul Ijjina等利用遗传算法(GA)来解决卷积神经网络(CNN)中的权值初始化问题。具体如图5.7所示,将CNN卷积层中的权值以及用于初始化CNN末端分类器的随机种子值作为GA染色体,利用GA进行初始化并且将CNN分类器(通过反向传播算法训练后)的分类误差视为GA染色体的适应度,如此便可在参数空间中尝试不同的权值初始化方案。此外,在尝试每种权值初始化方案时都使用最速下降算法以加速局部寻优,从而减少候选方案数。此外,保留多个较优的GA染色体(即权值初始化方案)用来训练不同的CNN,最后通过集成这些CNN分类器的结果做出最终决策。作者将该方法应用于无约束视频中的人体动作识别,当它以动作库特征作为CNN(仅含2个卷积层)的输入时在UCF50数据库中的识别率高达99.98%(与包含更多卷积层的LeNet-5相当)。此外,作者还说明了使用GA和训练CNN分类器在实践中并行实现的可行性。
图5.7 人体动作识别系统的工作流程
研究表明,神经突触在儿童大脑开始发育的前几个月中形成,此后在漫长时间中很少使用的树突和轴突逐渐退化,直至最终发育为成人大脑[22,23]。受此启发,Han等用剪枝技术来模仿该退化机制,以便简化深度神经网络的结构,从而在不影响其准确度的前提下降低所需要的存储和计算资源,使一些原本难以承受的神经计算方案(例如,神经网络在嵌入式移动设备中的实时运行)得以实现[24]。具体如图5.8所示,该剪枝技术采用3个步骤消除网络中的冗余连接。第1步,通过训练神经网络来学习其拓扑结构,借此了解其中的重要连接和非重要连接(当某连接权值低于特定阈值时,该连接被视为非重要)。第2步,移除非重要连接以及相关神经元节点,使全连接的各个隐层变得稀疏。第3步,在第1步所得连接权值的基础上重新逐层训练网络(即细调权值)。与前两步不同的是,在第3步中,移除非重要连接以及相关神经元节点和细调权值反复交替进行,这一迭代过程会逐渐降低网络的结构复杂度。为了验证该剪枝技术的有效性,分别将其应用于深度神经网络LeNet、Alex Net和VGG16。结果表明,当Alex Net中的连接数减少为原来的1/9、LeNet和VGG16中的连接数减少为原来的1/13时,它们的分类成功率不仅未明显下降,而且在剪枝后可满足实时图像处理对存储能力和带宽的要求。需要说明的是,因为第3步中网络重新训练的学习率远小于第1步中网络初始训练的学习率(例如,前者是后者的1/100),即使在已剪除大量非重要连接的情况下仍需大量计算时间,所以剪枝过程本身是离线完成的。
图5.8 通过剪枝技术简化DNN结构
目前我们可以利用一些稀疏特征学习模型从DNN中提取有效特征。除了重构误差,为了学习到类似于更易被视觉皮质所识别的特征结构,这些模型的目标函数中还包括稀疏性惩罚以及一个加权系数。采用这种形式的目标函数是希望重构误差尽可能小的同时通过该系数控制特征稀疏性。该系数体现了目标函数的两部分之间的权衡,但在实际使用中如何确定它是一个问题。比如,系数值不同,最终得到的特征也不同。如果按照这种思路来提取特征,那么通常需要尝试多组系数,然后通过比较不同系数所对应的特征才能基本确定系数值应设为多少才可能取得最好效果。为了避免直接选择系数,Gong等在文献[25]中提出了一个基于自编码器(AE)的多目标稀疏特征学习(MOSFL)模型,将单一目标的受限优化问题转化多目标优化问题(MOP)[26],并借鉴稀疏响应受限玻尔兹曼机(SR-RBM)[27]的学习过程为MO-SFL模型设计了一个多目标引导学习程序。具体来说,该程序有两个反复迭代直至收敛的环节:多目标引导和快速更新。在快速更新环节,使用随机梯度下降法最小化重构误差来更新全部参数。在多目标引导环节,用多目标进化算法(MOEA)[28]只优化与特征稀疏性直接相关的偏置项向量,把关于MO-SFL模型的多目标优化问题分解成多个关于局部多目标优化(LMO)模型的单目标优化问题。然后,在每步中都用随机LMO模型进一步降低计算量,并在关于随机LMO模型的单目标优化问题中使用了基于分解的自适应多目标差分进化算法(Sa-MODE/D),能从多个帕累托最优解中选出一个合适解,经过一步步引导,使得最终得到的解能够位于MO-SFL模型的“帕累托前沿”上某个合适的位置。在基于MNIST数据集、Berkeley分割数据集的实验中,通过将MO-SFL、AE以及带有几组不同系数的SRRBM和稀疏编码对称机(SESM)[29]进行比较,利用MO-SFL模型得到的特征不仅最稀疏,而且基于该特征的错误率也最低。更重要的是,利用MO-SFL模型不需要反复手动调整系数就能得到满意的稀疏特征。不过作者也指出,虽然多目标引导学习程序在使用进化算法的步骤中明显减少了需要更新的参数数量从而减轻了直接使用MOEA优化MO-SFL模型时的计算负担,但也因此不能一次性得到帕累托最优解的集合。所以,通过该研究方法得到的解虽然满意,但因为没有更多选择,所以不能保证是最优解。此外,因为多目标引导学习程序中包含进化算法,所以相比于SR-RBM,基于MO-SFL模型的稀疏特征提取需要更长时间。
5.5.3 面向应用的融合
这类融合是将DNN与其他一种或者多种软计算方法相结合用于某些特定应用场合,从而取得较以往更好的性能指标。下面逐一介绍此类融合的几项应用成果。
在文献[30]中,Hwang等将DNN集成与声场景分类(AEC)技术的结合用于基于统计模型的语音活动检测(VAD)。DNN能够改进SVM等浅层模型不能充分利用特征空间分布多样性的缺点,DNN集成通过结合不同类型声场景的特征可提高检测成功率。具体如图5.9所示,在训练阶段,根据不同噪声类型利用VAD算法的参数(似然比、先验信噪比和后验信噪比)分别训练不同的DNN。此外,为AEC算法设计多个DNN以便从中选出最能代表每个噪声特征的DNN。处于在线噪声感知VAD阶段时,首先基于逐帧的语音数据使用各自的DNN执行AEC算法从而获得用于识别噪声的后验概率。一旦得到关于每个噪声的概率,这些环境知识有助于结合从各个DNN计算得到的语音存在概率(SPP)。最终,通过比较结合得到的SPP与某个阈值之间的大小来决定语音活动的存在与否。以语音数据库TIMIT和AURORA2中的语音数据为实验样本,该方法与传统的基于SVM的VAD算法[31]、基于单个DNN但不带AEC的方法、基于DNN但以LPS为特征的VAD算法分别在10种常见生活场景中和4种不同信噪比条件下进行了比较。在基于全部声音数据的错误率、基于全部语音数据帧的漏检率、基于全部非语音数据帧的误报率以及接受者操作特性(ROC)曲线这四个性能指标上,该方法在85%的情况下都优于另外几种方法,分别体现了深层模型对于浅层模型以及集成学习器对于单一学习器的优越性。总之,该方法鲜明体现了集成学习与深度学习相结合的思想,但这种集成深度学习的优秀性能是以较高的计算复杂度为代价的。
图5.9 基于DNN集成的语音活动检测的流程图
在文献[32]中,S.Agarwalla和K.K.Sarma首次研究将大数据和基于机器学习的样本提取方法用于关注韵律内容的软计算辅助自动语音识别。具体如图5.10所示,从电话语音对话的数据库取出海量的包含不同性别、方言、说话人和情绪的印度阿萨姆语语音数据,而且数据的信噪比也并非始终一致。首先,使用基于机器学习的技术从大数据中提取感兴趣的数据(分别包含2到5个词的句子)从而精简训练样本集,具体技术可以是(模糊)聚类、多层感知器(MLP)以及基于递归神经网络(RNN)结构的DNN集成。然后,两个基于MLP结构的DNN分别用来从所提取的句子中获取光谱特征(梅尔频率倒谱系数)和韵律特征(基频轮廓、能量轮廓和音长)。最后,由另一个神经网络(例如,RNN或全聚焦时延神经网络(FFTDNN)[33])根据提取到的特征完成分类。在实验中,作者基于5分钟的语音数据比较了8种具体的软计算方案,由1个DNN首先根据样本的频域特性提取语句,然后由另外2个DNN提取特征,最终由1个RNN进行分类的方案在精确度、精密度、敏感度、特异度和F1分值这5种指标上都取得了最好结果,因为该方案不仅在特征提取步骤中包括了神经网络集成,而且在步骤之间采用了集成学习,所以取得了很好的语音识别性能。当然,它的训练复杂度更大,需要高性能硬件的支持。
图5.10 基于DNN集成的软计算辅助自动语音识别方法流程
图5.11 模糊深度神经网络(FDNN)的结构
随着大数据时代的到来,数据中的噪声和不确定性日益增加,给数据的识别与分类增加了巨大困难。然而,传统深度学习模型并不直接处理数据中的不确定性。对此,在文献[34]中,Deng等将模糊学习[35,36]的概念引入深度学习,提出一个模糊深度神经网络(FDNN)。具体如图5.11所示,它以DNN为架构,分别利用模糊学习中的多逻辑规则和深度学习的多层信息提取来分别减少原始数据中的不确定性和噪声,进而提取模糊学习特征和深度学习特征,然后多模态神经网络[37]以这两个特征为输入,计算得到融合特征,最后软多值函数根据该特征完成分类。分别在自然场景图像分类、股票趋势预测以及大脑MRI(核磁共振成像)的图像分割这3种应用中将FDNN与各种经典算法进行了比较。在减噪效果上,FDNN的性能不仅优于支持向量机(SVM)、马尔科夫随机场(MRF)等浅层学习方法,而且在减少不确定性的方面因其基于任务驱动的学习方式而优于基于模糊逻辑的方法,例如顺序模糊深度神经网络[34]和DENFIS[38]。
文献[39]和[40]都研究利用DNN来进行投机交易。在文献[40]中,Zhang等将模糊信息粒化与DBN集成相结合(称为CDBN-FG),基于汇率的连续时间数据预测它在未来一段时间内的波动范围并据此做出交易决策。具体如图5.12所示,首先从连续时间数据中提取一组粒化窗,基于它们可通过各种模糊粒化方法(例如,普通隶属度函数或者基于模糊C均值的粒化方法)得到代表不同程度(低,中和高)的粒度。然后,将各粒度窗口中代表相同程度的粒度挑出组合成新的连续时间数据来分别训练对应的DBN,其输出分别是关于不同粒度的预测值,即如果有N种粒度,就需要训练N个DBN。最后,一个基于“止损价格”的交易策略将这些代表不同程度的预测值作为输入,计算交易利润。分别基于欧元/美元和英镑/美元的汇率市场数据将该方法与基于BP神经网络的方法BP-FG以及基于连续时间数据的预测方法(CDBN)[39]进行比较。结果表明,在采用文中所提及的任意一种模糊粒化方法时,基于CDBN-FG方法的交易策略的收益都最多。笔者认为,该研究同样是一个深度学习与集成学习相结合的成功案例。
图5.12 CDBN-FG的框架
5.5.4例子:Google的AlphaGo战胜围棋世界冠军
2016年3月,Google公司旗下Deep Mind团队开发的AlphaGo战胜围棋世界冠军、韩国九段棋手李世石,标志着人工智能研究取得了突破性进展,引起了科学界乃至全社会的广泛关注。Deep Mind团队在文献[8]中详细介绍了AlphaGo的工作原理,从中也可以发现软计算的成功应用。
围棋对弈的本质就是在超大树搜索空间里面,从树的根节点(空棋盘)顺着树一路下行,走出一条路径,路径的末尾就是已经决出胜负的棋局状态。对此,AlphaGo的宏观技术框架采用了蒙特卡洛树搜索(MCTS)[41]。虽然蒙特卡洛树搜索理论上在采样数足够多时能找到落子的最优路径,但由于树搜索空间太大,速度很慢,所以实战中不能保证足够的采样数,从而找不到最优路径,无法战胜中高段位的职业围棋选手。对于该问题,围棋人工智能的研究者的传统做法是通过学习一些策略来减少树的宽度和深度。比如,评估未决出胜负的局面时不需将树展开到末端,而去除明显不合适的落子策略就可以减少树的分支数。但是,围棋比赛的盘面评估并不容易,而且越到最后棋子越多,盘面评估的难度甚至可能增加。为了降低难度,围棋人工智能的研究者以前仅专注于预测当前盘面下的最优落子策略而避免直接评价盘面,也取得了相对满意的结果[42-44]。
Deep Mind结合深度学习和增强学习(软计算的一种形式)的长处,赋予AlphaGo直接评价盘面的能力,使得它的局部计算能力明显增强。具体来说,AlphaGo使用3个深度卷积神经网络(DCNN),依次通过训练这3个DCNN分别得到监督学习落子策略、增强学习落子策略以及增强学习评估策略。AlphaGo通过这些策略,能够有效减少搜索树的广度和深度,使其可以在可接受的时间内寻找到最优路径。
根据前面的介绍,AlphaGo的训练大致分为3个阶段。第1阶段是监督学习,具体如图5.13所示,从KGS Go服务器下载3000万人类高级棋手的现有下法,即棋子在某一盘面s下的落子选择a,教它预测人类对手如何落子,即它学会像人类高手一样落子。本阶段中的DCNN称为监督学习策略网络,共有13层,权值为σ。因为棋盘图像的像素是19∗19,并且选择48个特征从11个角度来描述这个棋盘,所以它的输入s是19∗19∗48的图像堆栈。训练过程采用随机梯度上升优化算法来最大化预测准确度,最终输出在当前盘面中下一步分别落子到各个合法位置上的预测概率pσ(a|s)。一方面,所选特征较以往能更加全面反映盘面的情势。另一方面,该DCNN具有更多的特征提取层。因此,训练后其预测准确率高达57%,远超文献[43]当时所保持的最高纪录44.4%。此外,根据围棋比赛的读秒规则,利用以上数据还训练了一个快速落子策略pπ(a|s),此时DCNN的权值是π。
图5.13 AlphaGo中各策略网络与值网络的简要结构和训练顺序
第2阶段是增强学习,本阶段中的DCNN称为增强学习策略网络,它的结构和监督学习策略网络相同,其权值ρ的初始值是后者训练后的σ。在每步迭代中,当前版本的策略网络与随机选取的此前版本的策略网络进行对弈,不同版本的策略网络具有不同的权值,这相当于AlphaGo在自我对战。同样采用随机梯度上升法来训练该策略网络,最终得到一个在当前盘面下使己方获胜的策略(称为“最强策略”)pρ(a|s)。这一阶段就是AlphaGo通过反复自我对战记住那些能够赢棋的路径,并产生一个包含对战结果的数据集(称为“自我对战数据集”)。
第3阶段也是增强学习,本阶段中的DCNN称为增强学习值网络,除输出层之外,它的结构和增强学习策略网络一样,其权值为θ。这一阶段就是用该DCNN来估计己方和对方在盘面s下均采用“最强策略”pρ时的值函数νpρ(s)(即νθ(s)≈νpρ(s))从而预测比赛结果。基于“自我对战数据集”中3000万个相互独立的对战结果(s,z),通过随机梯度下降法来最小化实际结果z与预测值νθ(s)之间的均方差,完成该DCNN的训练。训练之后,值网络就能帮助AlphaGo预测在盘面s′时的胜率νθ(s′)。该值越大,说明从当前盘面下能够赢棋的路径越多。如果νθ(s′)<0.1,那么AlphaGo投子认输,否则继续使用落子策略。
AlphaGo的训练结束后,与其他研究工作一样,在对弈时采用MCTS。综上所述,除了采用深度学习在围棋人工智能上的最新研究成果[44,45],该研究的突出创新之处在于使用结合深度学习与增强学习的软计算技术,使AlphaGo对弈时的局部计算能力更强。此外,这种技术架构允许AlphaGo通过自我对战不断自我进化,从而持续提升棋力。由于AlphaGo的巨大成功,该软计算技术也逐渐成为人工智能研究的重要工具之一。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。