首页 理论教育 神经网络模型简介

神经网络模型简介

时间:2023-06-21 理论教育 版权反馈
【摘要】:神经网络模型就是这样一种经典的“多级决策”机制。本节中,我们主要介绍:神经网络模型的一些基本理论和思想。正如我们前面所介绍的,用式来作为分类标准是有条件的。对于某一个包含N个训练样本的数据集:图13.3线性神经网络的结构。注意,图13.3所示系统的输入仍然是x1和x2。我们对图13.3的拓展似乎并不成功!我们将图13.3的结构称为线性神经网络。

神经网络模型简介

前面介绍的分类方法是“单级决策”的,也就是说,一个决策单元直接对输入的特征向量进行分类。现实生活中,很多决策(特别是重大决策)是需要进行“多级决策”的。让我们来考虑一个具体的问题:判断一个大项目是否值得投资。最终的决策者是总经理,底层数据(人均收入、人均消费能力、各个业务区域的男女比例、各个业务区域的年龄结构等)的收集者是众多的基层业务员。所有这些数据连同各个基层业务员的分析判断被汇集到各个业务组长;各个业务组长再附上自己的分析判断,汇报给各个部门经理;各个部门经理再附上自己的分析判断,汇报给各个地区经理;各个地区经理做出自己的分析判断后,再呈报给总经理;总经理根据各个地区经理的分析判断做出最终决策。在上述过程中,很多人都做了决策,这些决策可能互相矛盾,此外,各个决策的地位和重要性也是不同的。各个决策被“一级一级”地组织起来,形成了一个最终决策。神经网络模型就是这样一种经典的“多级决策”机制。本节中,我们主要介绍:神经网络模型的一些基本理论和思想。附录中给出了一些相关的应用实例。

13.4.1 线性神经网络模型

事实上,我们可以将式(13.6)形象地“画出来”,如图13.3(a)所示。式(13.6)中的特征向量x=(x1,x2)T的两个分量x1和x2作为系统的输入,系统的输出为:分类结果c。我们用w1=(w1,1,w1,2,w1,3)T表示系统中的三个参数,对比式(13.6)不难发现:

为了数学分析上的方便,我们令 x=(x T,1)T=(x1,x2,1)T。于是,式(13.6)可以进一步写为。分类过程是通过计算:

来实现的,也就是说,根据y1的“正负”来输出分类结果c。

需要指出的是,确定参数w1=(w1,1,w1,2,w1,3)T的方式并不是唯一的。正如我们前面所介绍的,用式(13.18)来作为分类标准是有条件的。对于某一个包含N个训练样本的数据集:

图13.3 线性神经网络的结构。(a)“单层”的线性神经网络对应于一个线性分类器的系统结构;(b)以“单层”的线性神经网络为基本结构单元,拓展出“多层”的线性神经网络结构

如何确定系统的参数w1=(w1,1,w1,2,w1,3)T?我们可以尝试使用:线性方程组的最小二乘解,来解决这一问题。我们要确定的参数w1=(w1,1,w1,2,w1,3)T,应该使得:数据集D中各个输入的所产生的系统输出结果,尽可能地与数据集中对应的标签匹配起来。

对于数据集中的每一组数据,我们都可以建立方程:

其中。我们令:

于是,式(13.20)中(由N个方程所构成)的线性方程组可以写为:

对于上面的这个超定方程(有效方程的个数大于未知数的个数),相应的最小二乘解为(参见第2章2.2.2小节内容):

上述过程也被称为(机器)学习:从数据样本中获取(进行决策判断的)依据标准!

进一步,我们可以将图13.3(a)中的结构作为基本结构单元,拓展出更加复杂的结构。首先,根据另外一组参数w2=(w2,1,w2,2,w2,3)T,可以构造出;然后,继续进行下去,构造出,y4=,···,ym=;进一步,将得到的所有结果 y=(y1,y2,...,ym)T作为下一级系统的输入,与下一级系统的参数a1=(a1,1,a1,2,···a1,m)T相结合;最终,通过计算:

生成系统的输出:

如图13.3(b)所示。注意,图13.3(b)所示系统的输入仍然是x1和x2。我们能否通过:设置参数{wi,j}和{a1,k},使得区域边界z1=0变成一条曲线(例如图13.2中的分界线)?答案是否定的。我们令矩阵

不难看出 x与 y之间的关系: y=W x。进一步,我们可以得到:

因此,不管参数W和a1如何选取,区域边界z1=0都对应于:特征空间(即x1-x2空间)中的一条直线!于是我们得到了一个重要结论:图13.3(a)和图13.3(b)在功能上是等效的(尽管图13.3(b)的结构比图13.3(a)复杂得多)。我们对图13.3(a)的拓展似乎并不成功!

我们将图13.3的结构称为线性神经网络。我们之所以不提它是“单层”还是“多层”的,是因为我们在上面证明的结论:

