[go: up one dir, main page]

CN111814969A - 优化系统和用于优化系统的控制方法 - Google Patents

优化系统和用于优化系统的控制方法 Download PDF

Info

Publication number
CN111814969A
CN111814969A CN202010259143.XA CN202010259143A CN111814969A CN 111814969 A CN111814969 A CN 111814969A CN 202010259143 A CN202010259143 A CN 202010259143A CN 111814969 A CN111814969 A CN 111814969A
Authority
CN
China
Prior art keywords
temperature
value
energy
optimization
optimization device
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
Application number
CN202010259143.XA
Other languages
English (en)
Inventor
米冈昇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN111814969A publication Critical patent/CN111814969A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • CCHEMISTRY; METALLURGY
    • C21METALLURGY OF IRON
    • C21DMODIFYING THE PHYSICAL STRUCTURE OF FERROUS METALS; GENERAL DEVICES FOR HEAT TREATMENT OF FERROUS OR NON-FERROUS METALS OR ALLOYS; MAKING METAL MALLEABLE, e.g. BY DECARBURISATION OR TEMPERING
    • C21D1/00General methods or devices for heat treatment, e.g. annealing, hardening, quenching or tempering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Materials Engineering (AREA)
  • Metallurgy (AREA)
  • Organic Chemistry (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Algebra (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及优化系统和用于优化系统的控制方法。该优化系统包括:优化装置,优化装置执行对基态的搜索并且输出多个局部解;以及信息处理装置,信息处理装置具有初始温度计算单元和温度校正单元,初始温度计算单元基于从指示一个神经元与除该一个神经元以外的多个其他神经元之间的耦接的存在的权重值获取的能量增加的最大值来计算初始温度,温度校正单元基于多个状态变量所对应的能量值的上升值之中的最大上升值来计算校正温度,该多个状态变量是通过针对从优化装置输出的该多个局部解按能量的增序排列的结果而将局部解所对应的状态变量改变1位来获取的。

Description

优化系统和用于优化系统的控制方法
技术领域
本文讨论的实施方式涉及优化系统和用于优化系统的控制方法。
背景技术
作为用于解决冯·诺依曼计算机无法很好地处理的具有许多变量的优化问题的方法,Ising型能量函数(也称为成本函数或目标函数)的优化装置(也称为Ising机器或玻尔兹曼机器)可用。这样的优化装置通过用作为表示磁性物质的自旋行为的模型的Ising模型替换计算目标问题来计算该问题。
例如,优化装置可以通过使用神经网络来建模。在此情况下,Ising模型中包括的多个自旋所对应的多个位中的每个位用作根据另一位与该位之间的相互作用的大小所对应的权重系数(也称为耦接系数)来输出0或1的神经元。优化装置通过诸如模拟退火的概率搜索方法来获取用于获取如上面所描述的能量函数的值(称为能量)的最小值的位的值的组合作为最优解。
在模拟退火中,温度被用作参数(例如,参见日本公开特许公报第5-120252号、国际公开小册子第WO 2014/192153号和日本公开特许公报第2016-51350号)。已经提出了一种通过使用数字电路执行模拟退火来计算用于使能量最小化的位的值的组合的优化装置(例如,参见日本公开特许公报第2018-63626号)。所提出的优化装置通过假设由一次操作发生1位的改变来计算能量改变并且根据能量改变与温度所对应的噪声值之间的比较来确定位改变是否被接受。
发明内容
在要由优化装置计算的问题中,由于可能的能量范围根据该问题而变化,因此不容易确定适当的温度范围。例如,由于温度太高,可能发生过度频繁的状态转变,或者由于温度太低,可能不发生状态转变。这样,当为优化装置设置的温度不适当时,难以收敛到最优解。
根据一个方面,实施方式的目的是提供一种优化系统和用于优化系统的控制方法,使得能够针对要解决的每个问题自动设置适当的温度范围。
根据实施方式的一个方面,一种优化系统包括:优化装置,优化装置执行对基态的搜索并且输出多个局部解;以及信息处理装置,信息处理装置具有初始温度计算单元和温度校正单元,初始温度计算单元基于从指示一个神经元与除该一个神经元以外的多个其他神经元之间的耦接的存在的权重值获取的能量增加的最大值来计算初始温度,温度校正单元基于多个状态变量所对应的能量值的上升值之中的最大上升值来计算校正温度,该多个状态变量是通过针对从优化装置输出的该多个局部解按能量的增序排列的结果而将局部解所对应的状态变量改变1位来获取的。
附图说明
图1是示出根据第一实施方式的优化系统的示例的图;
图2是示出根据第二实施方式的优化系统的示例的图;
图3A和图3B是示出优化装置的温度设置示例的图;
图4A和图4B是示出状态转变示例的图;
图5是示出信息处理装置的功能示例的图;
图6是示出权重矩阵示例的图;
图7是示出局部解示例的图;
图8是示出了位改变与能量改变之间的关系的图;
图9是示出优化系统的操作示例的图;
图10是示出信息处理装置的控制示例的流程图;
图11是示出Tmax校正示例的流程图;
图12是示出Tmax[k]计算示例的流程图;以及
图13是示出其中根据多个局部解计算Tmax的具体示例的图。
具体实施方式
下面将参照附图描述实施方式。
[第一实施方式]
将描述第一实施方式。
图1是示出根据第一实施方式的优化系统的示例的图。
优化系统1具有优化装置10和信息处理装置20。
优化装置10在通过转变要计算的问题而获取的Ising模型中包括的多个自旋所对应的多个状态变量的值的组合(状态)中搜索当能量函数具有最小值时的每个状态变量的值(基态)。状态变量的值也被称为“位”。
Ising型能量函数E(x)例如由以下的表达式(1)定义。
Figure BDA0002438624580000031
右侧的第一项在对于可从所有状态变量选择的两个状态变量的所有组合没有泄漏和交叠的情况下将两个状态变量的值与权重系数的乘积相加。xi是第i个状态变量。xj是第j个状态变量。Wij是表示第i个状态变量与第j个状态变量之间的权重(例如,键强度)的权重值。在此情况下,Wij=Wji并且Wii=0。换言之,例如,权重矩阵W={Wij}是具有对角分量为0的对称矩阵。
右侧的第二项是所有状态变量的偏置值和状态变量的值的总和。bi表示针对第i个状态变量的偏置值。
例如,Ising模型中的自旋“-1”对应于状态变量的值“0”。Ising模型中的自旋“+1”对应于状态变量的值“1”。
在状态变量xi的值变化并达到1-xi的情况下,状态变量xi的增加量可以表示为Δxi=(1-xi)-xi=1-2xi。因此,对于能量函数E(x),自旋反转的能量改变ΔEi(值改变)由表达式(2)表示。
Figure BDA0002438624580000032
hi被称为局部场并且由表达式(3)表示。
Figure BDA0002438624580000041
在优化装置10中,每个状态变量的值由被称为“神经元”的计算处理电路的单元保持。例如,优化装置10具有N个神经元(N是等于或高于2的整数),并且N个状态变量的值由N个神经元保持。例如,神经元之间的耦接关系由具有神经元作为节点并且耦接关系作为边的图形11表示。例如。表示某个神经元的节点11a通过边与表示具有耦接关系的另一神经元的节点耦接。某个神经元可以与其他神经元(所有键)具有耦接关系或者可以与其他部分神经元具有耦接关系。矩阵W表示图形11所对应的神经元之间的(包括边的权重)耦接关系。可以说Wij是指示一个神经元(第i个神经元)与除该一个神经元以外的多个其他神经元(除第i个神经元以外的第j个神经元)之间的耦接的存在的权重值。
优化装置10执行对基态的搜索并且输出多个局部解。
可以考虑优化装置10使用例如最速下降法,以用于对使能量E最小化的基态的搜索。然而,在最速下降法中,在处理一次落入局部解的情况下,搜索可能无法脱离局部解。因此,优化装置10使用Metropolis方法或Gibbs方法来确定是否要接受状态变量的值的改变。换言之,例如,在用于搜索从一个状态到具有比该一个状态的能量低的能量的另一状态的转变的邻居搜索中,优化装置10随机地不仅接受向较低能量的状态的转变,而且接受向较高能量的状态的转变。例如,根据Metropolis方法,能量改变ΔE的状态变量的值的改变被接受的概率(转变接受概率)A由式(4)表示。
Figure BDA0002438624580000042
通过对表达式(4)中的A=exp(-ΔE/T)取两侧的自然对数并使其变形,获得表达式(5)。
ln(A)×T=-ΔE (5)
因此,如果对于均匀随机数u(0<u≤1)能量改变ΔE满足表达式(6),则优化装置10接受相应状态变量的值的改变。
ln(u)×T<-ΔE (6)
信息处理装置20在优化装置10中设置用于控制优化装置10的操作的参数。例如,在模拟退火(SA)或作为其应用的复制交换方法中,在具有不同温度或具有不同初始状态的试验中的每个试验中,多次执行更新多个状态变量之一的值的更新处理。例如,要由信息处理装置20在优化装置10中设置的参数包括优化装置10的每次激活的更新处理的迭代次数m、更新处理的迭代总数M(M>m)、温度、权重矩阵W和偏置值b={bi}。温度被指定具有最高温度Tmax和最低温度Tmin。信息处理装置20在优化装置10中设置描述温度如何从最高温度Tmax降低至最低温度Tmin的温度的计划。
信息处理装置20具有存储单元21、初始温度计算单元22和温度校正单元23。
存储单元21可以是诸如随机存取存储器(RAM)的易失性存储设备或者诸如硬盘驱动器(HDD)或闪存的非易失性存储设备。初始温度计算单元22和温度校正单元23可以由中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等实现。
存储单元21存储要输入至优化装置10的权重矩阵W和偏置值b(图1未示出偏置值)。根据问题确定权重矩阵W和偏置值b。
初始温度计算单元22基于从权重值获取的能量增加的最大值来计算初始温度T1处的最高温度Tmax。初始温度计算单元22基于能量分辨率(或者可以在优化装置10中计算的能量增加的最小值)来计算初始温度T1处的最低温度Tmin。
首先,将描述由初始温度计算单元22计算最低温度Tmin的方法。
初始温度计算单元22基于表达式(5)确定最低温度Tmin。例如,初始温度计算单元22在能量分辨率为1时(或在E为整数值时)计算最低温度Tmin作为用于获取具有ΔE=1的转变接受概率A=a1的温度。转变接受概率A=a1预先被提供给初始温度计算单元22(a1也可以任意设置)。作为示例,a1=0.001,并且在此情况下,Tmin=0.145左右。然而,最低温度Tmin可以预先存储在存储单元21中。在此情况下,初始温度计算单元22可以使用预先存储在存储单元21中的值作为最低温度Tmin。
接下来,将描述用于通过初始温度计算单元22计算最高温度Tmax的方法。
初始温度计算单元22基于能量改变ΔE的可能的最大值max(ΔE)计算最高温度Tmax。例如,初始温度计算单元22调整最高温度Tmax,使得在最大值max(ΔE)是可能的情况下获得转变接受概率A=a2。转变接受概率A=a2预先被提供给初始温度计算单元22(a2也可以任意设置)。
更具体地,例如,初始温度计算单元22首先以下面的方式计算能量增加的最大值max(ΔE)。根据表达式(2)和(3),max(ΔE)由表达式(7)表示。
max(ΔE)=max(hi) (7)
max(hi)指示局部场hi的最大值。对于局部场hi,权重值Wij通常比偏置值bi更占优势。(例如,|Wij|通常大于|bi|)。在权重值Wij比偏置值bi更占优势的情况下,max(hi)由表达式(8)表示。
Figure BDA0002438624580000061
表达式(8)的右侧表示权重矩阵W的行方向上的权重值的绝对值和的平均值(其中,因为W是对称矩阵,所以其可以被认为是列方向上的权重值的绝对值和的平均值)。基于表达式(2)和(3),可以将平均值视为可能的hi的最大值的位平均值(状态变量单元的平均值)。
根据表达式(5)、(7)和(8)获得表达式(9)。初始温度计算单元22通过使用表达式(9)获取初始温度下的最高温度Tmax。例如,该值可以是A=a2=0.25。
Figure BDA0002438624580000062
考虑到除了权重值Wij以外的偏置值bi,初始温度计算单元22可以获取初始温度下的最高温度Tmax。在此情况下,替代表达式(7)和(8),max(ΔE)由表达式(10)表示。
Figure BDA0002438624580000063
根据表达式(5)和(10)获取表达式(11)。初始温度计算单元22可以通过使用表达式(11)获取最高温度Tmax。
Figure BDA0002438624580000071
以此方式,初始温度计算单元22可以基于从偏置值和权重值获取的能量增加的最大值来计算初始温度(Tmax)。
初始温度计算单元22将以上面描述的方式获取的最高温度Tmax和最低温度Tmin输入至优化装置10作为初始温度T1。
信息处理装置20激活优化装置10并且使优化装置10基于输入参数执行对基态的搜索。信息处理装置20获得作为由优化装置10执行这m次的更新处理的结果而从优化装置10输出的多个局部解。作为执行这m次的更新处理的结果而获取的多个局部解由优化装置10保持(所保持的局部解用于下一次激活)。在优化装置10每次激活仅输出一个局部解的情况下,信息处理装置20可以多次激活优化装置10并且获取多个局部解。
温度校正单元23基于从优化装置10输出的多个局部解在优化装置10的下一次激活之前校正要输入至优化装置10的温度。由温度校正单元23校正的温度是最高温度Tmax。温度校正单元23将最低温度Tmin限定为一直固定的(因为能量分辨率是固定的)。
温度校正单元23基于针对多个局部解所对应的能量按增序排列的结果而在局部解所对应的状态变量之间改变了1位的多个状态变量所对应的能量值的上升值之中的最大上升值来计算校正温度。更具体地,例如,温度校正单元23获取在局部解所对应的状态变量之间从具有大能量的局部解向具有小能量的局部解改变1位的过程中获取的多个状态变量所对应的能量值的上升值。温度校正单元23基于能量值的上升值中的最大上升值来计算校正温度。
例如,温度校正单元23从优化装置10获得局部解X1、X2、...。通过使用表达式(1)计算局部解中的每个局部解所对应的能量E(X)。温度校正单元23可以从优化装置10获得局部解和局部解所对应的能量。局部解X(状态X)由N个状态变量(或N位)的值表示。例如,假设对于局部解X1、X2、...,E(X1)比E(X2)大。换言之,例如,按照局部解X1和X2所对应的能量的增序来排列X1和X2,则局部解被排列为X2、X1。
作为示例,假设局部解X1与局部解X2之间的不同位的数目是5。来自局部解X2的局部解X1的不同位的位集合由X1'表示。来自局部解X1的局部解X2的不同位的位集合由X2'表示。X1'=“00110”,X2'=“11001”,位集合X1'和X2'中的处于相同数位的位也是局部解X1和X2中的处于相同数位的位。
序列30示例性地示出了通过在局部解X1和X2所对应的状态变量之间改变1位而获取的多个状态变量中的每个状态变量所对应的能量值的上升值中的最大上升值Dmax。例如,温度校正单元23通过改变局部解X1中与局部解X2相差1位的位来模拟从局部解X1至局部解X2的转变。对于每个位改变,温度校正单元23根据式(2)、和式(3)计算当位改变1位时获得的能量改变ΔE。
在序列30的示例中,由于局部解X1与局部解X2之间的不同位数是5,因此温度校正单元23执行五个位改变并在该过程中获取五个ΔE。在此情况下,温度校正单元23可以通过使用贪婪算法或以随机方式来选择接下来要改变的位。根据贪婪算法,温度校正单元23在候选位之中选择具有最小ΔE的位。
例如,温度校正单元23从X1'=“00110”依次改变1位以获取位集合“01110”、“01100”、“11100”、“11101”、X2'=“11001”。在这些位集合的表示法中,省略了在局部解X1和X2中共同的位的表示法。温度校正单元23计算针对每个位改变的ΔE。假定在示例性示出的位改变中从“11100”至“11101”的改变的ΔE是序列30中的最大上升值Dmax。对于序列30,通过限定max(ΔE)=Dmax,温度校正单元23通过使用通过对表达式(5)进行变形而获得的表达式(12)来计算最高温度Tmax。
Figure BDA0002438624580000081
为温度校正单元23预先确定了接受能量的上升值Dmax的转变的转变接受概率A=a3(其中a3可以任意设置)。作为示例,a3=0.36785(其中Tmax具有基本上等于Dmax的值)。在Tmax等于或小于0的情况下(或Dmax≤0)时,温度校正单元23使用先前的Tmax的值作为最高温度Tmax。
在存在两个局部解X1和X2的情况下,温度校正单元23可以将针对局部解X1和X2获取的最高温度Tmax确定为校正后的最高温度Tmax。另一方面,在局部解的数目为三个或更多个的情况下,对于第一局部解和第一局部解之后的具有大能量的第二局部解,温度校正单元23以相同的方式模拟从第二局部解至第一局部解的转变并且获取转变过程中的最大ΔE(最大能量上升值)。温度校正单元23计算从第二局部解向第一局部解的转变的最高温度Tmax的候选值。温度校正单元23将针对两个局部解的每一对而获取的最高温度Tmax的候选值中的最高值确定为校正后的最高温度Tmax。温度校正单元23也可以将针对两个局部解的每一对而获取的最高温度Tmax的候选值中的平均值确定为校正后的最高温度Tmax。
温度校正单元23将以上面描述的方式获取的最高温度Tmax和最低温度Tmin输入至优化装置10作为校正温度T2。因为Tmin不变,所以温度校正单元23可以仅将Tmax作为校正温度T2输入至优化装置10。
信息处理装置20激活优化装置10并且使优化装置10基于输入参数执行对基态的搜索。信息处理装置20可以获得作为优化装置10进行的接下来的m(或m'(≠m))次迭代的结果而从优化装置10输出的多个局部解,并且以上面描述的方式执行温度校正。信息处理装置20可以使优化装置10在执行了预定数目的温度校正之后在不执行温度校正的情况下继续搜索基态。在由优化装置10完成总迭代次数为M的更新处理的情况下,信息处理装置20从优化装置10获得具有最小能量的状态并输出优化问题的解。
在优化系统1中,由初始温度计算单元22基于从指示一个神经元与除该一个神经元以外的多个其他神经元之间的耦接的存在的权重值获取的能量增加的最大值来计算初始温度。通过优化装置10,执行对基态的搜索,并且输出多个局部解。由温度校正单元23基于针对从优化装置10输出的多个局部解所对应的能量按增序排列的结果而在局部解所对应的状态变量之间改变了1位的多个状态变量所对应的能量值的上升值中的最大上升值来计算校正温度。
因此,可以针对要解决的每个问题自动地设置适当的温度范围。在要由优化装置10计算的问题中,由于可能的能量范围根据该问题而变化,因此不容易确定适当的温度范围。例如,由于温度太高,可能发生过度频繁的状态转变,或者由于温度太低,可能不发生状态转变。这样,当为优化装置10设置的温度范围不适当时,难以收敛到最优解。在实际解决问题之前,每个问题的可能能量的范围是未知的。
另一方面,在优化系统1中,由信息处理装置20自动地设置针对每个问题的适当温度范围。因此,可能不执行用户为解决新问题而进行的参数调整工作。当给定适当的温度时,可以抑制“状态转变过于频繁地发生”或“状态转变根本不发生”的情况,并且可以促进收敛至最优解。通过设置适当地促使信息处理装置20脱离局部解的温度参数,可以减少优化装置10进行的计算的执行时间。
[第二实施方式]
接下来,将描述第二实施方式。
图2是示出根据第二实施方式的优化系统的示例的图。
优化系统2具有优化装置40和信息处理装置50。
优化装置40通过使用SA方法执行对优化问题的解的搜索。优化装置40具有总体控制单元41、输入单元42、存储器43a、43b、43c、43d、43e、43f和43g以及数据流控制单元44。优化装置40还具有先进/先出(FIFO)存储器(下文中,FIFO)45a、45b和45c、算术单元46、更新目标选择单元47、随机数生成单元48和输出单元49。例如,优化装置40可以由1芯片半导体集成电路来实现。
优化装置40耦接至信息处理装置50。信息处理装置50具有CPU 51、存储器52和总线53。CPU 51和存储器52耦接至总线53。优化装置40耦接至总线53。
CPU 51执行读出被存储在存储器52中的数据并且经由总线53将该数据提供给优化装置40的处理以及经由总线53将从优化装置40输出的数据存储至存储器52的处理。CPU51执行被存储在存储器52中的程序。
存储器52存储偏置和多个权重系数,这些系数取决于要计算的优化问题而为固定数。存储器52存储诸如状态、能量、最小能量和用于促进状态转变的偏移的初始值之类的数据。例如,将偏移添加至表达式(6)的右侧(-ΔE)以确定表达式(6)。存储器52是易失性存储设备例如同步动态随机存取存储器(SDRAM),或者是非易失性存储设备例如闪存、电可擦除可编程只读存储器(EEPROM)或HDD。
在优化装置40中,用于搜索多个状态的基态的算术运算(多个试验)由总体控制单元41、数据流控制单元44、算术单元46和更新目标选择单元47并行执行。例如,数据流控制单元44、算术单元46和更新目标选择单元47中的每一个具有多个电路单元和设置在电路单元之间的寄存器并且通过使用多个电路单元和寄存器来对多个状态(或每个试验)执行算术运算的流水线处理。关于数据流控制单元44、算术单元46和更新目标选择单元47的配置示例,可以参考日本专利第6465223号。
在优化装置40中,通过包括数据流控制单元44、算术单元46和更新目标选择单元47的数字电路来实现选择N个神经元和在N个神经元之中保持要被更新的位(状态变量)的神经元的配置。优化装置40实现N个神经元的多个集合并且通过执行流水线处理来并行地对该多个集合执行多个试验。
在优化装置40中,总体控制单元41控制优化装置40的激活和终止。总体控制单元41为数据流控制单元44指定优化装置40的每一次激活的迭代次数m。
输入单元42接收从存储器52读出的数据并且将该数据提供给数据流控制单元44。
存储器43a至43g存储背景信息。例如,七个存储器43a至43g中的每个存储器存储一种类型的背景信息。存储器43a存储每次试验中的当前状态,并且存储器43b存储每次试验中的当前能量。存储器43c存储每次试验中的当前最小能量。存储器43d存储每次试验中的当前最小能量的状态。存储器43e存储每次试验中的当前温度。存储器43f存储每个试验中的当前偏移。存储器43g存储每次试验中的电流偏置(局部场)。
例如,存储器43a至43g中的每个存储器是诸如RAM的易失性存储设备或诸如闪存的非易失性存储设备。
代替存储器43a至43g,可以使用一个存储器。
数据流控制单元44基于自旋信息和针对由存储器43a至43g保持的背景信息要更新的能量的改变值来对每个试验中的位重复更新控制。
FIFO 45a将从数据流控制单元44输出的数据保持预定数目的时钟周期,然后输出该数据。FIFO 45b将从运算单元46输出的数据保持预定数目的时钟周期,然后输出该数据。FIFO 45c将从更新目标选择单元47输出的数据保持预定数目的时钟周期,然后输出该数据。时钟周期的预定数目取决于FIFO 45a、FIFO 45b和FIFO 45c的条目数目(可称为“深度”)。
FIFO 45a至FIFO 45c可以具有彼此不同数目的条目。可以省略FIFO 45a至FIFO45c中的一个、两个或全部。
运算单元46例如基于由随机数生成单元48生成的均匀随机数u(0<u≤1)、权重系数、自旋信息、以及通过更新控制更新后的当前状态和温度T,按照Metropolis方法使用式(6)来计算多个能量的改变值的候选。满足表达式(6)的ΔE是能量的改变值的候选。自旋信息是关于要被更新的位的信息。
更新目标选择单元47基于由随机数生成单元48生成的随机数从由算术单元46计算的多个能量的改变值的候选中选择要更新的能量的一个改变值。
随机数生成单元48生成要提供给算术单元46和更新目标选择单元47的随机数。随机数生成单元48可以基于不同的种子生成多个随机数。随机数生成单元48可以由例如线性反馈移位寄存器(LFSR)来实现。
输出单元49将由数据流控制单元44生成的数据输出至优化装置40的外部设备(例如存储器52)。
优化装置40例如通过应用副本交换方法来并行处理特定优化问题的n个状态。根据副本交换方法,准备具有不同温度的多个副本,并且通过固定副本处的温度,通过与SA相同的操作来更新状态。在状态被更新预定次数之后,根据副本之间的能量差和温度差在副本之间交换状态,使得促进脱离局部解。优化装置40并行处理n个副本,使得优化装置40的每次激活都输出n个局部解。
图3A和图3B是示出优化装置的温度设置示例的图。
CPU 51确定最高温度Tmax和最低温度Tmin作为在优化装置40中设置的温度范围。CPU 51在优化装置40中设置温度如何从最高温度Tmax降低至最低温度Tmin(温度计划)。
图3A示出了根据SA的温度设置示例的图形61。图形61具有指示位状态更新的数目的横轴。曲线图61具有指示温度的纵轴。例如,根据SA,Tr+1=Tr×衰减(r=1,2,...)被定义为位状态更新的数目r。例如,衰减是实数,其中0<衰减<1,并且根据Tmax和Tmin以及位状态更新的数目r来计算。
图3B示出了根据副本交换方法的温度设置示例的图形62。图形62具有指示位状态更新的数目的横轴。曲线图62具有指示温度的纵轴。曲线图62示出其中副本的数目等于8的示例。根据副本交换方法,单独指定Tmax与Tmin之间的温度,或者指定温度之间的间隔(例如相等的差或相等的比率)。以此方式,在副本更换方法中,在通过固定某个副本的温度来将状态更新预定次数之后,根据副本之间的能量差和温度差来互换副本的状态。然而,代替状态,可以互换温度。
图4A和图4B是示出状态转变示例的图。
在要由优化装置40计算的问题中,由于可能的能量范围根据该问题而变化,因此不容易确定适当的温度范围。
图4A示出了在温度过高的情况下的状态转变示例的图形71。图形71具有指示状态X的横轴。图形71具有指示能量E(X)的纵轴。在温度T过高的情况下,由于取决于温度T的热噪声(-In(u)×T),因此如表达式(6)中那样频繁地发生状态转变。
图4B示出了在温度过低的情况下的状态转变示例的图形72。图形72具有指示状态X的横轴。图形72具有指示能量E(X)的纵轴。在温度T过低的情况下,由于依赖于温度T的热噪声,几乎不发生如表达式(6)中的状态转变。
以此方式,在为优化装置40设置的温度范围不适当的情况下,难以收敛至最优解。在实际解决问题之前,每个问题的可能能量的范围是未知的。因此,信息处理装置50提供了使得能够针对要解决的每个问题在优化装置40中适当地设置要设置的温度的功能。
图5是示出信息处理装置的功能示例的图。
CPU 51执行被存储在存储器52中的程序,以实现控制单元511、初始温度计算单元512、温度校正单元513和选择器514的功能。控制单元511、初始温度计算单元512、温度校正单元513和选择器514可以由诸如ASIC或FPGA的硬件来实现。
控制单元511控制优化装置40的激活和终止。控制单元511除以优化装置40的迭代总数M并且多次激活优化装置40。优化装置40的每一次激活的迭代次数是M。控制单元511控制初始温度计算单元512和温度校正单元513对最优化装置40的参数的设置。
初始温度计算单元512在针对特定优化问题第一次激活优化装置40之前读出被存储在存储器52中的权重矩阵W和偏置值b。初始温度计算单元512基于权重矩阵W和偏置值b来计算初始温度Ts={Tmax,Tmin}。例如,在能量分辨率为1(其中能量为整数)的情况下,初始温度计算单元512例如通过使用表达式(5)获取Tmin=0.145作为ΔE=1处的转变接受概率A为0.001时的Tmin。
在权重矩阵W比偏置值b更占优势的情况下,初始温度计算单元512通过使用表达式(8)和(9)来计算Tmax。可替选地,在考虑到除了权重矩阵W以外的偏置值b的情况下,初始温度计算单元512使用式(10)、(11)计算Tmax。
以此方式,初始温度计算单元512基于根据权重矩阵W和偏置值b计算的状态中的随着位改变的能量改变的最大值来计算初始温度Ts处的最高温度Tmax,使得状态变量(位)的改变以其中能量增加为最大值的第一概率来被接受。预先向初始温度计算单元512给定不过度接受状态变量的改变并且不过度限制状态变量的改变的适当值(在一个示例中为0.25)作为第一概率(式(9)和(11)中的A)。
初始温度计算单元512将权重矩阵W、偏置值b和迭代次数m输入至优化装置40。初始温度计算单元512将初始温度Ts={Tmax,Tmin}提供给选择器514。
温度校正单元513在针对优化问题第二次激活或后续激活优化装置40之前校正要在优化装置40中设置的温度。温度校正单元513直接将初始温度计算单元512计算出的Tmin作为最低温度Tmin。
另一方面,温度校正单元513以如下方式计算校正后的最高温度作为最高温度Tmax。温度校正单元513获得从最优化装置40输出的n个局部解。温度校正单元513可以获得来自优化装置40的局部解X所对应的能量E或者可以通过使用表达式(1)来计算局部解X所对应的能量E。温度校正单元513关注局部解之间的位差异,使一个局部解离另一局部解更近1位并且计算1位的转变的最大能量上升量(能量值的最大上升值)。温度校正单元513根据计算出的最大能量上升量,通过使用式(12)求出校正后的最高温度Tmax。
以此方式,温度校正单元513基于通过从一个局部解向另一局部解转变1位而获得的能量值的最大上升值来计算校正后的温度(校正温度)Ts处的最高温度Tmax,使得状态变量(位)的改变以其中能量的上升值为最大上升值的第二概率来被接受。预先向温度校正单元513给定不过度接受状态变量的改变并且不过度限制状态变量的改变的适当值(在一个示例中为0.36785)作为第二概率(式(12)中的A)。第二概率可以与第一概率相同或与第一概率不同。
温度校正单元513将校正后的温度(校正温度)Ts={Tmax,Tmin}提供给选择器514。
在针对特定优化问题第一次激活优化装置40的情况下,选择器514将从初始温度计算单元512提供的温度(初始温度)Ts输入至优化装置40。在针对特定优化问题第二次激活或后续时间激活优化装置40的情况下,选择器514将从温度校正单元513提供的温度(校正温度)Ts输入至优化装置40。因此,要在优化装置40中设置的温度范围在第一次激活优化装置40的情况与第二次激活或随后时间激活优化装置40的情况之间改变。
将给予对初始温度计算单元512使用的表达式(8)的右侧的值(∑ij|Wij|)/N的补充说明。
图6是示出权重矩阵示例的图。
权重矩阵W={Wij}是具有对角分量为0的对称矩阵。权重矩阵W是N×N矩阵,其中指示状态的位数等于N。正方形81表示权重矩阵W。i=0、i=1、...、i=N-1表示行数。
(∑ij|Wij|)/N表示行方向上的权重值的绝对值和的平均值。该平均值可以被认为是基于表达式(2)和(3)中表示的ΔE的公式的可能hi的最大值的位平均值。因为权重矩阵W是对称矩阵,(∑ij|Wij|)/N可以被认为是列方向上的权重值的绝对值和的平均值。
接下来,将描述在计算校正温度时由温度校正单元513获取的局部解的示例。
图7是示出局部解示例的图。
温度校正单元513从优化装置40获得n个局部解。例如,温度校正单元513可以获得从优化装置40获得的局部解中的上n个较好解(具有较低能量的解)。
温度校正单元513按能量的增序排列N个局部解,并且选择每一个不同的位并且将该位的状态在两个相邻局部解之间从具有较高能量的局部解改变为具有较低能量的局部解。例如,图形91示出了状态X与能量E(X)之间的关系。图形91具有指示状态X的横轴。图形91具有指示能量E(X)的纵轴。在n个局部解按能量的增序排列的情况下,局部解Xa和Xb是两个相邻的局部解。假定E(Xa)>E(Xb)。
图8是示出了位改变与能量改变之间的关系的图。
图形92示出了局部解Xa和Xb的不同位改变与能量改变之间的关系。图形92具有指示状态X的横轴。图形92具有指示能量E(X)的纵轴。假设局部解Xa与本地解Xb之间的不同位的数目是9。本地解Xb中的与本地解Xa不同的位的位集合由Xa'表示。本地解Xa中的与本地解Xb不同位的位集合由Xb'表示。Xa'=“001101110”,Xb'=“110010001”,位集合Xa'和Xb'中的相同数位处的位也是局部解Xa和Xb中的相同数位处的位。
由于局部解Xa与Xb之间的不同位数是9,因此温度校正单元513执行9个位改变并且在该处理中获取9ΔE。在此情况下,温度校正单元513可以通过使用贪婪算法或以随机方式选择接下来要改变的位。根据贪婪算法,温度校正单元513在要改变1位的候选位(状态变量)之中选择其中能量值的上升值ΔE为最小的位。例如,当在所有候选位中ΔE都为正时,温度校正单元513选择具有最低能量上升值的位。因为在搜索基态时,能量改变较小的状态优先于能量改变较大的状态被选为转变目的地,所以与随机选择要改变的位相比,可以通过使用贪婪算法来适当地模拟局部解之间的转变。
例如,温度校正单元513从Xa'=“001101110”依次改变1位,以获得“011101110”、“011111110”、“010111110”、“110111110”、“110011110”、“110011111”、“110011101”、“110010101”、Xb'=“110010001”的位集合。在这些位集合的表示法中,省略了本地解Xa和Xb中共同的位的表示法。
温度校正单元513计算每个位改变的ΔE。假设在示例性示出的位改变中从“110011111”至“110011101”的改变的ΔE是最大值Dmax。通过限定max(ΔE)=Dmax,温度校正单元513使用式(12)计算局部解Xa和Xb的最高温度Tmax的候选值。例如,当以A=0.36785的转变接受概率接受能量上升值Dmax的转变时,Tmax具有基本上等于Dmax的值。
温度校正单元513还以相同的方式为在局部解按它们的能量的增序排列时彼此相邻的其他局部解的集合计算最高温度Tmax的候选值。温度校正单元513将针对在按它们的能量的增序排列时彼此相邻的每一对局部解计算出的最高温度Tmax的候选值中的最大值确定为校正后的最高温度Tmax。在Tmax等于或小于0的情况下,温度校正单元513使用先前的Tmax的值作为最高温度Tmax。
图9是示出优化系统的操作示例的图。
(S1)CPU 51计算初始温度Ts={Tmax,Tmin}。CPU 51在优化装置40中设置初始温度Ts。CPU 51激活优化装置40。
(S2)优化装置40通过使用输入至优化装置40中的参数来执行对基态的搜索并且输出多个局部解。优化装置40保持作为步骤S2的结果而获取的中途状态(并且当优化装置40下次被激活时从中途状态执行对基态的搜索)。优化装置40结束其操作。
(S3)CPU 51获得从优化装置40输出的多个局部解(X,E)。CPU 51校正最高温度Tmax并且在优化装置40中设置校正后的温度(校正温度)Ts。如上面所描述的,在步骤S1中计算出的值被用于最低温度Tmin。CPU 51激活优化装置40。
(S4)优化装置40通过使用输入至优化装置40中的参数来执行对基态的搜索并且输出多个局部解。优化装置40保持作为步骤S4的结果而获取的中途状态。优化装置40结束其操作。
(S5)CPU 51获得从优化装置40输出的多个局部解(X,E)。CPU 51校正最高温度Tmax并且在优化装置40中设置校正后的温度(校正温度)Ts。如上面所描述的,在步骤S1中计算出的值被用于最低温度Tmin。CPU 51激活优化装置40。
(S6)优化装置40通过使用输入至优化装置40中的参数来执行对基态的搜索并且输出多个局部解。优化装置40保持作为步骤S6的结果而获取的中途状态。优化装置40结束其操作。
(S7)CPU 51获得从优化装置40输出的多个局部解(X,E)。在从优化装置40获得的局部解中,CPU 51输出最小能量所对应的解作为优化问题的解。
在步骤S2、S4和S6的每个步骤中的迭代次数是m。然而,在步骤S2、S4和S6中的迭代次数可以彼此不同。CPU 51可以针对优化装置40的每次激活来执行温度校正。可替选地,CPU 51可以在总迭代次数M的较早阶段中对优化装置40的每次激活执行温度校正,但是可以在总迭代次数M的较晚阶段中不执行温度校正。
图10是示出信息处理装置的控制示例的流程图。
(S10)控制单元511将0代入迭代计数器it(it=0)。
(S11)初始温度计算单元512在优化装置40中设置该优化问题所对应的每一次激活的权重矩阵W、偏置值b和迭代次数m。
(S12)初始温度计算单元512基于权重矩阵W和偏置值b通过使用表达式(5)和(11)(或表达式(9))来计算初始温度Ts=(Tmax,Tmin)。
(S13)选择器514在优化装置40中设置温度Ts。更具体地,例如,当针对该优化问题第一次激活优化装置40时,选择器514在优化装置40中设置从初始温度计算单元512提供的初始温度Ts。当针对该优化问题第二次激活或随后时间激活优化装置40时,选择器514在优化装置40中设置从温度校正单元513提供的校正温度Ts。
(S14)控制单元511激活优化装置40。
(S15)控制单元511等待由优化装置40进行的算术运算的结束。
(S16)温度校正单元513从优化装置40获得n个局部解(X,E)。
(S17)温度校正单元513执行Tmax校正的处理。Tmax校正的细节将在下面描述。
(S18)控制单元511将m添加至迭代计数器it(it=it+m)。
(S19)控制单元511确定迭代计数器it是否>M。如果it>M,则处理结束。在处理结束的情况下,控制单元511从优化装置40获得优化问题的解。如果it≤M,则处理移动至步骤S13。当第二次或随后执行步骤S13时,要在优化装置40中设置的温度是校正后的温度(校正温度)Ts。
如步骤S13至步骤S19中所执行的,温度校正单元513可以通过使用先前的校正温度、基于从优化装置40输出的多个局部解来计算当前的校正温度。通过以此方式重复温度校正,可以在优化装置40中设置更适当的温度。
图11是示出Tmax校正示例的流程图。
Tmax校正的处理对应于步骤S17。
(S20)温度校正单元513从优化装置40获得n个局部解。
(S21)温度校正单元513按照局部解所对应的能量的增序对n个局部解进行排序。
(S22)温度校正单元513将k(k=0)代入0。k是用于标识局部解的标识号。k=0、1、2、...,并且随着k的数字增加,具有标识号的局部解的能量增加。
(S23)温度校正单元513选择局部解[k]和局部解[k+1]。
(S24)温度校正单元513执行针对局部解[k]和局部解[k+1]的Tmax[k]计算。Tmax[k]计算的细节将在下面描述。最高温度候选Tmax[k]表示最高温度Tmax的第k个候选值。
(S25)温度校正单元513使k(k=k+1)增加。
(S26)温度校正单元513确定k是否等于n-1(k==n-1)。如果k等于n-1,则处理移动至步骤S27。如果k不等于n-1,则处理移动至步骤S23。
(S27)温度校正单元513计算最高温度Tmax=max(Tmax[k])(k=0、1、...、n-2)。max(Tmax[k])是Tmax[0]、Tmax[1]、...、Tmax[n-2]中的最高值。Tmax校正结束。
如果在步骤S27中Tmax≤0,则温度校正单元513使用先前的Tmax(在此情况下,可以认为未执行校正)。
图12是示出Tmax[k]计算示例的流程图。
Tmax[k]计算的处理对应于步骤S24。
(S30)温度校正单元513定义解C=局部解[k+1]。
(S31)温度校正单元513定义Dmax=0。
(S32)温度校正单元513提取在解C与局部解[k]之间不同的位集合S。
(S33)温度校正单元513使用式(2)和式(3)计算属于解C中的集合S的位的ΔE。温度校正单元513针对属于解C中的集合S的每个位计算ΔE。
(S34)温度校正单元513选择具有最小ΔE的位s。例如,在属于集合S的所有位都具有正ΔE的情况下,温度校正单元513选择具有最低能量上升的位s。温度校正单元513例如也可以代替根据贪婪算法来选择位s,而是从集合S中以随机的方式选择位s。温度校正单元513定义D=ΔE[s]。ΔE[s]表示针对解C中的位s的反转的能量改变。
(S35)温度校正单元513更新D的最大值Dmax。换言之,例如,温度校正单元513定义Dmax=max(D,Dmax)。max(D,Dmax)表示D和电流Dmax中较大的一个。
(S36)温度校正单元513将解C中的位s反转并且将位s从集合S中排除。
(S37)温度校正单元513确定集合S是否为空集合(或S={})。如果集合S是空集合,则处理移动至步骤S38。如果集合S不是空集合,则处理移动至步骤S33。当在步骤S36中反转解C中的位s时,局部场hi改变。因此,在选择位s之前,在步骤S33中再次计算ΔE。
(S38)温度校正单元513计算最高温度候选Tmax[k]=Dmax/-ln(A)。Tmax[k]计算结束。
图13是示出了其中根据多个局部解计算Tmax的具体示例的图。
图13示出了其中温度校正单元513针对五个局部解[0]至[4]计算Tmax的示例。在局部解[0]至[4]中,随着标识号增加,局部解所对应的能量增加。
温度校正单元513对按能量的增序而相邻排列的一对局部解执行图12中所示的Tmax[k]计算。换言之,例如,对于局部解[0]至[4]执行四次图11中的步骤S24。步骤S24a对应于对局部解[0]和局部解[1]进行的Tmax[0]计算的处理。步骤S24b对应于对局部解[1]和局部解[2]进行的Tmax[1]计算的处理。步骤S24c对应于对局部解[2]和局部解[3]进行的Tmax[2]计算的处理。步骤S24d对应于对局部解[3]和局部解[4]进行的Tmax[3]计算的处理。
温度校正单元513对最高温度候选Tmax[0]至Tmax[3]执行图11中的步骤S27。换言之,例如,温度校正单元513计算最高温度候选Tmax[0]至Tmax[3]中的最大值并且将计算的最大值确定为校正后的最高温度Tmax。温度校正单元513可以计算最高温度候选Tmax[0]至Tmax[3]的平均值并且将计算的平均值确定为校正后的最高温度Tmax。
在根据第二实施方式的示例中,优化装置40在其每一次激活时输出多个局部解。另一方面,在优化装置40每次激活仅输出一个局部解的情况下,信息处理装置50可以多次激活优化装置40,获取多个局部解,并且基于多个局部解执行温度校正。
以此方式,信息处理装置20根据神经元之间的权重值从最大能量上升值获取初始温度。信息处理装置20根据在用于使一个局部解接近另一局部解1位的处理中获取的最大能量上升值来获取校正温度,该最大能量上升值是从优化装置40获得的。
利用根据第二实施方式的优化系统2,可以为每个要解决的问题自动地设置适当的温度范围。在要由优化装置40计算的问题中,由于可能的能量范围根据该问题而变化,因此不容易确定适当的温度范围。例如,如图4A和图4B中示例性地示出的,由于温度太高,可能发生过于频繁的状态转变,或者由于温度太低,可能不发生状态转变。这样,当为优化装置40设置的温度范围不适当时,难以收敛到最优解。在实际解决问题之前,每个问题的可能能量范围是未知的。
另一方面,在优化系统2中,由信息处理装置50自动地设置针对每个问题的适当温度范围。因此,可能不执行用户为解决新问题而进行的参数调整工作。当在优化装置40中设置适当的温度时,可以抑制“状态转变过于频繁地发生”或“没有状态转变发生”的情况,并且可以促进收敛至最优解。通过设置适当地促使信息处理装置50脱离局部解的温度参数,可以减少优化装置40进行的计算的执行时间。
作为第一实施方式的优化装置10和第二实施方式的优化装置40,可以应用执行模拟量子退火(SQA)的装置来代替通过使用数字电路等执行SA的装置。换言之,例如,信息处理装置20和50可以用于确定SQA中的温度参数。

Claims (8)

1.一种优化系统,包括:
优化装置,所述优化装置执行对基态的搜索并且输出多个局部解;以及
信息处理装置,所述信息处理装置具有初始温度计算单元和温度校正单元,所述初始温度计算单元基于从指示一个神经元与除所述一个神经元以外的多个其他神经元之间的耦接的存在的权重值获取的能量增加的最大值来计算初始温度,所述温度校正单元基于多个状态变量所对应的能量值的上升值之中的最大上升值来计算校正温度,所述多个状态变量是通过针对从所述优化装置输出的所述多个局部解按能量的增序排列的结果而将局部解所对应的状态变量改变1位来获取的。
2.根据权利要求1所述的优化系统,
其中,所述初始温度计算单元基于从偏置值和所述权重值获取的能量增加的最大值来计算所述初始温度。
3.根据权利要求1或2所述的优化系统,其中,所述温度校正单元基于在局部解所对应的状态变量之间从具有大能量的局部解向具有小能量的局部解改变了1位的所述多个状态变量所对应的能量值的上升值中的最大上升值来计算校正温度。
4.根据权利要求3所述的优化系统,其中,当所述温度校正单元选择要改变1位的状态变量时,所述温度校正单元在要改变的候选状态变量之中选择如下状态变量:根据所述状态变量的改变的能量值的上升值为最小。
5.根据权利要求1至4中的任一项所述的优化系统,
其中,所述初始温度计算单元基于所述最大值来计算所述初始温度,使得状态变量的改变以其中能量增加是所述最大值的第一概率来被接受,并且
其中,所述温度校正单元基于所述最大上升值来计算所述校正温度,使得所述状态变量的改变以其中能量值的上升值是所述最大上升值的第二概率来被接受。
6.根据权利要求1至5中的任一项所述的优化系统,
其中,所述温度校正单元通过使用先前的校正温度、基于从所述优化装置输出的所述多个局部解来计算当前的校正温度。
7.根据权利要求1至6中的任一项所述的优化系统,
其中,所述初始温度和所述校正温度是在所述优化装置中设置的温度范围中的最高温度,并且
其中,所述初始温度计算单元基于所述优化装置中的能量分辨率来计算所述温度范围中的最低温度。
8.一种用于优化系统的控制方法,所述控制方法包括:
由信息处理装置基于从指示一个神经元与除所述一个神经元以外的多个其他神经元之间的耦接的存在的权重值获取的能量增加的最大值来计算初始温度;
由优化装置执行对基态的搜索并且输出多个局部解;以及
由所述信息处理装置基于针对从所述优化装置输出的所述多个局部解所对应的能量按增序排列的结果而在所述局部解所对应的状态变量之间改变了1位的多个状态变量所对应的能量值的上升值中的最大上升值来计算校正温度。
CN202010259143.XA 2019-04-10 2020-04-03 优化系统和用于优化系统的控制方法 Pending CN111814969A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019074572A JP7256378B2 (ja) 2019-04-10 2019-04-10 最適化システムおよび最適化システムの制御方法
JP2019-074572 2019-04-10

Publications (1)

Publication Number Publication Date
CN111814969A true CN111814969A (zh) 2020-10-23

Family

ID=69844637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010259143.XA Pending CN111814969A (zh) 2019-04-10 2020-04-03 优化系统和用于优化系统的控制方法

Country Status (4)

Country Link
US (1) US20200327393A1 (zh)
EP (1) EP3754559A1 (zh)
JP (1) JP7256378B2 (zh)
CN (1) CN111814969A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7339539B2 (ja) * 2020-01-15 2023-09-06 富士通株式会社 最適化装置、最適化装置の温度設定方法及び最適化装置の温度設定プログラム
US11562211B2 (en) * 2020-04-15 2023-01-24 Fujitsu Limited System local field matrix updates
JP7648890B2 (ja) * 2021-05-11 2025-03-19 富士通株式会社 プログラム、情報処理方法および情報処理装置
JP2025019421A (ja) 2023-07-28 2025-02-07 富士通株式会社 データ処理装置、データ処理プログラム及びデータ処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2683971B2 (ja) 1991-10-25 1997-12-03 株式会社エイ・ティ・アール視聴覚機構研究所 制御方法
US9633715B2 (en) 2013-05-31 2017-04-25 Hitachi, Ltd. Semiconductor device capable of attaining ground state in an ising model
JP5865457B1 (ja) 2014-08-29 2016-02-17 株式会社日立製作所 情報処理システム及び管理装置
JP6465092B2 (ja) 2016-10-14 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法
JP6979331B2 (ja) * 2017-10-30 2021-12-15 株式会社日立製作所 情報処理装置および情報処理方法
JP6465223B1 (ja) 2018-02-01 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法
JP2020009301A (ja) * 2018-07-11 2020-01-16 株式会社日立製作所 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP7256378B2 (ja) 2023-04-12
JP2020173579A (ja) 2020-10-22
EP3754559A1 (en) 2020-12-23
US20200327393A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
CN111814969A (zh) 优化系统和用于优化系统的控制方法
Mrazek et al. Evoapprox8b: Library of approximate adders and multipliers for circuit design and benchmarking of approximation methods
Lundy Applications of the annealing algorithm to combinatorial problems in statistics
CN111078621B (zh) 优化装置及优化装置的控制方法
JPS60183645A (ja) 適応自己修理プロセツサアレイ及びこれを用いた信号処理方法
CN111930007B (zh) 优化装置和控制优化装置的方法
CN111812972B (zh) 优化装置和用于控制优化装置的方法
CN112394756B (zh) 优化装置和优化装置的控制方法
JP7068575B2 (ja) 最適化システム、最適化装置及び最適化システムの制御方法
JP2020204929A (ja) サンプリング装置およびサンプリング方法
US20220188604A1 (en) Method and Apparatus for Performing a Neural Network Operation
JP7007585B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
JP7053995B2 (ja) 最適化装置及び最適化装置の制御方法
CN111077768B (zh) 优化装置及优化装置的控制方法
US20210326685A1 (en) Training algorithm in artificial neural network (ann) incorporating non-ideal memory device behavior
US12254402B2 (en) Optimization device, method for controlling optimization device, and computer-readable recording medium recording program for controlling optimization device
CN118043820A (zh) 在多层网络中处理数据批量
CN113508404B (zh) 用于量子电路模拟器的设备和方法
US11966716B2 (en) Apparatus and method for fully parallelized simulated annealing using a self-action parameter
CN111985631A (zh) 信息处理设备、信息处理方法及计算机可读记录介质
TWI863083B (zh) 用於硬體神經網路引擎的設備和方法
Jiang et al. Multi-objective optimization in fixed-outline floorplanning with reinforcement learning
JP7208529B2 (ja) 最適化装置及び最適化方法
CN116010754A (zh) 存储程序的计算机可读记录介质、数据处理方法和设备
JP7755157B2 (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201023