一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

优化设备、非暂态计算机可读存储介质和优化方法与流程

2021-11-26 21:12:00 来源:中国专利 TAG:


1.本文讨论的实施方式涉及优化设备、存储优化程序的非暂态计算机可读存储介质和优化方法。


背景技术:

2.当今社会的各个领域中都在执行信息处理。这样的信息处理由运算设备例如计算机来执行,运算设备对各种类型的数据执行运算和重组,并且获得有意义的结果来执行预测、确定、控制等。优化处理是这种信息处理的一种方法,并且已经成为重要的领域。
3.优化处理的一种方法是求解离散优化问题。在大规模多变量离散优化问题中,组合的数量爆炸性地增加,并且在穷尽地执行计算以算出所有组合的技术中,计算时间有时不落在现实范围内。
4.作为用于求解这样的大规模多变量离散优化问题的方法,例如,存在使用伊辛型能量函数的模拟退火(sa)。在这种sa中,通过用伊辛模型代替要计算的问题来执行计算,伊辛模型是表示磁性材料自旋行为的模型。
5.在离散优化问题中,重要的是搜索最优解,因为存在大量不是最优解但是在局部邻域取最小值的称为局部解的状态。至于对最优解的搜索,已知其中使用特定状态的复制(副本)来针对每个副本独立地搜索解的副本交换方法(下文称为副本方法)。


技术实现要素:

6.[技术问题]
[0007]
然而,在以上提到的现有技术的副本方法中,每一个副本以规则的间隔计算相互作用项,使得相互作用项在一个副本与其他副本中的每个副本更相似的情况下变得更大,以及相互作用项在一个副本与其他副本中的每个副本不太相似的情况下变得更小。因此,存在搜索最优解的速度变得更慢的缺点,因为为了计算相互作用项,每个副本完全参考所有其他副本。
[0008]
一方面,旨在提供使得能够以较高的速度获得最优解的优化设备、优化程序和优化方法。
[0009]
[问题的解决方案]
[0010]
根据实施方式的方面,提供了一种由被配置成使用副本交换方法来搜索解的计算机实现的优化方法。在示例中,优化方法包括:基于多个副本中的各个副本在预定的时间处的第一状态来生成要被多个副本中的每个副本参考的参考位;使多个副本中的每个副本参考所生成的参考位;以及指定在晚于所述时间的时间处的第二状态。
[0011]
[发明的有益效果]
[0012]
可以以较高的速度获得最优解。
附图说明
[0013]
图1是示出根据实施方式的信息处理设备的示例性功能配置的框图;
[0014]
图2是示出根据实施方式的信息处理设备的功能配置的变型的框图;
[0015]
图3是示出根据实施方式的信息处理设备的示例性操作的流程图;
[0016]
图4是示出马尔可夫链蒙特卡罗方法(mcmc)的示例性处理的流程图;
[0017]
图5是示出执行常规副本方法的信息处理设备的示例性功能配置的框图;
[0018]
图6是说明铁磁模型中的比较示例的说明图;以及
[0019]
图7是示出计算机配置的示例的框图。
具体实施方式
[0020]
在下文中,将参照附图描述根据实施方式的优化设备、优化程序和优化方法。在实施方式中具有相同功能的配置由相同的附图标记表示,并且将省略多余的描述。注意,要在以下实施方式中描述的优化设备、优化程序和优化方法仅仅是示例,并且不限制实施方式。另外,下面的实施方式中的每个实施方式只要不相互矛盾可以被适当地组合。
[0021]
图1是示出根据实施方式的信息处理设备的示例性功能配置的框图。如图1所示,信息处理设备1包括控制单元10、多个副本(在示出的示例中为20a、20b和20c)和参考位生成单元30,并且是使用特定状态(取决于不同温度参数的自旋位串)的复制(副本)来针对每个副本独立地搜索解的优化设备的示例。例如,个人计算机(pc)等可以应用为信息处理设备1。
[0022]
注意,在示出的示例中,副本的数量是三个,但是副本的数量不限于三个。此外,本实施方式将采用使用伊辛型能量函数的模拟退火(sa)作为副本方法的应用目标的情况作为示例,但是副本方法的应用目标可以是随机梯度下降(sgd)或置信传播(bp)。
[0023]
副本20a、20b和20c包括执行马尔可夫链蒙特卡罗方法(mcmc)的mcmc单元21a、21b和21c。
[0024]
mcmc单元21a、21b和21c基于例如metropolis准则使用指示每个副本的当前状态的自旋位串(s
a
)、参考位(s
r
)和哈密顿量h(s)来执行mcmc。作为结果,mcmc单元21a、21b和21c通过随时间演化各个副本的状态来算出指示稍后时间处的状态的自旋位串(s1、s2、s3)。注意,在下面的描述中,“指示状态的自旋位串”被简称为“状态”。
[0025]
参考位生成单元30是基于各个副本(20a、20b、20c)在预定的时间处的状态(s1、s2、s3)生成(计算)要被每个副本参考的参考位(s
r
)的处理单元。例如,参考位生成单元30是生成单元的示例。
[0026]
例如,参考位生成单元30针对各个副本(20a、20b、20c)的状态(s1、s2、s3)的位串中的每个位进行多数投票(majority vote)(将0赋予其大部分为0的位,以及将1赋予其大部分为1的位),以生成参考位(s
r
)。
[0027]
此外,参考位生成单元30可以采用在所有副本当中具有最小能量的副本的状态(minimun_spin)作为参考位(s
r
),而不是针对每个位的多数投票。例如,参考位生成单元30采用各个副本(20a、20b、20c)的状态(s1、s2、s3)当中具有最小能量的副本的状态(minimun_spin)作为参考位(s
r
)。
[0028]
注意,在状态(s)中,在某些情况下施加2向1热约束(2

way
‑1‑
hot constraint)。2
向1热约束是其中在二维阵列的行和列中仅一个元素为1(元素的大多数为0)的约束。
[0029]
例如,s取数值0和1,而不是 1和

