JP2017138760A - ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 - Google Patents

ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 Download PDF

Info

Publication number
JP2017138760A
JP2017138760A JP2016018668A JP2016018668A JP2017138760A JP 2017138760 A JP2017138760 A JP 2017138760A JP 2016018668 A JP2016018668 A JP 2016018668A JP 2016018668 A JP2016018668 A JP 2016018668A JP 2017138760 A JP2017138760 A JP 2017138760A
Authority
JP
Japan
Prior art keywords
signal
comparator
output
digital
random signal
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.)
Granted
Application number
JP2016018668A
Other languages
English (en)
Other versions
JP6524933B2 (ja
Inventor
匠 檀上
Takumi Danjo
匠 檀上
三六 塚本
Sanroku Tsukamoto
三六 塚本
田村 泰孝
Yasutaka Tamura
泰孝 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016018668A priority Critical patent/JP6524933B2/ja
Priority to US15/419,238 priority patent/US11074493B2/en
Publication of JP2017138760A publication Critical patent/JP2017138760A/ja
Application granted granted Critical
Publication of JP6524933B2 publication Critical patent/JP6524933B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

【課題】ランダムノイズの振幅の変化を容易に行うことができるボルツマンマシンを提供する。
【解決手段】複数の重み付け入力信号を加算する加算器と、加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、2値の出力信号をそれぞれ出力する複数の回路ユニットと、一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして重み付け入力信号を生成し、一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、比較ユニットは、熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、デジタルランダム信号をアナログランダム信号に変換するとともに、アナログランダム信号の大きさを可変させる第1のDA変換器と、アナログランダム信号を閾値信号として入力し、閾値信号と加算器の出力信号とを比較し所定の確率関数で2値の出力信号を生成する第2比較器とを有するボルツマンマシン。
【選択図】図5

Description

本発明は、ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置に関する。
ニューラルネットワークの一つであるボルツマンマシンは、多変数の最適化問題やパターン認識などを高速で処理することができると期待されている。ボルツマンマシンの概念は、ネットワークの構成を熱力学的系と等価とし、エネルギー状態がボルツマン分布に従い、十分な時間が経過した時に熱平衡状態に達することを保証することに基づく。
ボルツマンマシンでは、確率的に最適解を求める演算器であり、それぞれスピン状態を有する複数の格子点と格子点間のリンクを有するイジングモデルが知られている。例えば、以下の特許文献1、2などである。イジングモデルは、2つの配位状態をとる格子点から構成され、最隣接する格子点のみの相互作用を考慮する格子模型である。
特開平2−27493号公報 特開平4−18661号公報 特開2014−96769号公報 特開2013−143626号公報
ボルツマンマシンでは、解が局所的な極小値に陥ることを防止するために、各格子(ユニット)が+1を出力する確率を温度パラメータによって変化させるシミュレーテッドアニーリングという手法が用いられる。
従来のボルツマンマシンは、上記の確率を変えるためにランダムノイズ発生器でノイズを発生し、その発生したノイズの振幅を増幅器で変化させて各格子(ユニット)の出力値を生成する。これにより、各格子(ユニット)が+1を出力する確率を温度パラメータによって変化させる。しかしながら、ランダムノイズ発生器は回路規模が大きく、発生するノイズの大きさがランダムであるのでノイズの振幅を適切に変化させることは困難である。
そこで、開示の一形態の目的は、ランダムノイズの振幅の変化を容易に行うことができるボルツマンマシン、ボルツマンマシンの制御方法、及びボルツマンマシンを有する情報処理装置を提供することにある。
開示の一形態は、複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、
一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、
前記比較ユニットは、
熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、
前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させる第1のDA変換器と、
前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する第2比較器とを有する、ボルツマンマシンである。
上記の一形態によれば、小規模な回路でランダムノイズの振幅を可変させることができる。
イジングモデルの例を示す図である。 3つの格子点の無向グラフのイジングモデルとそれに対応するネットワーク回路を示す図である。 ボルツマンマシンのアニーリングを説明する図である。 シグモイド関数を示す図である。 本実施の形態におけるイジングモデルの演算回路を示す図である。 比較器の回路の一例とその動作を示す図である。 比較器(比較ユニット)dnの構成を示す図である。 第1比較器の動作の信号波形を示す図である。 第1のDA変換器dndacのサンプリング動作を示す図である。 第1のDA変換器dndacのホールド動作を示す図である。 第1のDA変換器dndac内の制御回路10の動作の論理値表を示す図である。 第1のDA変換器dndacと第2比較器dn2の動作の信号波形を示す図である。 第2比較器の出力関数を説明する図である 第2の実施の形態における比較回路(比較ユニット)の構成を示す図である。 第2の実施の形態における比較回路(比較ユニット)の信号波形を示す図である。 デジタルランダム信号生成器と第1DA変換器の組数が1、2、3の場合の第2比較器の出力関数を示す図である。 本実施の形態におけるボルツマンマシンの動作を示すフローチャート図である。 ボルツマンマシンの実行工程S4の詳細を示すフローチャート図である。 本実施の形態におけるボルツマンマシンの実行の3つのフェーズを示す図である。 ボルツマンマシンを有する情報処理装置を示す図である。
図1は、イジングモデルの例を示す図である。図1には、磁性体のスピンの振る舞いを表すモデルの構成例と、そのネットワークが持つエネルギーと各スピンの組み合わせパターンとの関係を示すグラフとが示される。
図1のイジングモデルは、磁性体のスピンの振る舞いを表すモデルであり、2つの配位状態をとる9つの格子点で構成される。各格子点がとる2つの配位状態をスピンq、最隣接する格子点間の相互作用係数、つまり結合の重みをw、外部磁場係数、つまり外部から各格子点に与えられる磁場の力をbとすると、そのネットワークが持つエネルギーの式は、次の数1のとおりと定義される。
ここで、スピンqの値はスピンの向きにより上方向なら+1、下方向なら−1であり、ある格子点のスピンqiは、最隣接する格子点のスピンqjを相互作用係数wijの重みで相互作用を受ける。また、数1において<i,j>は、i,jの組み合わせを意味し、例えば<1,2>と<2,1>は重複しない。
図1のグラフは、横軸を各スピンの組み合わせパターン、縦軸をネットワークのエネルギーEとし、エネルギーが最小になる点(Solution)が最適な状態を示す。エネルギーが最小となる点のスピンのパターンを計測することで最適解を得ることができる。
次に、上記の数1に示した式をネットワークのエネルギーと定義した場合のエネルギーが最小となる点の最適解を求める方法について説明する。
図2は、3つの格子点の無向グラフのイジングモデルとそれに対応するネットワーク回路を示す図である。説明を簡単にするために、図2に示す3つの格子点(ノード)と相互作用(リンク)とを有するモデルを考える。
ノードiはスピン状態qiとバイアスbi(qi,bi)を有し、i=1,2,3である。リンクはウエイトwを有し、無向モデルであるためノードiとノードjを接続するリンクのウエイトはwijであり、自身へのリンクウエイトwiiはwii=0である。そして、リンクiがリンクjへ作用する重みwijとリンクjがリンクiへ作用する重みwjiとは同一である。
ここで、上記の数1のとおりネットワークが持つエネルギーを定義する。そして、図2の3つの格子点モデルについて数1のエネルギーEについて解くと、次の通りである。
そして、ノード1のスピンq1のみが反転して新たなスピンq’1(=-q1)に変化した場合の新たなネットワークが持つエネルギーE’は、次の通りである。
従って、ノード1のスピンq1のみが反転して新たなスピンq’1(=-q1)に変化した際のエネルギーの変化量ΔE= E’-Eは、q’1=-q1に基づいて展開すると下記の通りになる。
上記数4の式をq1=qiと一般化すると、次の通りになる。
数5のエネルギーの変化量ΔEの式から、あるノードiの新たなスピン状態q’iと元のスピン状態で求められたΣjwijqj+biの符号が一致していればネットワークのエネルギーが減少したということができる。このことから、あるノードiの新たなスピン状態q’iと元のスピン状態で求められたΣjwijqj+biの符号が一致するような演算回路を構成することで、ネットワークのエネルギーEを徐々に減少させやがてΔE=0の最小値にすることができる。そして、そのエネルギーEを最小値にする時の各ノードのスピンqiの組み合わせパターンが求めようとするモデルの最適解である。
図2には、3つのノードのモデルについて、上記のネットワークエネルギーEを減少させる演算回路が示されている。この演算回路では、3つのノードそれぞれを、最隣接ノードのスピンqをノード間の相互作用係数wで重み付けして加算する加算器a1,a2,a3と、加算器の出力z1,z2,z3とバイアスb1,b2,b3の値(正確にはバイアスの符号を反転した値)とをそれぞれ比較してスピンqを出力する比較器d1,d2,d3とで構成する。また、各比較器d1,d2,d3は異なるクロックで動作する。
例えば、ノード1の加算器d1では、次の加算演算が行われる。
よって、各ノードの加算器は、一般的に次の加算演算が行われることになる。
そして、演算回路の比較器diは、加算結果ziとバイアスbiの符号を反転した-biの値とを比較し、+1または−1の比較結果q’iを出力する。つまり、以下のとおりである。
zi > -bi ならばq’i=+1を出力し
zi < -bi ならばq’i=-1を出力する。
上記の不等式を変形すると、比較器の動作は次の通りとなる。
zi+bi > 0ならばq’i=+1を出力し
zi+bi < 0ならばq’i=-1を出力する。
左辺は、数7によれば次の通りである。
zi+bijwijqj+bi
よって、結局、演算回路の比較器diは、次の比較演算を行うことになる。
Σjwijqj+bi> 0ならばq’i=+1を出力し
Σjwijqj+bi< 0ならばq’i=-1を出力する。
つまり、比較器diは、エネルギー変化ΔEが減少する条件である、q’iとΣjwijqj+biの符号が一致することを実現していることを意味するので、図2の演算回路によりネットワークのエネルギーEの最小値(ΔE=0になる状態)の状態を求めることができる。すなわち、比較器diの動作とエネルギーEの変化は次の通りである。
比較器diは、
Σjwijqj+bi> 0ならばq’i=+1を出力するので、両符号は正で一致し、エネルギーは減少し
Σjwijqj+b’i < 0ならばq’i=-1を出力するので、両符号は負で一致し、エネルギーは減少し、
ΔE = Σjwijqj+b’i = 0になるまで演算を繰り返すとエネルギーEは最小値に達する。または、演算を繰り返すことでΔEは0に近づきエネルギーEは最小値に近い値に達する。
したがって、図2の演算回路において、あるノードのスピンqの状態を反転する動作がランダムに繰り返されれば、やがて、エネルギーの変化量がΔE=0に近づきエネルギーEが最小値に近い値の状態にたどりつくことができる。
但し、スピンq’iが確定的に決まってしまうと局所解から抜け出せない。そこで、スピンq’iを確率的に決めるような動作を比較器diに導入することで、比較器diがエネルギーを増加するように動作することができるようにし、局所解から抜け出して最小値に近い極小値(最適解)に達することができるようにする。この確率的な程度が大きい状態から小さい状態に推移するアニーリング法を利用することで、エネルギーを最小値に近い極小値に達するように導くことができる。
具体的には、後述するとおり、閾値-biにノイズを加えることで、比較器diに
Σjwijqj+bi> 0だがq’i=-1を出力し、
Σjwijqj+bi< 0だがq’i=+1を出力する
動作をさせることで、エネルギーEを増加させる。
つまり、3つのノードの比較器diをランダムな順番でそれぞれ動作させると、Σjwijqj+biとq’iが同じ符号になる動作が行われるたびにエネルギーEが減少する。但し、閾値-biにノイズを加えることで、比較器diが誤動作を行い、エネルギーEを増加させる。このエネルギーの増加をもたらす動作により、エネルギーが局所解から抜け出すことを可能にする。
図3は、ボルツマンマシンのアニーリングを説明する図である。エネルギーEが最小になる最適解に導く方法として、アニーリング(金属工学でいう焼きなましという方法)で解を求める方法がある。焼きなましは、本来、金属やガラスを適当な温度に熱してから、ゆっくりと冷却することで内部歪みの除去を行う。熱が高いと原子はエネルギーの高い状態をうろつくが、ゆっくりと冷却することによって、初期状態よりもエネルギーがさらに低くなるよう移動し、結晶が安定する。
図3の横軸はスピンqの組み合わせパターンに対応し、縦軸はエネルギーEに対応する。そして、曲線はネットワークのエネルギーEで、点MINが最小エネルギーを示し最適解である。点MIN以外の極小値は、エネルギーの局所的な極小値であり局所解を示す。通常、最急降下法などではエネルギーが高い方向には移動しないので、一度局所解に陥ると抜け出せない。しかし、ボルツマンマシンは、熱ノイズを加えることで確率的にある程度エネルギーが高くなる方向にも変化できる。
図3では、この変化できるエネルギー範囲をevarで示す。この変化できるエネルギー範囲evarは概念的に示すものであり、エネルギーEを示す曲線と直接の関係はない。図3中、(a)のように温度が高いと熱ノイズが大きいため変化できるエネルギー範囲evarが最大になり最適解MINを含み、局所解はもちろん最適解MINからでも脱出ができる。温度を少し冷やして熱ノイズを中程度にすると、(b)のように変化できるエネルギー範囲evarが中程度になり最適解MINを含まず、最適解MINからは脱出できないが、他の局所解からは脱出ができる。この状態を続けていくと、どんどん最適解MINに達成する確率が大きくなる。さらに温度を冷やして熱ノイズを最小にすると、(c)のように変化できるエネルギー範囲evarが最小になりエネルギーの遷移は行われなくなる。
したがって、図2の演算回路において、あるノードのスピンqの状態を反転する動作をランダムに繰り返しながら、比較器d1,d2,d3の確率的な動作の程度を徐々に小さくすると、所定の繰り返し回数の後には、ネットワークのエネルギーEが最小値の最適解MIN(または最小値に近い値の準最適解)に達していることが期待できる。この確率的に決める程度の制御を、比較器diの出力関数であるシグモイド関数の傾きを熱ノイズの大きさにより制御することで実現する。
図4は、シグモイド関数を示す図である。横軸が入力x(比較器diの入力z)に、縦軸が比較器diの出力qが+1になる確率f(x)に対応する。比較器の入力xが閾値0(ここでは閾値b=0)と比較されて出力qが+1になる確率f(x)は、入力xが閾値0より大きくなると1.0に近づき、閾値0より小さくなると0.0に近づくことを示している。この関数f(x)がシグモイド関数である。この閾値0は比較器diの閾値bに対応する。
シグモイド関数はアニーリングの特性を表すのによく用いられる。上記のとおり、比較器diがある入力xを入力し、各閾値b(図4ではb=0)を超えた時、ある確率f(x)で+1を出力する。この関数f(x)は図4に示されていて、ここで、xは入力値、Tは温度パラメータを示す。
図4には温度Tが0.5、1、2の3つのグラフが示されている。温度がT=2と大きいと、関数f(x)の傾きは緩やかで、入力xが閾値0より離れても出力が+1になる確率はゆっくりと増加または減少する。この状態が前述の(a)に対応する。温度Tを冷やす、すなわち小さくしていくと、関数f(x)の傾きは急になっていき、入力xが閾値0より離れるとすぐに出力が+1になる確率が1.0または0.0に張り付くようになる。これは前述の(b)または(c)を示す。このようにシグモイド関数f(x)の特性の変更を回路上で実現させることで、アニーリングを可能にする。
[本実施の形態]
以下、本実施の形態のイジングモデルの演算回路について説明する。図5は、本実施の形態におけるイジングモデルの演算回路を示す図である。図5の演算回路は、図2に示した3つのノードのモデルに対する演算回路を一般化した構成を有する。つまり、図1のようなノード1からノードnまでのイジングモデルに対応する演算回路である。ただし、図5にはノード1とnが示され、残りのノードの構成は省略されている。
ノードND_1の回路ユニットは、ノードND_1に相互作用を及ぼす最隣接ノードのスピンqiに対応する重みwi1を乗じたqi*wi1を加算するデジタル加算器a1と、デジタル加算器のデジタル出力Z1dをDA変換するDA変換器c1と、アナログ出力Z1を閾値b1と比較してスピンq1を出力する比較器d1とを有する。閾値b1を0と仮定すると、スピンq1は+1または−1のいずれかをとる。ノードND_nの回路ユニットもノードND_1と同様に、デジタル加算器anと、DA変換器cnと、比較器(比較ユニット)dnとを有する。
そして、演算回路は、各ノードの出力であるスピンqiに対応する重みwijを乗算するデジタル演算器eij(図5にはe1n, en1が示される)を有する。
図5には、ノードND_nの比較器(または比較ユニット)dnの詳細な構成が示される。比較器(または比較ユニット)dnは、第1比較器dn1と、第1のDA変換器dndacと、第2比較器dn2とを有する。第1比較器dn1は、熱雑音Voiと基準電圧Vnbとを比較して2値のデジタルランダム信号(Vdran)を出力する。第1のDA変換器dndacは、デジタルランダム信号Vdranをアナログランダム信号Veに変換するとともに、アナログランダム信号Veの大きさを振幅制御信号Nvarに基づいて可変させる。第2比較器dn2は、アナログランダム信号Veを閾値信号bnに加算して入力し、閾値信号Vo(=bn+Ve)とデジタル加算器anの出力信号znとを比較し所定の確率関数で2値の出力信号qnを生成する。
第1比較器dn1の正入力には定電圧Vnb(=GND)が入力され、負入力には、抵抗素子Rnoiで発生した熱ノイズによるノイズ電圧Vnoiが入力される。容量Cnoiは例えば負入力端子の寄生容量である。また、振幅制御信号Nvarはmビットのデジタル振幅制御信号である。そして、第2比較器dn2の正入力にはデジタル加算器anのデジタル出力zndを第2のDA変換器c1で変換したアナログ出力znが入力され、負入力には閾値信号Vo=bn+Veが入力される。
図6は、比較器の回路の一例とその動作を示す図である。図6には、左側に第1比較器dn1や第2比較器dn2の回路例が示される。この比較器は、クロックCKに同期して動作するダイナミックラッチコンパレータである。クロックCKはスイッチSW14のゲートに供給され、反転クロックXCKは、スイッチSW10,SW11,SW12,SW13の制御端子に供給され、いずれのスイッチもクロックまたは反転クロックがHレベルでONし、LレベルでOFFする。
比較器は、正入力信号IPがゲートに供給されるNMOSトランジスタN5と、負入力信号IMがゲートに供給されるNMOSトランジスタN6とを有し、それらのトランジスタN5,N6の共通のソースSSとグランドGNDとの間にスイッチSW14を有する。さらに、比較器は、トランジスタN5,N6のドレインDN,DPと電源電圧VDDとの間に、PMOS,NMOSトランジスタ対P1,N3とP2,N4とを有し、これらのトランジスタ対P1,N3とP2,N4のゲートとドレインは、互いに交差接続され、ラッチ回路を構成する。そして、トランジスタ対P1,N3とP2,N4のドレインは、負出力ONと正出力OPにそれぞれ接続される。
比較器は、クロックCK=L, XCK=HでスイッチSW10,SW11,SW12,SW13がON, SW14がOFFとなりリセットされる。リセット状態では、ドレインノードDN,DPが電源電圧VDDに、出力端子ON,OPも電源電圧VDDにされる。そして、クロックCK=H, XVK=LでスイッチSW10,SW11,SW12,SW13がOFF, SW14がONとなり、入力トランジスタ対N5,N6が入力信号対OP,IMを比較し、IP>IMの場合にトランジスタN5がN6より強く導通し、ドレインノードはDNの低下がDPの低下より大きくDN<DPとなる。そして、この状態をトランジスタ対P1,N3とP2,N4のラッチ回路がラッチし、出力信号対はON<OPとなる。IP<IMの場合は、上記と逆の動作になる。
図6の比較回路はあくまでも一例であり、他の構成の比較回路でもよい。
図7は、比較器(比較ユニット)dnの構成を示す図である。図5の比較器の構成と同じであるが、図7の例では、第1比較器dn1にはクロックCK1が供給され、第2比較器dn2にはクロックCK2が供給され、DA変換器dndacに、振幅制御信号Dvarに加えて、サンプルクロックCKsamと、正と負の基準電圧+Vref, -Vrefが入力される。また、DA変換器dndacは容量素子を利用する容量DACであり、振幅制御信号Dvarにより容量素子の容量値が可変され、アナログ出力信号Veの振幅が可変される。
次に、第1比較器dn1による熱ノイズに基づいてランダムデジタル信号Vdranを生成する動作について説明する。
図8は、第1比較器の動作の信号波形を示す図である。第1比較器dn1の負入力に接続された抵抗Rnoiの半導体領域に熱ノイズが発生すると、寄生容量Cnoiに電荷が流れ込み熱ノイズ電圧Vnoiが上下に変動する。つまり、抵抗Rnoiと容量Cnoiとで熱ノイズ発生回路が構成される。そして、熱ノイズはランダムな時間に発生するため、熱ノイズ電圧Vnoiはランダムに上下に変動する。
第1比較器には第1クロックCK1が入力され、第1比較器dn1は、第1クロックCK1の立ち上がりエッジで、熱ノイズ電圧Vnoiと定電圧Vnbとの比較結果を+1(Vnb>Vnoi)または−1(Vnb<Vnoi)をとるランダムデジタル信号Vdranとして出力する。このようにランダムデジタル信号Vdranは+1または−1の符号であり、ランダムに変化する符号ノイズである。上記のとおり、第1比較器は、微弱なアナログランダム雑音Vnoiをデジタルランダム信号Vdranに変換する。
図9、図10は、第1のDA変換器dndacのサンプリング動作とホールド動作を示す図である。図11は、第1のDA変換器dndac内の制御回路10の動作の論理値表を示す図である。また、図12は、第1のDA変換器dndacと第2比較器dn2の動作の信号波形を示す図である。
図9、図10に示された第2のDA変換器dndacは、アナログランダム信号Veが生成されるノードに一方の電極が接続されるm個の容量1C(正確には容量1Cのキャパシタ、以下単に容量1Cと称する。)と、各容量1Cの他方の電極にそれぞれ接続されるスイッチSW_1〜SW_mとを有する。スイッチSW_1〜SW_mはそれぞれ、mビットの制御信号p[m]に基づいて、各容量1Cの他方の電極に、基準電圧+Vref, -Vref, またはグランド電圧0Voltのいずれかのノードを接続する。制御回路10は、ノイズの振幅を制御するmビットの振幅制御信号Dvar[m]と、デジタルランダム信号Vdranと、サンプルクロックCKsamを入力し、スイッチSW_1〜SW_mそれぞれの制御信号p[m]を生成する。図中、容量Ccは、第2比較器dn2の入力端子容量であり、その容量値は容量1Cに比較すると微小である。
図9に示すとおり、サンプルクロックCKsamがCKsam=1のサンプルモードのとき、スイッチSW1の制御信号psamがpsam=1となり、スイッチSW1をオンにして閾値電圧bnを全容量1Cにサンプリングする。制御回路10は、CKsam=1に同期して、スイッチSW_1〜SW_mがグランド0に接続するようmビットの制御信号p[m]を制御する。これにより、全容量1Cに閾値電圧bnが印加されその電圧がサンプリングされる。サンプル期間では第2比較器の入力電圧Voは、Vo=bnである。
次に、図10に示すとおり、サンプルクロックCKsamがCKsam=0のホールドモードのとき、スイッチSW1の制御信号psamがpsam=0となり、スイッチSW1をオフにして、アナログランダム信号Veが出力されるノードまたは第2比較器dn2の入力電圧Voのノードは、フローティング状態になる。
制御回路10は、図11の論理値表に示されるとおり、mビット目の振幅制御信号Nvar[m]が1のとき、ランダムデジタル信号Vdranが+1または−1になることに基づいて、スイッチSW_mが正の基準電圧+Vrefまたは負の基準電圧-Vrefに接続するように、制御信号p[m]を制御する。すなわち、振幅制御信号Nvar[m]が1のとき、スイッチSW_mは、ランダムデジタル信号がVdran=+1なら正の基準電圧+Vrefに接続し、Vdran=-1なら負の基準電圧-Vrefに接続する。
一方、制御回路10は、mビット目の振幅制御信号Nvar[m]が0のとき、ランダムデジタル信号Vdranが+1または−1にかかわらず、スイッチSW_mが0Vのノードに接続するように、制御信号p[m]を制御する。
したがって、mビットの振幅制御信号Nvarのk個が1になると、スイッチSW_1〜SW_mのうちk個のスイッチが、正の基準電圧+Vrefまたは負の基準電圧-Vrefに接続する。その結果、DA変換器dndacの出力(または第2比較器の閾値入力)Voは、閾値電圧bnに変動幅±Veを加算した以下の電圧になる。
Vo = bn±Ve
Ve = {kC/(mC+Cc)}Vref
ここで、kはNvarの1の数、mは容量1Cの数である。
そして、入力端子容量Ccは微小であるので無視すると、出力Voは次の通りとなる。
Vo = bn±(k/m)*Vref
Ve = (k/m)*Vref
つまり、出力Voは、閾値bnにランダムデジタル信号Vdranの符号を有する変動値±Veを加算した電圧であり、その変動幅(振幅)は、基準電圧Vrefを振幅制御信号Nvarの1の数(k個)で乗算した(k倍)電圧幅になる。したがって、第1のDA変換器dndacは、熱ノイズに基づいて生成されたランダムデジタル信号Vdranをアナログランダム信号Veに変換する。そして、そのアナログランダム信号Veの振幅は、振幅制御信号Vvarにより可変させることができる。
図12に示されるとおり、第2比較器dn2は、第2クロックCK2に同期して、デジタル加算器anのデジタル出力zndから変換されたアナログ出力znを、所定の振幅のノイズが重畳された入力電圧Vo=bn±Veと比較し、zn>Voなら出力qnを+1に、zn<Voなら出力qnを−1にする。一方、第1のDA変換器dndacは、サンプルクロックCKsamがCKsam=1のときVo=bnを生成し、CKsam=0のときVo=bn±Veを生成する。
したがって、図12に示されるとおり、サンプルクロックがCKsam=0のホールドモード中に第2クロックCK2が0から1に立ち上がるようにすれば、第2比較器dn2は、アナログ入力znを閾値入力信号Vo=bn±Veと比較する。そして、閾値入力信号Voは、基準となる閾値電圧bnに、デジタルランダム信号Vdranによる符号と、振幅制御信号Nvarによる振幅を有するランダムな変動成分Veを加算したアナログランダム信号である。第2比較器dn2は、zn>Vo=bn±Veなら出力qnを+1にし、zn<Vo=bn±Veなら出力qnを−1にする。
図12に示されるように、アナログ入力znがzn_2の電圧の場合(|Ve|>|Zn|の場合)は、比較結果qnは、アナログランダム信号VoがVo=bn+Veなら,出力qnをqn=-1にし、Vo=bn-Veなら、qn=+1にする。つまり、|Ve|>|Zn|であれば、デジタルランダム信号Vdranに基づいて変動成分Veが+になるか−になるかによって、第2比較器dn2の出力qnが−1、+1になり、その確率は50%である。
一方、アナログ入力znがzn_1の電圧の場合(|Ve|<|Zn|の場合)は、比較結果qnは、変動成分Veが+または−にかかわらず、出力qnはqn=+1になる。逆に、アナログ入力znがzn_3の電圧の場合(|Ve|<|Zn|の場合)は、比較結果qnは、変動成分Veが+または−にかかわらず、出力qnはqn=-1になる。つまり、|Ve|<|Zn|であれば、変動成分Veが+になるか−になるかにかかわらず、第2比較器dn2の出力qnが+1か−1のどちらかになり、その確率は100%である。この意味するところは、次のとおりである。
図13は、第2比較器の出力関数を説明する図である。図13の3つのグラフは、横軸がアナログ入力znに、縦軸が比較器の出力qnがqn=+1になる確率に対応する。図13(a)は、一般的な比較器が入力電圧znを閾値電圧bn(=0v)と比較した場合の、入力電圧znに対する出力qn=+1になる確率を示す。この場合、zn>bnであれば、出力がqn=+1になる確率は1.0(100%)であり、zn<bnであれば、出力がqn=+1になる確率は0.0(0%)であり、zn=bnであれば、出力がqn=+1になる確率は0.5(50%)である。
一方、図13(b)は、上記の第2比較器dn2が入力znをアナログランダム信号Vo=bn±Veと比較した場合の、入力電圧znに対する比較器の出力がqn=+1になる確率を示す。この場合、zn>bn+Veであれば、出力がqn=+1になる確率は1.0(100%)であり、zn<bn-Veであれば、出力がqn=+1になる確率は0.0(0%)である。つまり、|zn|>|Ve|の場合、出力がqn=+1になる確率は1.0(100%)または0.0(0%)である。しかし、|zn|<|Ve|であれば、出力がqn=+1になる確率は0.5(50%)である。つまり、50%の確率で出力はqn=+1,-1にそれぞれなる。
図13(c)は、第2比較器dn2の振幅制御信号Nvarの値を減じた場合の出力関数(破線)を示す。Nvarを減じると変動成分Veが小さくなる。その結果、出力がqn=+1になる確率が0.5(50%)の範囲が、実線で示す-Ve1から+Ve1から、破線で示す-Ve2〜+Ve2に狭くなる。つまり、出力がqn=+1になる確率が0.5(50%)の範囲を振幅制御信号Nvarによって任意に変更することができる。
図4に示した3種類のシグモイド関数のうち、図13の(a)は図4のT=0.5のシグモイド関数に、(b)は図4のT=2のシグモイド関数に、(c)の破線は図4のT=1のシグモイド関数に、それぞれ対応する。したがって、第2比較器dn2の出力関数は、振幅制御信号Nvarを可変させることで、図4のような異なる特性のシグモイド関数に設定することができることを意味する。
[第2の実施の形態]
図14は、第2の実施の形態における比較回路(比較ユニット)の構成を示す図である。また、図15は、第2の実施の形態における比較回路(比較ユニット)の信号波形を示す図である。第2の実施の形態における比較回路(比較ユニット)dnは、熱ノイズ生成回路(Rnoi, Cnoi)と第1比較回路dn1を有するデジタルランダム信号生成器DRANと、デジタルランダム信号Vdranをアナログランダム信号Veに変換しその振幅を可変させる第1DA変換器dadacとを複数組(n組)有する。第1DA変換器dadac_1〜dadac_nには共通の振幅制御信号Nvarが入力される。そして、n組の第1DA変換器dadac_1〜dadac_nの出力であるn個のアナログランダム信号(電圧)Veは、閾値信号bnに加算される。
n組のデジタルランダム信号生成器DRAN_1〜DRAN_nは、それぞれのデジタルランダム信号Vdranを互いに独立して生成する。その結果、n組のデジタルランダム信号Vdran[n]の組合せは2n種類あり、n組のアナログランダム信号Veの電圧レベルは、Vdran[n]が+1が0個(-1がn個)から+1がn個(-1が0個)までのn+1種類になりうる。つまり、n個のアナログランダム信号Veはn+1種類の電圧レベルを生成し、且つ、n+1種類の電圧レベルは、振幅制御信号Nvarにより可変させることが可能である。そして、n個のアナログランダム信号Veによるn+1種類の電圧レベルが、閾値信号bnの電圧に加算される。
図15の信号波形は、7組のデジタルランダム信号生成器と第1DA変換器の例であり、8種類の電圧レベル(4種類の負電圧と4種類の正電圧)に対応するアナログランダム信号|Ve_1|〜|Ve_4|が示されている。この8種類の電圧レベルは、7つのデジタルランダム信号Vdranの次の8種類の組合せに対応する。
(-1,-1,-1,-1,-1,-1,-1)=-Ve_4
(+1,-1,-1,-1,-1,-1,-1)=-Ve_3
(+1,+1,-1,-1,-1,-1,-1)=-Ve_2
(+1,+1,+1,-1,-1,-1,-1)=-Ve_1
(+1,+1,+1,+1,-1,-1,-1)=+Ve_1
(+1,+1,+1,+1,+1,-1,-1)=+Ve_2
(+1,+1,+1,+1,+1,+1,-1)=+Ve_3
(+1,+1,+1,+1,+1,+1,+1)=+Ve_4
図16は、デジタルランダム信号生成器と第1DA変換器の組数が1、2、3の場合の第2比較器の出力関数を示す図である。
(a)1組の場合、デジタルランダム信号Vdranは-1,+1の2種類であり、アナログランダム信号は-Ve, +Veの2種類である。したがって、入力znがzn<-Veで出力qnがqn=+1になる確率は0.0, -Ve<zn<+Veでの確率は0.5, +Ve<znでの確率は1.0である。
(b)2組の場合、2個のデジタルランダム信号Vdranの組合せは(-1,-1),(+1,-1),(-1,+1),(+1,+1)の22=4種類で、アナログランダム信号は-2Ve,0,+2Veの3種類である。したがって、入力znがzn<-2Veで出力qnがqn=+1になる確率は0.0, -2Ve<zn<0での確率は0.25(=1/4), z=0での確率は0.5, 0<zn<+2Veでの確率は0.75(=3/4), +2Ve<znでの確率は1.0である。
(c)3組の場合、3個のデジタルランダム信号Vdranの組合せは23=8種類で、アナログランダム信号は-3Ve,-Ve, +Ve,+3Veの4種類である。したがって、入力znがzn<-3Veで出力qnがqn=+1になる確率は0.0, -3Ve<zn<-Veでの確率は0.125(=1/8), -Ve<zn<+Veでの確率は0.5(=4/8), +Ve<zn<+3Veでの確率は0.875(=7/8), +3Ve<znでの確率は1.0である。
上記のとおり、第2の実施の形態によれば、デジタルランダム信号生成器と第1DA変換器の組数を増やすことで、第2比較器の出力関数の波形をなだらかにして、より自然なシグモイド関数に近い波形にすることができる。
[ボルツマンマシンのアニーリング動作]
上記のボルツマンマシンは、熱ノイズに基づいてノイズの符号をランダムに変更するデジタルランダム信号Vdranを生成し、第1のDA変換器dndacがデジタルランダム信号をアナログランダム信号+Ve又は-Veに変換し且つその振幅を振幅制御信号Nvarにより可変させ、第2比較器dn2が入力znを基準の閾値信号bnにアナログランダム信号±Veを加算した閾値Vo=bn±Veと比較して出力qn(+1 or -1)を生成する。また、第2の実施の形態のようにデジタルランダム信号生成器と第1DA変換器の組数を複数にする場合は、アナログランダム信号の種類を増やして、第2比較器dn2の出力関数の波形をより自然なシグモイド関数に近づける。
本実施の形態では、ボルツマンマシンの実行を繰り返す過程で、振幅制御信号Nvarを最大値から最小値に変更させて第2比較器dn2の閾値のノイズレベル±Veの振幅を最大値から最小値に変更する。これにより、熱ノイズのレベルを順次低下させてネットワークのエネルギーが最小値の最適解を達成できる確率を高くする。
図17は、本実施の形態におけるボルツマンマシンの動作を示すフローチャート図である。図5のボルツマンマシンにおいて、まず、重みwxyの初期値をモデルの固定値に設定し(S1)、各ノードのスピンqiを適当な値(+1 or -1)に設定する(S2)。そして、アナログランダム信号±Veの振幅制御信号Nvarを最大値に設定する(S3)。この状態で、任意の回数ボルツマンマシンを実行する(S4)。
図18は、ボルツマンマシンの実行工程S4の詳細を示すフローチャート図である。ボルツマンマシンの実行は、動作対象のノードをランダムに決定し(S41)、決定したノードの比較器(比較ユニット)diを動作させて、現在の全ノードの出力q1〜qnに対するデジタル加算器aiのアナログ出力ziから新たな出力q’iを生成する(S42)。この結果、全ノードの出力q1〜qnは異なる組合せに更新され、各ノードのデジタル加算器a1〜anが新たな出力q1〜qnに対応する加算値z1d〜zndを生成する。さらに、出力q1〜qnの新たな組合せに対するネットワークのエネルギー値は別の値に遷移する。
この遷移では、第2比較器が以下のように動作する。
Σjwijqj-(bi±Ve) > 0ならばq’i=+1を出力し
Σjwijqj-(bi±Ve) < 0ならばq’i=-1を出力する。
そして、第2比較器の動作は、出力qiの符号が反転する場合と、反転しない場合があり、反転する場合はネットワークのエネルギー値Eが減少する。さらに、閾値にノイズが加えられることで、本来なら出力qiの符号が反転する動作でも、符号が反転しないことがあり、その場合はネットワークのエネルギー値Eが増加する。この第2比較器のノイズに起因する誤った動作により、局所解の極小値から抜け出せるエネルギー値の出力qiの組み合わせに遷移することができる。なお、上記のボルツマンマシンの実行中において、ネットワークのエネルギー値の計算は通常行わない。
そして、ボルツマンマシンの実行回数をM回、アニーリングのノイズレベルの低下回数を3回とすると、例えば、実行回数がM/3回に達するまで、動作対象のノードをランダムに決定すること(S41)と、決定したノードの比較器diを動作させて新たな出力q’iを生成すること(S42)とを繰り返す。ここで、ノードの比較ユニットである比較器diを動作させるとは、具体的に、比較ユニットdi内の第2比較器di2をクロックCK2に同期して比較動作を実行させることである。比較ユニットdi内の第1比較器di1は、工程S42の動作タイミングとは独立したクロックCK1で比較動作を行い、デジタルランダム信号Vdranを継続して生成する。
図17に戻り、振幅制御信号Nvarの値を任意の値だけ減少させ(S5)、全実行回数がM回に達しない間(S6のNO)、上記の工程S4,S5を繰り返す。つまり、振幅制御信号Nvarの値を任意の値だけ減少させ、第2比較器di2の閾値電圧Vo=bi±Veのノイズ振幅Veを大きさを減少させて、再度、M/3回工程S4を実行する。
全実行回数がM回に達すると(S6のYES)、つまり振幅制御信号Nvarが終了値である最小値になると、ボルツマンマシンの実行を終了し、データ解析処理を行う(S7)。データ解析処理では、ボルツマンマシンのネットワークのエネルギーEを演算し、適宜メモリに記録する。
エネルギーEが最小値である最適値に達していなければ(または最適値に近い値まで低下していなければ)、実行回数を増加したり、振幅制御信号Nvarを低下する幅を小さくしたりして、再度図17のフローチャートを実行する。エネルギーEが最適値に達していれば(または最適値に近い値まで低下していれば)、ボルツマンマシンの実行を終了する。参考までに、ボルツマンマシンの実行回数を無限大にすれば、理論的にはエネルギーEは最小値(最適値)に達する。
図19は、本実施の形態におけるボルツマンマシンの実行の3つのフェーズを示す図である。左側のグラフは、図3と同じである。それに対して、右側のグラフは、本実施の形態の第2比較器di2のシグモイド関数とノードND_iでのデジタル加算器aiの出力ziの範囲を示す。シグモイド関数は、図16の(c)の3組のデジタルランダム信号生成器と第1DA変換器の場合に対応する。したがって、シグモイド関数は、アナログランダム信号の電圧-3Ve, -Ve, +Ve, +3Veで異なる確率になる。
図19の(a)の状態では、ノイズの振幅が最大値でありシグモイド関数の特性が非常になだらかであり、デジタル加算器aiの出力ziの範囲内では、第2比較器の出力qiが+1をとる確率は、0.5である。その結果、第2比較器は0.5の確率で誤った出力qiを生成し、ネットワークのエネルギーが局所的な極小値にとどまることを回避でき、最適値に向かうことができる。
図19の(b)の状態では、ノイズの振幅が中程度でありシグモイド関数の特性がやや急峻になり、デジタル加算器aiの出力ziの範囲内では、第2比較器の出力qiが+1をとる確率は、0.125, 0.5, 0.825のいずれかである。その結果、第2比較器は0.125, 0.5, 0.825の確率で誤った出力qiを生成することがあり、ネットワークのエネルギーが局所的な極小値にとどまることを回避できる。
図19の(c)の状態では、ノイズの振幅が最小でありシグモイド関数の特性が非常に急峻になり、デジタル加算器aiの出力ziの範囲内では、第2比較器の出力qiが+1をとる確率は、0.0 0.125, 0.5, 0.825, 1.0のいずれかである。その結果、第2比較器が誤った出力qiを生成する確率が低下し、ネットワークのエネルギーが極小値にとどまりやすくなる。
このように、振幅制御信号Nvarを最大値から最小値に可変させることで、ボルツマンマシンをアニーリングしながら実行することができる。
[ボルツマンマシンを有する情報処理装置]
図20は、ボルツマンマシンを有する情報処理装置を示す図である。情報処理装置はコンピュータであり、プロセッサCPUと、メモリRAMと、ボルツマンマシンである演算回路部20と、インターフェースIFと、ハードディスク等の補助記憶装置21と、ディスプレイやキーボードなどの入出力装置22と、ネットワークインターフェース23と、それらを接続するバス24を有する。
演算回路部20は、例えば、図5の複数ノードの回路部と、ノード間の複数のデジタル演算器とを有するネットワーク回路である。プロセッサCPUが補助記憶装置21内のプログラムを実行中に最適解を求める必要が発生すると、プロセッサがプログラムを実行して最適解を求めるのではなく、演算回路部20を実行して最適解を取得する。
以上、本実施の形態におけるボルツマンマシンは、小さな回路規模で熱ノイズからデジタルランダム信号を生成し、デジタルランダム信号に応じてノイズの符号を決定し振幅制御信号Nvarによりノイズの振幅を可変させてノイズ信号を生成する。したがって、小さな回路規模でノイズ信号を生成しそのノイズ振幅を容易に可変させるので、ボルツマンマシンのアニーリング制御を行うことができる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、
一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、
前記比較ユニットは、
熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、
前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させる第1のDA変換器と、
前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する第2比較器とを有する、ボルツマンマシン。
(付記2)
前記アナログランダム信号の振幅を順次小さくしながら、前記複数の回路ユニットを所定回数ランダムに動作させる、付記1に記載のボルツマンマシン。
(付記3)
前記第1比較器は、第1クロックに同期して比較動作を行い前記2値のデジタルランダム信号を出力する、付記1に記載のボルツマンマシン。
(付記4)
前記第1のDA変換器は、前記デジタルランダム信号に基づいて前記アナログランダム信号の符号を制御し、大きさ制御信号に基づいて前記アナログランダム信号の振幅を可変させる、付記1に記載のボルツマンマシン。
(付記5)
前記第1のDA変換器は、前記大きさ制御信号に対応する個数の容量素子の第1端子に、前記デジタルランダム信号に基づく正の基準電圧または負の基準電圧のいずれかを印加するスイッチを有し、前記容量素子の共通に接続された第2端子に前記アナログランダム信号を生成する、付記4に記載のボルツマンマシン。
(付記6)
前記第2比較器は、第2クロックに同期して比較動作を行い前記2値の出力信号を出力する、付記1に記載のボルツマンマシン。
(付記7)
前記複数の比較ユニットのそれぞれは、前記第1比較器と、前記第1比較器の前記2値のデジタルランダム信号を入力する前記第1のDA変換器とを複数組有し、前記複数の第1のDA変換器には共通の前記大きさ制御信号が入力され、前記複数の第1のDA変換器のアナログランダム信号が加算されて前記第2比較器に入力される、付記4に記載のボルツマンマシン。
(付記8)
前記加算器の出力信号はデジタル出力信号であり、
前記複数の回路ユニットはそれぞれ、前記加算器のデジタル出力信号をアナログ出力信号に変換する第2のDA変換器を有し、
前記比較ユニットは、前記アナログ出力信号と前記閾値信号とを比較する、付記1に記載のボルツマンマシン。
(付記9)
複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有するボルツマンマシンの制御方法において、
前記比較ユニットが有する第1比較器が、熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力し、
前記比較ユニットが有する第1のDA変換器が、前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させ、
前記比較ユニットが有する第2比較器が、前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する、ボルツマンマシンの制御方法。
(付記10)
プログラムの命令を実行する演算処理装置と、
前記演算処理装置からの実行依頼に応じて動作する演算回路部とを有し、
前記演算回路部は、
複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、
一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、
前記比較ユニットは、
熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、
前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させる第1のDA変換器と、
前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する第2比較器とを有する、情報処理装置。
(付記11)
前記演算回路部は、前記アナログランダム信号の振幅を順次小さくしながら、前記複数の回路ユニットを所定回数ランダムに動作させる、付記10に記載の情報処理装置。
ND_n:ノード、回路ユニット
e1n, en1:デジタル演算器
an:デジタル加算器
cn:第2のDAC
dn:比較ユニット
dn1:第1比較器
dndac:第1のDAC
dn2:第2比較器
Vdran:ランダムデジタル信号
zn:加算値
qn:2値の出力信号

Claims (9)

  1. 複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、
    一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、
    前記比較ユニットは、
    熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、
    前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させる第1のDA変換器と、
    前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する第2比較器とを有する、ボルツマンマシン。
  2. 前記アナログランダム信号の振幅を順次小さくしながら、前記複数の回路ユニットを所定回数ランダムに動作させる、請求項1に記載のボルツマンマシン。
  3. 前記第1比較器は、第1クロックに同期して比較動作を行い前記2値のデジタルランダム信号を出力する、請求項1に記載のボルツマンマシン。
  4. 前記第1のDA変換器は、前記デジタルランダム信号に基づいて前記アナログランダム信号の符号を制御し、大きさ制御信号に基づいて前記アナログランダム信号の振幅を可変させる、請求項1に記載のボルツマンマシン。
  5. 前記第1のDA変換器は、前記大きさ制御信号に対応する個数の容量素子の第1端子に、前記デジタルランダム信号に基づく正の基準電圧または負の基準電圧のいずれかを印加するスイッチを有し、前記容量素子の共通に接続された第2端子に前記アナログランダム信号を生成する、請求項4に記載のボルツマンマシン。
  6. 前記第2比較器は、第2クロックに同期して比較動作を行い前記2値の出力信号を出力する、請求項1に記載のボルツマンマシン。
  7. 前記複数の比較ユニットのそれぞれは、前記第1比較器と、前記第1比較器の前記2値のデジタルランダム信号を入力する前記第1のDA変換器とを複数組有し、前記複数の第1のDA変換器には共通の前記大きさ制御信号が入力され、前記複数の第1のDA変換器のアナログランダム信号が加算されて前記第2比較器に入力される、請求項4に記載のボルツマンマシン。
  8. 複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有するボルツマンマシンの制御方法において、
    前記比較ユニットが有する第1比較器が、熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力し、
    前記比較ユニットが有する第1のDA変換器が、前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させ、
    前記比較ユニットが有する第2比較器が、前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する、ボルツマンマシンの制御方法。
  9. プログラムの命令を実行する演算処理装置と、
    前記演算処理装置からの実行依頼に応じて動作する演算回路部とを有し、
    前記演算回路部は、
    複数の重み付け入力信号を加算する加算器と、前記加算器の出力信号と閾値信号とを比較して2値の出力信号を出力する比較ユニットとをそれぞれ有し、前記2値の出力信号をそれぞれ出力する複数の回路ユニットと、
    一対の前記回路ユニットのうち第1の回路ユニットの出力信号を重みに基づいて重み付けをして前記重み付け入力信号を生成し、前記一対の回路ユニットのうち第2の回路ユニットに入力する複数のデジタル演算器とを有し、
    前記比較ユニットは、
    熱雑音と基準電圧とを比較して2値のデジタルランダム信号を出力する第1比較器と、
    前記デジタルランダム信号をアナログランダム信号に変換するとともに、前記アナログランダム信号の大きさを可変させる第1のDA変換器と、
    前記アナログランダム信号を前記閾値信号として入力し、前記閾値信号と前記加算器の出力信号とを比較し所定の確率関数で前記2値の出力信号を生成する第2比較器とを有する、情報処理装置。
JP2016018668A 2016-02-03 2016-02-03 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 Active JP6524933B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016018668A JP6524933B2 (ja) 2016-02-03 2016-02-03 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置
US15/419,238 US11074493B2 (en) 2016-02-03 2017-01-30 Boltzmann machine, method for controlling boltzmann machine, and information processing device having boltzmann machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016018668A JP6524933B2 (ja) 2016-02-03 2016-02-03 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置

Publications (2)

Publication Number Publication Date
JP2017138760A true JP2017138760A (ja) 2017-08-10
JP6524933B2 JP6524933B2 (ja) 2019-06-05

Family

ID=59386845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016018668A Active JP6524933B2 (ja) 2016-02-03 2016-02-03 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置

Country Status (2)

Country Link
US (1) US11074493B2 (ja)
JP (1) JP6524933B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019176647A1 (ja) * 2018-03-13 2019-09-19 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム
KR20190118766A (ko) * 2018-04-11 2019-10-21 포항공과대학교 산학협력단 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
US10534576B2 (en) 2018-02-01 2020-01-14 Fujitsu Limited Optimization apparatus and control method thereof
JP2020013350A (ja) * 2018-07-18 2020-01-23 国立研究開発法人産業技術総合研究所 ボルツマンマシン
US11551062B2 (en) 2018-01-17 2023-01-10 Fujitsu Limited Optimization apparatus and control method thereof
US11748645B2 (en) 2018-04-16 2023-09-05 Fujitsu Limited Optimization apparatus and control method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7339539B2 (ja) * 2020-01-15 2023-09-06 富士通株式会社 最適化装置、最適化装置の温度設定方法及び最適化装置の温度設定プログラム
JP2021144622A (ja) * 2020-03-13 2021-09-24 富士通株式会社 最適化装置、最適化プログラム、および最適化方法
JP7410395B2 (ja) * 2020-03-26 2024-01-10 富士通株式会社 最適化装置及び最適化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227493A (ja) * 1988-07-15 1990-01-30 Fujitsu Ltd ボルツマンマシン型ニューロコンピュータシステム
JPH07141313A (ja) * 1993-11-18 1995-06-02 Fujitsu Ltd 神経回路素子
JPH07248841A (ja) * 1994-03-09 1995-09-26 Mitsubishi Electric Corp 非線形関数発生装置およびフォーマット変換装置
US5542054A (en) * 1993-12-22 1996-07-30 Batten, Jr.; George W. Artificial neurons using delta-sigma modulation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0634248B2 (ja) * 1989-12-16 1994-05-02 三菱電機株式会社 半導体神経回路網
US5167006A (en) 1989-12-29 1992-11-24 Ricoh Company, Ltd. Neuron unit, neural network and signal processing method
JP3253613B2 (ja) 1990-03-16 2002-02-04 株式会社リコー 信号処理装置
US5517596A (en) * 1991-05-17 1996-05-14 International Business Machines Corporation Learning machine synapse processor system apparatus
JP3178884B2 (ja) * 1992-03-30 2001-06-25 株式会社東芝 ニューラルネットワーク装置
JP5807549B2 (ja) * 2012-01-10 2015-11-10 富士通株式会社 比較回路およびa/d変換回路
JP5942798B2 (ja) * 2012-11-12 2016-06-29 富士通株式会社 比較回路およびa/d変換回路
JP6471629B2 (ja) * 2015-06-30 2019-02-20 富士通株式会社 ボルツマンマシン回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227493A (ja) * 1988-07-15 1990-01-30 Fujitsu Ltd ボルツマンマシン型ニューロコンピュータシステム
JPH07141313A (ja) * 1993-11-18 1995-06-02 Fujitsu Ltd 神経回路素子
US5542054A (en) * 1993-12-22 1996-07-30 Batten, Jr.; George W. Artificial neurons using delta-sigma modulation
JPH07248841A (ja) * 1994-03-09 1995-09-26 Mitsubishi Electric Corp 非線形関数発生装置およびフォーマット変換装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11551062B2 (en) 2018-01-17 2023-01-10 Fujitsu Limited Optimization apparatus and control method thereof
US10534576B2 (en) 2018-02-01 2020-01-14 Fujitsu Limited Optimization apparatus and control method thereof
WO2019176647A1 (ja) * 2018-03-13 2019-09-19 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム
JP2019159782A (ja) * 2018-03-13 2019-09-19 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム
JP6993909B2 (ja) 2018-03-13 2022-01-14 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム
KR20190118766A (ko) * 2018-04-11 2019-10-21 포항공과대학교 산학협력단 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
KR102105951B1 (ko) 2018-04-11 2020-04-29 포항공과대학교 산학협력단 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
US11748645B2 (en) 2018-04-16 2023-09-05 Fujitsu Limited Optimization apparatus and control method thereof
JP2020013350A (ja) * 2018-07-18 2020-01-23 国立研究開発法人産業技術総合研究所 ボルツマンマシン
JP7089750B2 (ja) 2018-07-18 2022-06-23 国立研究開発法人産業技術総合研究所 ボルツマンマシン

Also Published As

Publication number Publication date
JP6524933B2 (ja) 2019-06-05
US11074493B2 (en) 2021-07-27
US20170220924A1 (en) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6524933B2 (ja) ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置
US10929750B2 (en) Information processing apparatus, Ising device, and method for controlling information processing apparatus
WO2014192153A1 (ja) 半導体装置
JP5885719B2 (ja) 識別装置および演算装置
TW201933155A (zh) 對劣化電路的輸出進行模擬的電路模擬器、方法和系統
US10896242B2 (en) Resistive memory device for matrix-vector multiplications
US10891542B2 (en) Ising device and control method thereof
TWI762719B (zh) 用於混和訊號運算的系統及方法
JP2017228295A (ja) 演算装置
JP2017224227A (ja) 情報処理装置、イジング装置及び情報処理装置の制御方法
TWI358901B (en) Circuit and method for determining optimal power a
EP3852027B1 (en) Optimization device, control method of optimization device, and control program of optimization device
Brito et al. Quaternary logic lookup table in standard CMOS
Charoosaei et al. High-order deep recurrent neural network with hybrid layers for modeling dynamic behavior of nonlinear high-frequency circuits
JP2019168851A (ja) 演算装置及び演算方法
Salvi et al. Long short-term model for Brent oil price forecasting
CN116842882A (zh) 基于深度学习的时变负载下标准单元老化时序预测方法
US20210173978A1 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
Rehan An ANN majority logic gate (MLG) using single electron nano-devices
JP7502709B2 (ja) 多値乱数生成装置、確率的コンピュータおよびその演算方法
JP7089750B2 (ja) ボルツマンマシン
Esshaghi et al. A Machine Learning-based Model for predicting Stochastic BTI Effects
Chen et al. Hardware-in-the-Loop Real-Time Transient Emulation of Large-Scale Renewable Energy Installations Based on Hybrid Machine Learning Modeling
Smunyahirun et al. Most energy-efficient input voltage function for RC delay line
JP6731596B2 (ja) 信号変換装置及び信号変換システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190308

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: 20190409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6524933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150