JP6471629B2 - ボルツマンマシン回路 - Google Patents
ボルツマンマシン回路 Download PDFInfo
- Publication number
- JP6471629B2 JP6471629B2 JP2015131035A JP2015131035A JP6471629B2 JP 6471629 B2 JP6471629 B2 JP 6471629B2 JP 2015131035 A JP2015131035 A JP 2015131035A JP 2015131035 A JP2015131035 A JP 2015131035A JP 6471629 B2 JP6471629 B2 JP 6471629B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- value
- transistors
- digital
- transistor
- 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/08—Learning methods
-
- 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/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
- G06N3/065—Analogue means
Description
(第1の実施の形態)
ボルツマンマシンは、互いに接続されたユニットによるネットワークであり、そのネットワークのもつエネルギーは、たとえば、以下の式(1)で定義される。
図1は、第1の実施の形態のボルツマンマシン回路の一例を示す図である。
回路部2a1〜2anは、前述したボルツマンマシンのネットワークに含まれるn個のユニットに対応している。回路部2a1〜2anのそれぞれは、回路部2a1〜2anのうち、自身以外の出力に基づく値を加算し、その加算結果をアナログ信号に変換し、そのアナログ信号と閾値との比較結果を出力する。
デジタル演算回路3a1〜3anは、たとえば、乗算回路であり、回路部2a1〜2anのそれぞれの出力に対して、後述する学習によって得られる重み値を乗じたデジタル値を生成する。たとえば、デジタル演算回路3a1は、回路部2a1の出力(状態s1)に、重み値w1nを乗じることでデジタル値を生成し、回路部2anに供給する。また、デジタル演算回路3anは、回路部2anの出力(状態sn)に、重み値wn1を乗じることでデジタル値を生成し、回路部2a1に供給する。重み値w1n,wn1は、0であってもよい。
アナログ信号z1〜znの振幅を増幅することが、アニーリング(シミュレーテッドアニーリング)を行うことに相当する理由を以下に説明する。
図2では、回路部2a1の状態s1が1になる確率Pを示している。
図1には、DAC2c1〜2cnの出力振幅の値(アナログ信号z1〜znの振幅値)がmin、mid(>min)、max(>mid)のときのエネルギー波形10,11,12の一例の様子が示されている。縦軸はエネルギーEであり、横軸はn個の回路部2a1〜2anの状態s1〜snの組み合わせsKを示している。また、図1には、図2で説明したような比較回路2d1〜2dnのデバイスノイズに基づく判定結果のばらつきで生じる、エネルギーEのばらつきw1の例が示されている。
このように、DAC2c1〜2cnの出力振幅を増幅させていくことは、高い温度から低い温度に変化させていくアニーリングに相当する。
(DACの例)
図3は、DACの一例を示す図である。
スイッチSW1〜SWmは、デコーダ22からの信号に基づき、オンまたはオフする。スイッチSW1〜SWmは、MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)で実現可能である。
なお、式(2)において、z1dAは、加算結果z1dの値を示している。
図4は、DACの他の例を示す図である。
図4のDAC2c1aにおいて、図3に示したDAC2c1と同様の要素については同一符号を付してある。
制御部34は、シミュレーテッドアニーリングが行われる際、制御回路4からの制御信号を受け、Vrefaが大きくなるように(kGが大きくなるように)、バッファ回路32,33の接続先を決定することで、振幅値z1Bを増加させることができる。
(学習方法)
ボルツマンマシンにおける重み値の学習の際には、ネットワークに含まれる任意のi番目のユニットとj番目のユニットが同時に発火する(状態が1となる)確率Pijを用いて重み値が変更される。たとえば、以下のような回路を用いて重み値の学習が実現される。
図5に示すボルツマンマシン回路1aにおいて、図1に示したボルツマンマシン回路1と同様の要素については同一符号が付されている。
AND回路40は、回路部2a1,2anの出力と、ボルツマンマシン回路1aの外部から供給されるクロック信号CLKを受け、これらのAND論理演算結果を出力する。
エンコーダ42は、カウンタ回路41での計数結果に基づき重み値w1n,wn1を生成する。
AND回路44は、図1に示したデジタル演算回路3a1に相当し、回路部2a1の出力(状態s1)と、重み値w1nとのAND論理演算結果を、1か0のデジタル値として回路部2anに供給する。
P1n=C/(t×fCK) (4)
式(4)において、Cは、カウンタ回路41の計数値、tは、カウンタ回路41での計数時間、fCKは、クロック信号CLKの周波数を示している。
さらに、制御回路4は、学習したいビットパターンを変更して、同様の処理でネットワークを熱平衡状態とする。そして、エンコーダ42は、確率P1nを再度求め(再度求めたものを確率Pa1nとする)、確率P1nと確率Pa1nとの差分に基づき、重み値w1n,wn1を調整する。
以上のように、本実施の形態のボルツマンマシン回路1aを用いて、重み値の学習が可能である。
図6は、第2の実施の形態のボルツマンマシン回路の一例を示す図である。
ボルツマンマシン回路50は、回路部51a1〜51anと、デジタル演算回路52a1〜52anと、制御回路53とを有している。
デジタル加算回路51b1は、回路部51a1〜51anのうち、回路部51a1以外の回路部の出力に基づくデジタル値を加算する。デジタル加算回路51bnは、回路部51a1〜51anのうち、回路部51an以外の回路部の出力に基づくデジタル値を加算する。
デジタル演算回路52a1〜52anは、図1に示したデジタル演算回路3a1〜3anと同様の機能を有するため説明を省略する。
図7は、閾値調整機能付きの比較回路の一例を示す図である。
なお、図7の比較回路51c1の差動の入力信号である閾値b1(+),b1(−)は、図6に示した閾値b1に対応している。また、比較回路51c1の差動の出力信号である状態s1(+),s1(−)は、図6に示した状態s1に対応している。
以下、比較回路51c1の動作例を説明する。まず、通常の比較動作を説明する。ゲイン制御部61〜63、閾値制御部64を用いた動作については後述する。
閾値制御部64,65は、デジタル加算回路51b1から供給される加算結果z1dによって、クロック信号CLKの論理レベルがLレベルに切り替わった直後に、状態s1(+),s1a(−)を決めるトランジスタ61a,62aのドレイン側に流れる電流を調整する。これにより、比較結果が反転する閾値b1(+),b1(−)間の電位差(以下、判定閾値z1tという)を調整することができる。
ゲイン制御部63では、制御信号kGによって、オンするトランジスタ(たとえば、トランジスタ63a,63b)の数が多いほどゲインが下がる。
横軸は、加算結果z1dを示し、縦軸は、判定閾値z1tを示す。また、直線80は、ゲインが最小のときのz1d−z1t特性を示し、直線81はゲインが最大のときのz1d−z1t特性を示す。
縦軸は、確率Pを示しており、横軸は、判定閾値z1tを示している。波形82のように、判定閾値z1tが閾値b1より大きいほど、状態s1が1になる確率Pが大きくなり、判定閾値z1tが閾値b1より小さいほど、確率Pは小さくなる。判定閾値z1tが閾値b1に近いほど、状態s1が1になる場合と0になる確率が等しくなる。このような特性は、比較回路51c1のデバイスノイズに基づくものである。
図10には、制御信号kGがMin(ゲイン最小)、Mid(>Min)、Max(>Mid)(ゲイン最大)のときのエネルギー波形90,91,92の一例の様子が示されている。縦軸はエネルギーEであり、横軸はn個の回路部51a1〜51anの状態s1〜snの組み合わせsKを示している。また、図10には、前述したような比較回路51c1〜51cnのデバイスノイズに基づく判定結果のばらつきで生じる、エネルギーEのばらつきwaの例が示されている。
このように、制御信号kGによって、比較回路51c1〜51cnのゲインを増加させ、加算結果z1d〜zndの変化に対する判定閾値z1t〜zntの変化の度合いを増加させていくことは、高い温度から低い温度に変化させていくアニーリングに相当する。
以上、実施の形態に基づき、本発明のボルツマンマシン回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
2a1〜2an 回路部(ユニット)
2b1〜2bn デジタル加算回路
2c1〜2cn DAC
2d1〜2dn 比較回路
3a1〜3an デジタル演算回路
4 制御回路
10〜12 エネルギー波形
Claims (5)
- それぞれが、自身以外の出力に基づく第1の値を加算して、加算結果をアナログ信号に変換し、前記アナログ信号と第2の値とを比較し、比較結果を出力する複数の回路部と、
前記複数の回路部のそれぞれから出力される前記比較結果に対して、重み値を乗じて前記第1の値を生成する複数の演算回路と、
前記複数の回路部のそれぞれが生成する前記アナログ信号の振幅を増幅させていくことで、等価的にアニーリングを行う制御回路と、
を有することを特徴とするボルツマンマシン回路。 - 前記複数の回路部のそれぞれは、
デジタル値である前記第1の値を加算するデジタル加算回路と、
前記デジタル加算回路から出力される前記加算結果を前記アナログ信号に変換するデジタルアナログ変換回路と、
前記デジタルアナログ変換回路から出力される前記アナログ信号と前記第2の値とを比較する比較回路と、
を有することを特徴とする請求項1に記載のボルツマンマシン回路。 - 前記制御回路は、前記デジタルアナログ変換回路のゲインを増加することで、前記アナログ信号の前記振幅を増幅させることを特徴とする請求項2に記載のボルツマンマシン回路。
- それぞれが、自身以外の出力に基づく第1の値を加算して、加算結果に基づき第2の値を生成し、前記第2の値と第3の値とを比較し、比較結果を出力する複数の回路部と、
前記複数の回路部のそれぞれから出力される前記比較結果に対して、重み値を乗じて前記第1の値を生成する複数の演算回路と、
前記複数の回路部のそれぞれにおける前記加算結果の変化に対する前記第2の値の変化の度合いを増加させていくことで、等価的にアニーリングを行う制御回路と、を有し、
前記複数の回路部のそれぞれは、
デジタル値である前記第1の値を加算するデジタル加算回路と、
前記デジタル加算回路から出力される前記加算結果に基づき前記第2の値を生成し、前記第2の値と前記第3の値とを比較する比較回路と、
を有することを特徴とするボルツマンマシン回路。 - 前記制御回路は、前記比較回路のゲインを増加することで、前記加算結果の変化に対する前記第2の値の変化の度合いを増加させることを特徴とする請求項4に記載のボルツマンマシン回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015131035A JP6471629B2 (ja) | 2015-06-30 | 2015-06-30 | ボルツマンマシン回路 |
US15/130,377 US10007877B2 (en) | 2015-06-30 | 2016-04-15 | Boltzmann machine circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015131035A JP6471629B2 (ja) | 2015-06-30 | 2015-06-30 | ボルツマンマシン回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016302A JP2017016302A (ja) | 2017-01-19 |
JP6471629B2 true JP6471629B2 (ja) | 2019-02-20 |
Family
ID=57683069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015131035A Active JP6471629B2 (ja) | 2015-06-30 | 2015-06-30 | ボルツマンマシン回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10007877B2 (ja) |
JP (1) | JP6471629B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6524933B2 (ja) * | 2016-02-03 | 2019-06-05 | 富士通株式会社 | ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 |
JP2020009123A (ja) | 2018-07-06 | 2020-01-16 | ソニー株式会社 | 積和演算装置、積和演算回路及び積和演算方法 |
US11610105B2 (en) * | 2019-04-17 | 2023-03-21 | Hewlett Packard Enterprise Development Lp | Systems and methods for harnessing analog noise in efficient optimization problem accelerators |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2552711B2 (ja) | 1988-07-15 | 1996-11-13 | 富士通株式会社 | ボルツマンマシン型ニューロコンピュータシステム |
JPH07248841A (ja) * | 1994-03-09 | 1995-09-26 | Mitsubishi Electric Corp | 非線形関数発生装置およびフォーマット変換装置 |
US6469957B1 (en) * | 2000-10-18 | 2002-10-22 | Koninklijke Philips Electronics N.V. | Arbitrary signal generator for driving ultrasonic transducers |
JP5807549B2 (ja) | 2012-01-10 | 2015-11-10 | 富士通株式会社 | 比較回路およびa/d変換回路 |
JP5942798B2 (ja) | 2012-11-12 | 2016-06-29 | 富士通株式会社 | 比較回路およびa/d変換回路 |
-
2015
- 2015-06-30 JP JP2015131035A patent/JP6471629B2/ja active Active
-
2016
- 2016-04-15 US US15/130,377 patent/US10007877B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10007877B2 (en) | 2018-06-26 |
US20170004398A1 (en) | 2017-01-05 |
JP2017016302A (ja) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5563154B2 (ja) | 広いコモンモード入力範囲を有する差動比較回路 | |
JP5835005B2 (ja) | D/a変換器 | |
JP6471629B2 (ja) | ボルツマンマシン回路 | |
JP2007281876A (ja) | 比較回路及びその増幅回路 | |
JPH0884077A (ja) | アナログ/デジタル変換装置 | |
US20170220924A1 (en) | Boltzmann machine, method for controlling boltzmann machine, and information processing device having boltzmann machine | |
JP5566211B2 (ja) | スイッチドキャパシタ型d/aコンバータ | |
JP2010258577A (ja) | 補間型a/d変換器 | |
US20180241592A1 (en) | Decision feedback equalizer and interconnect circuit | |
WO2018055666A9 (ja) | インターフェース回路 | |
US20080291068A1 (en) | Current output circuit with bias control and method thereof | |
JP6464638B2 (ja) | 送信回路および半導体集積回路 | |
JP4537840B2 (ja) | 電流源セルおよびそれを用いたd/aコンバータ | |
CN106253906A (zh) | 具有改进性能的用于数字模拟转换的装置和相关方法 | |
JP4080488B2 (ja) | A/d変換器 | |
JP2008219655A (ja) | レールトゥレール型増幅回路及び半導体装置 | |
US6198421B1 (en) | Neural-flash analog-to-digital converter using weighted current similation | |
JP2012019501A (ja) | 半導体集積回路、閾値設定方法、及び通信装置 | |
US9973204B1 (en) | Resistor string digital to analog converter | |
Youssefi et al. | Tunable neuron with PWL approximation based on the minimum operator | |
JP2007243656A (ja) | A/d変換器 | |
JP2019191930A (ja) | ニューラルネットワーク回路 | |
JP2014176040A (ja) | 差動出力回路、並びに高速シリアル通信用半導体ic及び高速シリアル通信システム | |
US10281505B2 (en) | Low-power and compact voltage sensing circuit | |
KR100912967B1 (ko) | 센스증폭기 및 반도체메모리장치의 수신회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181128 |
|
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: 20181225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6471629 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |