JP7111966B2 - 最適化装置及び最適化装置の制御方法 - Google Patents
最適化装置及び最適化装置の制御方法 Download PDFInfo
- Publication number
- JP7111966B2 JP7111966B2 JP2018164430A JP2018164430A JP7111966B2 JP 7111966 B2 JP7111966 B2 JP 7111966B2 JP 2018164430 A JP2018164430 A JP 2018164430A JP 2018164430 A JP2018164430 A JP 2018164430A JP 7111966 B2 JP7111966 B2 JP 7111966B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- weighting factor
- update
- weighting
- bit
- 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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
1つの側面では、本発明は、計算速度の低下を抑制可能な最適化装置、最適化装置の制御方法を提供することを目的とする。
以下に示す最適化装置は、計算対象の最適化問題を変換したイジングモデルの全スピンに対応する全ビットのそれぞれの値の組み合わせのうち、エネルギー関数が最小値となるときの各ビットの値(イジングモデルの基底状態)を探索するものである。
また、変数xiが変化して1-xiとなると、変数xiの増加分は、Δxi=(1-xi)-xi=1-2xiと表せる。スピン反転(ビットの値の変化)に伴うエネルギー変化ΔEiは、以下の式(2)で表される。
(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の一例を示す図である。
最適化装置10は、たとえば、1チップの半導体集積回路(たとえば、FPGA(Field Programmable Gate Array)など)である。
イジングモデルのビット数が多くなると、記憶容量が小さい記憶部10aでは、全重み係数を保持しきれなくなる。ビット数が10倍になると、全ビット間の相互作用を考慮する場合、重み係数の数は100倍となる。たとえば、あるビット数の重み係数を保持するために16MBの記憶容量を要する場合、そのビット数が10倍になると、1.6GBの記憶容量を要することになり、1チップに搭載できる記憶部10aの記憶容量を大幅に超えてしまう。
まず、制御部10cは、記憶装置11に対して、記憶部10aに記憶する重み係数群Wklを指定し(ステップS1)、重み係数群Wklを記憶装置11から読み出して、記憶部10aに記憶する(ステップS2)。重み係数群Wklは、全ビットの一部である複数のビットに関する重み係数群である。
更新回数c2=0のとき、図3の例では、1~3番目のビットに関する重み係数群が重み係数群Wklとして記憶部10aに記憶されている。
(比較例)
図4は、比較例の最適化装置の動作の一例の流れを示すフローチャートである。
図5は、第2の実施の形態の最適化装置の一例を示す図である。
第2の実施の形態の最適化装置20は、たとえば、1チップの半導体集積回路(たとえば、FPGAなど)である。最適化装置20は記憶装置30に接続されている。
記憶部21は、記憶装置30に記憶された全重み係数のうち、全ビットの一部である複数のビットに関する重み係数群を記憶する。図5の例では、記憶部21は、n個のビットのうち、1番目からk番目のビットに関する重み係数群を記憶している。記憶部21の記憶容量は、記憶装置30の記憶容量よりも小さい。記憶部21は、レジスタまたはSRAMなどである。
コントローラ23aは、まず、記憶装置30から、1番目のビットからk番目のビットに関する重み係数を読み出して、記憶部21に記憶する。そして、コントローラ23aは、上記の更新判定処理回数c1が回数N1に達するたびに、記憶部21に記憶されているk個のビットに関する重み係数群のうちの一部を、k個のビットに含まれないビットに関する重み係数群で更新する。たとえば、コントローラ23aは、更新判定処理回数c1が回数N1に達するたびに、k個のビットよりも識別番号が大きいビットのうち、最も識別番号が小さいビットに関する重み係数群を、記憶装置30から読み出す。そして、コントローラ23aは、記憶部21に記憶されているk個のビットに関する重み係数群のうちの識別番号が一番小さいビットに関する重み係数群を、読み出した重み係数群で更新(上書き)する。
なお、コントローラ23aは、エネルギー変化を計算するためのローカルフィールドの初期値(たとえば、バイアス係数bi)を、たとえば、記憶装置30から受け、ΔE計算回路22b1~22bnに対して、設定してもよい。
(ΔE計算回路と更新判定回路の一例)
図6は、ΔE計算回路と更新判定回路の一例を示す図である。
選択回路40は、更新ビットの値の変化分の演算を実現するものである。i番目(id=i)のビットが更新ビットである場合、その値を示す変数xiが1から0に変化するとき、変化分Δxiは-1となり、変数xiが0から1に変化するとき、Δxiは1となる。選択回路40は、状態更新回路22gから供給される変数xi(i番目のビットの値の更新後の値)が0のときには、-1を選択して出力し、変数xiが1のときには、1を選択して出力する。
レジスタ43は、図示しないクロック信号に同期して、加算器42が出力する値(ローカルフィールドh1)を取り込む。レジスタ43は、たとえば、フリップフロップである。なお、レジスタ43に格納されるローカルフィールドh1の初期値は、たとえば、バイアス係数b1である。
選択回路45は、Δx1の演算を実現するものである。選択回路45は、状態更新回路22gから供給される現在の1番目のビットの値を示す変数x1が0のときは、-1を出力し、変数x1が1のときは1を出力する。
符号反転部50は、ΔE計算回路22b1が出力するエネルギー変化ΔE1に-1を掛けて符号を反転させる。
乱数発生回路52は、0以上、1以下の一様乱数rを発生する。
シミュレーテッド・アニーリングが行われる場合、あるエネルギー変化ΔEを引き起こす状態遷移の許容確率A(ΔE,T)を以下の式(3)のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
式(3)で表される許容確率A(ΔE,T)を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布にしたがう。そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られるはずである。この様子が材料を焼き鈍したときの状態変化とよく似ているため、この方法はシミュレーテッド・アニーリングと呼ばれるのである。このとき、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
第2の実施の形態の最適化装置20の動作の流れは、図2に示したフローチャートと同様である。
また、ステップS8に相当する処理として、制御部23のカウンタ23bと比較回路23cにより、重み係数群Wklの更新回数c2が所定の回数Mに達したか否かが判定される。
更新回数c2=0のとき、記憶部21には、コントローラ23aによって記憶装置30から読み出された1~k番目のビットに関する重み係数群が、重み係数群Wklとして記憶されている。
図8には、記憶部21に重み係数群Wklとして、p~q番目のビット(k個のビット)に関する重み係数群が記憶されている。この場合、コントローラ23aは、識別番号idwとしてpを出力する。そして、選択回路22aは、判定結果変更回路22d1~22dnのうち、p~q番目のビットに関する判定結果を入力する判定結果変更回路22dp,…,22di,…,22dqに対しては、1を供給する。また、選択回路22aは、その他のビットに関する判定結果を入力する判定結果変更回路に対しては、0を供給する。これにより、p~q番目のビット以外のビットに関する判定結果は、全て0になる。更新ビット選択回路22eは、判定結果が1になるビットから更新ビットを選択するため、p~q番目のビット以外のビットは、更新ビットとして選択されず、p~q番目のビットの中から更新ビットが選択される。
図9は、問題規模と処理時間との関係を表すシミュレーション結果の一例を示す図である。図9において、横軸はある問題の規模(ビット数n)を表し、縦軸は処理時間(s(秒))を表している。
10a 記憶部
10b 演算回路
10c 制御部
11 記憶装置
Claims (4)
- 記憶装置に接続される最適化装置において、
最適化問題を変換したイジングモデルの全スピンに対応する全ビットの間の相互作用の大きさを示す、前記記憶装置に記憶された全重み係数のうち、前記全ビットの一部である複数のビットに関する第1の重み係数群を記憶する記憶部と、
前記第1の重み係数群と、前記複数のビットのうちで値が更新されたビットの情報に基づいて、前記複数のビットのそれぞれの値が変化することによる前記イジングモデルのエネルギー変化を、前記複数のビットのそれぞれについて計算する処理と、前記エネルギー変化に基づいて、前記複数のビットのうちの1つの更新を確率的に許容する処理とを含む、更新判定処理を繰り返すことで、前記イジングモデルの基底状態の探索を行う演算回路と、
前記更新判定処理が所定回数繰り返された場合、前記複数のビットに含まれないビットに関する第2の重み係数群を前記記憶装置から読み出し、前記第2の重み係数群を含むように前記記憶部に記憶されている前記第1の重み係数群の一部を更新し、更新後の前記第1の重み係数群を用いた前記更新判定処理を前記演算回路に行わせる制御部と、
を有する最適化装置。 - 前記制御部は、前記記憶部に記憶されている前記第1の重み係数群の一部を更新するときに、前記複数のビットのうち、識別番号が一番小さい1つのビットに関する第3の重み係数群を、前記複数のビットよりも識別番号が大きいビットのうち、最も識別番号が小さい1つのビットに関する前記第2の重み係数群に更新する、
請求項1に記載の最適化装置。 - 前記演算回路は、
前記全ビットのそれぞれが変化することによる前記エネルギー変化を、それぞれ計算する複数のエネルギー変化計算回路と、
前記複数のエネルギー変化計算回路のそれぞれが計算した前記エネルギー変化に基づいて、前記全ビットのそれぞれについて、更新を許容するか否かの判定結果を出力する複数の更新判定回路と、
前記全ビットのうち、前記複数のビットに含まれないビットについての前記判定結果を、更新を許容しないことを示す値に変更する複数の判定結果変更回路と、
を有する請求項1に記載の最適化装置。 - 最適化問題を変換したイジングモデルの全スピンに対応する全ビットの間の相互作用の大きさを示す、記憶装置に記憶された全重み係数のうち、前記全ビットの一部である複数のビットに関する第1の重み係数群を記憶する記憶部と、
前記第1の重み係数群と、前記複数のビットのうちで値が更新されたビットの情報に基づいて、前記複数のビットのそれぞれの値が変化することによる前記イジングモデルのエネルギー変化を、前記複数のビットのそれぞれについて計算する処理と、前記エネルギー変化に基づいて、前記複数のビットのうちの1つの更新を確率的に許容する処理とを含む、更新判定処理を繰り返すことで、前記イジングモデルの基底状態の探索を行う演算回路と、
制御部と、
を有し、前記記憶装置に接続された最適化装置における前記制御部が、
前記更新判定処理が所定回数繰り返された場合、前記複数のビットに含まれないビットに関する第2の重み係数群を前記記憶装置から読み出し、
前記第2の重み係数群を含むように前記記憶部に記憶されている前記第1の重み係数群の一部を更新し、更新後の前記第1の重み係数群を用いた前記更新判定処理を前記演算回路に行わせる、
最適化装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018164430A JP7111966B2 (ja) | 2018-09-03 | 2018-09-03 | 最適化装置及び最適化装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018164430A JP7111966B2 (ja) | 2018-09-03 | 2018-09-03 | 最適化装置及び最適化装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038435A JP2020038435A (ja) | 2020-03-12 |
JP7111966B2 true JP7111966B2 (ja) | 2022-08-03 |
Family
ID=69737947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018164430A Active JP7111966B2 (ja) | 2018-09-03 | 2018-09-03 | 最適化装置及び最適化装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7111966B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7410394B2 (ja) | 2020-03-26 | 2024-01-10 | 富士通株式会社 | 最適化装置及び最適化方法 |
US11562211B2 (en) * | 2020-04-15 | 2023-01-24 | Fujitsu Limited | System local field matrix updates |
JP2023149806A (ja) * | 2022-03-31 | 2023-10-16 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5864684B1 (ja) | 2014-08-29 | 2016-02-17 | 株式会社日立製作所 | 半導体装置 |
US20170323195A1 (en) | 2016-05-09 | 2017-11-09 | 1Qb Information Technologies Inc. | Method and system for improving a policy for a stochastic control problem |
JP2017219952A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | イジング装置及びイジング装置の制御方法 |
JP2017219948A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
US20180089557A1 (en) | 2016-09-26 | 2018-03-29 | Intel Corporation | Programmable neuron core with on-chip learning and stochastic time step control |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04583A (ja) * | 1990-04-17 | 1992-01-06 | Seiko Epson Corp | 神経網計算機 |
-
2018
- 2018-09-03 JP JP2018164430A patent/JP7111966B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5864684B1 (ja) | 2014-08-29 | 2016-02-17 | 株式会社日立製作所 | 半導体装置 |
JP2016051349A (ja) | 2014-08-29 | 2016-04-11 | 株式会社日立製作所 | 半導体装置 |
US20170323195A1 (en) | 2016-05-09 | 2017-11-09 | 1Qb Information Technologies Inc. | Method and system for improving a policy for a stochastic control problem |
JP2017219952A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | イジング装置及びイジング装置の制御方法 |
JP2017219948A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
US20180089557A1 (en) | 2016-09-26 | 2018-03-29 | Intel Corporation | Programmable neuron core with on-chip learning and stochastic time step control |
Also Published As
Publication number | Publication date |
---|---|
JP2020038435A (ja) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7206476B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP7111966B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7100257B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7071638B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP6892599B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP7093009B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP7137064B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7053995B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7248907B2 (ja) | 最適化装置および最適化装置の制御方法 | |
JP7174244B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP6923790B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
Prellberg et al. | Lamarckian evolution of convolutional neural networks | |
JP2020204928A (ja) | 最適化装置および最適化方法 | |
JP7267966B2 (ja) | 情報処理装置及び情報処理方法 | |
JP7181454B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
JP2020027426A (ja) | 最適化システム、最適化システムの制御方法及び最適化システムの制御プログラム | |
Lu et al. | Adaptive online data-driven closed-loop parameter control strategy for swarm intelligence algorithm | |
JP7256378B2 (ja) | 最適化システムおよび最適化システムの制御方法 | |
JP7208529B2 (ja) | 最適化装置及び最適化方法 | |
JP7219402B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
Kirui et al. | Scentrees. jl: A julia package for generating scenario trees and scenario lattices for multistage stochastic programming | |
WO2021044516A1 (ja) | 演算装置、演算方法、及び、プログラムが格納された非一時的なコンピュータ可読媒体 | |
US11886780B2 (en) | Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program | |
JP2020064536A (ja) | 最適化装置及び最適化装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210610 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210614 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220506 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7111966 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |