JP7014963B2 - 最適化装置及び最適化装置の制御方法 - Google Patents
最適化装置及び最適化装置の制御方法 Download PDFInfo
- Publication number
- JP7014963B2 JP7014963B2 JP2018047655A JP2018047655A JP7014963B2 JP 7014963 B2 JP7014963 B2 JP 7014963B2 JP 2018047655 A JP2018047655 A JP 2018047655A JP 2018047655 A JP2018047655 A JP 2018047655A JP 7014963 B2 JP7014963 B2 JP 7014963B2
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic processing
- index
- neurons
- tightly coupled
- 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
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Feedback Control In General (AREA)
Description
以下に示す最適化装置は、エネルギーを表す評価関数である、イジング型のエネルギー関数の極小値(極小値が複数ある場合には、なるべく小さい値)を計算することで、巡回セールスマン問題などの最適化問題を計算する。イジング型のエネルギー関数E(x)は、たとえば、以下の式(1)で定義される。
また、i番目のニューロンのスピン反転(値の変化)に伴うエネルギー変化ΔEiは、以下の式(2)で表される。
図1は、第1の実施の形態の最適化装置の一例を示す図である。
最適化装置10は、演算処理部11a1,11a2,…,11ak,…,11am、制御部12を有する。
制御部12は、密結合重み係数を、演算処理部11a1~11amに送信する。
演算処理部11a1~11amのそれぞれでは、制御部12が送信した密結合重み係数のうち、自身に属するニューロン群に対応する密結合重み係数を用いた演算(ニューロンの値を更新する演算処理)を行う。以下、演算処理部11a1~11amのそれぞれで行われる演算の例を説明する。
図2は、第2の実施の形態の最適化装置の一例を示す図である。
最適化装置30は、演算処理部31a1,31a2,…,31aN、コントローラ32を有する。
以下、演算処理部31a1の各要素についての説明を行うが、演算処理部31a2~31aNについても同様である。
図3の確率的探索回路31c1の例は、ニューラルネットワークのイジング型のエネルギー関数の演算を、DeGloriaアルゴリズムと呼ばれるアルゴリズムに基づく小規模なハードウェアで行うものである。
図3では、ニューロン回路40a1の一例が示されている。他のニューロン回路40a2~40anも同様の回路により実現できる。
計算の収束性を考慮して一度に1つだけのニューロンの値の変化を許容する場合、値が更新されるニューロンの結合先では、元のローカルフィールドに対して、その更新による変化分を加算または減算すればよい。
選択回路42は、式(5)の1-2xjの演算を実現するものであり、更新制御回路40dが選択したニューロン(値の更新が許容されたニューロン)の更新後の値に基づき、1または-1を選択して出力する。更新後の値が0のときには、選択回路42は、-1を選択して出力し、更新後の値が1のときには、選択回路42は、1を選択して出力する。
加算回路44は、乗算回路43が出力する値と、レジスタ46に格納されている値とを加算して出力する。
比較回路48は、加算回路47が出力する値が、閾値(たとえば、0)以上のときには0を出力し、閾値より小さいときには1を出力する。
選択信号生成回路40bは、最適化装置30の初期設定時に、選択回路45に対して、ローカルフィールドh1の初期値h1 (init)を選択させる選択信号を出力し、その後の繰り返し処理では、加算回路44が出力する値を選択させる選択信号を出力する。選択信号生成回路40bは、所定回数の繰り返し処理後には、選択回路45に対して、外部ローカルフィールドh1 (ext)を選択させる選択信号を出力する。その後の繰り返し処理では、選択信号生成回路40bは、再び、選択回路45に対して、加算回路44が出力する値を選択させる選択信号を出力する。
インデックスコントローラ31d1は、重み係数インデックスコントローラ51、外部ローカルフィールドコントローラ52、最終状態インデックスコントローラ53を有する。
重み係数インデックスコントローラ51は、FIFO(First In, First Out)メモリ(以下単にFIFOという)51a、比較回路51b、選択回路51c、レジスタ51dを有する。
比較回路51bは、供給されたインデックスが、予め図示しないレジスタなどに記憶されている演算処理部31a1に属するニューロン間の重み係数のインデックス(対応インデックス)に一致する場合には1を出力し、一致しなければ0を出力する。
図6は、最終状態インデックスコントローラの一例を示す図である。
FIFO53aは、ニューロン回路40a1~40anのそれぞれのレジスタから順番に各ニューロンの値xiを取得して、その順番に各ニューロンの値xiを出力する。インデックス生成カウンタ53bはインデックスを出力するとともに、FIFO53aが値xiを出力するタイミングに合わせて、出力するインデックスをインクリメントする。レジスタ53cは、FIFO53aが出力する値xiと、値xiに対応するインデックスとをクロック信号clkに同期したタイミングで保持する。このレジスタ53cに保持されている値xiと、値xiに対応するインデックスとが、最終状態インデックスコントローラ53の出力となる。
疎結合重み係数メモリ32aは、ホストコンピュータ35から供給される密結合重み係数と疎結合重み係数、及びそれらのインデックスのうち、疎結合重み係数とそのインデックスを記憶する。疎結合重み係数メモリ32aとして、RAMなどの揮発性メモリ、または、フラッシュメモリやEEPROMなどの不揮発性メモリを用いることができる。なお、疎結合重み係数メモリ32aは密結合重み係数とそのインデックスを記憶してもよい。
外部ローカルフィールド計算部32cは、演算処理部31a1~31aNから、各ニューロンの値とそのインデックスを受ける。そして、外部ローカルフィールド計算部32cは、各ニューロンの値とそのインデックスと、疎結合重み係数メモリ32aに記憶されている疎結合重み係数とそのインデックスとに基づいて、外部ローカルフィールドを計算する。外部ローカルフィールド計算部32cは、計算した外部ローカルフィールドを、演算処理部31a1~31aNに送信する(ブロードキャストする)。
図7は、第2の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
図8は、第3の実施の形態の最適化装置の一例を示す図である。図8において、図2に示した第2の実施の形態の最適化装置30と同じ要素については同一符号が付されている。
重み係数インデックスコントローラ63は、FIFO63a、比較回路63b、選択回路63c、インバータ回路63d、選択回路63e、レジスタ63f,63gを有する。
図11は、最終状態インデックスコントローラの一例を示す図である。
FIFO65aは、図3に示したニューロン回路40a1~40anのそれぞれのレジスタから順番に各ニューロンの値xiを取得して、その順番に各ニューロンの値xiを出力する。
図12は、第3の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
その後、演算処理部61a1~61aNのそれぞれに属する各ニューロンの値(及びそのインデックス)が演算処理部61a1に集められ、最終状態として、演算処理部61a1からコントローラ62に送信される(ステップS26)。
ステップS28の処理後、コントローラ62は、計算した外部ローカルフィールド(及びそのインデックス)を、1つの演算処理部61a1に送信する(ステップS29)。そして、演算処理部61a1は対応するインデックス以外のインデックスをもつ外部ローカルフィールドを隣接する演算処理部61a2に送信する(ステップS30)。演算処理部61a2~61aNのうち、演算処理部61aN以外も同一の処理を行う。また、コントローラ62は、カウント値nをインクリメントさせる(ステップS31)。その後、ステップS25からの処理が繰り返される。
図13は、第4の実施の形態の最適化装置の一例を示す図である。図13において、図8に示した第3の実施の形態の最適化装置60と同じ要素については同一符号が付されている。
重み係数インデックスコントローラ72は、密結合重み係数とそのインデックスとを、図13の右方向または下方向に隣接する演算処理部から受信する。そして、重み係数インデックスコントローラ72は、インデックスに基づいて、自身に属するニューロン群についての密結合重み係数を判別する。その後、重み係数インデックスコントローラ72は、判別した密結合重み係数を密結合重み係数メモリ71bに記憶する。
重み係数インデックスコントローラ72は、FIFO72a,72b、比較回路72c,72d、選択回路72e、インバータ回路72f、選択回路72g、レジスタ72h、制御回路72i、選択回路72j,72k、レジスタ72l,72mを有する。
選択回路72eは、比較回路72cが1を出力する場合には、FIFO72aが出力する密結合重み係数w1を選択して出力し、比較回路72cが0を出力する場合には、レジスタ72hに記憶されている密結合重み係数を選択して出力する。
図16は、最終状態インデックスコントローラの一例を示す図である。
FIFO74dは、左方向に隣接する演算処理部から供給される、ニューロンの値xiとそのインデックスの組を取得し、供給順にそれらの組を出力する。
図17は、第4の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
ステップS51の処理後、コントローラ62は、計算した外部ローカルフィールド(及びそのインデックス)を、1つの演算処理部71aNNに送信する(ステップS52)。その後は、ステップS43~S46と同様の処理によって、外部ローカルフィールド(及びそのインデックス)が、対応する演算処理部に最短パスで転送される(ステップS53)。また、コントローラ62は、カウント値nをインクリメントさせる(ステップS54)。その後、ステップS48からの処理が繰り返される。
たとえば、上記の説明では、全演算処理部を使用した動作例を説明したが、最適化問題の規模が、演算処理部の数に比べて小さい場合には、一部の演算処理部を使用せずともよい。ただその場合、第3の実施の形態の最適化装置60では、使用しない演算処理部は、右端の演算処理部61aNから優先的に選択される。
11a1~11am 演算処理部
12 制御部
12a 記憶部
15a1~15am ニューロン群
15b1~15b8 ニューロン
Claims (6)
- 複数のニューロンを含み、エネルギーを表す評価関数の極小値を計算する最適化装置において、
前記複数のニューロンのうち所定数のニューロンが、自ニューロンが属する演算処理部に含まれる他の全てのニューロンとそれぞれ接続されたニューラルネットワークにおける、前記所定数のニューロンの値についての演算を、各々が行う複数の演算処理部と、
前記複数のニューロンに対し、同一の演算処理部に含まれる何れか2つのニューロンに対しては前記評価関数の密結合部分に対応する密結合重み係数をそれぞれ与えて演算させるとともに、異なる演算処理部に含まれる何れか2つのニューロンに対しては前記評価関数の疎結合部分に対応する疎結合重み係数を用いて前記エネルギーの変化分を自身で計算した後、計算した前記変化分をそれぞれ与えて演算させる制御部と、
を有する最適化装置。 - 前記複数の演算処理部の各々は、前記制御部と1対1で接続される、請求項1に記載の最適化装置。
- 前記複数の演算処理部は、バス状またはリング状に接続され、前記複数の演算処理部の何れかが、前記制御部と接続される、請求項1に記載の最適化装置。
- 前記複数の演算処理部は、メッシュ状またはトーラス状の2次元接続により接続され、前記複数の演算処理部の何れかが、前記制御部と接続される、請求項1に記載の最適化装置。
- 前記複数の演算処理部の各々は、前記密結合重み係数と前記変化分のそれぞれに付与されたインデックスに基づいて、第1の方向に隣接する第1の演算処理部または、第2の方向に隣接する第2の演算処理部のうち、前記密結合重み係数と前記変化分の通信経路が短くなる何れか一方に、前記密結合重み係数と前記変化分を送信する、請求項4に記載の最適化装置。
- 複数のニューロンを含み、エネルギーを表す評価関数の極小値を計算する最適化装置の制御方法において、
複数の演算処理部の各々が、前記複数のニューロンのうち所定数のニューロンが、自ニューロンが属する演算処理部に含まれる他の全てのニューロンとそれぞれ接続されるニューラルネットワークにおける、前記所定数のニューロンの値についての演算を行い、
制御部が、前記複数のニューロンに対し、同一の演算処理部に含まれる何れか2つのニューロンに対しては前記評価関数の密結合部分に対応する密結合重み係数をそれぞれ与えて演算させるとともに、異なる演算処理部に含まれる何れか2つのニューロンに対しては前記評価関数の疎結合部分に対応する疎結合重み係数を用いて前記エネルギーの変化分を自身で計算した後、計算した前記変化分をそれぞれ与えて演算させる、
最適化装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047655A JP7014963B2 (ja) | 2018-03-15 | 2018-03-15 | 最適化装置及び最適化装置の制御方法 |
US16/284,123 US11481618B2 (en) | 2018-03-15 | 2019-02-25 | Optimization apparatus and method for controlling neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047655A JP7014963B2 (ja) | 2018-03-15 | 2018-03-15 | 最適化装置及び最適化装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019159997A JP2019159997A (ja) | 2019-09-19 |
JP7014963B2 true JP7014963B2 (ja) | 2022-02-02 |
Family
ID=67905766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018047655A Active JP7014963B2 (ja) | 2018-03-15 | 2018-03-15 | 最適化装置及び最適化装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11481618B2 (ja) |
JP (1) | JP7014963B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366322B2 (en) * | 2017-10-06 | 2019-07-30 | DeepCube LTD. | System and method for compact and efficient sparse neural networks |
JP7417074B2 (ja) * | 2020-02-19 | 2024-01-18 | 富士通株式会社 | 最適化装置、最適化方法及び最適化装置の制御プログラム |
KR20210106131A (ko) | 2020-02-20 | 2021-08-30 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
JP2021135791A (ja) * | 2020-02-27 | 2021-09-13 | 富士通株式会社 | 最適化装置、最適化方法、及び最適化プログラム |
US11556384B2 (en) | 2020-03-13 | 2023-01-17 | Cisco Technology, Inc. | Dynamic allocation and re-allocation of learning model computing resources |
US11164084B1 (en) * | 2020-11-11 | 2021-11-02 | DeepCube LTD. | Cluster-connected neural network |
JP2022158585A (ja) | 2021-04-02 | 2022-10-17 | 富士通株式会社 | 最適化プログラム、最適化方法及び最適化装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051351A (ja) | 2014-08-29 | 2016-04-11 | 株式会社日立製作所 | 半導体装置 |
JP2017219948A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2018010474A (ja) | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2019139323A (ja) | 2018-02-06 | 2019-08-22 | 富士通株式会社 | 最適化システム、最適化装置及び最適化システムの制御方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0769893B2 (ja) * | 1988-01-25 | 1995-07-31 | 日本電気株式会社 | ニューラルネットワークシミュレータ |
US8386403B2 (en) | 2010-03-02 | 2013-02-26 | Empire Technology Development Llc | Distributed-type Markov chain Monte Carlo |
JP6468254B2 (ja) * | 2016-07-01 | 2019-02-13 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
-
2018
- 2018-03-15 JP JP2018047655A patent/JP7014963B2/ja active Active
-
2019
- 2019-02-25 US US16/284,123 patent/US11481618B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051351A (ja) | 2014-08-29 | 2016-04-11 | 株式会社日立製作所 | 半導体装置 |
JP2017219948A (ja) | 2016-06-06 | 2017-12-14 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2018010474A (ja) | 2016-07-13 | 2018-01-18 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2019139323A (ja) | 2018-02-06 | 2019-08-22 | 富士通株式会社 | 最適化システム、最適化装置及び最適化システムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US11481618B2 (en) | 2022-10-25 |
JP2019159997A (ja) | 2019-09-19 |
US20190286981A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7014963B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
TWI671688B (zh) | 硬體中轉置神經網路矩陣之方法、系統及電腦儲存媒體 | |
JP6623947B2 (ja) | 情報処理装置、イジング装置及び情報処理装置の制御方法 | |
JP2017219948A (ja) | 情報処理装置、イジング装置及び情報処理装置の制御方法 | |
KR102203746B1 (ko) | 인공 신경망 정방향 연산 실행용 장치와 방법 | |
JP7410395B2 (ja) | 最適化装置及び最適化方法 | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
JPH04290155A (ja) | 並列データ処理方式 | |
CN113283046B (zh) | 优化装置、优化方法和记录介质 | |
JP7137064B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7068575B2 (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
JP2017182320A (ja) | 機械学習装置 | |
JP2020173661A (ja) | 最適化装置及び最適化装置の制御方法 | |
JP6856112B1 (ja) | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム | |
US11507821B2 (en) | Neural network circuit and neural network integrated circuit | |
Liu et al. | Global asymptotic stability of generalized bi-directional associative memory networks with discrete and distributed delays | |
JP7004938B2 (ja) | 最適化装置および最適化装置の制御方法 | |
Meng et al. | PPOAccel: A high-throughput acceleration framework for proximal policy optimization | |
JP2020173579A (ja) | 最適化システムおよび最適化システムの制御方法 | |
WO2019208581A1 (ja) | インバーティブルロジック回路装置 | |
Ruelmann | On the prospects of using machine learning for the numerical simulation of PDEs: training neural networks to assemble approximate inverses | |
US20210142153A1 (en) | Resistive processing unit scalable execution | |
JPH03105584A (ja) | 並列データ処理方式 | |
JP2023037176A (ja) | 計算装置 | |
JP2009104403A (ja) | 再構成ユニットによる解探索の方法およびデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201210 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20201217 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20201217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211125 |
|
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: 20211221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220103 |