技术领域
本申请涉及计算机技术领域,尤其涉及一种基于博弈论框架构建的神经网络模型终身学习方法。
背景技术
随着信息技术的发展,目前人工神经网络面临的问题除了特定领域的数据集不足,还有一些领域存在具有多模态并且随时间快速变化的数据集。对于特定的数据集的训练,一个成熟的网络表现出对于数据集变化的滞后性:在训练集上表现良好的模型会固定参数,对于其他模态以及随时间迁移的数据不再适用。并且当前的网络对噪音鲁棒性差,对于新的场景以及一些特殊场景下可迁移性差,对于新的数据集无法做到适应。
发明内容
本申请的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请的一个目的在于提出一种基于博弈论框架构建的神经网络模型终身学习方法。本申请通过在博弈论的框架下,以熵平衡的实现过程作为驱动因子,通过熵平衡驱动下网络节点消长策略的建模与到网络达博弈平衡的过程分析,建立博弈论框架下的终身学习,从而实现网络随着时间演化的可持续学习,从而实现稳定有效的自学习。
为达上述目的,本申请一方面实施例提出了一种基于博弈论框架构建的神经网络模型终身学习方法,包括:
对输入图像进行特征提取,获得针对所述输入图像的特征向量;
将所述输入图像的特征向量输入至环境熵计算网络进行环境熵计算,获得所述环境熵计算网络输出的环境熵;
基于网络熵计算网络对主体网络计算网络熵,并将所述网络熵映射到与所述环境熵相同的空间;
根据所述环境熵和所述网络熵生成对应的熵平衡驱动因子;
根据所述熵平衡驱动因子驱动所述主体网络中连接节点的策略与权重的变化,并根据变化后的所述主体网络获取网络成本和网络误差;
将所述网络成本、所述网络误差和所述主体网络的输出结果作为反馈信息,并将所述反馈信息和所述输入图像的特征向量输入至所述环境熵计算网络进行环境熵计算,返回执行所述获得所述环境熵计算网络输出的环境熵的步骤。
可选地,在本申请一些实施例中,所述环境熵计算网络的学习过程如下:
其中,f
minL
其中,x
可选地,在本申请一些实施例中,所述网络熵计算网络的学习过程如下:
其中,g
minL
其中,H
可选地,在本申请一些实施例中,所述根据所述环境熵和所述网络熵生成对应的熵平衡驱动因子,包括:
计算所述环境熵与所述网络熵的差值;
根据所述差值和预设的比例系数,生成熵平衡驱动因子。
可选地,在本申请实施例中,所述根据所述差值和预设的比例系数,生成熵平衡驱动因子,包括:
将所述差值与所述比例系数进行相乘处理,并将所述相乘处理得到的乘积取相反数,将所述相反数作为所述熵平衡驱动因子。
可选地,在本申请一些实施例中,基于博弈论框架构建所述神经网络模型:
在图论表示下,对所述主体网络中的节点V={v
S
全体节点的策略集合为:
达到博弈均衡时,任意的一个特定决策s'
可选地,在本申请实施例中,通过如下公式计算所述网络成本:
其中,U
可选地,在本申请一些实施例中,所述将所述网络成本、所述网络误差和所述主体网络的输出结果作为反馈信息,包括:
根据所述网络成本和所述网络误差获取对应的目标函数;
将所述目标函数和所述主体网络的输出结果作为所述反馈信息。
可选地,在本申请实施例中,通过如下公式计算所述目标函数:
其中,λ
根据本申请实施例的技术方案,通过对环境熵与网络熵的定量表达,得到网络驱动因子,促使网络结构的变化,实现网络的持续学习,在环境发生空间以及时间上的变化时,保持有效,可迁移以及持续演化。同时将网络的成本,精度以及输出作为反馈信息,进一步帮助网络调整结构,实现数据闭环,实现网络随着时间演化的可持续学习,从而实现稳定有效的自学习。由此,本申请可以在数据集发生模态与时间变化的情况下持续学习,具有较强的实际应用前景。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种基于博弈论框架构建的神经网络模型终身学习方法的流程示意图;
图2为本申请实施例的基于博弈论框架构建的神经网络模型终身学习方法的原理框示意图;
图3为本申请实施例的熵计算网络的示意图;
图4为本申请实施例的主体网络的结构变化过程示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于博弈论框架构建的神经网络模型终身学习方法。
图1为本申请实施例所提供的一种基于博弈论框架构建的神经网络模型终身学习方法的流程示意图。如图1所示,该基于博弈论框架构建的神经网络模型终身学习方法可以包括如下步骤。
在步骤101中,对输入图像进行特征提取,获得针对输入图像的特征向量。
为了更好地描述图像信息量,需要将输入图像转化为向量的形式,即进行特征提取。可选地,利用已有的图像特征提取工具对输入图像抽取一种或多种特征向量,并拼合为一个整体向量x=(x
在步骤102中,将输入图像的特征向量输入至环境熵计算网络进行环境熵计算,获得环境熵计算网络输出的环境熵。
也就是说,在得到输入图像的特征向量后,将特征向量x=(x
具体的计算方法如下:
H
其中f()是一个神经网络,只需要采用简单的多层感知机(MultilayerPerceptron,MLP),就可以将特征向量输入直接映射到高维空间中,得到环境熵H
需要说明的是,环境熵计算网络本质上是一个自动编码器。自动编码器(autoencoder)是神经网络的一种,该网络可以看作由两部分组成:一个编码器函数和一个生成重构的解码器。传统上,自动编码器被用于降维或特征学习,与一般的自动编码器不同,本申请利用的是编码部分。在一些实施例中,环境熵计算网络的学习过程如下:
其中,f
minL
其中,x
在步骤103中,基于网络熵计算网络对主体网络计算网络熵,并将网络熵映射到与环境熵相同的空间。
可以理解,该主体网络实质是一个神经网络,在对主体网络计算网络熵,可以将该主体网络看作一个图G=(V,E)。节点集合V={v
H
上式中H
在本申请一些实施例中,网络熵计算网络的学习过程如下:
其中,g
minL
其中,H
在生成网络熵时,则只需要经过编码网络与一个非线性映射:
在步骤104中,根据环境熵和网络熵生成对应的熵平衡驱动因子。
需要说明的是,环境熵计算网络和网络熵计算网络都是自动编码器,可以将特征编码到高维空间,而与一般的自动编码器不同的是,本申请在时间应用中会保留编码部分,获取高维含有熵含义的隐变量。经过熵计算网络后的信息熵(即环境熵)与网络熵具有了相同的物理意义,所以可以进行相减,用以驱动网络结构的变化。
可选地,在本申请一些实施例中,计算环境熵与网络熵的差值,并根据差值和预设的比例系数,生成熵平衡驱动因子。作为一种示例,可将差值与比例系数进行相乘处理,并将相乘处理得到的乘积取相反数,将相反数作为熵平衡驱动因子。
例如,可通过如下公式计算熵平衡驱动因子:
Q=-λ(H
其中,Q是熵平衡驱动因子,代表了环境与网络之间的信息差,λ是比例系数。
在步骤105中,根据熵平衡驱动因子驱动主体网络中连接节点的策略与权重的变化,并根据变化后的主体网络获取网络成本和网络误差。
需要说明的是,在本申请实施例中,基于博弈论框架构建神经网络模型:
在图论表示下,对主体网络中的节点V={v
S
全体节点的策略集合为:
达到博弈均衡时,任意的一个特定决策s'
可选地,在本申请实施例中,通过如下公式计算网络成本:
其中,U
本申请着眼于网络结构的调整问题,这是一个动态的过程,所以只在特定的时间t下计算损失函数才具有意义。在该问题下,本申请需要计算出整个网络的成本,也就是:
上式意味着每个节点在采取策略后的节点成本之和,也就是网络的总成本。而在具体的任务中,本申请也关心网络的精度(集网络误差),即:
L
其中X
在步骤106中,将网络成本、网络误差和主体网络的输出结果作为反馈信息,并将反馈信息和输入图像的特征向量输入至环境熵计算网络进行环境熵计算,返回执行获得环境熵计算网络输出的环境熵的步骤。
在本申请一些实施例中,根据网络成本和网络误差获取对应的目标函数,并将目标函数和主体网络的输出结果作为反馈信息,进一步帮助网络调整结构,实现数据闭环,从而实现稳定有效的自学习。
可选地,通过如下公式计算目标函数:
其中,λ
需要说明的是,本申请提出的基于博弈论框架构建的神经网络模型终身学习方法,其原理框图如图2所示。通过学习两个熵计算网络,将环境熵与网络熵映射到同一个空间中,使其具有相同的物理含义,利用熵差分网络计算两种熵的差值,用于驱动主体网络中连接节点的变化。在使用过程中,固定的熵计算网络提供熵驱动因子,而主体网络的结构随着输入与输出的变化不断调整。
在本实施例中,熵计算的过程如图3所示。其中,如图3中左侧示出的为熵计算网络的学习过程,如图3中右侧示出的为熵计算网络的使用过程。在熵计算网络的学习过程中,通过对特征输入,网络复杂程度与输出精度进行综合考虑,将其映射到高维的隐空间中,并从隐空间中采样,重建特征向量,根据重建结果与原特征向量的差别调整熵编码器。在使用过程中,则只保留熵编码器,根据输入特征,计算含熵隐变量,通过一个非线性函数的映射后,计算出环境熵或者网络熵。
在本实施例中,如图4所示,为主体网络的结构变化过程示意图。在主体网络中,对每个节点进行建模。规定节点的决策空间与成本函数,在熵平衡的驱动下,网络节点与成本函数变化,改变网络的消长策略,从而改变网络结构,实现随时空变化的自适应。同时,对决策成本与网络精度的综合考量,将使得网络在保持准确度的同时高效运行,对不同复杂程度的输入随时改变自己的网络结构。
从上述的描述可以看出,本申请能够通过对环境熵与网络熵的定量表达,得到网络驱动因子,促使网络结构的变化。同时将网络的成本,精度以及输出作为反馈信息,进一步帮助网络调整结构。实现数据闭环,从而实现稳定有效的自学习。本申请所提出的基于博弈论框架构建的神经网络模型终身学习方法相较于传统的学习方法,可以在数据集发生模态与时间变化的情况下持续学习,具有较强的实际应用前景。
为了方便本领域技术人员更加清楚地了解本申请,下面将结合图2至图4进行详细介绍。举例而言,本申请提出的基于博弈论框架构建的神经网络模型终身学习方法,其具体实施方式如下:
(1)提取图像特征
为了更好地描述图像信息量,需要将输入图像转化为向量的形式,即进行特征提取。对此,利用已有的图像特征提取工具对图像抽取一种或多种特征向量,并拼合为一个整体向量x=(x
(2)计算特征向量的信息熵与神经网络的网络熵
如图2所示,在得到特征向量后,将特征向量x=(x
H
其中f()是一个神经网络,只需要采用简单的多层感知机(MultilayerPerceptron,MLP),就可以将特征向量输入直接映射到高维空间中,得到环境熵H
对主体网络计算网络熵,可以将主体网络看作一个图G=(V,E)。节点集合V={v
H
上式中H
(3)熵计算网络的设计
本申请需要计算熵的差值,因此需要将两种熵映射到相同的空间,使其具有相同的物理意义,所以需要为两种熵分别设计熵计算网络f()与g()。
熵计算网络本质上是一个自动编码器。自动编码器(autoencoder)是神经网络的一种,该网络可以看作由两部分组成:一个编码器函数和一个生成重构的解码器。传统上,自动编码器被用于降维或特征学习,与一般的自动编码器不同,本申请利用的是编码部分。
环境熵计算网络学习过程如下:
其中,f
minL
即生成的特征与输入特征尽可能接近,说明隐变量z
网络熵计算网络学习过程如下:
其中,g
minL
生成网络熵时,则只需要经过编码网络与一个非线性映射:
这两种网络都是自动编码器,可以将特征编码到高维空间,而与一般的自动编码器不同的是,本申请在时间应用中会保留编码部分,获取高维含有熵含义的隐变量。经过熵计算网络后的信息熵(即环境熵)与网络熵具有了相同的物理意义,所以可以进行相减,用以驱动网络结构的变化。
Q=-λ(H
其中,Q是熵平衡驱动因子,代表了环境与网络之间的信息差,λ是比例系数。
(4)网络节点的博弈论建模
在图论表示下,对网络节点进行建模,V={v
S
全体节点的策略集合为:
达到博弈均衡时,任意的一个特定决策s'
(5)博弈论框架下的成本函数
为了更好地进行描述博弈论框架下,网络节点采取策略后整个网络的效果,需要根据策略选择进行网络成本U
权重矩阵M
(6)损失函数的建立
本申请着眼于网络结构的调整问题,这是一个动态的过程,所以只在特定的时间t下计算损失函数才具有意义。在该问题下,本申请需要计算出整个网络的成本,也就是:
上式意味着每个节点在采取策略后的节点成本之和,也就是网络的总成本。而在具体的任务中,本申请也关心网络的精度,即:
L
其中X
综上,本申请得到的优化目标如下:
其中,λ
(7)熵平衡驱动因子的引入
在上一步中得出了整体的目标函数,这一步将会对熵驱动因子作详细的介绍。为了便于显式表现Q
M
其中,f
(Θ
节点i与节点j的连接强度写作分量形式即为下式,其中f
Θ
其中,
其中,γ
网络节点的策略集合S
S
展开为分量形式,即为:
(s
节点i与节点j的连接策略写作分量形式即为下式,其中g
其中,为了保证
所以g
(8)持续学习的实现
上面的步骤通过将上一时刻的输出,网络成本当作输入,构建反馈系统一同输入网络,得到一个随时间变化的结构闭环。需要对以上步骤进行不断重复,这个网络可以在闭环下持续工作,并且伴随时间不断调整网络的结构,实现持续学习。
根据本申请实施例的技术方案,通过对环境熵与网络熵的定量表达,得到网络驱动因子,促使网络结构的变化,实现网络的持续学习,在环境发生空间以及时间上的变化时,保持有效,可迁移以及持续演化。同时将网络的成本,精度以及输出作为反馈信息,进一步帮助网络调整结构,实现数据闭环,实现网络随着时间演化的可持续学习,从而实现稳定有效的自学习。由此,本申请可以在数据集发生模态与时间变化的情况下持续学习,具有较强的实际应用前景。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
机译: 信号提取系统,语音恢复系统和方法,神经网络模型的学习方法,神经网络模型的构建方法和信号处理系统
机译: 基于人工神经网络模型的存储设备推断阅读水平及人工神经网络模型的学习方法
机译: 基于人工神经网络模型的存储设备推断阅读水平及人工神经网络模型的学习方法