1。在由于混淆而将其表示为x的情况下,x
i
=(1 s
i
)/2的关系成立。
[0030]
当施加2向1热约束时,在参考位是基于多数投票生成的情况下,所有参考位都将为0。
[0031]
在施加2向1热约束的这样的情况下,参考位生成单元30可以针对每个位对所有副本执行相加,而不是针对每个位进行多数投票,这意指采用通过将直方图作为参考位(s
r
)获得的值。
[0032]
控制单元10例如对应于电子电路诸如中央处理单元(cpu),并且控制信息处理设备1的操作。例如,控制单元10包括用于存储定义各种处理过程的程序和控制数据的内部存储器,并且当使用副本方法搜索解时,使用程序和控制数据来执行各种类型的处理。
[0033]
例如,控制单元10使副本(20a、20b、20c)中的每个副本参考由参考位生成单元30生成的参考位(s
r
),并且执行mcmc。作为结果,控制单元10通过随时间演变每个副本的状态来获得针对副本(20a、20b、20c)中的每个副本的在下一时间处的状态。以这种方式,信息处理设备1通过随时间演变每个副本的状态来搜索能量取最小值的状态(最优解)。
[0034]
图2是示出根据实施方式的信息处理设备的功能配置的变型的框图。如图2所示,根据该变型的信息处理设备1a与信息处理设备1的不同之处在于,信息处理设备1a包括mcmc单元40。
[0035]
mcmc单元40利用不考虑相互作用(在没有相互作用的情况下)的哈密顿量h0(s)在预定数量的步骤中对由参考位生成单元30生成的参考位(s0
r
)执行mcmc。控制单元10采用由mcmc单元40尝试mcmc而获得的状态作为最终参考位(s
r
),并且使副本(20a、20b、20c)的每个副本参考最终参考位。注意,mcmc单元40尝试mcmc的步骤的数量可以由用户等自由设置。
[0036]
图3是示出根据实施方式的信息处理设备的示例性操作的流程图。如图3所示,当处理开始时,控制单元10设置每个副本的状态(s1、s2、s3)、哈密顿量h(s)、要最小化的成本e(s)、以及不考虑相互作用的哈密顿量h0(s)。成本e(s)是希望通过优化(要针对其算出最优解)被最小化的公式。这些设置是基于例如用户输入的初始设置值等进行的。
[0037]
随后,控制单元10通过重复s2至s5中的处理来搜索最优解,以随时间演变每个副本的状态。注意,s2至s5中的处理表示包括mcmc单元40的信息处理设备1a的操作示例,并且在信息处理设备1的情况下,跳过在s3中由mcmc单元40执行的处理并且将s0
r
读取为s
r
就足够了
[0038]
在s1之后,参考位生成单元30通过针对每个位进行多数投票来生成参考位(s0
r
),例如,如以下公式(1)所示的方式(s2)。注意,公式(1)中的j表示位数。
[0039][0040]
随后,mcmc单元40使用所生成的参考位(s0
r
)在预定步骤中利用没有相互作用的哈密顿量h0(s)来执行mcmc。注意,h0(s)=e(s)成立。作为结果,控制单元10在已经尝试mcmc之后获得最终参考位(s
r
)(s3)。
[0041]
随后,相关副本的mcmc单元21a、21b和21c使用状态(s
r
)利用在包含相互作用(γ)的以下公式(2)中的哈密顿量h(s)来执行mcmc,并且获得在特定时间处的状态(s)(s4)。
[0042][0043]
在公式(2)中,γ可以是固定的,或者可以是随时间逐渐加强或减弱的。此外,i表示参考与副本之间的距离的增加或减少函数。例如,在每个副本搜索参考的周围有效(变得更容易获得最优解)的情况下,i由下面的公式(3)给出。注意,在通过避免搜索参考的附近而获得最优解变得更容易的情况下,i被给出为在公式(3)中γ之前的负变为正的公式。
[0044][0045]
随后,控制单元10确定是否结束重复处理(s5)。例如,当处理已经重复了预定数量的步骤时,或者当已经获得e(s)的最小值时,控制单元10确定要结束处理。当继续重复处理时(s5:否),控制单元10将处理返回到s2。此外,当要结束重复处理时(s5:是),在假设已经获得最优解的情况下,控制单元10结束处理。
[0046]
图4是示出mcmc的示例性处理的流程图。如图4所示,一旦开始以上提到的与s4相关的处理,mcmc单元21a、21b和21c设置位状态(s)、位数(n)、哈密顿量h(s)和逆温度(β)(s10)。
[0047]
随后,mcmc单元21a、21b和21c利用随机数初始化状态(s)(s11)。注意,mcmc单元21a、21b和21c将h(s)设置为针对能量和最小能量的初始值。例如,e=h(s)被赋予能量(e),以及emin=e被赋予e的最小值(emin)。此外,minimun_spin=s被赋予emin自旋(minimun_spin)。
[0048]
随后,mcmc单元21a、21b和21c将s的任何一个位翻转一个位以获得s'(s12)。要翻转的位利用随机数等设置。
[0049]
随后,mcmc单元21a、21b和21c计算h(s'),并且算出s'的能量(e')(s13)。
[0050]
此后,mcmc单元21a、21b和21c在e'<e成立的情况下采用s',并且赋予e=e'和s=s'。即使在e'<e不成立的情况下,mcmc单元21a、21b和21c也随机采用s'(s14)。
[0051]
例如,mcmc单元21a、21b和21c生成在区段0≤rand≤1中的均匀随机数(rand),并且在rand>exp((e

e')
×
β)成立的情况下赋予e=e'和s=s'。
[0052]
随后,mcmc单元21a、21b和21c记录给出最小能量的状态。例如,在e<emin成立的情况下,mcmc单元21a、21b和21c赋予emin=e和minimun_spin=s(s15)。
[0053]
随后,mcmc单元21a、21b和21c确定是否满足结束条件(s16)。例如,mcmc单元21a、21b和21c假设当进行循环达预定数量的步骤时或当emin取最小值时满足结束条件。此外,当所有位在一个步骤中翻转时,结束条件可以通过是否进行循环达由步骤的数量
×
位数而获得的次数来规定。
[0054]
当满足结束条件时(s16:是),mcmc单元21a、21b和21c结束处理。当不满足结束条件时(s16:否),mcmc单元21a、21b和21c将处理返回到s12。
[0055]
如上所述,使用副本交换方法搜索解的信息处理设备1包括各自搜索解的多个副本20a、20b和20c、参考位生成单元30和控制单元10。参考位生成单元30基于多个副本20a、20b和20c的各个副本在预定的时间处的第一状态来生成要被多个副本20a、20b和20c中的
每个副本参考的参考位(s
r
)。控制单元10使多个副本20a、20b和20c中的每个副本参考所生成的参考位(s
r
),并且获得在比预定的时间晚的时间处的状态。
[0056]
因此,由于信息处理设备1具有其中每个副本参考该参考位(s
r
)的配置,因此每个副本不像常规的副本方法那样为了计算相互作用项而完全参考所有其他副本,并且可以以较高的速度获得最优解。
[0057]
图5是示出执行常规副本方法的信息处理设备的示例性功能配置的框图。如图5所示,在执行常规副本方法的信息处理设备100中,副本120a、120b和120c包括mcmc单元121a、121b和121c,以及分别完全参考所有其他副本来计算(生成)相互作用项的相互作用项生成单元122a、122b和122c。
[0058]
相互作用项生成单元122a、122b和122c以规则的间隔(例如,每一个蒙特卡罗步骤)计算相互作用项(k1、k2、k3),使得相互作用项在除了其自身的副本之外的副本彼此更相似的情况下变得更大,以及相互作用项在除了其自身的副本之外的副本彼此更不相似的情况下变得更小。此外,相互作用项生成单元122a、122b和122c将其自身的副本(s1、s2、s3)的位乘以k,使得在整体位与其自身的副本彼此相似的情况下,值变得甚至更大,并且从能量函数中减去所获得的值。
[0059]
在上述相互作用项生成单元122a、122b和122c的操作中,在信息处理设备100中,在各个副本的状态(s1、s2、s3)相似的情况下,能量变得更小并且更容易被接受。出于该原因,在信息处理设备100中,随着时间的推移,副本的状态变得彼此更加相似。在这种情况下,针对位状态s∈{

1, 1}的哈密顿量h(s)由下面的公式(4)给出。
[0060][0061]
此处,β表示逆温度,j表示被赋予该位的数,以及n表示位数。此外,k
j
如以下公式(5)所指示。
[0062][0063]
此处,γ表示相互作用的强度。在信息处理设备100中,采用在相关副本(例如,20a、20b、20c)当中已经获得最小解或者已经以较高速度获得解的结果。
[0064]
在这样的信息处理设备100中,当假设副本的数量为n时,由于为了计算相互作用项而完全参考了所有其他副本,因此参考的数量被给出为n2 (n

1)
×
n。另一方面,在本实施方式中,参考的数量(对应于图1和图2中由s1、s2、s3和s
r
表示的箭头的数量)被减少到2n。
[0065]
图6是说明铁磁模型中的比较示例的说明图。在图6中的比较示例e1中,关于搜索铁磁模型(ft)中的最优解(能量的最小值)来比较没有相互作用的情况、常规副本方法的情况以及本示例的情况。
[0066]
注意,铁磁模型(ft)中的哈密顿量h(s)如下面的公式(6)所指示。
[0067]
假设j
0coef
为0.001。此外,当搜索最优解时,副本的数量被假设为五。
[0068][0069]
如图6所示,在本示例中,与通过常规副本方法执行对最优解的搜索的情况相比,达到最优解的步骤的数量显著减少。例如,在本示例中,可以通过创建参考位来降低参考的负荷,并且可以以较高的速度获得最优解。
[0070]
此外,参考位生成单元30基于针对指示副本20a、20b和20c中的每一个的状态的每个位的多数投票来生成参考位(s
r
)。作为结果,信息处理设备1可以通过各个副本20a、20b和20c的状态通过多数投票来搜索解。
[0071]
另外,参考位生成单元30基于各个副本20a、20b和20c的状态当中具有最小能量的副本的状态来生成参考位(s
r
)。作为结果,信息处理设备1可以在使用副本交换方法搜索解时以较高的速度搜索其中能量被最小化的状态(最小解)。
[0072]
另外,参考位生成单元30基于通过针对每个位将指示各个副本20a、20b和20c的状态的位相加而获得的直方图来生成参考位(s
r
)。例如,当对状态(s)施加2向1热约束时,在二维队列的行和列中仅一个元素为1,并且大多数元素为0。因此,当基于多数投票生成参考位时,所有参考位都将为0。另一方面,通过基于直方图来生成参考位,可以抑制参考位下降为0。
[0073]
另外,关于所生成的参考位(s0
r
),在mcmc单元40已经利用没有相互作用的哈密顿量在预定数量的步骤中尝试了蒙特卡罗方法之后,控制单元10使副本20a、20b、20c中的每一个副本都参考该参考位(s
r
)。即使当以这种方式对解进行搜索时,也可以降低参考的负荷,因为没有以位为单位完全参考所有其他副本。
[0074]
注意,每个所示设备的部件不必如附图所示那样进行物理配置。换句话说,装置和设备中的每一个的分离和集成的具体方面不限于所示的方面,并且装置或设备中的全部或一些可以根据各种负荷、使用状态等在功能上或物理上分离并集成在任何单元中。
[0075]
另外,利用信息处理设备1执行的各种处理功能可以全部或可选地部分在中央处理单元(cpu)(或微型计算机诸如微处理器单元(mpu)或微控制器单元(mcu))上执行。此外,不用说,各种处理功能的全部或任何部分可以通过要在cpu(或微型计算机诸如mpu或mcu)上或者通过有线逻辑在硬件上分析和执行的程序来执行。另外,利用信息处理设备1执行的各种处理功能可以通过云计算由多个计算机协同执行。
[0076]
同时,上述实施方式中描述的各种处理可以通过在计算机上执行准备的程序来实现。因此,下面将描述执行具有类似于以上实施方式的功能的程序的计算机(硬件)的示例。图7是示出计算机配置的示例的框图。
[0077]
如图7所示,计算机200包括执行各种运算处理的cpu 201、接收数据输入的输入设备202、监测器203和扬声器204。另外,计算机200包括从存储介质读取程序等的介质读取设备205、用于连接至各种设备的接口设备206、以及以有线方式或无线方式与外部设备进行通信连接的通信设备207。此外,计算机200包括临时存储各种信息的随机存取存储器(ram)208和硬盘设备209。此外,计算机200中的每个部分(201至209)连接至总线210。
[0078]
硬盘设备209存储程序211,该程序211用于执行上述实施方式中描述的控制单元10、副本20a、20b和20c、参考位生成单元30、mcmc单元40等的各种处理。此外,硬盘设备209
存储程序211参考的各种数据212。输入设备202接收例如来自操作者的操作信息的输入。监测器203显示例如由操作者操作的各种画面。接口设备206连接至例如打印设备等。通信设备207连接至通信网络诸如局域网(lan),并且经由通信网络与外部设备交换各种信息。
[0079]
cpu 201读出存储在硬盘设备209中的程序211,并且将读出的程序211扩展到ram 208中以执行,从而执行与控制单元10、副本20a、20b和20c、参考位生成单元30、mcmc单元40等相关的各种处理。注意,程序211可以不预先存储在硬盘设备209中。例如,计算机200可以读出存储在计算机200可读的存储介质中的程序211,并且可以执行程序211。计算机200可读的存储介质对应于例如便携式记录介质诸如致密盘只读存储器(cd

rom)、数字多功能盘(dvd)或通用串行总线(usb)存储器、半导体存储器诸如闪存、硬盘驱动器等。可替选地,程序211可以预先存储在连接至公共线路、因特网、lan等的设备中,并且计算机200可以从该设备读出程序211以执行程序211。
[0080]
[附图标记列表]
[0081]
1、1a、100
ꢀꢀ
信息处理设备
[0082]
10
ꢀꢀ
控制单元
[0083]
20a至20c、120a至120c
ꢀꢀ
副本
[0084]
21a至20c、121a至121c
ꢀꢀ
mcmc单元
[0085]
30
ꢀꢀ
参考位生成单元
[0086]
40
ꢀꢀ
mcmc单元
[0087]
122a至122c
ꢀꢀ
相互作用项生成单元
[0088]
e1
ꢀꢀ
比较示例
[0089]
200
ꢀꢀ
计算机
[0090]
201
ꢀꢀ
cpu
[0091]
202
ꢀꢀ
输入设备
[0092]
203
ꢀꢀ
监测器
[0093]
204
ꢀꢀ
扬声器
[0094]
205
ꢀꢀ
介质读取设备
[0095]
206
ꢀꢀ
接口设备
[0096]
207
ꢀꢀ
通信设备
[0097]
208
ꢀꢀ
ram
[0098]
209
ꢀꢀ
硬盘设备
[0099]
210 总线
[0100]
211 程序
[0101]
212
ꢀꢀ
各种数据
[0102]
[引用列表]
[0103]“unreasonable effectiveness of learning neural networks:from accessible states and robust ensembles to basic algorithmic schemes”,baldassi,carlo.等,arxiv:1605.06444v3/pnas e7655

e7662,在线公布2016年11月15日。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献