JP6465223B1 - 最適化装置及び最適化装置の制御方法 - Google Patents
最適化装置及び最適化装置の制御方法 Download PDFInfo
- Publication number
- JP6465223B1 JP6465223B1 JP2018016705A JP2018016705A JP6465223B1 JP 6465223 B1 JP6465223 B1 JP 6465223B1 JP 2018016705 A JP2018016705 A JP 2018016705A JP 2018016705 A JP2018016705 A JP 2018016705A JP 6465223 B1 JP6465223 B1 JP 6465223B1
- Authority
- JP
- Japan
- Prior art keywords
- unit
- energy
- trial
- update
- trials
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/82—Architectures of general purpose stored program computers data or demand driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
Abstract
Description
(第1の実施の形態)
以下に示す最適化装置は、イジング型のエネルギー関数を用いて、最適化問題を計算する装置である。イジング型のエネルギー関数E(x)は、たとえば、以下の式(1)で定義される。
なお、以下では、論理回路において用いられる信号の値(0,1)と対応付けるために、ビットの2つの値のうち−1を0、+1を1として説明する。
最適化装置10は、保持部11、制御部12、演算部13、選択部14を有する。
保持部11は、コンテキスト情報11aを保持する。コンテキスト情報11aは、複数の試行のそれぞれについての最小エネルギーの状態、現在の状態、最小エネルギー、現在のエネルギー、温度及びバイアスを含む。
保持部11は、RAM(Random Access Memory)などの揮発性の記憶装置、または、フラッシュメモリなどの不揮発性の記憶装置である。
SAやその応用となるレプリカ交換法では、異なる温度や異なる初期状態などでの各試行において、複数のビットの何れかの値を更新する更新処理が多数回繰り返される。以下の説明では、試行回数をM回、繰り返し回数をN回とする。たとえば、N=1000000、M=100などである。
演算部13は、乱数生成部(図示省略)にて生成された乱数と、重み保持部13aに保持した重み係数と、上記のスピン情報と、更新制御によって更新された現在の状態及び温度に基づいて、複数のエネルギーの変化値の候補を計算する。
選択部14は、乱数に基づいて、演算部13が計算した複数のエネルギーの変化値の候補から、更新対象のエネルギーの変化値を選択する。なお、イジングモデルのSAにおいては、収束性を考慮して、状態遷移に伴い変化するビットの数は1つとするため、選択される更新対象のエネルギーの変化値も1つとする。
上記のような最適化装置10では、保持部11に保持された複数の試行に関するコンテキスト情報11aを用いて複数の試行を同時に処理するパイプライン処理が可能になる。図1には、各パイプライン処理に対応する6つの試行(試行No.1〜試行No.6)が同時に処理される例が示されている。この場合、レイテンシLは、パイプライン処理の段数に等しいため、L=6となる。なお、以下では説明を簡略化するため、制御部12、演算部13、選択部14のそれぞれにおけるパイプライン処理が2クロックサイクルで終わるものとする。
以上のように、第1の実施の形態の最適化装置10によれば、複数の試行を同時に処理することが可能となるため、制御部12、演算部13、選択部14の各部の稼働率が上がり、演算効率を向上させることができる。
図2は、第2の実施の形態の最適化装置の一例を示す図である。
第2の実施の形態の最適化装置20は、全体制御部21、入力部22、メモリ23a,23b,23c,23d,23e,23f,23g、データフロー制御部24を有する。また、最適化装置20は、FIFO(First In, First Out)メモリ(以下単にFIFOという)25a,25b,25c、演算部26、更新対象選択部27、乱数生成部28、出力部29を有する。最適化装置20は、たとえば、1チップの半導体集積回路により実現できる。
プロセッサ20bは、メモリ20cに記憶されているデータを読み出し、バス20aを介して最適化装置20に供給する処理や、最適化装置20が出力するデータを、バス20aを介してメモリ20cに記憶する処理などを行う。プロセッサ20bは、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などの演算処理装置である。ただし、プロセッサ20bの代わりに、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を用いてもよい。プロセッサ20bは、メモリ20cに記憶されたプログラムを実行する。
メモリ23a〜23gは、コンテキスト情報を記憶する。以下の説明では、7つのメモリ23a〜23gのそれぞれが1種類のコンテキスト情報を記憶するものとして説明する。メモリ23aは各試行における現在の状態を記憶し、メモリ23bは各試行における現在のエネルギーを記憶する。メモリ23cは各試行における現在の最小エネルギーを記憶し、メモリ23dは各試行における現在の最小エネルギーの状態を記憶する。メモリ23eは各試行における現在の温度を記憶し、メモリ23fは各試行における現在のオフセットを記憶する。メモリ23gは、各試行における現在のバイアス(ローカルフィールド)を記憶する。
なお、メモリ23a〜23gの代わりに、1つのメモリが用いられてもよい。
演算部26は、第1の実施の形態の演算部13と同様の機能を有する。すなわち、演算部26は、乱数生成部28にて生成された乱数、重み係数、スピン情報、更新制御によって更新された現在の状態及び温度に基づいて、複数のエネルギーの変化値の候補を計算する。演算部26の構成例については後述する。なお、スピン情報については、以下では更新対象ビット情報という。
(データフロー制御部24の一例)
図3は、データフロー制御部の一例を示す図である。
試行セットカウンタ30は、試行回数の組(セット)である試行セットのセット数を計数する。試行カウンタ31は、試行回数を計数する。イタレーションカウンタ32は、各試行における繰り返し回数を計数する。
試行回数分割制御部33は、たとえば、全体制御部21から、NとMを受ける。そして、試行回数分割制御部33は、更新処理部34において、たとえば、状態やエネルギーなどの更新が行われるたび、1つの試行の1回の更新処理が行われたことに相当するため、試行カウンタ31の計数値を+1カウントアップさせる。さらに、試行回数分割制御部33は、試行カウンタ31の計数値が、L−1になったときに、L個の試行のそれぞれについて1回の更新処理が行われたことになるため、イタレーションカウンタ32の計数値を+1カウントアップさせる。また、試行回数分割制御部33は、イタレーションカウンタ32の計数値が、Nになったときに、L個の試行のそれぞれについてN回の更新処理が行われたことになるため、試行セットカウンタ30の計数値を+1カウントアップさせる。そして、試行回数分割制御部33は、試行セットカウンタ30の計数値がceil(M/L)−1になったときに、ceil(M/L)セットの更新処理が終了した旨を全体制御部21に通知する。
更新処理部34は、入力選択判定部34a、セレクタ34b,34c,34d、状態・エネルギー更新部34e、最小エネルギー判定・更新部34f、出力選択部34g、温度更新部34h、オフセット増分値保持部34i、出力選択部34kを有する。
そして、状態・エネルギー更新部34eが出力するエネルギーが、前回までの更新処理で得られた最小エネルギーよりも小さい場合、最小エネルギー判定・更新部34fは、状態・エネルギー更新部34eが出力するエネルギーを、最小エネルギーとして出力する。また、その場合、最小エネルギー判定・更新部34fは、状態・エネルギー更新部34eが出力する状態を、最小エネルギーの状態として出力する。一方、状態・エネルギー更新部34eが出力するエネルギーが、前回までの更新処理で得られた最小エネルギー以上である場合、最小エネルギー判定・更新部34fは、状態・エネルギー更新部34eが出力する最小エネルギーを、そのまま出力する。また、その場合、最小エネルギー判定・更新部34fは、メモリ23dが出力する最小エネルギーの状態を出力する。
出力選択部34gは、各試行において、試行回数分割制御部33から供給されるイタレーションカウンタ32の計数値がNのとき、最小エネルギー判定・更新部34fが出力する現在の状態、現在のエネルギー、現在の最小エネルギーを出力部29に供給する。なお、このとき出力選択部34gは、最小エネルギーの状態を出力部29に供給してもよい。
オフセット更新部34jは、各試行において、イタレーションカウンタ32の計数値を試行回数分割制御部33から受け、その計数値が初期値(0)のとき、セレクタ34dが出力する初期オフセットをそのまま出力選択部34kに供給する。
なお、第1の実施の形態の最適化装置10の制御部12も、図3に示したようなデータフロー制御部24と同様の構成で実現できる。
図4は、演算部の一例を示す図である。
演算部26は、重み行列メモリ40、セレクタ41、入力選択判定部42、ノイズ生成部43、ローカルフィールド処理部44a0,44a1,44a2,…,44anを有する。
式(4)は、noise={(float)log(rn)−(float)log(1024.0f)}×tmpと変形できる。
セレクタ50は、FIFO25aを介してデータフロー制御部24から供給される更新対象ビット情報に含まれるイネーブル情報と符号(1から0の変化か、0から1の変化かを示す)を受ける。セレクタ50は、イネーブル情報がfalseの場合、0を選択して出力する。セレクタ50は、イネーブル情報がtrueの場合、符号が1から0の変化を示す値のときには、−1を選択して出力し、符号が0から1の変化を示す値のときには、1を選択して出力する。なお、セレクタ50が選択する1、0、−1の値は、たとえば、図示しないレジスタに記憶されている。
(更新対象選択部27の一例)
図5は、更新対象選択部の一例を示す図である。図5の例では、イジングモデルに含まれるビット数が1024である場合の更新対象選択部27の例が示されている。
たとえば、初段には、512個の選択処理部60a1,60a2,…,60a511,60a512が設けられ、2段目には、256個の選択処理部60b1〜60b256が設けられている。また、8段目には、4個の選択処理部60c1,60c2,60c3,60c4が設けられ、9段目には、2個の選択処理部60d1,60d2が設けられ、最後段には、選択処理部60eが設けられている。
図6の真理値表において、更新可否信号ena,enbは、ある選択処理部に入力されるインデックス情報a,bで指定される2つのビットについての更新可否信号を表し、“T”は、true、“F”は、falseを表す。また、rは、1ビットの乱数を表し、oは、選択処理部が出力するインデックス情報を示す。“d/c”はdon‘t careを意味する。
なお、第1の実施の形態の最適化装置10の選択部14は、図5に示したような更新対象選択部27と同様の構成で実現できる。
上記のように、データフロー制御部24、演算部26、更新対象選択部27は、パイプライン化が可能である。データフロー制御部24と、演算部26と、更新対象選択部27が、FIFO25a〜25cを介してリング状に接続した最適化装置20は、L個の試行をパイプライン処理により同時に処理可能である。
図7では、データフロー制御部24におけるパイプラインがレジスタ24a,24b,24c,24d,24eを用いて表されている。レジスタ24a〜24eのそれぞれは、たとえば、図3に示した更新処理部34において、1クロックサイクルで処理が行われる回路部間に接続されるレジスタとして実現できる。図7の例では、データフロー制御部24におけるパイプラインでは、6クロックサイクルの処理が行われる。
上記のような例では、1回の更新処理にかかるクロックサイクル数は、6+3+3+1×3=15である。メモリ23a〜23gのそれぞれにおいてコンテキスト情報を記憶できる試行回数の上限が15以上である場合、15の試行を同時に処理可能である。
図7の状態の1クロックサイクル後には、各試行に関するデータは、次のクロックサイクルの処理を行う回路部(またはFIFO25a〜25c)に遷移する。図8の例では、1つ目の試行の2回目の更新処理時のデータ[1][0]が、データフロー制御部24における6クロックサイクル目の処理を行う回路部で処理されている。このとき、2つ目の試行の1回目の更新処理時のデータ[0][1]は、データフロー制御部24における5クロックサイクル目の処理を行う回路部で処理されている。また、このとき、たとえば、8つ目の試行の1回目の更新処理時のデータ[0][7]は、更新対象選択部27における3クロックサイクル目の処理を行う回路部で処理されている。
図9は、FIFOのエントリ数が3である場合のパイプライン処理の一例を示す図である。
(全体の動作例)
以下、第2の実施の形態の最適化装置20の全体の動作の流れを、フローチャートを用いて説明する。
まず、最適化装置20の入力部22は、重み行列をメモリ20cから取得する(ステップS10)。重み行列は、演算部26内の重み行列メモリ40に記憶される。
試行回数分割制御部33は、ivが、L−1になったときに、L個の試行のそれぞれについて1回の更新処理が行われたことになるため、itを+1カウントアップさせる。また、試行回数分割制御部33は、ivを0に初期化する(ステップS15)。ivがL−1に達していない場合には、ステップS12からの処理が繰り返される。
図11は、更新処理の一例の流れを示すフローチャートである。
データフロー制御部24と演算部26の入力選択判定部34a,42は、itが0であるか否かを判定する(ステップS20)。itが0のとき、入力選択判定部34aは、セレクタ34b〜34dに対して、入力部22から供給される各種コンテキスト情報の初期値を選択させる。また、入力選択判定部42は、セレクタ41に対して、入力部22から供給されるコンテキスト情報の初期値(初期バイアス)を選択させる。これにより、コンテキスト情報が初期化される(ステップS21)。
データフロー制御部24の状態・エネルギー更新部34eは、ステップS25の処理で選択された更新対象ビット情報と、更新対象のエネルギーの変化値に基づいて、状態の更新(ステップS26)と、エネルギーの更新(ステップS27)を行う。
itがN−1である場合、試行回数分割制御部33は、たとえば、メモリ23a〜23cに記憶されている状態、エネルギー、最小エネルギーを読み出して、出力部29に出力させる(ステップS32)。ステップS32の処理後、または、itがN−1未満である場合、1回の更新処理が終了する。
以下、第2の実施の形態の最適化装置20の効果を説明する前に、パイプライン処理を行わない最適化装置を比較例として説明する。
図12は、比較例の最適化装置を示す図である。
最適化装置80は、エネルギー計算部81a1,…,81ai,…,81an、遷移制御部82、状態更新部83を有している。
セレクタ81cは、遷移制御部82が出力するインデックス情報IDに基づき、レジスタ81bに格納されている重み係数のうち1つを選択して出力する。
加算器81fは、乗算器81eが出力する乗算結果と、レジスタ81gに格納されている値とを加算した和を出力する。
遷移制御部82は、回路部82a1,…,82ai,…,82an、セレクタ82b、オフセット制御回路82cを有している。
以下では、1回の試行当たりの最適化装置20,80と、プロセッサ20bやメモリ20cとのデータ転送時間と起動及び終了制御のための通信オーバヘッド時間をDとする。また、1回の更新処理にかかるクロックサイクル数を最適化装置20でR2、最適化装置80でR1とする。
一方、第2の実施の形態の最適化装置20におけるN×Mの更新処理の実行時間T2はT2=L×N×ceil(M/L)+R2+Dと表せる。最適化装置20では、L個の試行について1回の更新処理が行われている期間と、そのL個の試行についての次の更新処理が行われる期間がR2分重なるため、上記の実行時間T2の式において、最後の試行についての更新処理の最後に生じるR2が加算されている。上記の実行時間T2の式において、Dが加算されている理由は後述する。
図13では、M=100、L=20、N=1000000とした場合の、実行時間T1,T2の比較例が示されている。
以上のように最適化装置20は、データフロー制御部24、演算部26、更新対象選択部27の稼働率を100%に近づけることができるため、演算効率を向上でき、パイプライン処理を行わない最適化装置80よりも演算時間を短縮できる。
11 保持部
11a コンテキスト情報
12 制御部
12a 繰り返し回数計数部
12b 試行回数計数部
12c,13b,14a レジスタ
13 演算部
13a 重み保持部
14 選択部
Claims (9)
- 複数の試行のそれぞれについての、最小エネルギーの状態と、現在の状態と、最小エネルギーと、現在のエネルギーと、温度と、バイアスとを含むコンテキスト情報を保持する保持部と、
各試行における繰り返し回数を計数する繰り返し回数計数部と、試行回数を計数する試行回数計数部とを有し、前記保持部が保持する前記コンテキスト情報について、スピン情報と更新対象のエネルギーの変化値とに基づき、複数の第1の回路部を用いて、各試行における前記繰り返し回数の更新制御を前記複数の試行の数だけ繰り返す制御部と、
前記複数の第1の回路部の間に設けられ、前記複数の試行の処理に必要なデータを保持する第1のレジスタと、
生成された乱数と、保持した重み係数と、前記スピン情報と、前記更新制御によって更新された前記現在の状態及び前記温度に基づき、複数の第2の回路部を用いて、複数のエネルギーの変化値の候補を計算する演算部と、
前記複数の第2の回路部の間に設けられ、前記複数のエネルギーの変化値の候補の計算に必要なデータを保持する第2のレジスタと、
前記乱数に基づき、前記演算部が計算した前記複数のエネルギーの変化値の候補から、複数の第3の回路部を用いて、前記更新対象のエネルギーの変化値を選択する選択部と、
前記複数の第3の回路部の間に設けられ、前記更新対象のエネルギーの変化値の選択に必要なデータを保持する第3のレジスタと、
を有する最適化装置。 - 前記第1のレジスタと、前記第2のレジスタと、前記第3のレジスタとが環状に接続される、請求項1に記載の最適化装置。
- 前記コンテキスト情報は、さらに、オフセットを含み、
前記制御部は、さらに、オフセット増分値と前記スピン情報と前記更新対象のエネルギーの変化値とに基づいて、前記コンテキスト情報を更新する、請求項1に記載の最適化装置。 - 前記制御部は、さらに、前記複数の試行による組である試行セットを計数する試行セット計数部を有し、前記保持部が保持する前記コンテキスト情報について、前記スピン情報と前記更新対象のエネルギーの変化値とに基づき、各試行セットにおける前記複数の試行の数の前記更新制御を第1の試行セット数だけ繰り返す、請求項1に記載の最適化装置。
- 前記制御部と、前記演算部とは、複数のエントリを有するFIFOを介して接続される、請求項1に記載の最適化装置。
- 前記演算部と、前記選択部とは、複数のエントリを有するFIFOを介して接続される、請求項1に記載の最適化装置。
- 前記選択部と、前記制御部とは、複数のエントリを有するFIFOを介して接続される、請求項1に記載の最適化装置。
- 前記制御部と、前記演算部と、前記選択部は、それぞれ、同じクロックサイクルにおいて異なる試行の処理を行う、請求項1に記載の最適化装置。
- 最適化装置の制御方法において、
前記最適化装置が有する保持部が、複数の試行のそれぞれについての、最小エネルギーの状態と、現在の状態と、最小エネルギーと、現在のエネルギーと、温度と、バイアスとを含むコンテキスト情報を保持し、
前記最適化装置が有する制御部が、各試行における繰り返し回数を計数する繰り返し回数計数部と、試行回数を計数する試行回数計数部とを有し、前記保持部が保持する前記コンテキスト情報について、スピン情報と更新対象のエネルギーの変化値とに基づき、複数の第1の回路部と、前記複数の第1の回路部の間に設けられるとともに前記複数の試行の処理に必要なデータを保持する第1のレジスタとを用いて、各試行における前記繰り返し回数の更新制御を前記複数の試行の数だけ繰り返し、
前記最適化装置が有する演算部が、生成された乱数と、保持した重み係数と、前記スピン情報と、前記更新制御によって更新された前記現在の状態及び前記温度に基づき、複数の第2の回路部と、前記複数の第2の回路部の間に設けられるとともに複数のエネルギーの変化値の候補の計算に必要なデータを保持する第2のレジスタとを用いて、前記複数のエネルギーの変化値の候補を計算し、
前記最適化装置が有する選択部が、前記乱数に基づき、前記演算部が計算した前記複数のエネルギーの変化値の候補から、複数の第3の回路部と、前記複数の第3の回路部の間に設けられるとともに前記更新対象のエネルギーの変化値の選択に必要なデータを保持する第3のレジスタとを用いて、前記更新対象のエネルギーの変化値を選択する、
最適化装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016705A JP6465223B1 (ja) | 2018-02-01 | 2018-02-01 | 最適化装置及び最適化装置の制御方法 |
US16/248,028 US10534576B2 (en) | 2018-02-01 | 2019-01-15 | Optimization apparatus and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016705A JP6465223B1 (ja) | 2018-02-01 | 2018-02-01 | 最適化装置及び最適化装置の制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001943A Division JP2019133651A (ja) | 2019-01-09 | 2019-01-09 | 最適化装置及び最適化装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6465223B1 true JP6465223B1 (ja) | 2019-02-06 |
JP2019133517A JP2019133517A (ja) | 2019-08-08 |
Family
ID=65270598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018016705A Active JP6465223B1 (ja) | 2018-02-01 | 2018-02-01 | 最適化装置及び最適化装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10534576B2 (ja) |
JP (1) | JP6465223B1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100799A (zh) * | 2019-06-18 | 2020-12-18 | 富士通株式会社 | 优化装置及优化方法 |
EP3754559A1 (en) | 2019-04-10 | 2020-12-23 | Fujitsu Limited | Optimization system and control method for optimization system |
JP2020204929A (ja) * | 2019-06-18 | 2020-12-24 | 富士通株式会社 | サンプリング装置およびサンプリング方法 |
EP3879417A1 (en) | 2020-03-11 | 2021-09-15 | Fujitsu Limited | Information processing system, information processing method, information processing program, and information processing apparatus |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7248907B2 (ja) * | 2019-08-14 | 2023-03-30 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
JP7339539B2 (ja) * | 2020-01-15 | 2023-09-06 | 富士通株式会社 | 最適化装置、最適化装置の温度設定方法及び最適化装置の温度設定プログラム |
JP7410394B2 (ja) * | 2020-03-26 | 2024-01-10 | 富士通株式会社 | 最適化装置及び最適化方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016194221A1 (ja) * | 2015-06-05 | 2016-12-08 | 株式会社日立製作所 | 計算機 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2556083B2 (ja) | 1988-02-12 | 1996-11-20 | 日本電気株式会社 | 複合演算パイプライン回路 |
JPH05250346A (ja) | 1992-03-04 | 1993-09-28 | Nec Corp | ニューラルネットワークシミュレーション装置 |
US6113033A (en) * | 1999-02-04 | 2000-09-05 | Hughes Electronics Corporation | Combined flywheel energy storage and attitude control apparatus for spacecraft |
US8190548B2 (en) * | 2007-11-08 | 2012-05-29 | D-Wave Systems Inc. | Systems, devices, and methods for analog processing |
US9177627B2 (en) * | 2013-09-03 | 2015-11-03 | Laurence Lujun Chen | Method for improving the stability, write-ability and manufacturability of magneto-resistive random access memory |
KR101699414B1 (ko) * | 2015-10-15 | 2017-01-24 | 서울시립대학교 산학협력단 | 이온트랩 기반의 양자역학적 인공 시각 시스템 및 연산 방법 |
JP6524933B2 (ja) | 2016-02-03 | 2019-06-05 | 富士通株式会社 | ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 |
EP3293574A1 (en) * | 2016-09-09 | 2018-03-14 | ASML Netherlands B.V. | Metrology method, apparatus and computer program |
US10387758B2 (en) * | 2017-04-27 | 2019-08-20 | Hewlett-Packard Development Company, L.P. | Optimizing balance between duplex print job performance and duplex print engine wear |
-
2018
- 2018-02-01 JP JP2018016705A patent/JP6465223B1/ja active Active
-
2019
- 2019-01-15 US US16/248,028 patent/US10534576B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016194221A1 (ja) * | 2015-06-05 | 2016-12-08 | 株式会社日立製作所 | 計算機 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3754559A1 (en) | 2019-04-10 | 2020-12-23 | Fujitsu Limited | Optimization system and control method for optimization system |
CN112100799A (zh) * | 2019-06-18 | 2020-12-18 | 富士通株式会社 | 优化装置及优化方法 |
JP2020204929A (ja) * | 2019-06-18 | 2020-12-24 | 富士通株式会社 | サンプリング装置およびサンプリング方法 |
JP7239826B2 (ja) | 2019-06-18 | 2023-03-15 | 富士通株式会社 | サンプリング装置およびサンプリング方法 |
CN112100799B (zh) * | 2019-06-18 | 2024-05-31 | 富士通株式会社 | 优化装置及优化方法 |
EP3879417A1 (en) | 2020-03-11 | 2021-09-15 | Fujitsu Limited | Information processing system, information processing method, information processing program, and information processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
US10534576B2 (en) | 2020-01-14 |
US20190235834A1 (en) | 2019-08-01 |
JP2019133517A (ja) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6465223B1 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP2019133651A (ja) | 最適化装置及び最適化装置の制御方法 | |
US11714998B2 (en) | Accelerating neural networks with low precision-based multiplication and exploiting sparsity in higher order bits | |
JP7206476B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JP7323777B2 (ja) | 最適化装置および最適化方法 | |
US11334320B2 (en) | Generating randomness in neural networks | |
JP7239826B2 (ja) | サンプリング装置およびサンプリング方法 | |
US11093682B2 (en) | Language and compiler that generate synchronous digital circuits that maintain thread execution order | |
EP3769208B1 (en) | Stochastic rounding logic | |
JP2019139338A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP7137064B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
EP3847544A1 (en) | Hardware module for converting numbers | |
JP7181454B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
JP2019139323A (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
JP2020064536A (ja) | 最適化装置及び最適化装置の制御方法 | |
CN117435855B (zh) | 用于进行卷积运算的方法、电子设备和存储介质 | |
JP7256378B2 (ja) | 最適化システムおよび最適化システムの制御方法 | |
CN116341286A (zh) | 一种基于fpga的加速量子启发式求解方法及其装置 | |
US20210173978A1 (en) | Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program | |
CN111260036B (zh) | 一种神经网络加速方法和装置 | |
EP4217865A1 (en) | Hardware accelerator for executing a computation task | |
EP4345600A1 (en) | Multiplication hardware block with adaptive fidelity control system | |
CN116415103B (zh) | 一种数据处理的方法、装置、存储介质以及电子设备 | |
Christiani et al. | Towards a scalable neuromorphic hardware for classification and prediction with stochastic no-prop algorithms | |
CN116911224A (zh) | 用于优化数字逻辑电路的方法、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181120 |
|
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: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6465223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |