JP7093009B2 - Optimization device, optimization device control method, and optimization device control program - Google Patents
Optimization device, optimization device control method, and optimization device control program Download PDFInfo
- Publication number
- JP7093009B2 JP7093009B2 JP2018161212A JP2018161212A JP7093009B2 JP 7093009 B2 JP7093009 B2 JP 7093009B2 JP 2018161212 A JP2018161212 A JP 2018161212A JP 2018161212 A JP2018161212 A JP 2018161212A JP 7093009 B2 JP7093009 B2 JP 7093009B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- neuron
- update
- circuit
- limit value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
Description
本発明は、最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムに関する。 The present invention relates to an optimization device, a control method for the optimization device, and a control program for the optimization device.
従来、ノイマン型コンピュータが不得意とする多変数の最適化問題を、イジング型のエネルギー関数を用いた最適化装置(イジングマシンまたはボルツマンマシンと呼ばれる場合もある)によって計算する方法がある。最適化装置は、計算対象の問題を、磁性体のスピンの振る舞いを表すモデルであるイジングモデルに置き換えて計算する。 Conventionally, there is a method of calculating a multivariable optimization problem, which is a weak point of a Neumann computer, by an optimization device using an Ising-type energy function (sometimes called an Ising machine or a Boltzmann machine). The optimizer replaces the problem to be calculated with the Ising model, which is a model representing the spin behavior of a magnetic material, and calculates.
最適化装置は、たとえば、ニューラルネットワークを用いて問題をモデル化することもできる。その場合、イジングモデルに含まれる複数のスピンに対応した複数のビットのそれぞれが、他のビットの値と、他のビットと自身のビットとの相互作用の大きさを示す重み値(結合係数とも呼ばれる)とに応じて0または1を出力するニューロンとして機能する。最適化装置は、たとえば、シミュレーテッド・アニーリングなどの確率的探索法により、イジングモデルのエネルギー関数の値(以下エネルギーという)の最小値が得られる各ニューロンの状態の組み合わせを、解として求める。 The optimizer can also model the problem using, for example, a neural network. In that case, each of the multiple bits corresponding to the multiple spins included in the Ising model is a weight value (also known as a coupling coefficient) that indicates the value of the other bit and the magnitude of the interaction between the other bit and its own bit. It functions as a neuron that outputs 0 or 1 depending on (called). The optimizer finds, for example, a combination of states of each neuron in which the minimum value of the energy function value (hereinafter referred to as energy) of the Zing model is obtained by a stochastic search method such as simulated annealing as a solution.
従来、デジタル回路を用いてシミュレーテッド・アニーリングを行うことでエネルギーが最小となる各ニューロンの状態の組み合わせを計算する最適化装置がある(たとえば、特許文献1参照)。 Conventionally, there is an optimization device that calculates the combination of states of each neuron whose energy is minimized by performing simulated annealing using a digital circuit (see, for example, Patent Document 1).
ところで、最適化問題の中には、整数計画問題などのように、変数が0と1の2値ではなく3値以上の値をとるものも多い。
しかし、従来の最適化装置で3値以上の値をもつ変数を用いてニューロンの状態を表す場合、1つの変数を複数ビットを用いて表現することにより、ニューロンの状態を更新するか否かを決めるイジングモデルのエネルギー変化を算出するための回路規模が増大してしまう問題がある。
By the way, in many optimization problems, variables take three or more values instead of two values of 0 and 1, such as an integer programming problem.
However, when expressing the state of a neuron using a variable having three or more values in a conventional optimizer, whether or not to update the state of the neuron by expressing one variable using a plurality of bits is determined. There is a problem that the circuit scale for calculating the energy change of the Ising model to be determined increases.
1つの側面では、本発明は、3値以上の値をもつ変数を扱う最適化装置の回路規模の増大を抑制可能な最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムを提供することを目的とする。 In one aspect, the present invention provides an optimization device capable of suppressing an increase in the circuit scale of an optimization device that handles variables having three or more values, a control method for the optimization device, and a control program for the optimization device. The purpose is to do.
1つの実施態様では、計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応し、それぞれm値(mは3以上の正の整数)の変数を用いて状態が表される複数のニューロンのうち、状態が更新された第1のニューロンの状態変化方向と、前記第1のニューロンと第2のニューロンとの間の相互作用の大きさを示す重み係数と、に基づいて、前記第2のニューロンの状態が、正負両方向に2n(nは0以上の整数)変化することによる前記イジングモデルの2つのエネルギー変化を算出する算出回路と、乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、を有する最適化装置が提供される。 In one embodiment, a plurality of spins included in the singing model obtained by transforming the problem to be calculated correspond to a plurality of spins, each of which is represented by a variable of m value (m is a positive integer of 3 or more). The first neuron is based on the state change direction of the first neuron whose state has been updated and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. The state of 2 neurons is determined based on a calculation circuit that calculates the two energy changes of the Isging model due to a 2 n (n is an integer of 0 or more) changes in both positive and negative directions, a random number, and a temperature parameter. Based on the magnitude relationship between the thermal excitation energy and the two energy changes, it is determined whether or not to allow the update of the state of the second neuron that causes the two energy changes, and whether to allow the update. The second neuron, which outputs a determination result of whether or not, and has a state transition determination circuit that limits the update in which the state of the second neuron exceeds the upper limit value or falls below the lower limit value, and is different from each other. Based on the plurality of zing devices that output the determination results for each of the above-mentioned determination results and the determination results output by each of the plurality of zing devices, one of the second neurons that allow renewal is selected, and the state is described. An optimizer having an updated neuron selection circuit that selects a change direction and a state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction is provided. To.
また、1つの実施態様では、最適化装置の制御方法が提供される。また、1つの実施態様では、最適化装置の制御プログラムが提供される。 Also, in one embodiment, a method of controlling the optimizer is provided. Also, in one embodiment, a control program for the optimizer is provided.
1つの側面では、本発明は、3値以上の値をもつ変数を扱う最適化装置の回路規模の増大を抑えることができる。 In one aspect, the present invention can suppress an increase in the circuit scale of an optimizer that handles variables having three or more values.
以下、発明を実施するための形態を、図面を参照しつつ説明する。
以下に示す最適化装置は、計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応する複数のニューロンのそれぞれの状態の組み合わせのうち、エネルギー関数が最小値となるときの状態の組み合わせを探索するものである。各ニューロンは、m値(mは3以上の整数)の変数を用いて状態が表される。また、変数は所定のビット幅をもち、変化する際には、正または負方向に2n(nは0以上の整数)変化するものとする。
Hereinafter, embodiments for carrying out the invention will be described with reference to the drawings.
The optimizer shown below is a combination of states when the energy function is the minimum value among the combinations of the states of each of the multiple neurons corresponding to multiple spins included in the Ising model that transforms the problem to be calculated. Is to search for. Each neuron is represented by a variable with an m value (m is an integer of 3 or more). Further, the variable has a predetermined bit width, and when it changes, it is assumed that the variable changes by 2 n (n is an integer of 0 or more) in the positive or negative direction.
イジング型のエネルギー関数E(x)は、たとえば、以下の式(1)で定義される。 The Ising-type energy function E (x) is defined by, for example, the following equation (1).
右辺の1項目は、全ニューロンから選択可能な2つのニューロンの全組み合わせについて、漏れと重複なく、2つのニューロンの状態と結合係数との積を積算したものである。xiは、i番目のニューロンの状態を表す変数(状態変数とも呼ばれる)、xjは、j番目のニューロンの状態を示す変数であり、Wijは、i番目とj番目のニューロンの相互作用の大きさを示す重み係数である。なお、Wii=0である。また、Wij=Wjiであることが多い(つまり、重み係数による係数行列は対称行列である場合が多い)。また重み係数Wijは、所定のビット幅(たとえば、16ビット、32ビット、64ビット、128ビットなど)をもつ。 One item on the right side is the sum of the products of the states of the two neurons and the connection coefficient for all combinations of the two neurons that can be selected from all the neurons, without omission or duplication. x i is a variable indicating the state of the i-th neuron (also called a state variable), x j is a variable indicating the state of the j-th neuron, and Wij is the interaction between the i-th and j-th neurons. It is a weighting coefficient indicating the magnitude of. In addition, Wii = 0. In addition, W ij = W ji in many cases (that is, the coefficient matrix based on the weighting coefficient is often a symmetric matrix). Further, the weighting coefficient Wij has a predetermined bit width (for example, 16 bits, 32 bits, 64 bits, 128 bits, etc.).
右辺の2項目は、全ニューロンのそれぞれのバイアス係数とニューロンの状態を表す変数との積の総和を求めたものである。biは、i番目のニューロンのバイアス係数を示している。 The two items on the right side are the sum of the products of the bias coefficients of all neurons and the variables representing the state of the neurons. b i indicates the bias coefficient of the i-th neuron.
また、変数xiがm値の場合、変数xiが上限または下限に達していない場合、変数xiの変化分Δxiは、±2nである。
変数xiの正方向及び負方向の変化に伴うエネルギー変化ΔEi±は、以下の式(2)で表される。
Further, when the variable x i is an m value and the variable x i does not reach the upper limit or the lower limit, the change amount Δ x i of the variable x i is ± 2 n .
The energy change ΔE i ± accompanying the change of the variable x i in the positive direction and the negative direction is expressed by the following equation (2).
式(2)のようにエネルギー変化ΔEi±は、i番目のニューロンの状態変化方向(正または負)によって、2つの値をもつ。
なお、式(2)において、hiはローカルフィールド(局所場)と呼ばれる。
As shown in equation (2), the energy change ΔE i ± has two values depending on the state change direction (positive or negative) of the i-th neuron.
In equation (2), hi is called a local field (local field).
(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の一例を示す図である。
第1の実施の形態の最適化装置10は、N個のニューロンに関する計算を行うN個のイジング装置11a1,11a2,…,11aN、更新ニューロン選択回路12、状態更新回路13、制御部14を有する。イジング装置11a1~11aNのそれぞれは、1チップの半導体集積回路であってもよいし、1チップの半導体集積回路の中に、イジング装置11a1~11aNが含まれていてもよい。
(First Embodiment)
FIG. 1 is a diagram showing an example of an optimization device according to the first embodiment.
The
イジング装置11a1は、N個のニューロンのうち、1番目のニューロン(識別情報ID=1のニューロン)に関する計算を行う。イジング装置11a1は、算出回路11b1、状態遷移判定回路11c1を有する。 The Ising device 11a1 performs a calculation on the first neuron (neuron having identification information ID = 1) out of N neurons. The Ising device 11a1 has a calculation circuit 11b1 and a state transition determination circuit 11c1.
算出回路11b1は、N個のニューロンのうち、状態が更新されたニューロンの状態変化方向DRとそのニューロンの識別情報IDとを更新ニューロン選択回路12から受ける。そして、算出回路11b1は、識別情報IDで識別されるニューロンと1番目のニューロンとの間の相互作用の大きさを示す重み係数と、状態変化方向DRに基づいて、エネルギー変化ΔE1+,ΔE1-を算出する。エネルギー変化ΔE1+,ΔE1-は、1番目のニューロンの状態が、正負両方向に2n変化することによるイジングモデルの2つのエネルギー変化である。
The calculation circuit 11b1 receives the state change direction DR of the neuron whose state has been updated and the identification information ID of the neuron from the update
図1の例では、算出回路11b1は、レジスタ11b11、ローカルフィールド更新部11b12、エネルギー変化算出部11b13を有する。
レジスタ11b11は、N個の重み係数W11,W12,…,W1Nを記憶する。なお、重み係数W11,W12,…,W1Nは、SRAM(Static Random Access Memory)などのメモリに記憶されていてもよい。なお、全ての重み係数W11~WNNが1つのメモリに記憶されていてもよい。
In the example of FIG. 1, the calculation circuit 11b1 has a register 11b11, a local field update unit 11b12, and an energy change calculation unit 11b13.
The register 11b 11 stores N weighting coefficients W 11 , W 12 , ..., W 1N . The weighting coefficients W 11 , W 12 , ..., W 1N may be stored in a memory such as a SRAM (Static Random Access Memory). It should be noted that all the weighting coefficients W11 to WNN may be stored in one memory.
ローカルフィールド更新部11b12は、状態が更新されたニューロンの識別情報IDから、そのニューロンと1番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11b12は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドh1を更新する。なお、ローカルフィールドh1の初期値は、たとえば、バイアス係数b1である。 The local field update unit 11b12 selects a weighting coefficient indicating the magnitude of the interaction between the neuron and the first neuron from the identification information ID of the neuron whose state has been updated. Then, the local field update unit 11b12 updates the local field h1 based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The initial value of the local field h 1 is, for example, a bias coefficient b 1 .
ニューロン(j番目のニューロン)の状態が、正方向に2n変化したときのローカルフィールドh1の変化分は、+2nW1j、負方向に2n変化したときのローカルフィールドh1の変化分は、-2nW1jと表せる。 The change in the local field h 1 when the state of the neuron (jth neuron) changes by 2 n in the positive direction is +2 n W 1j , and the change in the local field h 1 when the state changes by 2 n in the negative direction. Can be expressed as -2 n W 1j .
したがって、ローカルフィールド更新部11b12は、重み係数W1jをnビット左シフトした値を、現在のローカルフィールドh1に対して、状態変化方向DRに応じて加算するか減算することで、ローカルフィールドh1を更新することができる。このような、ローカルフィールド更新部11b12は、たとえば、セレクタ、加算器(または減算器)、シフト演算回路を用いて実現できる。なお、n=0の場合には、シフト演算回路は不要である。 Therefore, the local field update unit 11b12 adds or subtracts the value obtained by shifting the weighting coefficient W 1j to the left by n bits to the current local field h 1 according to the state change direction DR, thereby adding or subtracting the local field h. 1 can be updated. Such a local field update unit 11b12 can be realized by using, for example, a selector, an adder (or subtractor), and a shift calculation circuit. When n = 0, the shift calculation circuit is unnecessary.
エネルギー変化算出部11b13は、式(2)に基づいて、エネルギー変化ΔE1+,ΔE1-を算出する。エネルギー変化算出部11b13は、たとえば、シフト演算回路、符号反転回路を用いて実現できる。なお、n=0の場合には、シフト演算回路は不要である。 The energy change calculation unit 11b13 calculates the energy changes ΔE 1+ and ΔE 1- based on the equation (2). The energy change calculation unit 11b13 can be realized by using, for example, a shift calculation circuit and a code inversion circuit. When n = 0, the shift calculation circuit is unnecessary.
状態遷移判定回路11c1は、熱励起エネルギーと、エネルギー変化ΔE1+,ΔE1-との大小関係に基づいて、エネルギー変化ΔE1+,ΔE1-をもたらす1番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11c1は、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11c1は、1番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。つまり、状態遷移判定回路11c1は、1番目のニューロンの状態の定義域外となる更新が生じないようにする。なお、各ニューロンの状態を表す変数の定義域は、たとえば、問題の種類や最適化装置10のハードウェア上の制約などによって決定される。
The state transition determination circuit 11c1 allows the update of the state of the first neuron that causes the energy changes ΔE 1+ and ΔE 1- , respectively, based on the magnitude relationship between the thermal excitation energy and the energy changes ΔE 1+ and ΔE 1- . Judge whether or not. Then, the state transition determination circuit 11c1 outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11c1 limits the update in which the state of the first neuron exceeds the upper limit value or falls below the lower limit value. That is, the state transition determination circuit 11c1 prevents the update that is outside the definition range of the state of the first neuron. The domain of the variable representing the state of each neuron is determined by, for example, the type of problem or the hardware limitation of the
熱励起エネルギーは、たとえば、後述の乱数発生回路が生成した乱数と、制御部14から入力される温度パラメータTとに基づいて決定される。
また、上限値や下限値を含む制限情報LMTは、制御部14から供給される。状態遷移判定回路11c1は、1番目のニューロンの状態が、正または負方向に2n変化することにより上限値を超えるまたは下限値を下回る場合、たとえば、エネルギー変化ΔE1+またはエネルギー変化ΔE1-を、十分に大きな所定の正の値に変更する。これによって、状態遷移判定回路11c1は、1番目のニューロンの状態の更新が許容されないようにする。この所定の正の値は、たとえば、エネルギー変化を所定の正の値に変更したときの、更新を許容するか否かの判定結果の値の検出結果に基づいて決定されるようにしてもよい。
The thermal excitation energy is determined based on, for example, a random number generated by a random number generation circuit described later and a temperature parameter T input from the
Further, the limit information LMT including the upper limit value and the lower limit value is supplied from the
また、状態遷移判定回路11c1は、1番目のニューロンの状態が、正または負方向に2n変化することにより上限値を超えるまたは下限値を下回る場合、更新を許容するか否かの判定結果を、更新を許容しないことを示す値に変更してもよい。 Further, the state transition determination circuit 11c1 determines whether or not to allow the update when the state of the first neuron exceeds the upper limit value or falls below the lower limit value by changing 2n in the positive or negative direction. , May be changed to a value indicating that the update is not allowed.
このような状態遷移判定回路11c1の回路例については、第2の実施の形態以降において説明する。
他のイジング装置11a2~11aNについても、2~N番目のニューロンに関して、イジング装置11a1と同様の処理を行う。
A circuit example of such a state transition determination circuit 11c1 will be described in the second and subsequent embodiments.
For the other Ising devices 11a2 to 11aN, the same processing as for the Ising devices 11a1 is performed for the 2nd to Nth neurons.
たとえば、イジング装置11a2の算出回路11b2は、レジスタ11b21、ローカルフィールド更新部11b22、エネルギー変化算出部11b23を有する。レジスタ11b21は、N個の重み係数W21,W22,…,W2Nを記憶する。ローカルフィールド更新部11b22は、状態が更新されたニューロンの識別情報IDから、そのニューロンと2番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11b22は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドh2を更新する。エネルギー変化算出部11b23は、式(2)に基づいて、エネルギー変化ΔE2+,ΔE2-を算出する。そしてイジング装置11a2の状態遷移判定回路11c2は、熱励起エネルギーと、エネルギー変化ΔE2+,ΔE2-との大小関係に基づいて、エネルギー変化ΔE2+,ΔE2-をもたらす2番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11c2は、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11c2は、2番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。 For example, the calculation circuit 11b2 of the Ising device 11a2 has a register 11b21, a local field update unit 11b22, and an energy change calculation unit 11b23. The register 11b21 stores N weighting coefficients W 21 , W 22 , ..., W 2N . The local field update unit 11b22 selects a weighting coefficient indicating the magnitude of the interaction between the neuron and the second neuron from the identification information ID of the neuron whose state has been updated. Then, the local field update unit 11b22 updates the local field h2 based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The energy change calculation unit 11b23 calculates the energy changes ΔE 2+ and ΔE 2- based on the equation (2). Then, the state transition determination circuit 11c2 of the singing apparatus 11a2 is the state of the second neuron that brings about the energy changes ΔE 2+ and ΔE 2- based on the magnitude relationship between the thermal excitation energy and the energy changes ΔE 2+ and ΔE 2- . Determine whether to allow each update. Then, the state transition determination circuit 11c2 outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11c2 limits the update in which the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
イジング装置11aNの算出回路11bNは、レジスタ11bN1、ローカルフィールド更新部11bN2、エネルギー変化算出部11bN3を有する。レジスタ11bN1は、N個の重み係数WN1,WN2,…,WNNを記憶する。ローカルフィールド更新部11bN2は、更新ニューロンの識別情報IDから、状態が更新されたニューロンとN番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11bN2は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドhNを更新する。エネルギー変化算出部11bN3は、式(2)に基づいて、エネルギー変化ΔEN+,ΔEN-を算出する。そしてイジング装置11aNの状態遷移判定回路11cNは、熱励起エネルギーと、エネルギー変化ΔEN+,ΔEN-との大小関係に基づいて、エネルギー変化ΔEN+,ΔEN-をもたらすN番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11cNは、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11cNは、N番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。 The calculation circuit 11bN of the Ising device 11aN has a register 11bN1, a local field update unit 11bN2, and an energy change calculation unit 11bN3. The register 11bN1 stores N weighting coefficients W N1 , W N2 , ..., W NN . The local field update unit 11bN2 selects a weighting coefficient indicating the magnitude of the interaction between the neuron whose state has been updated and the Nth neuron from the identification information ID of the update neuron. Then, the local field update unit 11bN2 updates the local field hN based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The energy change calculation unit 11bN3 calculates the energy changes ΔEN + and ΔE N− based on the equation (2). Then, the state transition determination circuit 11cN of the singing apparatus 11aN is the state of the Nth neuron that brings about the energy change ΔEN + , ΔE N− based on the magnitude relationship between the thermal excitation energy and the energy change ΔEN + , ΔE N− . Determine whether to allow each update. Then, the state transition determination circuit 11cN outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11cN limits the update in which the state of the Nth neuron exceeds the upper limit value or falls below the lower limit value.
更新ニューロン選択回路12は、イジング装置11a1~11aNのそれぞれが出力する判定結果に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する。更新ニューロン選択回路12は選択した更新を許容するニューロンの識別情報IDと、状態変化方向DRを出力する。
The renewal
状態更新回路13は、更新ニューロン選択回路12が選択したニューロンの状態を、状態変化方向DRに基づいて正または負方向に2n、変化(更新)させる。状態更新回路13は、記憶部(たとえば、レジスタ)を有しており、N個のニューロンの状態を保持している。
The
制御部14は、制御装置15(たとえば、PC(Personal Computer))との間で情報の送受信を行う。たとえば、制御部14は、制御装置15からイジングモデルを表現する重み係数Wijを受け、イジング装置11a1~11aNに対して、重み係数ijを設定する(レジスタ11b11~11bN1に記憶する)。また、制御部14は、ローカルフィールドhiの初期値(たとえば、バイアス係数bi)を制御装置15から受け、イジング装置11a1~11aNに対して、設定してもよい。
The
また、制御部14は、制御装置15から、アニーリング条件(温度パラメータTの最大値、最小値、温度パラメータTの値の下げ方についての情報など)を受け、アニーリング条件に基づいて、イジング装置11a1~11aNに対して、温度パラメータTを設定する。制御部14は、アニーリング条件に基づいて、温度パラメータTの値を徐々に小さくしていく。また、制御部14は、前述の制限情報LMTを制御装置15から受け、イジング装置11a1~11aNに対して、各ニューロンの状態の上限値と下限値を含む制限情報LMTを設定する。また、制御部14は、たとえば、温度パラメータTの値を所定回数、小さくした場合(または温度パラメータTが最小値に達した場合)の状態更新回路13に保持されている各ニューロンの状態を解として制御装置15に送信する。
Further, the
制御部14は、たとえば、ASIC(Application Specific Integrated Circuit)やFPGAなどの特定用途の電子回路にて実現できる。なお、制御部14は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサであってもよい。その場合、プロセッサは、図示しないメモリに記憶されたプログラムを実行することで、上記のような制御部14の処理を行う。制御部14の機能は、制御装置15に含まれていてもよい。
The
以下、第1の実施の形態の最適化装置10の動作例を示す。
図2は、第1の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the
FIG. 2 is a flowchart showing a flow of an example of the operation of the optimization device according to the first embodiment.
まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhiの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置11a1~11aNに設定する(ステップS1)。
First, the
ローカルフィールド更新部11b12~11bN2は、2回目以降の更新処理では前述の処理により、ローカルフィールドhiを更新する(ステップS2)。
エネルギー変化算出部11b13~11bN3のそれぞれは、式(2)に基づいて、2つのエネルギー変化ΔEi+,ΔEi-を算出する(ステップS3)。
The local field update units 11b12 to 11bN2 update the local field hi by the above-mentioned process in the second and subsequent update processes (step S2).
Each of the energy change calculation units 11b13 to 11bN3 calculates two energy changes ΔE i + and ΔE i− based on the equation (2) (step S3).
状態遷移判定回路11c1~11cNのそれぞれは、前述の処理により、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS4)。また、ステップS4の処理では、状態遷移判定回路11c1~11cNのそれぞれは、前述の処理により、各ニューロンの状態が定義域外となる更新を制限する。 Each of the state transition determination circuits 11c1 to 11cN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i − by the above-mentioned processing (step S4). Further, in the process of step S4, each of the state transition determination circuits 11c1 to 11cN limits the update in which the state of each neuron is out of the definition range by the above-mentioned process.
更新ニューロン選択回路12は、イジング装置11a1~11aNのそれぞれが出力する判定結果に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する(ステップS5)。
The renewal
状態更新回路13は、更新ニューロン選択回路12が選択したニューロンの状態を、状態変化方向DRに基づいて更新する(ステップS6)。
制御部14は、ステップS2~S6の更新処理が所定回数N1、繰り返されたか否かを判定する(ステップS7)。更新処理が所定回数N1、繰り返されていない場合には、ステップS2~S6の更新処理が繰り返される。
The
The
更新処理が所定回数N1、繰り返された場合、制御部14は、温度パラメータTの変更回数(温度変更回数)が、所定回数N2に達したか否かを判定する(ステップS8)。
温度変更回数が所定回数N2に達していない場合、制御部14は、温度パラメータTを変更する(温度を下げる)(ステップS9)。所定回数N1,N2、温度パラメータTの値の変更の仕方(一度に値をどのくらい小さくするかなど)は、アニーリング条件に基づいて決定される。ステップS9の処理後、ステップS2からの処理が繰り返される。
When the update process is repeated a predetermined number of times N1, the
When the number of temperature changes has not reached the predetermined number of times N2, the
温度変更回数が所定回数N2に達している場合、制御部14は、そのとき状態更新回路13に保持されている各ニューロンの状態を、解(計算結果)として制御装置15に送信(出力)する(ステップS10)。
When the number of temperature changes reaches N2 a predetermined number of times, the
以上のような第1の実施の形態の最適化装置10では、3値以上の値をもつ各ニューロンの状態の許容する変化を±2n(nは0以上の整数)とすることで、イジングモデルのエネルギー変化を算出する回路の構成が簡素化され回路規模の増大を抑えられる。また、小さい回路規模で、3値以上の値をもつニューロンの状態を扱えることで、最適化装置10によって解くことができる問題の範囲を広げることができる。
In the
なお、ニューロンごとに、nの値は異なっていてもよい。
(第2の実施の形態)
図3は、第2の実施の形態の最適化装置の一例を示す図である。図3において、図1に示した第1の実施の形態の最適化装置10の要素と同じ要素については同一符号が付されている。
The value of n may be different for each neuron.
(Second embodiment)
FIG. 3 is a diagram showing an example of the optimization device of the second embodiment. In FIG. 3, the same elements as those of the
第2の実施の形態の最適化装置20において、イジング装置21a1の状態遷移判定回路21b1は、ΔE変更部21b11,21b12、遷移可否決定部21b13,21b14を有する。
In the
ΔE変更部21b11は、変数x1が+2n変化することにより上限値を超える場合、エネルギー変化ΔE1+を所定の正の値ΔEmaxに変更する。
ΔE変更部21b12は、変数x1が-2n変化することにより下限値を下回る場合、エネルギー変化ΔE1-を所定の正の値ΔEmaxに変更する。
When the variable x 1 changes by + 2 n and exceeds the upper limit value, the ΔE changing unit 21b11 changes the energy change ΔE 1+ to a predetermined positive value ΔE max .
The ΔE change unit 21b12 changes the energy change ΔE 1- to a predetermined positive value ΔE max when the variable x 1 changes by -2 n and falls below the lower limit.
正の値ΔEmaxは、この値が遷移可否決定部21b13,21b14に供給された場合に、変数x1の更新が許容される確率がほぼゼロになるように、十分大きな値である。
図4は、1つ目のΔE変更部の一例を示す図である。図4では、ΔE変更部21b11の例が示されている。
The positive value ΔE max is a sufficiently large value so that the probability that the variable x1 is allowed to be updated becomes almost zero when this value is supplied to the transition possibility determination units 21b13 and 21b14.
FIG. 4 is a diagram showing an example of the first ΔE change unit. FIG. 4 shows an example of the ΔE changing unit 21b11.
ΔE変更部21b11は、2n加算部30、比較回路31、セレクタ32を有する。
2n加算部30は、状態更新回路13から供給される現在の変数x1に2nを加算する。
The ΔE changing unit 21b11 has a 2n
The 2n
比較回路31は、制限情報LMTに含まれる変数x1の上限値x1maxと、2n加算部30における加算結果とを比較する。そして、比較回路31は、加算結果が上限値x1maxを超える場合には1を出力し、それ以外の場合には0を出力する。
The
セレクタ32は、エネルギー変化ΔE1+と、制限情報LMTに含まれる正の値ΔEmaxを入力し、比較回路31の出力が1の場合には、正の値ΔEmaxを出力し、比較回路31の出力が0の場合には、エネルギー変化ΔE1+を出力する。
The
図5は、2つ目のΔE変更部の一例を示す図である。図5では、ΔE変更部21b12の例が示されている。
ΔE変更部21b12は、2n減算部33、比較回路34、セレクタ35を有する。
FIG. 5 is a diagram showing an example of the second ΔE change unit. FIG. 5 shows an example of the ΔE changing unit 21b12.
The ΔE changing unit 21b12 has a 2n subtracting
2n減算部33は、状態更新回路13から供給される現在の変数x1から2nを減算する。
比較回路34は、制限情報LMTに含まれる変数x1の下限値x1minと、2n減算部33における減算結果とを比較する。そして、比較回路34は、減算結果が下限値x1minを下回る場合には1を出力し、それ以外の場合には0を出力する。
The 2n
The
セレクタ35は、エネルギー変化ΔE1-と、制限情報LMTに含まれる所定の正の値ΔEmaxを入力し、比較回路34の出力が1の場合には、正の値ΔEmaxを出力し、比較回路34の出力が0の場合には、エネルギー変化ΔE1-を出力する。
The
図3の遷移可否決定部21b13は、エネルギー変化ΔE1+または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1+をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 21b13 in FIG. 3 allows the update of the state of the first neuron that brings about the energy change ΔE 1+ based on the magnitude relationship between the energy change ΔE 1+ or the positive value ΔE max and the thermal excitation energy. Judge whether or not.
遷移可否決定部21b14は、エネルギー変化ΔE1-または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1-をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 Whether the transition possibility determination unit 21b14 allows the update of the state of the first neuron that causes the energy change ΔE 1 based on the magnitude relationship between the energy change ΔE 1- or the positive value ΔE max and the thermal excitation energy. Judge whether or not.
図6は、遷移可否決定部の一例を示す図である。
遷移可否決定部21b13は、符号反転部40、加算器41、乱数発生回路42、選択法則適用部43、乗算器44、比較回路45を有する。
FIG. 6 is a diagram showing an example of a transition possibility determination unit.
The transition possibility determination unit 21b13 includes a
符号反転部40は、ΔE変更部21b11が出力するエネルギー変化ΔE1+または正の値ΔEmaxに-1を掛けて符合を反転させる。
加算器41は、符号反転部40の出力値に、後述するオフセット生成回路23が生成するオフセット値offを加える。
The
The
乱数発生回路42は、0以上、1以下の一様乱数rを発生する。
選択法則適用部43は、シミュレーテッド・アニーリングを行うための選択法則(メトロポリス法またはギブス法)に基づいた値を出力する。
The random
The selection
シミュレーテッド・アニーリングが行われる場合、あるエネルギー変化ΔEを引き起こす状態遷移の許容確率A(ΔE,T)を以下の式(3)のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。 When simulated annealing is performed, if the permissible probability A (ΔE, T) of the state transition that causes a certain energy change ΔE is determined by the following equation (3), the state is in the limit of infinite time (number of iterations). Has been proven to reach the optimal solution.
式(3)においてTは、前述の温度パラメータTである。
式(3)で表される許容確率A(ΔE,T)を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布にしたがう。そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られるはずである。この様子が材料を焼き鈍したときの状態変化とよく似ているため、この方法はシミュレーテッド・アニーリングと呼ばれるのである。このとき、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
In equation (3), T is the temperature parameter T described above.
When the permissible probability A (ΔE, T) expressed by the equation (3) is used and the steady state is reached after sufficient repetition, the occupancy probability of each state follows the Boltzmann distribution with respect to the thermal equilibrium state in thermodynamics. Then, since the occupancy probability of the low energy state increases as the temperature is gradually lowered from the high temperature, the low energy state should be obtained when the temperature is sufficiently lowered. This method is called simulated annealing because this is very similar to the state change when the material is annealed. At this time, the probabilistic state transition in which the energy rises corresponds to thermal excitation in physics.
許容確率A(ΔE,T)でエネルギー変化ΔEを引き起こす状態遷移を許容することを示すフラグ情報(=1)を出力する回路は、式(3)のf(-ΔE/T)と、一様乱数rとの比較結果に基づいた値を出力する比較器によって実現できる。 The circuit that outputs the flag information (= 1) indicating that the state transition that causes the energy change ΔE with the permissible probability A (ΔE, T) is allowed is uniform with f (−ΔE / T) in the equation (3). This can be realized by a comparator that outputs a value based on the comparison result with the random number r.
ただ、次のような変形を行っても同じ機能が実現できる。2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって比較器の2つの入力に同じ単調増加関数を作用させても比較器の出力は変わらない。たとえば、f(-ΔE/T)に作用させる単調増加関数としてf(-ΔE/T)の逆関数f-1(-ΔE/T)、一様乱数rに作用させる単調増加関数としてf-1(-ΔE/T)の-ΔE/Tをrとしたf-1(r)を用いることができる。その場合、上記の比較器と同様の機能を有する回路は、-ΔE/Tがf-1(r)より大きいとき1を出力する回路でよいことがわかる。さらに温度パラメータTが正であることから、その回路は、-ΔEがT・f-1(r)より大きいとき1を出力する回路でよい。 However, the same function can be realized by making the following transformations. Even if the same monotonic increase function is applied to two numbers, the magnitude relationship does not change. Therefore, even if the same monotonic increasing function is applied to the two inputs of the comparator, the output of the comparator does not change. For example, the inverse function f -1 (-ΔE / T) of f (-ΔE / T) as a monotonic increase function acting on f (-ΔE / T), and f -1 as a monotonic increase function acting on a uniform random number r. It is possible to use f -1 (r) in which −ΔE / T of (−ΔE / T) is r. In that case, it can be seen that the circuit having the same function as the above-mentioned comparator may be a circuit that outputs 1 when −ΔE / T is larger than f -1 (r). Further, since the temperature parameter T is positive, the circuit may be a circuit that outputs 1 when −ΔE is larger than T · f -1 (r).
図6の選択法則適用部43は、入力される一様乱数rを上記のf-1(r)の値に変換する変換テーブルを用いて、f-1(r)の値を出力する。メトロポリス法が適用される場合、f-1(r)は、log(r)である。変換テーブルは、たとえば、RAM(Random Access Memory)、フラッシュメモリなどのメモリに記憶されている。
The selection
乗算器44は、制御部14から供給される温度パラメータTと、f-1(r)との積(T・f-1(r))を出力する。T・f-1(r)は、熱励起エネルギーに相当する。
比較回路45は、加算器41による加算結果と、T・f-1(r)とを比較し、加算結果が、T・f-1(r)より大きい場合、フラグ情報FLG1+として1を出力し、T・f-1(r)より小さい場合、フラグ情報FLG1+として0を出力する。
The
The
遷移可否決定部21b14についても遷移可否決定部21b13と同様の回路構成となる。
イジング装置21a1~21aNのうち、イジング装置21a1以外についても、イジング装置21a1と同様の構成を有し、2~N番目のニューロンに対して同様の処理を行う。
The transition possibility determination unit 21b14 has the same circuit configuration as the transition possibility determination unit 21b13.
Of the Ising devices 21a1 to 21aN, the elements other than the Ising device 21a1 have the same configuration as the Ising device 21a1 and perform the same processing on the 2nd to Nth neurons.
たとえば、イジング装置21aNの状態遷移判定回路21bNは、ΔE変更部21bN1,21bN2、遷移可否決定部21bN3,21bN4を有する。
ΔE変更部21bN1は、変数xNが+2n変化することにより上限値を超える場合、エネルギー変化ΔEN+を所定の正の値ΔEmaxに変更する。
For example, the state transition determination circuit 21bN of the Ising device 21aN has a ΔE changing unit 21bN1,21bN2 and a transition possibility determination unit 21bN3,21bN4.
The ΔE change unit 21bN1 changes the energy change ΔE N + to a predetermined positive value ΔE max when the variable x N changes by + 2 n and exceeds the upper limit value.
ΔE変更部21bN2は、変数xNが-2n変化することにより下限値を下回る場合、エネルギー変化ΔEN-を所定の正の値ΔEmaxに変更する。
遷移可否決定部21bN3は、エネルギー変化ΔEN+または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN+をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。
The ΔE change unit 21bN2 changes the energy change ΔE N− to a predetermined positive value ΔE max when the variable x N changes by -2 n and falls below the lower limit.
Whether or not the transition possibility determination unit 21bN3 allows the update of the state of the Nth neuron that causes the energy change ΔEN + based on the magnitude relationship between the energy change ΔEN + or the positive value ΔE max and the thermal excitation energy. Is determined.
遷移可否決定部21bN4は、エネルギー変化ΔEN-または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN-をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。 Whether the transition possibility determination unit 21bN4 allows the update of the state of the Nth neuron that causes the energy change ΔE N− based on the magnitude relationship between the energy change ΔE N− or the positive value ΔE max and the thermal excitation energy. Judge whether or not.
更新ニューロン選択回路22は、図1に示した更新ニューロン選択回路12と同様に、イジング装置21a1~21aNのそれぞれが出力する判定結果(フラグ情報)に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する。そして、更新ニューロン選択回路22は選択した更新を許容するニューロンの識別情報IDと、状態変化方向DRを出力する。第2の実施の形態の最適化装置20では、更新ニューロン選択回路22は、さらに、選択した更新を許容するニューロンについてのフラグ情報FLGについても出力する。
Similar to the update
第2の実施の形態の最適化装置20は、オフセット値offを生成するオフセット生成回路23を有する。オフセット生成回路23は、更新ニューロン選択回路22から供給されるフラグ情報FLGが、状態遷移を許容しないことを示すとき(つまり状態遷移が生じないとき)、オフセット値offを増加していく。一方、オフセット生成回路23は、フラグ情報FLGが、状態遷移を許容することを示すとき(つまり状態遷移が生じるとき)には、オフセット値offを0にリセットする。オフセット値offが大きくなると状態遷移が許容されやすくなり、現在の状態が局所解にある場合、その局所解からの脱出が促進される。
The
以下、第2の実施の形態の最適化装置20の動作例を示す。
図7は、第2の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the
FIG. 7 is a flowchart showing a flow of an example of the operation of the optimization device according to the second embodiment.
まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhiの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置21a1~21aNに設定する(ステップS20)。第2の実施の形態の最適化装置20において、制限情報LMTは、正の値ΔEmaxと、各変数xiの定義域(上限値と下限値)を含む。
First, the
ステップS21,S22の処理は、図2に示したステップS2,S3の処理と同じである。
ステップS22の処理後、状態遷移判定回路21b1~21bNのそれぞれは、更新する場合に定義域外となる変数xiについてのエネルギー変化ΔEi+またはエネルギー変化ΔEi-を正の値ΔEmaxに変更する(ステップS23)。
The processing of steps S21 and S22 is the same as the processing of steps S2 and S3 shown in FIG.
After the processing of step S22, each of the state transition determination circuits 21b1 to 21bN changes the energy change ΔE i + or the energy change ΔE i− for the variable x i that is out of the definition range when updating to a positive value ΔE max (. Step S23).
そして、状態遷移判定回路21b1~21bNのそれぞれは、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS24)。ステップS24の処理には、前述のオフセット値offの加算処理なども含まれる。 Then, each of the state transition determination circuits 21b1 to 21bN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i- (step S24). The process of step S24 also includes the above-mentioned addition process of the offset value off.
以降のステップS25~S30の処理は、図2に示したステップS5~S10の処理と同じである。
以上のような第2の実施の形態の最適化装置20では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置20は、更新する場合に定義域外となる変数xiについてのエネルギー変化ΔEi+またはエネルギー変化ΔEi-を、正の値ΔEmaxに変更することで、変数xiが定義域外となる更新が抑制される。
Subsequent processes of steps S25 to S30 are the same as the processes of steps S5 to S10 shown in FIG.
In the
(第3の実施の形態)
図8は、第3の実施の形態の最適化装置の一例を示す図である。図8において、図1、図3に示した最適化装置10,20の要素と同じ要素については同一符号が付されている。
(Third embodiment)
FIG. 8 is a diagram showing an example of the optimization device according to the third embodiment. In FIG. 8, the same elements as those of the
第3の実施の形態の最適化装置50において、イジング装置51a1の状態遷移判定回路51b1は、遷移可否決定部51b11,51b12、定義域確認部51b13,51b14を有する。
In the
遷移可否決定部51b11は、エネルギー変化ΔE1+と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1+をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51b11 determines whether or not to allow the update of the state of the first neuron that causes the energy change ΔE 1+ based on the magnitude relationship between the energy change ΔE 1+ and the thermal excitation energy.
遷移可否決定部51b12は、エネルギー変化ΔE1-と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1-をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51b12 determines whether or not to allow the update of the state of the first neuron that causes the energy change ΔE 1 based on the magnitude relationship between the energy change ΔE 1- and the thermal excitation energy.
遷移可否決定部51b11,51b12の回路構成は、図6に示した遷移可否決定部21b13の回路構成と同じである。
定義域確認部51b13は、変数x1が+2n変化することにより上限値を超える場合、更新を許容するか否かの判定結果を示すフラグ情報を0(更新を許容しないことを示す)にする。
The circuit configuration of the transition possibility determination units 51b11 and 51b12 is the same as the circuit configuration of the transition possibility determination unit 21b13 shown in FIG.
The domain confirmation unit 51b13 sets the flag information indicating the determination result of whether to allow the update to 0 (indicates that the update is not allowed) when the variable x 1 changes by + 2 n and exceeds the upper limit value. ..
定義域確認部51b14は、変数x1が-2n変化することにより下限値を下回る場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
図9は、1つ目の定義域確認部の一例を示す図である。図9では、定義域確認部51b13の例が示されている。
When the variable x 1 changes by -2 n and falls below the lower limit, the domain confirmation unit 51b14 sets the flag information indicating the determination result of whether to allow the update to 0.
FIG. 9 is a diagram showing an example of the first domain confirmation unit. FIG. 9 shows an example of the domain confirmation unit 51b13.
定義域確認部51b13は、2n加算部60、比較回路61、AND(論理積)回路62を有する。
2n加算部60は、状態更新回路13から供給される現在の変数x1に2nを加算する。
The domain confirmation unit 51b13 has a 2n
The 2n
比較回路61は、制限情報LMTに含まれる変数x1の上限値x1maxと、2n加算部60における加算結果とを比較する。そして、比較回路61は、加算結果が上限値x1maxを超える場合には0を出力し、それ以外の場合には1を出力する。
The
AND回路62の一方の入力端子には、遷移可否決定部51b11が出力するフラグ情報FLG1aが入力され、他方の入力端子には、比較回路61の出力が入力される。そして、AND回路62は、比較回路61の出力が1の場合には、フラグ情報FLG1aの値(0または1)を出力し、比較回路61の出力が0の場合には、フラグ情報FLG1aの値によらず0を出力する。
The flag information FLG 1a output by the transition possibility determination unit 51b11 is input to one input terminal of the AND
図10は、2つ目の定義域確認部の一例を示す図である。図10では、定義域確認部51b14の例が示されている。
定義域確認部51b14は、2n減算部63、比較回路64、AND回路65を有する。
FIG. 10 is a diagram showing an example of the second domain confirmation unit. FIG. 10 shows an example of the domain confirmation unit 51b14.
The domain confirmation unit 51b14 has a 2n
2n減算部63は、状態更新回路13から供給される現在の変数x1から2nを減算する。
比較回路64は、制限情報LMTに含まれる変数x1の下限値x1minと、2n減算部63における減算結果とを比較する。そして、比較回路64は、減算結果が下限値x1minを下回る場合には0を出力し、それ以外の場合には1を出力する。
The 2n
The
AND回路65の一方の入力端子には、遷移可否決定部51b12が出力するフラグ情報FLG1bが入力され、他方の入力端子には、比較回路64の出力が入力される。そして、AND回路65は、比較回路64の出力が1の場合には、フラグ情報FLG1bの値(0または1)を出力し、比較回路64の出力が0の場合には、フラグ情報FLG1bの値によらず0を出力する。
The flag information FLG 1b output by the transition possibility determination unit 51b12 is input to one input terminal of the AND
イジング装置51a1~51aNのうち、イジング装置51a1以外についても、イジング装置51a1と同様の構成を有し、2~N番目のニューロンに対して同様の処理を行う。 Of the Ising devices 51a1 to 51aN, the elements other than the Ising device 51a1 have the same configuration as the Ising device 51a1 and perform the same processing on the 2nd to Nth neurons.
たとえば、イジング装置51aNの状態遷移判定回路51bNは、遷移可否決定部51bN1,51bN2、定義域確認部51bN3,51bN4を有する。
遷移可否決定部51bN1は、エネルギー変化ΔEN+と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN+をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。
For example, the state transition determination circuit 51bN of the Ising device 51aN has transition possibility determination units 51bN1, 51bN2 and a domain confirmation unit 51bN3, 51bN4.
The transition possibility determination unit 51bN1 determines whether or not to allow the update of the state of the Nth neuron that causes the energy change ΔEN + based on the magnitude relationship between the energy change ΔEN + and the thermal excitation energy.
遷移可否決定部51bN2は、エネルギー変化ΔEN-と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN-をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51bN2 determines whether or not to allow the update of the state of the Nth neuron that causes the energy change ΔE N− based on the magnitude relationship between the energy change ΔE N− and the thermal excitation energy.
定義域確認部51bN3は、変数xNが+2n変化することにより上限値を超える場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
定義域確認部51bN4は、変数xNが-2n変化することにより下限値を下回る場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
When the upper limit value is exceeded by the variable x N changing by +2 n , the domain confirmation unit 51bN3 sets the flag information indicating the determination result of whether or not to allow the update to 0.
When the variable x N changes by -2 n and falls below the lower limit, the domain confirmation unit 51bN4 sets the flag information indicating the determination result of whether to allow the update to 0.
以下、第3の実施の形態の最適化装置50の動作例を示す。
図11は、第3の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the
FIG. 11 is a flowchart showing a flow of an example of the operation of the optimization device according to the third embodiment.
まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhiの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置51a1~51aNに設定する(ステップS40)。第3の実施の形態の最適化装置50において、制限情報LMTは、各変数xiの定義域(上限値と下限値)を含む。
First, the
ステップS41,S42の処理は、図2に示したステップS2,S3の処理と同じである。
ステップS42の処理後、状態遷移判定回路51b1~51bNのそれぞれは、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS43)。ステップS43の処理には、前述のオフセット値offの加算処理なども含まれる。
The processing of steps S41 and S42 is the same as the processing of steps S2 and S3 shown in FIG.
After the processing of step S42, each of the state transition determination circuits 51b1 to 51bN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i- (step S43). The process of step S43 also includes the above-mentioned addition process of the offset value off.
その後、状態遷移判定回路51b1~51bNのそれぞれは、更新する場合に定義域外となる変数xiについてのフラグ情報を0にする(ステップS44)。
以降のステップS45~S50の処理は、図2に示したステップS5~S10の処理と同じである。
After that, each of the state transition determination circuits 51b1 to 51bN sets the flag information for the variable xi , which is out of the definition range when updating, to 0 (step S44).
Subsequent processes of steps S45 to S50 are the same as the processes of steps S5 to S10 shown in FIG.
以上のような第3の実施の形態の最適化装置50では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置50は、更新する場合に定義域外となる変数xiについてのフラグ情報を0にすることで、変数xiが定義域外となる更新が確実に抑制される。
In the
(第4の実施の形態)
図12は、第4の実施の形態の最適化装置の一例を示す図である。図12において、図1、図3、図8に示した最適化装置10,20,50の要素と同じ要素については同一符号が付されている。
(Fourth Embodiment)
FIG. 12 is a diagram showing an example of the optimization device according to the fourth embodiment. In FIG. 12, the same elements as those of the
第4の実施の形態の最適化装置70は、算出回路71b1~71bNや状態更新回路72に供給するシフト量n1~nNを保持するシフト量保持部73a1~73aNを有する。シフト量n1~nNは、N個のニューロンのそれぞれの状態の変化幅を決める値であり、0以上の値である。たとえば、1番目のニューロンの状態の変化幅は±2n1、N番目のニューロンの状態の変化幅は±2nNと表せる。シフト量n1~nNはそれぞれ異なっていてもよい。
The
シフト量保持部73a1~73aNは、たとえば、レジスタやSRAMなどである。
イジング装置71a1~71aNの算出回路71b1~71bNに含まれるローカルフィールド更新部71b11~71bN1のそれぞれには、シフト量n1~nNが供給される。そして、ローカルフィールド更新部71b11~71bN1のそれぞれは、状態が更新されたニューロンについてのシフト量を用いて、ローカルフィールドを更新する。
The shift amount holding units 73a1 to 73aN are, for example, registers, SRAMs, and the like.
The shift amounts n1 to nN are supplied to each of the local field update units 71b11 to 71bN1 included in the calculation circuits 71b1 to 71bN of the Ising devices 71a1 to 71aN. Then, each of the local field update units 71b11 to 71bN1 updates the local field by using the shift amount for the neuron whose state has been updated.
図13は、ローカルフィールド更新部においてシフト動作が行われる部分の例を示す図である。図13では、ローカルフィールド更新部71b11~71bN1のうち、i番目のニューロンについてのローカルフィールドを更新するローカルフィールド更新部71bi1の一部が示されている。 FIG. 13 is a diagram showing an example of a portion where the shift operation is performed in the local field update unit. FIG. 13 shows a part of the local field update unit 71bi1 that updates the local field for the i-th neuron among the local field update units 71b11 to 71bN1.
ローカルフィールド更新部71bi1は、不一致回路80、選択回路81、シフト演算回路82を有する。
不一致回路80は、i番目のニューロンの識別情報ID(=i)と、状態が更新されたニューロンの識別情報ID(=j)とが不一致の場合に、1を出力し、一致している場合に0を出力する。
The local field update unit 71bi1 has a
The
たとえば、不一致回路80は、i番目のニューロンとj番目のニューロンの識別情報IDを1ビットずつ比較し、全てのビットが一致している場合に0を出力し、それ以外の場合には1を出力する。
For example, the
図13には、不一致回路80の回路例が示されている。不一致回路80は、k個のExOR(排他的論理和)回路80a1,80a2,…,80akと、複数のOR(論理和)回路(たとえば、OR回路80b1~80bm,80c)を有する。
FIG. 13 shows a circuit example of the
ExOR回路80a1~80akは、それぞれkビットからなるi番目のニューロンとj番目のニューロンの識別情報IDを1ビットずつ比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。たとえば、ExOR回路80a1は、i番目のニューロンとj番目のニューロンのそれぞれの識別情報IDの最下位ビット(i1とj1)同士を比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。ExOR回路80akは、i番目のニューロンとj番目のニューロンのそれぞれの識別情報IDの最上位ビット(ikとjk)同士を比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。
The ExOR circuits 80a1 to 80ak compare the identification information IDs of the i-th neuron and the j-th neuron, each consisting of k bits, one bit at a time, and
OR回路80b1~80bmは、ExOR回路80a1~80akの出力を2つずつ受け、両者の論理和を出力する。たとえば、OR回路80b1は、ExOR回路80a1,80a2の出力を受け、両者の論理和を出力する。 The OR circuits 80b1 to 80bm receive two outputs of the ExOR circuits 80a1 to 80ak and output the logical sum of the two. For example, the OR circuit 80b1 receives the output of the ExOR circuits 80a1 and 80a2, and outputs the logical sum of the two.
図示が省略されているが、OR回路80b1~80bmの出力は、2つずつ次の段の複数のOR回路の何れかに入力され、またその段の複数のOR回路の出力が2つずつ、次の段の複数のOR回路の何れかに入力される、という処理がkの値に応じて繰り返される。そして、最後段のOR回路80cの出力が、不一致回路80の出力となる。
Although not shown, the outputs of the OR circuits 80b1 to 80bm are input to any of the plurality of OR circuits in the next stage by two, and the outputs of the plurality of OR circuits in that stage are two by two. The process of being input to any of the plurality of OR circuits in the next stage is repeated according to the value of k. Then, the output of the
選択回路81は、不一致回路80の出力が1の場合に、重み係数Wijを選択して出力し、不一致回路80の出力が0の場合に、0を選択して出力する。
シフト演算回路82は、選択回路81の出力が0の場合には0を出力し、選択回路81の出力が重み係数Wijの場合には、重み係数Wijをnjビット分、左シフトした値(Wij*(1<<nj)=2njWij)を出力する。状態変化方向DRに応じて、2njWijに対し1または-1を掛けたものが、ローカルフィールドhiの変化分となる。
The
The
図12において、イジング装置71a1~71aNの算出回路71b1~71bNに含まれるエネルギー変化算出部71b12~71bN2のそれぞれには、シフト量n1~nNのうち何れか1つが供給される。たとえば、エネルギー変化算出部71b12は、シフト量n1を受け、式(2)より、ΔE1+=-2n1h1、ΔE1-=2n1h1を算出する。エネルギー変化算出部71bN2は、シフト量nNを受け、式(2)より、ΔEN+=-2nNhN、ΔEN-=2nNhNを算出する。
In FIG. 12, any one of the shift amounts n1 to nN is supplied to each of the energy change calculation units 71b12 to 71bN2 included in the calculation circuits 71b1 to 71bN of the Ising devices 71a1 to 71aN. For example, the energy change calculation unit 71b12 receives the shift amount n1 and calculates
状態遷移判定回路71c1~71cNは、第2の実施の形態の最適化装置20の状態遷移判定回路21b1~21bNまたは第3の実施の形態の最適化装置50の状態遷移判定回路51b1~51bNとほぼ同じである。ただ、ΔE変更部21b11,21b12~21bN1,21bN2や、定義域確認部51b13,51b14~51bN3,51bN4では、前述のように現在のニューロンの状態に対して、2nの加算または減算が行われる(図4、図5、図9、図10参照)。このため、状態遷移判定回路71c1~71cNのそれぞれには、シフト量nとして、シフト量n1~nNのうちの何れか1つが供給される。
The state transition determination circuits 71c1 to 71cN are substantially the same as the state transition determination circuits 21b1 to 21bN of the
状態更新回路72には、シフト量n1~nNが供給され、更新ニューロン選択回路22が出力した識別情報IDに対応するシフト量を1つ選択する。そして、状態更新回路72は、選択したシフト量(以下ではnsとする)と、状態変化方向DRに基づいて、識別情報IDで表されるニューロンの状態を、正または負方向に2ns、変化させる。
The shift amounts n1 to nN are supplied to the
制御部74は、制御部14と同様の機能を有するとともに、シフト量保持部73a1~73aNに、シフト量n1~nNを設定する。制御部74は、ニューロンの状態の更新処理の際にシフト量n1~nNを変化させてもよい。これにより最適解への収束速度を制御することができる。たとえば、制御部74は、全ニューロンの状態が所定回数の更新処理を行っても変化しない場合(現在の状態が局所解にある場合)、シフト量n1~nNを大きくすることで、エネルギー変化の絶対値が大きくなり、局所解からの脱出が促進される。これにより、収束速度を加速させることができる。
The
以下、第4の実施の形態の最適化装置70の動作例を示す。
図14は、第4の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the
FIG. 14 is a flowchart showing a flow of an example of the operation of the optimization device according to the fourth embodiment.
まず、制御部74は、制御装置15から受けた重み係数Wij、ローカルフィールドhiの初期値、温度パラメータTの初期値、制限情報LMTをイジング装置71a1~71aNに対して設定する。また、制御部74は、制御装置15から受けたシフト量n1~nNを、シフト量保持部73a1~73aNに対して設定する(ステップS60)。その後のステップS61~S69の処理は、設定されたシフト量n1~nNが用いられる点以外、図2に示したステップS2~S10と同じである。なお、制御部74は、たとえば、ステップS68の処理後などに、シフト量n1~nNの大きさを変更してもよい。
First, the
以上のような第4の実施の形態の最適化装置70では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置70では、制御部74がN個のニューロンのそれぞれについてのシフト量n1~nNを、個々に設定するため、状態の変化幅をニューロンごとに変えることができる。また、制御部74は、ニューロンの状態の更新処理の際にシフト量n1~nNを変化させることもできるようになり、最適解への収束速度を制御することができる。
In the
ところで、上記の第1乃至第4の実施の形態の最適化装置10,20,50,70において制御部14,74の機能は、たとえば、PCなどの制御装置内のプロセッサが制御プログラムを実行することで実現してもよい。
By the way, in the
図15は、制御装置のハードウェア例を示す図である。
制御装置90は、CPU91、RAM92、HDD(Hard Disk Drive)93、画像信号処理部94、入力信号処理部95、媒体リーダ96、通信インタフェース97及びインタフェース98を有する。上記ユニットは、バスに接続されている。
FIG. 15 is a diagram showing a hardware example of the control device.
The
CPU91は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU91は、HDD93に記憶されたプログラムやデータの少なくとも一部をRAM92にロードし、プログラムを実行する。なお、CPU91は複数のプロセッサコアを備えてもよく、制御装置90は複数のプロセッサを備えてもよく、最適化装置98aの制御を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。
The
RAM92は、CPU91が実行するプログラムやCPU91が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、制御装置90は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD93は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、重み係数や制限情報LMTなどの設定や温度パラメータTの制御を行う機能を制御装置90に実行させる制御プログラムが含まれる。なお、制御装置90は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
The
画像信号処理部94は、CPU91からの命令にしたがって、制御装置90に接続されたディスプレイ94aに画像(たとえば、最適化問題の計算結果を表す画像)を出力する。ディスプレイ94aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
The image
入力信号処理部95は制御装置90に接続された入力デバイス95aから入力信号を取得し、CPU91に出力する。入力デバイス95aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、制御装置90に、複数の種類の入力デバイスが接続されていてもよい。
The input
媒体リーダ96は、記録媒体96aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体96aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ96は、たとえば、記録媒体96aから読み取ったプログラムやデータを、RAM92やHDD93などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU91によって実行される。なお、記録媒体96aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体96aやHDD93を、コンピュータ読み取り可能な記録媒体ということがある。
The
通信インタフェース97は、ネットワーク97aに接続され、ネットワーク97aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース97は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
The
インタフェース98は、最適化装置98aと通信を行うインタフェースである。最適化装置98aは、たとえば、第1乃至第4の実施の形態の最適化装置10,20,50,70から制御部14,74を除いたものである。
The
図16は、制御装置による最適化装置の制御方法の一例の流れを示すフローチャートである。
制御装置90は、制御部74は、最適化装置98aに対して、重み係数Wij、ローカルフィールドhiの初期値、温度パラメータTの初期値、制限情報LMTの設定を行う。また、制御装置90は、最適化装置98aが図12に示したようなシフト量保持部73a1~73aNを含む場合、シフト量n1~nNの設定を行う(ステップS70)。
FIG. 16 is a flowchart showing a flow of an example of a control method of the optimization device by the control device.
In the
その後、制御装置90は、たとえば、最適化装置98aが前述の更新処理を行うたびに送信する信号を受信し、更新処理が所定回数N1、繰り返されたか否かを判定する(ステップS71)。更新処理が所定回数N1、繰り返されていない場合には、ステップS71の処理が繰り返される。
After that, the
更新処理が所定回数N1、繰り返された場合、制御装置90は、温度パラメータTの変更回数(温度変更回数)が、所定回数N2に達したか否かを判定する(ステップS72)。
When the update process is repeated a predetermined number of times N1, the
温度変更回数が所定回数N2に達していない場合、制御装置90は、温度パラメータTを変更する(温度を下げる)(ステップS73)。ステップS73の処理では、制御装置90は、前回送信した値よりも小さい温度パラメータTの値を、最適化装置98aに送信する。所定回数N1,N2、温度パラメータTの値の変更の仕方(一度に値をどのくらい小さくするかなど)は、アニーリング条件に基づいて決定される。ステップS73の処理後、ステップS71からの処理が繰り返される。なお、制御装置90は、たとえば、ステップS73の処理後などに、シフト量n1~nNの大きさを変更してもよい。
When the number of temperature changes has not reached the predetermined number of times N2, the
温度変更回数が所定回数N2に達している場合、制御装置90は、そのときの各ニューロンの状態(変数xi(i=1~N))を、たとえば、図1に示した状態更新回路13内の記憶部から、最適化問題の計算結果として取得する(ステップS74)。
When the number of temperature changes reaches a predetermined number of times N2, the
その後、制御装置90は、受信した計算結果を、たとえば、図15に示したディスプレイ94aに表示し(ステップS75)、最適化装置98aの制御を終える。
なお、前述のように、上記の制御装置90の処理内容は、コンピュータにプログラムを実行させることで実現できる。
After that, the
As described above, the processing content of the
プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体96a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVD及びDVD-R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD93)にプログラムをコピーして実行してもよい。 The program can be recorded on a computer-readable recording medium (eg, recording medium 96a). As the recording medium, for example, a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used. Magnetic disks include FDs and HDDs. The optical disc includes a CD, a CD-R (Recordable) / RW (Rewritable), a DVD, and a DVD-R / RW. The program may be recorded and distributed on portable recording media. In that case, the program may be copied from the portable recording medium to another recording medium (for example, HDD93) and executed.
以上、実施の形態に基づき、本発明の最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。 Although the optimization device of the present invention, the control method of the optimization device, and one viewpoint of the control program of the optimization device have been described above based on the embodiment, these are only examples and are limited to the above description. It's not something.
10 最適化装置
11a1~11aN イジング装置
11b1~11bN 算出回路
11b11~11bN1 レジスタ
11b12~11bN2 ローカルフィールド更新部
11b13~11bN3 エネルギー変化算出部
11c1~11cN 状態遷移判定回路
12 更新ニューロン選択回路
13 状態更新回路
14 制御部
20 制御装置
10 Optimization device 11a1 to 11aN Rising device 11b1 to 11bN Calculation circuit 11b11 to 11bN1 Register 11b12 to 11bN2 Local field update unit 11b13 to 11bN3 Energy change calculation unit 11c1 to 11cN State
Claims (7)
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置。 Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
Optimizer with.
請求項1に記載の最適化装置。 In the state transition determination circuit, when the state of the second neuron exceeds the upper limit value or falls below the lower limit value by changing the state of the second neuron in the positive or negative direction by the 2 n , among the two energy changes. The first energy change due to a change in the state of the second neuron that exceeds the upper limit value or falls below the lower limit value is changed to a predetermined positive value, and then the first energy change is brought about. Determining whether to allow the state update of 2 neurons,
The optimization device according to claim 1.
請求項1に記載の最適化装置。 The state transition determination circuit causes the two energy changes when the state of the second neuron exceeds the upper limit value or falls below the lower limit value by changing the state of the second neuron in the positive or negative direction by the 2 n . Among the determination results of whether or not to allow the update of the state of the second neuron, whether or not to allow the update due to the change in the state of the second neuron that exceeds the upper limit value or falls below the lower limit value. The first judgment result is changed to a value indicating that the update is not allowed.
The optimization device according to claim 1.
請求項1乃至3の何れか一項に記載の最適化装置。 In the calculation circuit, when the state of the first neuron changes by 2 n in the positive or negative direction, the weighting coefficient having a predetermined bit width is left-shifted by the number of n bits. Use to calculate the two energy changes,
The optimization device according to any one of claims 1 to 3.
請求項1乃至4の何れか一項に記載の最適化装置。 It has a control unit that individually sets the value of n for each of the plurality of neurons.
The optimization device according to any one of claims 1 to 4.
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置に対して、
制御装置が、前記重み係数、前記上限値及び前記下限値を設定し、
前記制御装置が、前記温度パラメータの大きさを制御する、
最適化装置の制御方法。 Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
For optimizers that have
The control device sets the weighting factor, the upper limit value, and the lower limit value.
The control device controls the magnitude of the temperature parameter.
How to control the optimizer.
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置に対して、
前記重み係数、前記上限値及び前記下限値を設定し、
前記温度パラメータの大きさを制御する、
処理をコンピュータに実行させる最適化装置の制御プログラム。 Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
For optimizers that have
The weighting coefficient, the upper limit value and the lower limit value are set, and the weighting coefficient, the upper limit value and the lower limit value are set.
Controlling the magnitude of the temperature parameter,
A control program for an optimizer that causes a computer to perform processing.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018161212A JP7093009B2 (en) | 2018-08-30 | 2018-08-30 | Optimization device, optimization device control method, and optimization device control program |
US16/521,680 US11645496B2 (en) | 2018-08-30 | 2019-07-25 | Optimization apparatus and optimization apparatus control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018161212A JP7093009B2 (en) | 2018-08-30 | 2018-08-30 | Optimization device, optimization device control method, and optimization device control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020035179A JP2020035179A (en) | 2020-03-05 |
JP7093009B2 true JP7093009B2 (en) | 2022-06-29 |
Family
ID=69641430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018161212A Active JP7093009B2 (en) | 2018-08-30 | 2018-08-30 | Optimization device, optimization device control method, and optimization device control program |
Country Status (2)
Country | Link |
---|---|
US (1) | US11645496B2 (en) |
JP (1) | JP7093009B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7206476B2 (en) * | 2018-09-14 | 2023-01-18 | 富士通株式会社 | Optimization device, optimization device control method, and optimization device control program |
JP7137064B2 (en) * | 2018-10-19 | 2022-09-14 | 富士通株式会社 | Optimization device and control method for optimization device |
JP7491032B2 (en) * | 2020-04-13 | 2024-05-28 | 富士通株式会社 | Optimization device, optimization method, and optimization program |
JP2021168096A (en) * | 2020-04-13 | 2021-10-21 | 富士通株式会社 | Sampling device, sampling method, and sampling program |
JP7528517B2 (en) | 2020-04-24 | 2024-08-06 | 富士通株式会社 | Optimization device, optimization method, and optimization program |
JP7326235B2 (en) * | 2020-08-13 | 2023-08-15 | 株式会社東芝 | Information processing system |
JP7472062B2 (en) | 2021-03-08 | 2024-04-22 | 株式会社東芝 | Calculation device, calculation method and program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051314A (en) | 2014-08-29 | 2016-04-11 | 株式会社日立製作所 | Semiconductor device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08287033A (en) * | 1995-04-11 | 1996-11-01 | Nippon Telegr & Teleph Corp <Ntt> | Discrete type multilevel state neural network equipment |
JP4552024B2 (en) | 2004-09-02 | 2010-09-29 | 株式会社国際電気通信基礎技術研究所 | Image analysis apparatus, image analysis program, and image analysis method |
WO2015156126A1 (en) * | 2014-04-11 | 2015-10-15 | 大学共同利用機関法人情報・システム研究機構 | Quantum computing device for ising model, quantum parallel computing device for ising model, and quantum computing method for ising model |
JP6476292B2 (en) * | 2015-06-09 | 2019-02-27 | 株式会社日立製作所 | Information processing apparatus and control method thereof |
JP6691297B2 (en) * | 2016-07-13 | 2020-04-28 | 富士通株式会社 | Information processing apparatus, Ising apparatus, and control method of information processing apparatus |
JP6773970B2 (en) | 2016-09-09 | 2020-10-21 | 富士通株式会社 | Information processing device, Ising device and control method of information processing device |
JP6465092B2 (en) * | 2016-10-14 | 2019-02-06 | 富士通株式会社 | Optimization device and control method of optimization device |
JP7071638B2 (en) * | 2018-07-31 | 2022-05-19 | 富士通株式会社 | Optimization device, optimization device control method, and optimization device control program |
-
2018
- 2018-08-30 JP JP2018161212A patent/JP7093009B2/en active Active
-
2019
- 2019-07-25 US US16/521,680 patent/US11645496B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051314A (en) | 2014-08-29 | 2016-04-11 | 株式会社日立製作所 | Semiconductor device |
Non-Patent Citations (1)
Title |
---|
松田 聖,量子化された慎重なニューロンとゆらぎ,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,1992年05月27日,第92巻, 第59号,pp.33-40 |
Also Published As
Publication number | Publication date |
---|---|
US20200074279A1 (en) | 2020-03-05 |
US11645496B2 (en) | 2023-05-09 |
JP2020035179A (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7093009B2 (en) | Optimization device, optimization device control method, and optimization device control program | |
JP7071638B2 (en) | Optimization device, optimization device control method, and optimization device control program | |
JP7206476B2 (en) | Optimization device, optimization device control method, and optimization device control program | |
JP7100254B2 (en) | Optimization system, optimization system control method and optimization system control program | |
JP7007585B2 (en) | Optimization device, optimization device control method, and optimization device control program | |
JP6773970B2 (en) | Information processing device, Ising device and control method of information processing device | |
CN113283046B (en) | Optimizing apparatus, optimizing method, and recording medium | |
JP2017097585A (en) | Learning device, program, and learning method | |
JP7137064B2 (en) | Optimization device and control method for optimization device | |
US20210065087A1 (en) | Information processing apparatus, combination optimization method, and computer-readable recording medium recording combination optimization program | |
JP7181454B2 (en) | Optimization device, optimization device control method, and optimization device control program | |
JP2021168096A (en) | Sampling device, sampling method, and sampling program | |
JP7111966B2 (en) | Optimization device and control method for optimization device | |
JP2021111270A (en) | Optimization device, temperature setting method for optimization device, and temperature setting program for optimization device | |
JP2022072685A (en) | Evaluation function generation program, evaluation function generation method, optimization method and optimization device | |
JP2021131723A (en) | Information processing method, information processing device and program | |
JP2022161128A (en) | Program, data processing method, and data processing apparatus | |
JP2023028347A (en) | Program, data processing method and data processing device | |
CN117634597A (en) | Storage medium, data processing apparatus, and data processing method | |
CN115577824A (en) | Data processing apparatus, computer-readable recording medium storing program, and method | |
CN117786275A (en) | Data processing apparatus and data processing method | |
JP2022184426A (en) | Data processing device, data processing method, and program | |
TW202405687A (en) | Modeling method of neural network and simulation method | |
JP2021124946A (en) | Learning device, learning method, and program | |
CN118260153A (en) | Temperature adjustment program, data processing apparatus, and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210513 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210524 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210524 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220506 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7093009 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |