CN111611126A - 采样设备和用于控制采样设备的方法 - Google Patents
采样设备和用于控制采样设备的方法 Download PDFInfo
- Publication number
- CN111611126A CN111611126A CN202010107459.7A CN202010107459A CN111611126A CN 111611126 A CN111611126 A CN 111611126A CN 202010107459 A CN202010107459 A CN 202010107459A CN 111611126 A CN111611126 A CN 111611126A
- Authority
- CN
- China
- Prior art keywords
- value
- values
- state
- unit
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000008859 change Effects 0.000 claims abstract description 93
- 230000007704 transition Effects 0.000 claims abstract description 91
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 238000011156 evaluation Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 12
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 abstract description 12
- XOFYZVNMUHMLCC-ZPOLXVRWSA-N prednisone Chemical compound O=C1C=C[C@]2(C)[C@H]3C(=O)C[C@](C)([C@@](CC4)(O)C(=O)CO)[C@@H]4[C@@H]3CCC2=C1 XOFYZVNMUHMLCC-ZPOLXVRWSA-N 0.000 description 62
- 230000008569 process Effects 0.000 description 41
- 238000012545 processing Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 34
- 238000005457 optimization Methods 0.000 description 27
- 238000009826 distribution Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000002922 simulated annealing Methods 0.000 description 3
- NHTMVDHEPJAVLT-UHFFFAOYSA-N Isooctane Chemical compound CC(C)CC(C)(C)C NHTMVDHEPJAVLT-UHFFFAOYSA-N 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- JVSWJIKNEAIKJW-UHFFFAOYSA-N dimethyl-hexane Natural products CCCCCC(C)C JVSWJIKNEAIKJW-UHFFFAOYSA-N 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001589086 Bellapiscis medius Species 0.000 description 1
- 230000005366 Ising model Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Complex Calculations (AREA)
- Feedback Control In General (AREA)
- Control Of Temperature (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及采样设备和用于控制采样设备的方法。采样设备包括:状态保存单元,其保存多个状态变量的值并每隔一定试验次数将其输出;能量变化计算单元,其基于根据更新索引值选择的权重值计算能量变化值;第一偏移控制单元,其基于多个能量变化值确定第一偏移值并每隔一定试验次数将其输出,输出通过将第一偏移值与多个能量变化值相加获得的多个第一评估值;第一比较单元,其基于将多个第一评估值与阈值比较的结果输出多个第一标志值;第一标志计数单元,其每隔一定试验次数输出通过对指示允许状态转换的第一标志值的数目计数获得的第一计数值;以及选择单元,其基于多个第一标志值或多个能量变化值将与状态转换之一对应的索引值输出为更新索引值。
Description
技术领域
本文讨论的实施方式涉及采样设备和用于控制采样设备的方法。
背景技术
作为用于求解组合优化问题的技术,存在用于将组合优化问题转变成表示磁体中自旋行为的伊辛模型(Ising model)以及用于使用马尔可夫链蒙特卡罗方法将伊辛模型的状态变换为低能量状态的技术。在下文中,将马尔可夫链蒙特卡罗方法简称为MCMC方法。伊辛模型的状态可以由多个状态变量的值的组合来表示。当状态变量的数目等于N时,伊辛模型的状态由x=(x1,x2,...,xN)等表示。状态变量中的每一个可以使用值0或1。
表示伊辛模型的能量的伊辛型能量函数E(x)由例如下面的等式(1)定义。
右侧的第一项是针对伊辛模型的所有状态变量的所有组合在没有任何遗漏和重复的情况下通过将两个状态变量的值(分别为0或1)和权重值(表示两个状态变量之间的交互作用的强度)的乘积相加获得的。在等式(1)中,xi表示具有标识信息(下文中称为索引值)i的状态变量,xj表示具有索引值j的状态变量,以及Wij表示指示具有索引值i和j的状态变量之间的交互作用的大小的权重值。
右侧的第二项是具有每个索引值的偏置系数和状态变量的乘积之和。在等式(1)中,bi表示索引值i的偏置系数。
当状态变量xi变为1-xi,状态变量xi的增加由Δxi=(1-xi)-xi=1-2xi表示。响应于自旋反转(状态变量的值的变化)的能量变化ΔEi由下面的等式(2)表示。
在等式(2)中,当状态变量xi从1变为0,Δxi等于-1。当状态变量xi从0变为1,Δxi等于1。注意,hi被称为局部字段(local field)。通过根据值Δxi将局部字段hi乘以符号因子(+1或-1)而获得的值为能量变化ΔEi。
作为关于响应于特定状态转换而发生的能量变化ΔE的特定状态转换的允许概率(allowable probability),可以使用由下面的等式(3)表示的由蒙特卡洛(Metropolis)方法或吉布斯(Gibbs)方法定义的允许概率A(ΔE)。
在等式(3)中,β表示反温度(inverse temperature)(表示温度的温度值的倒数)。就概率而言,涉及能量的增加的状态转换也是允许的。
在常规MCMC方法中,随机地或按索引值的次序(顺序地)选择状态变量。基于响应于其中状态变量的值改变的状态转换的能量变化ΔE,以上述允许概率A(ΔE)允许状态转换。当允许状态转换时,更新状态变量的值。重复这样的处理一定试验次数。在某些情况下可以使用温度逐渐降低的模拟退火方法来搜索最低能量状态(最优解)。
另一方面,作为用于以高速求解组合优化问题的硬件,存在使用数字电路的优化设备(参见例如日本特许专利公报第2018-63626号)。如下面所描述的,优化设备执行并行搜索以同时将多个状态转换设置为转换候选以选择一个状态转换。
基于响应于状态转换和温度值中的每一个而发生的能量变化,优化设备以上述允许概率A(ΔE)允许状态转换。优化设备优选地从多个状态转换中选择一个允许的状态转换并更新状态。优化设备重复执行上面描述的处理一定试验次数。当由于状态被困在局部解中等而未发生状态转换时,相关技术的优化设备将偏移值与能量变化相加。
在平衡状态下,指示各个状态的占用概率的概率分布是玻尔兹曼(Blotzmann)分布。因此,可以通过输出通过使用MCMC方法以固定温度重复状态转换的处理获得的状态或基于该状态的值作为样本来实现用于生成根据玻尔兹曼分布的样本的采样器。所生成的样本用于例如机器学习等中的期望值的计算。
然而,由于使用数字电路的相关技术的优化设备通过上述并行搜索处理和添加偏移值来加速计算处理,因此概率分布可能偏离玻尔兹曼分布。当使用数字电路的相关技术的优化设备用作采样器(下文中称为采样设备)时,概率分布与玻耳兹曼分布的偏离可能会导致比使用常规MCMC方法的情况得到的采样准确度低的采样准确度。
在一个方面,本公开内容的目的是提供一种能够在不损害高速计算处理的情况下实现高准确采样的采样设备以及用于控制该采样设备的方法。
发明内容
根据实施方式的一方面,一种采样设备包括:状态保存单元,其保存在表示能量的评估函数中包括的多个状态变量的值,并且每隔一定试验次数输出多个状态变量的值;能量变化计算单元,其在响应于多个状态变量的值之一的变化而发生状态转换时基于根据更新索引值选择的权重值来计算针对每个状态转换的能量变化值;第一偏移控制单元,其基于多个能量变化值来确定第一偏移值使得允许状态转换的至少之一,输出通过将第一偏移值与多个能量变化值相加获得的多个第一评估值,并且每隔一定试验次数输出第一偏移值;第一比较单元,其基于将多个第一评估值与基于随机数值和指示温度的温度值确定的阈值比较的结果来输出多个第一标志值,每个第一标志值指示是否允许对应的状态转换;第一标志计数单元,其每隔一定试验次数输出通过对多个第一标志值中的指示允许状态转换的第一标志值的数目计数获得的第一计数值;以及选择单元,其基于多个第一标志值或多个能量变化值来输出与状态转换之一相对应的索引值作为更新索引值。
附图说明
图1是示出根据第一实施方式的采样设备的示例的图;
图2是示出当每个状态保持不变的试验的次数等于1时选择概率的分布的示例的图;
图3是示出状态保存单元的示例和能量变化计算单元的示例的图;
图4是示出偏移控制单元的示例和比较单元的示例的图;
图5是示出使用偏移值的示例的图;
图6是示出标志计数单元的示例的图;
图7是示出标志计数单元的另一示例的图;
图8是示出选择单元的示例的图;
图9是示出采样定时的示例的图;
图10是示出采样操作的流程的示例的流程图;
图11是示出优化处理操作的流程的示例的流程图;
图12是示出根据第二实施方式的采样设备的示例的图;
图13是示出用于生成针对两种类型的标志值的计数值的操作的流程的示例的流程图;
图14是示出根据第三实施方式的采样设备的示例的图;
图15是示出阈值生成单元的示例的图;
图16是示出关于温度与能量之间的关系的模拟结果的示例的图;
图17是示出关于试验次数与获得最低能量状态的概率之间的关系的模拟结果的示例的图;
图18是示出使用副本交换方法的采样设备的示例的图;
图19是示出使用副本交换方法的采样设备的操作的示例的流程图;
图20是示出采样设备的另一变型例的图;以及
图21是示出执行期望值计算处理的采样设备的操作的示例的流程图。
具体实施方式
下面将参照附图描述本公开内容的实施方式。
在使用伊辛模型的模拟退火中,响应于状态转换,仅一个状态变量改变。因此,下面在假设用于标识每个状态转换的索引值等于一个状态变量的索引值的情况下进行描述。
然而,本公开内容不限于状态转换的索引值与响应于状态转换而改变的状态变量的索引值相匹配的配置。
由相关技术的优化设备确定的概率分布偏离玻尔兹曼分布的原因在于一个状态保持不变的试验次数少于使用常规MCMC方法的情况,这是因为优化设备通过并行搜索处理和添加偏移值来加速计算处理。
当相关技术的优化设备使用理想偏移值时,一个状态保持不变的试验次数等于1。
每当使用上述偏移值执行采样时,可以通过如果使用常规MCMC方法则状态将保持不变的试验次数的值或通过该值的期望值对所得到的样本进行加权,以获得根据玻尔兹曼分布的样本。例如,当一次观察到(采样)某个状态时,可以施加权重以使对该状态采样与如果使用常规MCMC方法将执行的试验次数相等的次数。
在常规MCMC方法中,从某个状态转换到另一状态的概率——具有索引值i的状态变量的值改变——等于Γi=A(ΔEi)/N。A(ΔEi)表示具有索引值i的状态变量的值改变的状态转换的允许概率。N表示状态变量的总数。在每次试验中一个状态转换为另一状态的概率可以由下面的等式(4)表示。
由等式(4)表示的概率的倒数是在常规MCMC方法中一个状态保持不变的试验次数的期望值。
在若干次试验之后状态变量xi的值最终改变的概率Pi由下面的等式(5)表示。
下面描述的根据第一实施方式的采样设备是如下设备,该设备每隔一定试验次数输出在常规MCMC方法中一个状态保持不变的试验次数的期望值以及该状态。
(第一实施方式)
图1是示出根据第一实施方式的采样设备的示例的图。
采样设备10包括状态保存单元11、能量变化计算单元12、偏移控制单元13、比较单元14、标志计数单元15、选择单元16、控制单元17和试验次数计算单元18。
状态保存单元11例如保存在表示能量的评估函数中包括的多个状态变量的值,并且每隔一定试验次数输出多个状态变量的值。评估函数例如是由等式(1)表示的能量函数E(x)。
在下文中,N表示状态变量的数目(状态变量的总数),状态变量xi(i=1至N)或状态变量x1至xN表示N个状态变量。状态x表示状态变量x1至xN的值的组合。在假设状态保存单元11保存由等式(2)表示的局部字段hi(i=1至N)的情况下进行描述。然而,也可以由能量变化计算单元12保存局部字段hi。
状态保存单元11是例如寄存器、静态随机存取存储器(SRAM)等。
当响应于状态变量x1至xN的值中的任何值的变化而发生状态转换时,能量变化计算单元12针对该状态转换基于根据更新索引值选择的权重值计算能量变化的值(下文中称为能量变化ΔEi)。
能量变化ΔEi由上面的等式(2)表示。能量变化计算单元12通过根据值Δxi将局部字段hi乘以符号因子(+1或-1)来成功地计算能量变化ΔEi。在状态变量xj从0变为1时局部字段hi的变化Δhi由+Wij表示,而在状态变量xj从1变为0时局部字段hi的变化Δhi由-Wij表示。因此,局部字段hi不必每次都通过矩阵运算来重新计算,可以针对由响应于状态转换而变化的位引起的变化来添加或减去权重值Wij。能量变化计算单元12使状态保存单元11保存已经计算(或更新)的局部字段hi。
这样的能量变化计算单元12可以使用例如存储权重值Wij等的存储单元(诸如寄存器或SRAM)、选择器、乘法器、加法器等来实现。在下面的描述中,假设能量变化计算单元12将索引值i(i=1至N)与N个能量变化ΔEi(i=1至N)(在下文中,有时被称为能量变化ΔE1至ΔEN)一起输出。
偏移控制单元13基于能量变化ΔE1至ΔEN确定偏移值Eoff使得允许状态转换的至少之一,并且输出通过将偏移值Eoff与能量变化ΔE1至ΔEN相加而获得的多个评估值。偏移控制单元13每隔一定试验次数输出偏移Eoff。稍后将描述偏移控制单元13的示例和用于确定偏移值Eoff的方法。
比较单元14基于将多个评估值与基于温度值T和随机数的值确定的阈值比较的结果来输出指示是否允许相应状态转换(状态转换候选)的多个标志值F1、F2、...、FN。作为这样的处理的结果,比较单元14能够使得以由等式(3)表示的允许概率A(ΔE)允许状态转换。稍后将描述比较单元14的示例以及可以以允许概率A(ΔE)允许状态转换的原因。在下面的描述中,假设以一定的温度执行采样操作(这意味着温度值T是固定值);然而,温度也可以改变。
标志计数单元15对标志值F1到FN中的分别指示允许对应状态转换的标志值的数目进行计数,并且每隔一定试验次数输出所计数的标志值的数目(计数值Nf)。稍后将描述标志计数单元15的示例。
选择单元16选择标志值F1到FN之一,并且输出与所选择的标志值之一相对应的索引值作为更新索引值。稍后还将描述选择单元16的示例。
控制单元17控制采样设备10的每个单元。例如,控制单元17确定试验次数是否已达到一定试验次数。当试验次数已经达到一定试验次数时,控制单元17使状态保存单元11输出当时的状态,并且使偏移控制单元13输出偏移值Eoff。控制单元17使标志计数单元15确定此时的计数值Nf。控制单元17将温度值T供应至比较单元14。
控制单元17可以由例如专用电子电路如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现。控制单元17可以是处理器例如中央处理单元(CPU)或数字信号处理器(DSP)。在这样的情况下,处理器通过执行存储在存储器(未示出)中的程序来执行上面描述的处理。
基于由偏移控制单元13输出的偏移值Eoff和由标志计数单元15输出的计数值Nf,试验次数计算单元18计算在常规MCMC方法中一个状态保持不变的试验次数Ntrial的期望值<Ntrial>(近似值)。试验次数计算单元18可以由例如专用电子电路如ASIC或FPGA或者处理器如CPU或DSP来实现。试验次数计算单元18可以被设置在采样设备10的外部,或者控制单元17可以基于偏移值Eoff和计数值Nf来计算期望值<Ntrial>。
偏移值Eoff和计数值Nf用作用于确定期望值<Ntrial>的值的原因如下。
图1示出使用常规MCMC方法获得的转换概率Γi的分布的示例。在常规MCMC方法中,通过将针对所有状态变量的转换概率Γi(在每次试验中转换为另一状态的概率(等式(4))相加而获得的值小于1。如之前描述的,由等式(4)表示的概率的倒数是在常规MCMC方法中一个状态保持不变的试验次数Ntrial的期望值<Ntrial>。期望值<Ntrial>等同于当前状态保持不变的时段(状态保持不变时段)的期望值。
与之相比,当在采样设备10中每个状态保持不变的试验次数等于1时,被选择为要反转的目标的每个状态变量的选择概率的分布例如如下。
图2是示出当每个状态保持不变的试验次数等于1时选择概率的分布的示例的图。
在图2中,p1至pN表示状态变量xi(i=1至N)的选择概率。当每个状态保持不变的试验次数等于1时,状态变量xi(i=1至N)中的任何状态变量在每次试验中改变。因此,选择概率p1至pN相加的结果等于1。选择概率pi可以由下面的等式(6)表示。
等式(6)的右侧与等式(5)的右侧相同。
如上面所描述的,采样设备10使用允许状态转换中的至少之一的偏移值Eoff来使每个状态保持不变的试验次数等于1。令A(ΔEi-Eoff)表示当使用偏移值Eoff时获得的允许概率。然后,可以基于前面描述的等式(3)由下面的等式(7)表示允许概率A(ΔEi-Eoff)(在使用蒙特卡洛方法的情况下)。
A(ΔEi-Eoff)=exp(β·Eoff)A(ΔEi) (7)
当反温度β和偏移值Eoff是正值时,允许概率A(ΔEi-Eoff)是通过将原始允许概率A(ΔEi)乘以大于或等于1的系数exp(β·Eoff)得到的概率。为此,当使用允许概率A(ΔEi-Eoff)时,与使用原始允许概率A(ΔEi)的情况下状态转换的允许概率的百分比相比,相应的状态转换的允许概率的百分比未改变。
可以通过使用等式(7)由等式(8)来表示期望值<Ntrial>。
例如,通过将针对状态变量x1至xN的允许概率A(ΔEi-Eoff)相加而获得的值<Nf>可以通过作为指示允许状态转换的标志值的数目的计数值Nf来近似。
在等式(8)中,反温度β是固定值(因为温度值T是固定值),并且状态变量的总数N也是固定值。因此,如果获得了采样定时的偏移值Eoff和计数值Nf,则可以将采样定时的期望值<Ntrial>确定为近似值。
采样设备10通过使用偏移值Eoff使每个状态保持不变的试验次数为1,并且每隔一定试验次数输出(采样)状态、偏移值Eoff和计数值Nf。作为基于以上面描述的方式根据偏移值Eoff和计数值Nf获得的期望值<Ntrial>的加权的结果,确定在MCMC方法中获得的状态保持不变的试验次数,这使得能够再现常规MCMC方法的概率处理。
图1示出了在使用常规MCMC方法的情况下和在使用采样设备10的情况下能量E与试验次数之间的关系的示例的图。如图1所示,例如,具有一定能量Ea的状态x保持不变的状态保持不变时段是与使用采样设备10的情况下的一次试验相对应的时段,而状态保持不变时段是与在使用常规MCMC方法的情况下的期望值<Ntrial>相对应的时段。如果期望值<Ntrial>是已知的,则如上面所描述的成功地再现了常规MCMC方法的概率处理。
例如,由于成功地再现了根据常规MCMC方法的采样,因此与将相关技术的优化设备用作采样设备的情况相比,可以实现更准确的采样。因此,可以获得根据玻尔兹曼分布的样本。
机器学习的大多数理论都是基于样本具有玻尔兹曼分布的假设。通过如上面所描述的使用采样设备10,可以获得适合于机器学习的样本。
在每个试验中发生状态转换,并且通过一个采样操作实际达到与执行多次采样的情况达到的准确度基本相同的准确度。因此,与将相关技术的优化设备用作采样设备的情况相比,不会损害高速计算处理。
下面将描述采样设备10的各个单元的示例。
(状态保存单元11和能量变化计算单元12的示例)
图3是示出状态保存单元的示例和能量变化计算单元的示例的图。
状态保存单元11包括寄存器11a,寄存器11a保存状态变量x1至xN以及局部字段h1至hN的值。寄存器11a与时钟信号clk同步地接收由能量变化计算单元12更新的状态变量x1至xN和局部字段h1至hN之一。时钟信号clk从时钟信号生成电路(未示出)被供应至寄存器11a。例如,在图1所示的控制单元17的控制下,状态保存单元11每隔一定试验次数将多个状态变量的值输出至采样设备10的外部。
能量变化计算单元12包括ΔE计算电路12a1、12a2...12aN以及更新电路12b。
ΔE计算电路12a1至12aN中的每一个从状态保存单元11读取状态变量x1至xN的值中的对应一个和局部字段h1至hN中的对应一个,并且计算能量变化ΔE1至ΔEN中的对应一个。例如,ΔE计算电路12a1从状态保存单元11读取状态变量x1和局部字段h1的值,并计算由于状态变量x1的值的变化而发生的能量变化ΔE1。ΔE计算电路12aN从状态保存单元11读取状态变量xN和局部字段HN的值,并计算由于状态变量xN的值的变化而发生的能量变化ΔEN。
由于能量变化ΔEi(i=1至N)可以由等式(2)表示,因此可以例如使用根据状态变量x1到xN的值分别将局部字段h1至hN乘以符号因子(+1或-1)的乘法器来实现ΔE计算电路12a1至12aN。
ΔE计算电路12a1至12aN中的每个ΔE计算电路输出索引值i(i=1至N)中的对应一个。例如,ΔE计算电路12a1输出索引值1,以及ΔE计算电路12aN输出索引值N。ΔE计算电路12a1至12aN中的每个ΔE计算电路包括保存索引值的保存单元(例如,寄存器)。
当从选择单元16接收到更新索引值时,更新电路12b改变与更新索引值相对应的状态变量的值,并且基于该改变来更新局部字段h1至hN。经更新的值被写入到状态保存单元11中。
例如,当更新索引值为j时,更新电路12b将状态变量xj变为1-xj。然后,更新电路12b将局部字段hi(i=1至N)更新为hi+Wij·Δxj。
更新电路12b从状态保存单元11获取状态变量xi(i=1至N)和局部字段hi的当前值以执行上面描述的更新处理。权重值Wij被存储在存储单元(未示出)中,更新电路12b从该存储单元获取权重值Wij。
这样的更新电路12b可以使用存储权重值Wij等的存储单元(例如寄存器或SRAM)、选择器、乘法器、加法器等来实现。
(偏移控制单元13和比较单元14的示例)
图4是示出偏移控制单元的示例和比较单元的示例的图。在图4中,上述能量变化ΔE1至ΔEN被统称为{ΔEi},并且上述标志值F1至FN被统称为{Fi}。
偏移控制单元13包括最小值检测电路13a、加法电路13b、选择信号生成电路13c和选择器13d。
最小值检测电路13a检测能量变化ΔE1至ΔEN的最小值ΔEmin。
加法电路13b是从能量变化ΔE1至ΔEN减去最小值ΔEmin作为偏移值(即,将-ΔEmin与能量变化ΔE1至ΔEN相加)的运算电路。可以使用减法电路代替加法电路13b。
选择信号生成电路13c生成选择信号符号。当最小值ΔEmin小于0时,选择信号生成电路13c生成使选择器13d选择能量变化ΔE1至ΔEN的选择信号符号(在下文中假定为0)。当最小值ΔEmin大于或等于0时,选择信号生成电路13c生成使选择器13d选择由加法电路13b计算的值的选择信号符号(在下文中假定为1)。
当选择信号符号为0时,选择器13d选择能量变化ΔE1至ΔEN({ΔEi})。当选择信号符号为1时,选择器13d选择由加法电路13b计算的值,即,{ΔEi}-ΔEmin。选择器13d输出所选择的值作为评估值。
当使用图4所示的偏移控制单元13时,偏移值Eoff可以由Eoff=max[0,min(ΔEi)]表示。这表明当能量变化ΔE1至ΔEN的最小值ΔEmin是0或更大时,Eoff等于ΔEmin;否则Eoff等于0。
通过使用这样的偏移值Eoff,针对状态变量x1至xN中的至少之一的状态转换被允许。下面将描述其原因。
图5是示出使用偏移值的示例的图。在图5中,横轴表示用作状态转换的候选的状态变量xi,纵轴表示能量变化ΔE。
波形20a指示响应于相应状态变量x1至xN的变化的能量变化{ΔEi}的示例。在图5所示的示例中,能量变化{ΔEi}中响应于状态变量xmin的值的变化的能量变化ΔE是最小值ΔEmin,其中ΔEmin大于0。波形20b指示通过从由波形20a指示的能量变化{ΔEi}减去最小值ΔEmin获得的能量变化ΔE。
由于波形20b中的能量变化ΔE的最小值等于0,因此状态变量xmin的值改变的状态转换的允许概率A(ΔE)等于1。这表明在状态变量x1至xN中至少状态变量xmin被允许状态转换。
如上面所描述的,即使当能量变化ΔE1至ΔEN的最小值ΔEmin大于0,通过从能量变化{ΔEi}减去偏移值Eoff=ΔEmin,对于状态变量x1至xN中的至少一个状态变量被允许状态转换。
描述返回到图4中的描述。
比较单元14包括随机数生成电路14b1、选择规则应用单元14b2、乘法电路14b3、符号反转电路14b4和比较电路14b5。
随机数生成电路14b1生成随机数值r,该随机数值r是大于0且小于或等于1的均匀随机数。随机数生成电路14b1可以使用例如梅森旋转器(Mersenne twister)、线性反馈移位寄存器(LFSR)等来实现。
选择规则应用单元14b2基于选择规则(上述蒙特卡洛方法或吉布斯方法)来输出值。
可以通过基于将允许概率A(ΔE)与随机数值r比较的结果来输出值的比较器来实现输出指示以由上面的等式(3)表示的允许概率A(ΔE)允许引起能量变化ΔE的状态转换的标志(=1)的电路。
即使进行以下修改,也可以实现相同的功能。即使将相同的单调递增函数应用于两个数,它们之间的大小关系也不会改变。因此,即使将相同的单调递增函数应用于比较器的两个输入,比较器的输出也不会改变。例如,允许概率A(ΔE)由f(-β·ΔE)表示。允许概率f(-β·ΔE)的反函数f-1(-β·ΔE)可以用作被应用于允许概率f(-β·ΔE)的单调递增函数,并且通过用r替换f-1(-β·ΔE)的-β·ΔE获得的f-1(r)可以用作被应用于随机数值r的单调递增函数。这表明在上面的情况下,具有与上面描述的比较器基本相同的功能的电路可以是当-β·ΔE大于f-1(r)时输出1的电路。因为β等于1/T并且温度值T是正值,所以该电路可以是当-ΔE大于T·f-1(r)时输出1的电路。
选择规则应用单元14b2通过使用用于将输入的随机数值r转变成上面描述的f-1(r)的值的转变表来输出f-1(r)的值。在使用蒙特卡洛方法的情况下,f-1(r)等于log(r)。转变表被存储在例如存储器如随机存取存储器(RAM)或闪存中。
乘法电路14b3输出从控制单元17提供至其的温度值T与f-1(r)的乘积(T·f-1(r))作为阈值。阈值T·f-1(r)对应于热激发能。
符号反转电路14b4将评估值{ΔEi}或{Ei}-ΔEmin的符号反转,并输出-{ΔEi}或-{ΔEi}+ΔEmin。
比较电路14b5将-{ΔEi}或-{ΔEi}+ΔEmin与阈值T·f-1(r)进行比较。当-{ΔEi}或-{ΔEi}+ΔEmin大于阈值T·f-1(r)时,比较电路14b5输出1作为标志值{Fi}。当-{ΔEi}或-{ΔEi}+ΔEmin小于或等于阈值T·f-1(r)时,比较电路14b5输出0作为标志值{Fi}。
(标志计数单元15的示例)
作为图1所示的标志计数单元15的示例,下面将描述两个标志计数单元15a和15b。
图6是示出标志计数单元的示例的图。
标志计数单元15a包括以包括多个级的树形布置的多个加法电路(例如加法电路15a1、15a2、15a3、15a4和15a5)。
第一级中的加法电路中的每个加法电路输出通过将两个标志值相加而获得的相加结果。例如,加法电路15a1输出通过将标志值F1和F2相加而获得的相加结果,以及加法电路15a2输出通过将标志值F3和F4相加而获得的相加结果。第二级及后续级中的加法电路中的每个加法电路输出通过将前一级中的两个加法电路的输出值相加而获得的相加结果。例如,第二级中的加法电路15a4输出通过将第一级中的加法电路15a1和15a2的输出值相加而获得的相加结果。由最后一级中的加法电路15a5输出的相加结果是计数值Nf。
第一级中的加法电路中的每个加法电路将两个1位标志值相加并输出2位相加结果。第二级中的加法电路中的每个加法电路将由两个加法电路输出的2位输出值相加,并输出3位相加结果。在N=1024的情况下,最后一级(第十级)中的加法电路15a5将由前一级中的两个加法电路输出的10位输出值相加,并输出11位计数值Nf。
图7是示出标志计数单元的另一示例的图。
标志计数单元15b包括微控制器15b1和程序存储器15b2。
微控制器15b1读取并执行存储在程序存储器15b2中的程序以对标志值F1至FN中等于1的标志值的数目进行计数,并输出作为计数结果的计数值Nf。
由于采样设备10通常以1000个时钟周期或更多的间隔(采样间隔)执行采样,因此可以使用具有相对慢的处理速度的微控制器15b1和具有相对小的容量的程序存储器15b2。
(选择单元16的示例)
图8是示出选择单元的示例的图。
选择单元16包括随机数生成电路16a、加法电路16b和选择电路单元16c。
随机数生成电路16a例如针对不同的索引值i(i=1至N)使用不同的种子(seed)来生成随机数值ri,其中随机数值ri是0<ri<1的均匀随机数。可以使用例如梅森旋转器、LFSR等来实现随机数生成电路16a。
加法电路16b输出通过分别将多个随机数值ri(i=1至N)中的对应一个与标志值F1至FN中的每一个相加而获得的相加结果以及与标志值F1至FN之一相对应的索引值。
选择电路单元16c包括以包括多个级的树形布置的多个选择电路(例如选择电路16c1、16c2、16c3、16c4和16c5)。
第一级中的选择电路中的每个选择电路选择并输出两个标志值的相加结果中的较大一个和对应的索引值。例如,在相加结果F1+r1大于相加结果F2+r2的情况下,选择电路16c1输出F1+r1和索引值1。在相加结果F1+r1小于相加结果F2+r2的情况下,选择电路16c1输出F2+r2和索引值2。
第二级及后续级中的选择电路中的每个选择电路选择并输出由前一级中的两个选择电路选择的相加结果中的较大一个和对应的索引值。例如,第二级中的选择电路16c4选择并输出由第一级中的选择电路16c1和16c2选择的相加结果中的较大一个和对应的索引值。最后一级中的选择电路16c5输出与由前一级中的两个选择电路选择的相加结果中的较大一个相对应的索引值j作为更新索引值。
如上所述,选择单元16基于相加结果之间的大小关系通过选择标志值F1至FN之一从标志值F1至FN中以相等的概率随机成功地选择等于1的标志值。
(操作示例)
下面将描述由采样设备10执行的操作的示例。
在下面的示例中,假定以固定的温度值T执行采样操作。
图9是示出采样定时的示例的图。
在图9中,时段Tu指示一次试验的时段(状态更新处理)。在执行试验一定次数(对应于老化时段(burn-in period))后,采样设备10开始采样。老化时段是直到状态达到平衡状态的时段,并且与老化时段相对应的试验次数是预先设置的。
在采样时段中,采样设备10每隔一定的试验次数(以采样间隔Ts)执行采样(例如,输出状态x、偏移值Eoff、计数值Nf等)。与采样间隔Ts相对应的试验次数是预先设置的。
图10是示出采样操作的流程的示例的流程图。
首先,执行初始化和参数设置(步骤S1)。在步骤S1的处理中,控制单元17例如基于状态变量xi(i=1至N)的权重值、偏置系数和初始值来计算局部字段hi(i=1至N)的初始值。状态变量xi(i=1至N)的权重值、偏置系数和初始值例如作为关于经过计算的组合优化问题被转变成的伊辛模型的信息被预先存储在存储单元(未示出)中。状态变量xi的初始值和局部字段hi的初始值被保存在状态保存单元11中。
例如与老化时段相对应的试验次数NB、与采样间隔Ts相对应的试验次数NSI以及获得所有样本的试验次数NSN也被预先存储在存储单元(未示出)中。在步骤S1的处理中,在控制单元17中设置这些参数。
能量变化计算单元12从状态保存单元11读取状态变量xi和局部字段hi的值(步骤S2)。
能量变化计算单元12然后如上面所描述的计算能量变化ΔEi(i=1至N)(步骤S3)。
偏置控制单元13将上面描述的偏移值Eoff和从能量变化计算单元12供应至其的能量变化ΔEi相加(步骤S4)。
作为通过比较单元14和选择单元16执行的上面描述的处理的结果,输出用于标识允许状态转换的状态变量的更新索引值(步骤S5)。
能量变化计算单元12更新由更新索引值标识的状态变量xi的值。基于该更新,能量变化计算单元12通过上面描述的处理来更新局部字段hi(步骤S6)。
状态变量xi和局部字段hi的更新值被写入状态保存单元11中(步骤S7)。
控制单元17确定已经执行步骤S2至S7的处理(试验)的次数是否已经达到试验次数NB(步骤S8)。如果已经执行步骤S2至S7的处理的次数尚未达到试验次数NB,则从步骤S2开始重复所述处理。
如果已经执行步骤S2到S7的处理的次数已经达到试验次数NB,则控制单元17确定已经执行步骤S2至S7的处理的次数是否达已经到试验次数NSI(步骤S9)。如果已经执行步骤S2至S7的处理的次数尚未达到试验次数NSI,则从步骤S2开始重复所述处理。
如果已经执行步骤S2至S7的处理的次数已经达到试验次数NSI,则控制单元17使标志计数单元15确定计数值Nf(步骤S10)。控制单元17使标志计数单元15输出计数值Nf,使状态保存单元11输出状态x,以及使偏移控制单元13输出偏移值Eoff(步骤S11)。基于输出偏移值Eoff和输出计数值Nf,试验次数计算单元18计算由等式(8)表示的期望值<Ntrial>。
控制单元17确定已经执行步骤S2至S7的处理的次数是否已经达到试验次数NSN(步骤S12)。如果已经执行步骤S2至S7的处理的次数尚未达到试验次数NSN,则从步骤S2开始重复所述处理。如果已经执行步骤S2至S7的处理的次数已经达到试验次数NSN,则控制单元17结束采样操作。
采样设备10也可以用作优化设备。下面将描述当采样设备10用作优化设备时执行的操作的示例。
图11是示出优化处理操作的流程的示例的流程图。
首先,执行初始化和参数设置(步骤S20)。在步骤S20的处理中,控制单元17如在采样操作中一样计算局部字段hi(i=1至N)的初始值等。
在步骤S20的处理中,例如,控制单元17根据预先存储在存储单元(未示出)中的温度变化时间表在比较单元14中设置温度值T的初始值。例如,温度值T被更新的试验次数N1和最大试验次数N2被预先存储在存储单元(未示出)中。在步骤S20的处理中,在控制单元17中设置这些参数。
步骤S21至S26的后续处理与图10所示的采样操作中的步骤S2至S7的处理基本相同。然而,例如,控制单元17计算通过等式(1)表示的能量E的初始值,并使用与更新索引值相对应的能量变化(例如,在更新索引值等于j的情况下的能量变化ΔEj)来更新能量E。控制单元17使存储单元(未示出)保存到此刻为止的最低能量和此时的状态。
在步骤S26之后,控制单元17确定已经执行步骤S21至S26的处理(试验)的次数是否已经达到试验次数N1(步骤S27)。如果已经执行步骤S21至S26的处理的次数尚未达到试验次数N1,则从步骤S21开始重复所述处理。
如果已经执行步骤S21至S26的处理的次数已经达到试验次数N1,则控制单元17根据温度变化时间表更新温度值T以使其降低以实现模拟退火(步骤S28)。
然后,控制单元17确定已经执行步骤S21至S26的处理的次数是否已经达到试验次数N2(步骤S29)。如果已经执行步骤S21至S26的处理的次数尚未达到试验次数N2,则从步骤S21开始重复所述处理。如果已经执行步骤S21至S26的处理的次数已经达到试验次数N2,则控制单元17输出当时存储在存储单元中的最低能量时的状态作为组合优化问题的解(步骤S30),并结束优化处理操作。
当采样设备10用作优化设备时,由于如上所描述的使用偏移值Eoff的结果,在每次试验中都发生状态转换。因此,这加快了搜索。
(第二实施方式)
下面将描述根据第二实施方式的采样设备。
如上面所描述的对等于1的标志值的数目进行计数等效于分别通过使用1位和作为exp(-β·Eoff)来表示允许概率A(ΔEi)(i=1至N)的和的尾数部分和指数部分。下面描述的根据第二实施方式的采样设备根据两种标记值确定计数值Nf以计算更准确的期望值<Ntrial>。
图12是示出根据第二实施方式的采样设备的示例的图。在图12中,与图1中所示的部件相同的部件被分配有相同的附图标记。在图12中,未示出图1所示的控制单元17。在下面的描述中,由图1所示的偏移控制单元13输出的偏移值Eoff被称为偏移值Eoff1,并且由图1所示的标志计数单元15输出的计数值Nf被称为计数值Nf1。
根据第二实施方式的采样设备30包括ΔE替换单元31、偏移控制单元32、比较单元33、标志计数单元34、选择单元35、计数值校正单元36和试验次数计算单元37。
基于标志值F1至FN,ΔE替换单元31输出能量变化ΔE1至ΔEN中的针对被确定为不允许的多个状态转换的多个不允许的能量变化值(下文中称为能量变化ΔEna1至ΔEnaM)。ΔE替换单元31可以由例如下述电路来实现,该电路接收能量变化ΔE1至ΔEN和标志值F1至FN,并从能量变化ΔE1至ΔEN中选择具有与等于0的标志值的索引值相对应的索引值的能量变化。
偏置控制单元32基于能量变化ΔEna1至ΔEnaM确定与偏移值Eoff1不同的偏移值Eoff2,使得根据标志值F1至FN不允许的多个状态转换中的至少一个状态转换被允许。偏移控制单元32输出与由偏移控制单元13输出的多个评估值不同并且通过将偏移值Eoff2与能量变化ΔEna1至ΔEnaM相加而获得的多个评估值。偏移控制单元32每隔一定试验次数输出偏移值Eoff2。偏移控制单元32可以由与偏移控制单元13的电路基本上相同的电路来实现。
基于将由偏移控制单元32输出的多个评估值与基于温度值T和随机数值确定的阈值比较的结果,比较单元33输出与标志值F1至FN不同并且指示是否允许相应状态转换的多个标志值。在下文中,由比较单元33输出的多个标志值被称为标志值Fna1至FnaM。比较单元33可以由与比较单元14的电路基本相同的电路来实现。
标志计数单元34每隔一定试验次数输出与计数值Nf1不同并且通过对由比较单元33输出的标志值Fna1至FnaM中的指示允许状态转换的(等于1的)标志值的数目进行计数而获得的计数值Nf2。标志计数单元34可以由与标志计数单元15的电路基本相同的电路来实现。
基于计数值Nf1和Nf2以及偏移值Eoff1和Eoff2,选择单元35以比例Nf1:Nf2exp[-β(Eoff1-Eoff2)]选择标志值F1至FN中的等于1的一组标志值和标志值Fna1至FnaM中的等于1的一组标志值之一。选择单元35以相等的概率从所选择的组中选择一个标志值,并且输出与所选择的标志值相对应的索引值作为更新索引值。选择单元35可以由例如逻辑电路、专用电子电路如ASIC或FPGA、处理器如CPU或DSP、微控制器等来实现。
计数值校正单元36基于计数值Nf2以及偏移值Eoff1和Eoff2来校正计数值Nf1,并将结果输出作为计数值Nf。例如,计数值校正单元36计算Nf=Nf1+Nf2exp[β(Eoff1-Eoff2)],并输出结果。计数值校正单元36可以例如由专用电子电路如ASIC或FPGA或者处理器如CPU或DSP来实现。
试验次数计算单元37基于偏移值Eoff1和Eoff2以及计数值Nf使用例如前面描述的等式(8)来计算期望值<Ntrial>。注意,(Eoff1-Eoff2)用作等式(8)的Eoff。试验次数计算单元37可以由例如专用电子电路如ASIC或FPGA或者处理器如CPU或DSP来实现。
其他配置和操作与根据第一实施方式的采样设备10的配置和操作基本相同。
上面描述的根据第二实施方式的采样设备30例如即使在标志值F1至FN中的仅一个等于1(仅允许一个状态转换)的极端情况下,也以一定比例允许另外的状态转换。因此,在使用采样设备30的情况下,各个状态转换(状态变量)之间的转换概率之比被成功地近似为使用常规MCMC方法获得的各个状态转换之间的转换概率之比。使用上面描述的方式校正的计数值Nf计算出的期望值<Ntrial>接近使用常规MCMC方法获得的一种状态保持不变的试验次数。因此,可以获得接近于常规MCMC方法的概率处理的概率处理。
也可以使用单个偏移控制单元13、单个比较单元14和单个标志计数单元15来执行上面描述的根据第二实施方式的采样设备30的操作。在这样的情况下,通过下面的操作获得针对两种标志值(标志值标志值F1至FN和标志值Fna1至FnaM)的计数值Nf1和Nf2。
图13是示出用于生成针对两种标志值的计数值Nf1和Nf2的操作的流程的示例的流程图。
下面描述的处理例如由图1所示的控制单元17(图12中未示出)控制。
首先,控制单元17将nMAX设置为2并且将n设置为1(步骤S40)。然后,控制单元17使偏移控制单元13生成偏移值Eoffn(在n=1的情况下为偏移值Eoff1)(步骤S41)。偏移控制单元13计算通过从能量变化ΔEi(i=1至N)减去偏移值Eoffn获得的评估值(步骤S42)。在使用图4所示的偏移控制单元13的情况下,如果能量变化ΔEi的最小值ΔEmin小于0则偏移值Eoffn等于0,而如果最小值ΔEmin大于或等于0则偏移值Eoffn等于最小值ΔEmin。
基于将多个评估值与基于温度值T和随机数值确定的阈值比较的结果,比较单元14生成标志值(在n=1的情况下为标志值F1至FN)(步骤S43)。
标志计数单元15对等于1的标志值的数目进行计数(步骤S44),并且输出计数值Nfn(在n=1的情况下为计数值Nf1)(步骤S45)。
控制单元17确定是否满足n≥nMAX(步骤S46)。如果满足n≥nMAX,则控制单元17结束用于生成计数值Nf1和Nf2的处理。如果满足n<nMAX,则控制单元17用n+1替代n(步骤S47)。控制单元17使用上面描述的ΔE替换单元31的功能用能量变化ΔEna1至ΔEnaM替换能量变化ΔEi(步骤S48),并且从步骤S41开始重复所述处理。
在每次试验中执行除步骤S44和S45的处理以外的处理。
(第三实施方式)
图14是示出根据第三实施方式的采样设备的示例的图。省略图14中的与图1所示的部件相同的部件的描述。
根据第三实施方式的采样设备40包括选择单元41以代替图1所示的选择单元16。
选择单元41生成通过将能量变化ΔE1至ΔEN中的小于0的能量变化更新为0而获得的多个更新的能量变化值。选择单元41输出与通过将对应的阈值与相应的更新的能量变化值相加而获得的多个评估值中的最小评估值相对应的索引值作为更新索引值。所述多个阈值是基于温度值T和彼此独立的多个随机数值来计算。
选择单元41包括更新能量变化值计算电路41a、阈值生成单元41b、加法电路41c1、41c2、...、41cN以及最小值选择电路41d。
更新能量变化值计算电路41a按原样输出能量变化ΔE1至ΔEN中的0或更大的能量变化并且将小于0的能量变化更新为0以生成N个更新能量变化值。更新能量变化值计算电路41a的处理等效于计算max[0,ΔEi]。
阈值生成单元41b生成N个阈值。将在后面描述阈值生成单元41b的示例。
加法电路41c1至41cN输出通过将对应的阈值与由更新能量变化值计算电路41a输出的N个更新能量变化值相加而获得的N个评估值。
最小值选择电路41d输出与由加法电路41c1至41cN输出的N个评估值中的最小评估值相对应的索引值作为更新索引值。索引值例如从能量变化计算单元12被供应至最小值选择电路41d。最小值选择电路41d包括例如以包括多个级的树形布置的多个选择电路,并且每个选择电路选择并输出两个评估值中较小的一个。与从最后一级的选择电路输出的评估值相对应的索引值用作更新索引值。
图15是示出阈值生成单元的示例的图。
阈值生成单元41b包括梅森旋转器50a1、50a2、...、50an、转变单元50b1、50b2、...、50bn、寄存器50c11至50cnm以及乘法单元50d。
梅森旋转器50a1至50an通过针对不同的索引值i(i=1至N)使用不同的种子来生成相应的随机数值ri,其中随机数值ri是0<ri<1的均匀随机数。随机数值ri由例如16位值表示。注意,随机数值ri在每个时钟周期更新。
转变单元50b1至50bn通过使用转变表将相应的随机数值ri转变为log(-logri)。值log(-logr i)例如由27位值表示。转变表被存储在例如存储器如RAM或闪存中。
寄存器50c11至50cnm对由相应的转变单元50b1至50bn输出的值进行延迟并将其与时钟信号(未示出)同步地输出。例如,通过串联耦接的寄存器50c11、50c12、...、50c1m根据由转变单元50b1输出的值生成m个不同的随机数值。另外,通过串联耦接的寄存器50c21、50c22、...、50c2m根据从转变单元50b2输出的值生成m个不同的随机数值。此外,通过串联耦接的寄存器50cn1、50cn2、...、50cnm根据从转变单元50bn输出的值生成m个不同的随机数值。
乘法单元50d输出通过将由转变单元50b1至50bn输出的值和由寄存器50c11至50cnm输出的值与温度值T相乘而获得的值作为阈值。乘法单元50d包括N个乘法电路。
例如,在N=1024的情况下,梅森旋转器50a1至50an的数目和转变单元50b1至50bn的数目等于32(n=32),寄存器50c11至50cnm的数目(n×m)等于32×31。通过这种配置生成1024个阈值。
通过使用选择单元41来替换选择单元16,在每次试验中以适当的允许概率发生状态转换。下面将说明其原因。
下述随机数值ri的累积分布函数F(r)=Prob(ri≤r)的值在满足r≤0时等于0,在满足0<r<1时等于r,在满足r≥1时等于1,其中所述随机数值ri是0<ri<1的均匀随机数。假设从随机数值ri生成的正随机数值yi由yi=-log(ri)/Ai(其中Ai>0)来表示。随机数值yi大于y(>0)的概率Prob(yi≥y)可以由Prob(yi≥y)=Prob(ri≤exp(-Aiy))=F(exp(-Aiy))=exp(-Aiy)来表示。因此,随机数值ri的概率密度函数p(yi)可以由下面的等式(9)表示。
针对某个索引值i的随机数值yi小于所有其他随机数值yj(j≠i)的概率可以由下面的等式(10)来表示。
等式(10)的右侧具有与等式(5)的右侧相同的形式。
当Ai是能量变化ΔEi的允许概率并且Ai等于min[1,exp(-βΔEi)]时,当等式(10)等于1时获得的Ai是待确定的允许概率。注意,log(Ai)/β等于-max[0,ΔEi]。
针对某个索引值i的随机数yi小于所有其他随机数yj(j≠i)与log(yi)/β小于log(yj)/β(j≠i)相同。因为log(yi)/β等于log(-log(ri))/β+max[0,ΔEi],并且β等于1/T,所以如果选择了通过将T·log(-log(ri))与max[0,ΔEi]相加而获得的值中的最小值,则在每次试验中以适当的允许概率发生状态转换。
其他配置和操作与根据第一实施方式的采样设备10的配置和操作基本相同。
图16是示出关于温度与能量之间的关系的模拟结果的示例的图。
图17是示出关于试验次数与获得最低能量状态的概率之间的关系的模拟结果的示例的图。在图16和图17中处理的问题是16个城市的旅行商问题(traveling salesmanproblem)。
在图16中,横轴表示温度值T,纵轴表示由等式(1)表示的能量E。特征60a指示在使用常规MCMC方法的情况下温度与能量之间的关系。特征60b指示在使用根据第三实施方式的采样设备40的情况下温度与能量之间的关系。特征60c指示在使用利用数字电路的相关技术的优化设备的情况下温度与能量之间的关系。
如图16所示,根据第三实施方式的采样设备40获得与使用常规MCMC方法的情况获得的特征几乎相同的特征。
在图17中,横轴表示试验次数,纵轴表示获得最低能量状态的概率。特征61a指示在使用常规MCMC方法的情况下试验次数与该概率之间的关系。特征61b指示在使用根据第三实施方式的采样设备40的情况下试验次数与该概率之间的关系。特征61c指示在使用利用数字电路的相关技术的优化设备的情况下试验次数与该概率之间的关系。
图17表明,与使用相关技术的优化设备和常规MCMC方法的情况相比,根据第三实施方式的采样设备40以较高的速度(较少的试验次数)获得最低能量状态。
如上面所描述的,在第三实施方式的采样设备40中,在一次试验中理想地发生了状态转换,并且从理论上获得了与常规MCMC方法的样本分布等同的样本分布。因此,可以实现高准确度的高速采样。
(变型例)
下面描述的采样设备使用副本交换方法。
副本交换方法是使用多个温度同时执行MCMC方法、每隔一定试验次数比较相应状态的能量以及以适当的概率将两个温度的状态(或温度)交换的方法。在下面的示例中,将描述交换温度的情况;然而,如果交换状态,也将获得相同的结果。
图18是示出使用副本交换方法的采样设备的示例的图。
图18所示的采样设备70包括采样处理单元71和副本交换控制器72。
采样处理单元71包括图1所示的采样设备10的每个单元,并且通过流水线处理对其中设置不同的温度值T(在图18的示例中为反温度β1、β2、...、βM)的副本71a1、71a2、...、71aM执行上面描述的试验。
状态x和能量E针对副本71a1至71aM中的每个副本均被保存,并且每次执行试验时都被更新。
副本交换控制器72每隔一定试验次数将副本71a1至71aM的能量E彼此进行比较,并基于比较结果以一定的交换概率pij将在副本71a1至71aM中的两个副本中设置的反温度(或温度)进行交换。交换概率pij可以由pij=f((βi-βj)(Ei-Ej))来表示。在等式中,βi表示在第i个副本中设置的反温度,βj表示在第j个副本中设置的反温度,Ei表示在第i个副本中的能量,以及Ej表示在第j个副本中的能量。在函数f中,用βi-βj代替等式(3)中的β,用Ei-Ej代替等式(3)中的ΔE。
副本交换控制器72可以是例如专用电子电路如ASIC或FPGA、处理器如CPU或DSP等。
由副本交换控制器72执行的处理可以由图1所示的控制单元17执行。
每隔一定试验次数执行采样操作。例如,输出具有最小温度值T的副本的状态x、计数值Nf和偏移值Eoff。
图19是示出由使用副本交换方法的采样设备执行的操作的示例的流程图。注意,将省略与图10所示的根据第一实施方式的采样设备10的操作的处理相同的处理的说明和描述。
当使用副本交换方法时,在初始化时,在副本交换控制器72中设置最大反温度βmax、最小反温度βmin、指示交换间隔的试验次数Ni_tot以及采样的总次数Ns_tot(步骤S50)。副本交换控制器72例如可以从存储单元(未示出)读取这些参数。在初始化时,副本交换控制器72基于最大反温度βmax和最小反温度βmin分别在副本71a1至71aM中设置反温度β1至βM的初始值。
例如,副本交换控制器72在计数器(未示出)中将采样次数Ns设置为0(步骤S51)。副本交换控制器72在另一计数器(未示出)中将试验次数Ni设置为0(步骤S52)。然后执行试验,并且更新副本中的每个副本的状态x和能量E(步骤S53)。副本交换控制器72使试验次数Ni加1(步骤S54),并且确定是否满足Ni≥Ni_tot(步骤S55)。如果不满足Ni≥Ni_tot,则从步骤S53开始重复所述处理。
如果满足Ni≥Ni_tot,则副本交换控制器72将副本的温度(反温度β)以上面描述的交换概率进行交换并且使采样的次数Ns加1(步骤S56)。副本交换控制器72使得输出具有最小温度值T(最大反温度β)的副本的计数值Nf、状态x和偏移值Eoff(步骤S57)。基于所输出的计数值Nf和偏移值Eoff,图1所示的试验次数计算单元18计算期望值<Ntrail>。
此后,复制交换控制器72确定是否满足Ns≥Ns_tot(步骤S58)。如果不满足Ns≥Ns_tot,则从步骤S52开始重复所述处理。
如果满足Ns≥Ns_tot,则副本交换控制器72结束采样操作。
这样的使用副本交换方法的采样设备70的优点在于从局部解的逸出快并且温度值T的优化容易。
接下来将描述采样设备的另一变型例。
图20是示出采样设备的另一变型例的图。
图20所示的采样设备80包括采样处理单元81和期望值计算单元82。
采样处理单元81包括图1所示的采样设备10的每个单元,并且每隔一定试验次数输出期望值<Ntrial>和状态x。
基于期望值<Ntrial>和状态x,期望值计算单元82计算期望基于样本平均值确定的量fn=f(x(i))的期望值,并且输出期望值。函数f(x(i))例如是xi、xi×xj等。期望值可以由下面的表达式(11)表示。
在表达式(11)中,n表示采样次数,M表示采样总次数。此外,τn表示在第n次采样中的期望值<Ntrial>。
由期望值计算单元82执行的处理可以由图1所示的控制单元17执行。
图21是示出由执行期望值计算处理的采样设备执行的操作的示例的流程图。注意,省略了与图10所示的根据第一实施方式的采样设备10的操作的处理相同的处理的说明和描述。
当执行期望值计算处理时,在初始化时,期望值计算单元82将表示表达式(11)中的fnτn之和的变量S和表示表达式(11)中的τn之和的变量TA设置为0(步骤S60)。在期望值计算单元82中设置采样总次数M。将对采样次数n进行计数的计数器(未示出)的值重置为0。
在采样定时,期望值计算单元82加载由采样处理单元81输出的状态x和期望值<Ntrial>(步骤S61),并且计算fn=f(x(i))(步骤S62)。期望值计算单元82通过将fnτn和当前变量S相加来更新变量S(步骤S63),并且通过将τn和当前变量TA相加来更新变量TA(步骤S64)。然后,期望值计算单元82使计数器(未示出)将采样次数n加1(步骤S65),并且确定是否满足n>M(步骤S66)。如果不满足n>M,则期望值计算单元82从步骤S61开始重复所述处理。
如果满足n>M,则期望值计算单元82计算S/TA,输出结果作为由表达式(11)表示的期望值(步骤S67),并结束期望值计算处理。
执行上面描述的期望值计算处理的期望值计算单元82可以使用例如乘法-加法电路、存储单元(诸如寄存器)等来实现。可替选地,期望值计算单元82可以由例如专用电子电路如ASIC或FPGA、处理器如CPU或DSP等来实现。
由于期望值计算处理涉及相对大量的计算,因此当在采样设备80外部执行期望值计算处理时,可能的瓶颈是采样设备80与外部设备之间状态变量x等的输入/输出。然而,通过如上所描述的在采样设备80中执行期望值计算处理有利地克服了这种瓶颈。
以上描述的变型例中的每个变型例可以与根据第一实施方式至第三实施方式的采样设备10、30、40的每个采样设备结合。
尽管上面已经基于实施方式描述了根据本公开内容的采样设备和用于控制采样设备的方法的各方面,但是所述采样设备和用于控制采样设备的方法仅是示例,并且本公开内容不限于上面的描述。
Claims (8)
1.一种采样设备,包括:
状态保存单元,其保存在表示能量的评估函数中包括的多个状态变量的值,并且每隔一定试验次数输出所述多个状态变量的值;
能量变化计算单元,其在响应于所述多个状态变量的值之一的变化而发生状态转换时基于根据更新索引值选择的权重值来计算针对每个状态转换的能量变化值;
第一偏移控制单元,其基于多个能量变化值来确定第一偏移值使得允许所述状态转换的至少之一,输出通过将所述第一偏移值与所述多个能量变化值相加获得的多个第一评估值,并且每隔一定试验次数输出所述第一偏移值;
第一比较单元,其基于将所述多个第一评估值与基于随机数值和指示温度的温度值确定的阈值比较的结果来输出多个第一标志值,每个第一标志值指示是否允许对应的状态转换;
第一标志计数单元,其每隔一定试验次数输出通过对所述多个第一标志值中的指示允许状态转换的第一标志值的数目计数获得的第一计数值;以及
选择单元,其基于所述多个第一标志值或所述多个能量变化值来输出与所述状态转换之一相对应的索引值作为更新索引值。
2.根据权利要求1所述的采样设备,还包括:
试验次数计算单元,其基于由所述第一偏移控制单元输出的所述第一偏移值和由所述第一标志计数单元输出的所述第一计数值来计算在根据马尔可夫链蒙特卡罗方法的状态转换中一个状态保持不变的试验次数的期望值。
3.根据权利要求1或2所述的采样设备,其中,
当所述多个能量变化值中的最小值大于或等于0时,所述第一偏移控制单元将所述最小值确定为所述第一偏移值,并且通过从所述多个能量变化值减去所述最小值来计算所述多个第一评估值。
4.根据权利要求1至3中任一项所述的采样设备,其中,
所述选择单元基于通过将彼此独立的对应的随机数值与相应的第一标志值相加获得的结果之间的大小关系来选择所述多个第一标志值之一。
5.根据权利要求1所述的采样设备,还包括:
能量变化替换单元,其基于所述多个第一标志值输出所述多个能量变化值中的针对被假定为不允许的多个状态转换的多个不允许的能量变化值;
第二偏移控制单元,其基于所述多个不允许的能量变化值来确定与所述第一偏移值不同的第二偏移值使得允许所述多个状态转换中的至少之一,输出与所述多个第一评估值不同并且通过将所述第二偏移值与所述多个不允许的能量变化值相加获得的多个第二评估值,并且每隔一定试验次数输出所述第二偏移值;
第二比较单元,其基于将所述多个第二评估值与所述阈值比较的结果来输出多个第二标志值,所述多个第二标志值与所述多个第一标志值不同并且每个第二标志值指示是否允许所述多个状态转换中的对应一个;
第二标志计数单元,其每隔一定试验次数输出与所述第一计数值不同并且通过对所述多个第二标志值中的指示允许所述状态转换的第二标志值的数目计数获得的第二计数值;以及
计数值校正单元,其基于所述第二计数值、所述第一偏移值和所述第二偏移值来校正所述第一计数值。
6.根据权利要求5所述的采样设备,还包括:
试验次数计算单元,其基于经校正的计数值、所述第一偏移值和所述第二偏移值来计算在根据马尔可夫链蒙特卡罗方法的状态转换中一个状态保持不变的试验次数的期望值。
7.根据权利要求1至6中任一项所述的采样设备,其中,
所述选择单元生成通过将所述多个能量变化值中的小于0的变化值更新为0而获得的多个更新的能量变化值,并且输出多个第三评估值中的与最小的第三评估值相对应的索引值作为所述更新索引值,所述第三评估值通过将基于所述温度值和彼此独立的多个随机数值计算的对应的第二阈值与相应的更新的能量变化值相加来获得。
8.一种用于控制采样设备的方法,所述方法包括:
利用所述采样设备中包括的状态保存单元保存在表示能量的评估函数中包括的多个状态变量的值,并且每隔一定试验次数输出所述多个状态变量的值;
利用所述采样设备中包括的能量变化计算单元在响应于所述多个状态变量的值之一的变化而发生状态转换时基于根据更新索引值选择的权重值来计算针对每个状态转换的能量变化值;
利用所述采样设备中包括的偏移控制单元基于多个能量变化值来确定偏移值使得允许所述状态转换的至少之一,输出通过将所述偏移值与所述多个能量变化值相加获得的多个评估值,并且每隔一定试验次数输出所述偏移值;
利用所述采样设备中包括的比较单元基于将所述多个评估值与基于随机数值和指示温度的温度值确定的阈值比较的结果来输出多个标志值,每个标志值指示是否允许对应的状态转换;
利用所述采样设备中包括的标志计数单元每隔一定试验次数输出通过对所述多个标志值中的指示允许状态转换的标志值的数目计数获得的计数值;以及
利用所述采样设备中包括的选择单元基于所述多个标志值或所述多个能量变化值来输出与所述状态转换之一相对应的索引值作为更新索引值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019031685A JP7273288B2 (ja) | 2019-02-25 | 2019-02-25 | サンプリング装置及びサンプリング装置の制御方法 |
JP2019-031685 | 2019-02-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111611126A true CN111611126A (zh) | 2020-09-01 |
Family
ID=69631421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010107459.7A Pending CN111611126A (zh) | 2019-02-25 | 2020-02-21 | 采样设备和用于控制采样设备的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11334646B2 (zh) |
EP (1) | EP3702975A3 (zh) |
JP (1) | JP7273288B2 (zh) |
CN (1) | CN111611126A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190176A (zh) * | 2021-05-11 | 2021-07-30 | 上海华东汽车信息技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022158585A (ja) | 2021-04-02 | 2022-10-17 | 富士通株式会社 | 最適化プログラム、最適化方法及び最適化装置 |
JP2022174616A (ja) | 2021-05-11 | 2022-11-24 | 富士通株式会社 | プログラム、情報処理方法および情報処理装置 |
JP2024049202A (ja) | 2022-09-28 | 2024-04-09 | 富士通株式会社 | データ処理装置、プログラム及びデータ処理方法 |
US20240176581A1 (en) * | 2022-11-28 | 2024-05-30 | Fujitsu Limited | Data processing apparatus, storage medium, and data processing method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170364477A1 (en) * | 2016-06-17 | 2017-12-21 | Fujitsu Limited | Information processing apparatus, ising device, and information processing apparatus control method |
US20180107172A1 (en) * | 2016-10-14 | 2018-04-19 | Fujitsu Limited | Optimization apparatus and optimization apparatus control method |
JP2018206127A (ja) * | 2017-06-06 | 2018-12-27 | 株式会社日立製作所 | 情報処理装置 |
US20190012409A1 (en) * | 2017-07-05 | 2019-01-10 | Fujitsu Limited | Optimization apparatus and method of controlling the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149866A (ja) * | 1992-11-09 | 1994-05-31 | Ricoh Co Ltd | 解探索装置 |
-
2019
- 2019-02-25 JP JP2019031685A patent/JP7273288B2/ja active Active
-
2020
- 2020-02-17 EP EP20157619.6A patent/EP3702975A3/en active Pending
- 2020-02-20 US US16/795,652 patent/US11334646B2/en active Active
- 2020-02-21 CN CN202010107459.7A patent/CN111611126A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170364477A1 (en) * | 2016-06-17 | 2017-12-21 | Fujitsu Limited | Information processing apparatus, ising device, and information processing apparatus control method |
US20180107172A1 (en) * | 2016-10-14 | 2018-04-19 | Fujitsu Limited | Optimization apparatus and optimization apparatus control method |
JP2018206127A (ja) * | 2017-06-06 | 2018-12-27 | 株式会社日立製作所 | 情報処理装置 |
US20190012409A1 (en) * | 2017-07-05 | 2019-01-10 | Fujitsu Limited | Optimization apparatus and method of controlling the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190176A (zh) * | 2021-05-11 | 2021-07-30 | 上海华东汽车信息技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN113190176B (zh) * | 2021-05-11 | 2023-01-10 | 上海华东汽车信息技术有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2020135727A (ja) | 2020-08-31 |
EP3702975A2 (en) | 2020-09-02 |
US11334646B2 (en) | 2022-05-17 |
EP3702975A3 (en) | 2020-09-30 |
JP7273288B2 (ja) | 2023-05-15 |
US20200272682A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611126A (zh) | 采样设备和用于控制采样设备的方法 | |
US10209683B2 (en) | Optimization apparatus and optimization apparatus control method | |
CN111008696B (zh) | 优化装置和控制优化装置的方法 | |
US10592629B2 (en) | Optimization apparatus and method of controlling the same | |
US20190220732A1 (en) | Optimization apparatus and control method thereof | |
CN111381495B (zh) | 优化装置及优化装置的控制方法 | |
EP3779616A1 (en) | Optimization device and control method of optimization device | |
CN112101512A (zh) | 采样装置和采样方法 | |
CN108052696B (zh) | 利用粒子群算法的三值fprm电路面积与延时优化方法 | |
JP2019016129A (ja) | 最適化装置及び最適化装置の制御方法 | |
CN113168310B (zh) | 用于转换数字的硬件模块 | |
EP3754559A1 (en) | Optimization system and control method for optimization system | |
JP2020187453A (ja) | 最適化装置および最適化装置の制御方法 | |
CN110007371A (zh) | 风速预测方法及装置 | |
JP2020038435A (ja) | 最適化装置及び最適化装置の制御方法 | |
EP3745319A1 (en) | Optimization apparatus and optimization method | |
JP2019194765A (ja) | 最適化装置及び最適化装置の制御方法 | |
CN113128663A (zh) | 优化装置、温度设置方法和温度设置程序 | |
CN113312862B (zh) | 一种基于lfsr的随机电路硬件开销最小化设计方法 | |
KR20160060873A (ko) | 반도체 장치 및 그 동작 방법 | |
JP7206492B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
CN106849955B (zh) | 一种脉冲密度调制方法及脉冲密度值信号转换电路 | |
KR102610186B1 (ko) | 멀티 모델 및 점진적 배치를 이용한 학습률 결정 장치 및 방법 | |
EP1251434A2 (en) | Method and device for learning correlation matrix | |
JP2016133925A (ja) | 評価プログラム、評価装置および評価方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200901 |