•“多层”的线性神经网络(例如图13.3(b))一定能够被等效地约减为一个“单层”的线性神经网络(例如图13.3(a))!

13.4.2 非线性神经网络模型

线性神经网络无法真正实现多级决策。事实上,式(13.20)并不是根据图13.3(a)中的结构得出的,图13.3(a)给出了一组非线性方程:

其中,符号函数sign(•)的定义参见式(13.25)。此时,我们无法直接求得非线性方程组(13.28)的解析解,甚至难以求得其数值解。我们可以通过最小二乘法来进行求解,也就是说,

由于符号函数sign(•)不可导(参见图13.4),因此,我们无法通过偏导数等于零这个极值条件来进行求解。为了解决这个问题,我们需要想办法使得符号函数“变得”可导。一种方法是选择一个可导函数来近似替代符号函数,从而保证最小二乘问题(13.29)求解过程的顺利进行。这样的近似函数很多,例如arctan、三次样条等,也被称为激活函数。一种比较常用的激活函数是:

图13.4 符号函数sign(•)不可导。我们可以选择可导函数sigm oid(•)来近似替代符号函数,再进行最小二乘求解。

称为sigm oid函数,如图13.4所示。于是,最小二乘问题(13.29)被近似转化为:此时,我们可以使用基于偏导数的数值计算方法(例如梯度下降法)来近似求解式(13.31)。进一步,我们只需要将图13.3(a)中的yi=(其中i=1,2,,···,m)全部更换为[2]:(www.xing528.com)

就可以有效地“阻止”:(图13.5(a)中的)“多层”非线性神经网络被等效地约减为(图13.3(a)中的)“单层”神经网络结构,如图13.5(a)所示。此时,图13.3(b)中的z1也应该相应地调整为:

图13.5 非线性神经网络的结构。(a)多层的非线性神经网络无法被等效约减为单层结构。(b)训练过程中,残差被逐层地后向传播,来进行参数调整。

对于图13.3(b)中的“多层”线性神经网络结构,区域边缘z1=0.5仍然是一条直线,但是,对于图13.5(a)中的“多层”非线性神经网络,区域边缘z1=0.5变成了一条曲线:

这大大提升了非线性神经网络的分类效果,解决了诸如异或问题这类的线性不可分问题。

另一方面,随着层数的增加,参数估计也会变得越来越复杂。例如,对于图13.3(b)的情况,相应的最小二乘问题

要比(13.31)复杂得多。对于梯度下降算法,一个核心的问题是:求目标函数关于各个参数的偏导数。对于式(13.31)中的目标函数:

我们进一步计算目标函数Φ1关于参数w1,i的偏导数,即:

其中,偏导数是一个关于w1的函数,表示:第n个训练样本中的第i个分量,s(t)表示:sigmoid函数s(t)的导数,即:

梯度下降算法使用偏导数来更新相应的参数,具体迭代格式为:

其中,k表示迭代次数,向量表示:第k次迭代后,对参数集w1的估计结果,ηk是一个(大于零的)系数,可以依据迭代次数k来灵活选取,又称为学习率。注意,式(13.37)中关于一组数据的计算出现了3次(其中n=1,2,···,N),我们可以将其结果存储起来,避免重复计算。

总结起来,迭代过程包括如下三个子过程:首先,计算和存储;然后,根据式(13.37)计算偏导数;最后,根据式(13.39)来更新参数集w1

对于式(13.35)中的目标函数:

我们进一步计算:函数Φ2关于参数a1,i和wj,i的偏导数,分别为:

其中,

不难发现:1)只需将式(13.37)中的换成,就得到了式(13.41);此外,2)式(13.42)与式(13.41)有“共同”的部分。我们可以尝试通过图13.3和13.5来探寻原因:1)将图13.5(a)中的节点s(y1),s(y2),···看作输入,这些节点以及后面的系统所构成的“输入/输出”结构,与图13.3(a)中的结构是一致的;2)从图13.3(b)中的c出发,要“走到”参数wj,i所在的箭头,必然要经过参数a1,i所在的箭头。从这个角度出发,我们不难理解为什么参数的迭代更新过程被形象地称为:后向传播,也就是说,与图13.5(a)中的箭头方向相反,参见图13.5(b)。注意,在计算偏导数(13.41)和(13.42)的过程中,式(13.43)中关于的计算重复了很多次,我们可以将其计算结果存储下来,在后续计算中直接调用,我们将这个过程称为:(数据的)前向传播,也就是说,与图13.5(a)中的箭头方向一致。

当然,我们也可以选用不同的优化目标和激活函数。在本书的附录中,我们给出了一些基于神经网络模型的工程应用。

13.4.3 对模型的深入理解

