法律状态公告日
法律状态信息
法律状态
2019-11-12
未缴年费专利权终止 IPC(主分类):G06N3/02 授权公告日:20160113 终止日期:20181121 申请日:20131121
专利权的终止
2016-01-13
授权
授权
2014-04-16
实质审查的生效 IPC(主分类):G06N3/02 申请日:20131121
实质审查的生效
2014-03-19
公开
公开
技术领域
本发明属于神经网络技术领域,特别是涉及一种能量可控的连续Hopfield神经网络及优化求解方法。
背景技术
自从连续Hopfield神经网络问世以来,在求解优化问题、联想记忆、模式辨识以及图像处理等领域已经得到了广泛的应用。特别是在优化领域,连续Hopfield神经网络更是大显身手。但是,现有连续Hopfield神经网络和其相关的改进神经网络都是根据网络自身的神经元的运算来进行优化求解的。当网络的参数设定好,并将问题映射到网络能量函数后,网络只能靠自身的迭代搜索能量函数最优解,即为优化问题的最优解,但是,由于网络参数的设定没有针对性,所以使搜索比较盲目,效率较低;因此,能通过控制其网络的能量,改变能量函数值,从而能根据不同优化问题的特性,按照预定设计好的搜索方向或路径进行优化问题求解,将是对连续Hopfield网络的一个突破性的改进,必将提高其优化求解能力,具有十分重要的理论价值和现实意义。
发明内容
为了解决上述问题,本发明的目的在于提供一种能量可控的连续Hopfield神经网络及优化求解方法。
为了达到上述目的,本发明提供的能量可控的连续Hopfield神经网络包括:多个神经元、连接权值、控制器和神经元输出;多个神经元包括神经元S1…Sn;多个连接权值包括连接权值W11…W1n、W21…W2n…Wn1…Wnn;多个控制器包括控制器u1… un;多个神经元输出包括多个神经元输出x1…xn;其中:控制器u1…un为神经元的控制输入,其分别与神经元S1…Sn相连接;神经元输出x1…xn为神经元S1…Sn的输出信号,其分别与神经元S1…Sn相连接;每个神经元具有n个输入端,神经元S1的n个输入端分别与连接权值W11…W1n相连接,以此类推,神经元Sn的n个输入端分别与连接权值Wn1…Wnn相连接;连接权值W11的输入端分别与连接权值W21…Wn1的输入端相连接、同时还与神经元S1的神经元输出x1相连接;以此类推,连接权值W1n的输入端分别与连接权值W2n…Wnn的输入端相连接,同时还与神经元Sn的神经元输出xn相连接。
所述的神经元由累加器∑、连续且单调递增的神经元激活函数ψ以及电阻和电容来实现,或者由功能类似的函数或硬件来实现,神经网络的动态方程为:
>
其中:xi,i=1,2,L,n,是第i个神经元的输出;yi,i=1,2,L,n,是第i个神经元内部状态;Wij,i,j=1,2,L,n,是第i个神经元与第j个神经元的连接权值;ui是外部输入的控制量;k,α,β,ε为常数;
此神经网络的能量函数为:
所述的神经元内部状态的起始值为在[-1,1]连续范围内的随机数。
当所述的连接权值用矩阵表示时,该矩阵应为对称矩阵;所述连接权值或者是正或者是负。
本发明提供的能量可控的连续Hopfield神经网络的优化求解方法包括按顺序进行的下列步骤:
步骤一、建立能量函数的S01阶段:为所求解的优化问题建立一个能量函数E;
步骤二、设置参数初始值的S02阶段:设置yi的起始值为[-1,1]的连续范围内的随机数;设置k,α,β,ε值为任意实数;
步骤三、制定控制定律的S03阶段:根据优化问题的特性,设置ui的控制规律;
步骤四、设置最大迭代步数的S04阶段:根据具体情况设定最大迭代步数;
步骤五、计算所有神经元输出的初始值的S05阶段:根据初始的内部状态yi和ui,计算所有神经网络神经元输出的初始值xi;
步骤六、根据串行工作方式,更新神经元内部状态和输出的S06阶段:以串行工作方式,根据神经网络的动态方程和当前的xi和yi,更新神经网络的所有神经元内部状态yi和神经元输出xi,完成一次神经网络的迭代;
步骤七、计算优化目标函数结果的S07阶段:根据神经网络神经元的输出计算能量函数的结果;
步骤八、判断是否优于上一次结果的S08阶段:检查此计算结果是否比上一次的计算结果好,如判断结果为“是”,则进入下一步S09阶段,否则下一步进入S10阶段;
步骤九、保留此结果的S09阶段:保存此次计算的结果,然后 进入下一步S11阶段;
步骤十、放弃此结果的S10阶段,放弃此次计算的结果,然后进入下一步S11阶段;
步骤十一、判断是否达到最大迭代步数的S11阶段:判断是否达到设置的最大迭代步数,如果判断结果为“是”,则进入下一步S13阶段,否则下一步进入S12阶段;
步骤十二、更新控制量的S12阶段:根据ui的变换规则,更新ui的值,然后下一步重新进入S06阶段;
步骤十三、输出最终结果的S13阶段:输出S09阶段所保存的计算结果,结束迭代,求得能量函数的最优值,也就是要求解的优化问题的最优值;本流程至此结束。
在S01阶段中,所述的建立能量函数的方法为:首先为所求解的优化问题建立一个能量函数E,并将此能量函数映射到所述的能量可控的连续Hopfield神经网络中,映射后的神经网络动态方程为:
>
在S03阶段中,所述的设置ui的控制规律采用如下的控制量设计方法:
(1)先设计控制量控制此神经网络能量上升到最大值,然后控制此神经网络能量慢慢下降,搜索最优解;如果得到的结果满意,则停止,否则控制此神经网络能量再次上升到最大值,改变控制量的大小并满足网络能量下降的条件,以不同的下降速度控制此神经网络能量下降,重新搜索最优解;重复上述过程n次,从中找到较 好的解作为最终的结论;
(2)当所设计控制量使此神经网络陷入局部最小或不合理解,通过设计控制量控制此神经网络能量增加逃离局部最小或不合理解,然后重新设定控制量的大小,并控制此神经网络保持下降条件,改变下降的方向和幅度,从而改变此神经网络搜索的路径,进行优化求解。
本发明提供的能量可控的连续Hopfield神经网络可以用软件或硬件实现;针对不同特性的优化问题,设置不同控制量ui,使得网络有针对性地求解优化问题,提高求解效率和准确性。还可通过设置不同的控制量ui控制网络按照指定的搜索路径搜索优化问题的解。
附图说明
图1为本发明提供的能量可控的连续Hopfield神经网络示意图。
图2为本发明提供的能量可控的连续Hopfield神经网络的优化求解方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明提供的能量可控的连续Hopfield神经网络及优化求解方法进行详细说明。
如图1所示,本发明提供的能量可控的连续Hopfield神经网络包括:多个神经元1、连接权值2、控制器3和神经元输出4;多个神经元1包括神经元S1…Sn;多个连接权值2包括连接权值W11…W1n、W21…W2n…Wn1…Wnn;多个控制器3包括控制器u1…un;多个神经元输出4包括多个神经元输出x1…xn;其中:控制器u1…un为神经元的控制输入,其分别与神经元S1…Sn相连接;神经元输 出x1…xn为神经元S1…Sn的输出信号,其分别与神经元S1…Sn相连接;每个神经元具有n个输入端,神经元S1的n个输入端分别与连接权值W11…W1n相连接,以此类推,神经元Sn的n个输入端分别与连接权值Wn1…Wnn相连接;连接权值W11的输入端分别与连接权值W21…Wn1的输入端相连接、同时还与神经元S1的神经元输出x1相连接;以此类推,连接权值W1n的输入端分别与连接权值W2n…Wnn的输入端相连接,同时还与神经元Sn的神经元输出xn相连接;
所述的神经元1由累加器∑、连续且单调递增的神经元激活函数ψ以及电阻和电容来实现,或者由功能类似的函数或硬件来实现,神经网络的动态方程为:
>
其中:xi,i=1,2,L,n,是第i个神经元的输出;yi,i=1,2,L,n,是第i个神经元内部状态;Wij,i,j=1,2,L,n,是第i个神经元与第j个神经元的连接权值;ui是外部输入的控制量;k,α,β,ε为常数;
当设n=2,k=α=1,ε=1/250,W11=W22=1,W12=W21=1.5时,建立的神经网络为
>
即
>
此神经网络的能量函数为:
所述的神经元1内部状态的起始值为在[-1,1]连续范围内的随机数。
当所述的连接权值2用矩阵表示时,该矩阵应为对称矩阵。
所述连接权值或者是正或者是负。
能量可控的连续Hopfield神经网络使用串行工作方式,即在某一时刻只有一个神经元1按照神经网络动态方程改变状态,而其它神经元的输出不变;这一变化的神经元按照随机的方式,或者按照预定的顺序来选择;当所有的神经元状态都更新一次称为迭代一次。
能量可控的连续Hopfield神经网络控制规律为:对于能量可控的连续Hopfield神经网络,若ψ-1为单调递增且连续可导,wij=wji,网络以异步迭代方式运行。则有下面的结论:
(1)当控制量ui<0时
如果
如果
(2)当控制量ui>0时
如果
如果
(3)当且仅当
所述的外部所加的控制量根据一定的控制规律,可控制神经网络的能量上升、下降或不变。
所述的神经网络能够硬件实现,也能软件实现。当用软件实现此神经网络时,所求解优化问题的优化目标函数变量设置为神经网络的神经元输出xi,优化问题有几个变量就设置几个神经网络神经元的输出xi,此优化目标函数就是要映射到神经网络的能量函数E。当用硬件实现时,要根据优化问题设置连接权值和神经元内部硬件参数。
如图2所示,本发明提供的能量可控的连续Hopfield神经网络的优化求解方法包括按顺序进行的下列步骤:
步骤一、建立能量函数的S01阶段:为所求解的优化问题建立一个能量函数E;
步骤二、设置参数初始值的S02阶段:设置yi的起始值为[-1,1]的连续范围内的随机数;设置k,α,β,ε值为任意实数;
步骤三、制定控制定律的S03阶段:根据优化问题的特性,设置ui的控制规律;
步骤四、设置最大迭代步数的S04阶段:根据具体情况设定最大迭代步数;
步骤五、计算所有神经元输出的初始值的S05阶段:根据初始的内部状态yi和ui,计算所有神经网络神经元输出的初始值xi;
步骤六、根据串行工作方式,更新神经元内部状态和输出的S06阶段:以串行工作方式,根据神经网络的动态方程和当前的xi和yi,更新神经网络的所有神经元内部状态yi和神经元输出xi,完成一次神经网络的迭代;
步骤七、计算优化目标函数结果的S07阶段:根据神经网络神经元的输出计算能量函数的结果;
步骤八、判断是否优于上一次结果的S08阶段:检查此计算结果是否是比上一次的计算结果好,如判断结果为“是”,则进入下一步S09阶段,否则下一步进入S10阶段;
步骤九、保留此结果的S09阶段:保存此次计算的结果,然后进入下一步S11阶段;
步骤十、放弃此结果的S10阶段,放弃此次计算的结果,然后进入下一步S11阶段;
步骤十一、判断是否达到最大迭代步数的S11阶段:判断是否 达到设置的最大迭代步数,如果判断结果为“是”,则进入下一步S13阶段,否则下一步进入S12阶段;
步骤十二、更新控制量的S12阶段:根据ui的变换规则,更新ui的值,然后下一步重新进入S06阶段;
步骤十三、输出最终结果的S13阶段:输出S09阶段所保存的计算结果,结束迭代,求得能量函数的最优值,也就是要求解的优化问题的最优值;本流程至此结束。
在S01阶段中,所述的建立能量函数的方法为:首先为所求解的优化问题建立一个能量函数E,并将此能量函数映射到所述的能量可控的连续Hopfield神经网络中,映射后的神经网络动态方程为:
>
在S03阶段中,所述的设置ui的控制规律采用如下的控制量设计方法:
(1)先设计控制量控制此神经网络能量上升到最大值,然后控制此神经网络能量慢慢下降,搜索最优解。如果得到的结果满意,则停止,否则控制此神经网络能量再次上升到最大值,改变控制量的大小并满足网络能量下降的条件,以不同的下降速度控制此神经网络能量下降,重新搜索最优解。重复上述过程n次,从中找到较好的解作为最终的结论;
(2)当所设计控制量使此神经网络陷入局部最小或不合理解,可以通过设计控制量,控制此神经网络能量增加逃离局部最小或不 合理解。然后,重新设定控制量的大小,并控制此神经网络保持下降条件,改变下降的方向和幅度,从而改变此神经网络搜索的路径,进行优化求解;
(3)当此神经网络搜索最优解的过程中,控制量的作用随着搜索过程不断减弱或撤销;
(4)针对不同的优化问题特性,设计控制量ui控制网络按照指定的搜索路径搜索优化问题的解。
机译: 自动和可控地将镇流器应用于浮波能量转换,装置和优化能量捕获的方法
机译: 自动和可控地将镇流器应用于浮波能量转换,装置和优化能量捕获的方法
机译: 在消除燃烧装置连续燃烧的过程中,通过反应优化能量和在反应情况下产生能量的方法和设备