图13.3(a)中描述的是:计算两个向量的内积(参见式(13.18)),其中的一个向量x是数据,另一个向量w 1权重系数。通过计算内积,我们实现了数据融合;然后,根据数据融合的结果y1来做决策。事实上,内积也是我们能够想到的最简单的数据融合方式。

正如我们在本小节一开始所给出的“多级决策”的例子中,在整个机构中,从“最下面”的基层业务员,到“最上面”的总经理,每个人都在做决策。假设每个人的决策过程中,都通过内积来实现数据融合,然后,按照人员的“级别”将所有的决策“一级一级”地组织起来,就形成了图13.5中的结构。

基于上述分析,我们不难理解:(前面谈到的)数据的前向传播过程和(参数调整的)后向传播过程。注意,做最终决策的总经理并不(直接)接触数据。数据是通过基层业务员“一层一层”地向上(或向前)传播到决策层的,对应于图13.5(a)中的结构。假设项目失败(或者获得巨大成功),总经理会不会直接冲过去指责(或褒奖)基层业务员?不会,他会先去问责(直接向他汇报的)地区经理;然后,地区经理们再向下(或向后)问责他们管理的各个部门经理;就这样,从决策层开始,问责过程被“一层一层”地向下(或向后)传播到基层业务员,对应于图13.5(b)中的结构。数据融合(内积)过程中的权重系数反映的是一种“信任度”或“看重程度”,问责的一种体现形式(或直接结果)就是:对这些权重系数(也称为参数)进行调整。因此,参数调整是后向传播的!

最后,我们的脑海中似乎还有一个疑问:整个过程中,我们谈的都是公司治理方面的内容,“神经网络”这几个字究竟从何而来?事实上,公司结构可以被看作是:社会组织形式的缩小和简化模型。人类大脑中的神经网络究竟是如何组织运作的?至今为止,我们还没有找到这个问题的确切答案。早期的人工智能科学家们曾经尝试:借鉴一些(简化的)社会组织架构模式,来建立人脑的神经网络模型。例如,人工智能之父Marvin Minski将他的经典著作命名为《The Society of Mind》,就是这方面思想的一个集中体现。

图13.6 随着高性能计算的普及,材料基因的概念被广泛运用到材料科学中。(a)材料基因方法分析二元金属合金的热力学性质。(b)材料基因方法筛选新型光电材料。

13.4.4 应用案例:材料基因计算方法

在本书的附录中,我们给出了一些基于神经网络模型的机器视觉应用案例,例如:目标识别、动作行为识别等。事实上,统计机器学习的应用范围很广,远不止限于机器视觉和智能感知领域。近年来,人工智能技术在材料学、生物学、新能源等学科领域都得到了广泛应用,成为了上述交叉学科中新兴的研究热点。

在中广核研究院龚恒风研究员所主持的一项科研课题中,创新性地建立了“新型材料基因计算模型”,通过神经网络模型来改进原有的数据挖掘算法数据挖掘方法,有效地从大量的数据中提取需要的信息,指导材料的发现和设计。在新型计算模型中,机器学习和数据挖掘技术被用于:1)对已有的经验数据或实验数据(ICSD、CRYSTMET等数据库)进行学习,进行特征提取和相关测试;2)对预测材料给出新组分和结构的“推荐组合”;3)预测材料信息输入,通过DFT计算确定预测材料的热力学稳定性等。

传统的计算方法聚焦在获得某种材料的具体特性,而材料基因计算方法侧重于得到材料元的相关信息,为搜寻具有特定特征的材料体系做指导。材料基因计算方法对材料发展和材料预测是非常有效的,它能够利用一系列的自动化优化技术从候选化合物的数据库中筛选符合条件的化合物,为进一步的计算细化搜索范围。近年来,随着计算机运算能力的提高以及高性能计算的普及,计算材料学获得了迅速的发展,材料基因的概念也被运用到材料计算中,参见图13.6。

材料基因计算方法首先从外部的结构数据库中选择数据,进行计算得到材料相应的性质数据,获得的新知识可扩充原先的数据库并有助于更为准确的数据选择。事实上,材料的性能完全由材料的结构和组分两个因素决定,通过大规模计算,挖掘出材料结构、组分和材料性能之间的联系,构建出材料的“构效关系”,也是材料基因计算的重要目标之一。在龚恒风研究员主持的课题中,应用机器学习技术和神经网络模型建立了“新型材料基因计算模型”,具体功能包括:

•通过对筛选过程设立由针对性的外部约束条件,包括应用要求约束、基本物理规律约束、温度压强等外部条件,构建材料组分和结构模型。

•通过材料基因技术来计算这些结构模型对应的化合物的各种性能,并反馈到结构性能数据库,用于研究核材料中的物理问题,同时筛选出满足应用约束条件的材料。

•通过各种实验方法制备这些材料,然后测试和表征这些材料的物理化学性能,从而理解核材料物理问题,发现新材料

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