JP2020013350A - ボルツマンマシン - Google Patents

ボルツマンマシン Download PDF

Info

Publication number
JP2020013350A
JP2020013350A JP2018135306A JP2018135306A JP2020013350A JP 2020013350 A JP2020013350 A JP 2020013350A JP 2018135306 A JP2018135306 A JP 2018135306A JP 2018135306 A JP2018135306 A JP 2018135306A JP 2020013350 A JP2020013350 A JP 2020013350A
Authority
JP
Japan
Prior art keywords
circuit
boltzmann machine
neuron
signal line
synapse
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
JP2018135306A
Other languages
English (en)
Other versions
JP7089750B2 (ja
Inventor
裕司 更田
Yuji Koda
裕司 更田
大内 真一
Shinichi Ouchi
真一 大内
松川 貴
Takashi Matsukawa
貴 松川
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2018135306A priority Critical patent/JP7089750B2/ja
Publication of JP2020013350A publication Critical patent/JP2020013350A/ja
Application granted granted Critical
Publication of JP7089750B2 publication Critical patent/JP7089750B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】加算のための積分回路が不要で、小型で低消費電力であり集積回路として実装可能なボルツマンマシンを提供する。【解決手段】本発明のボルツマンマシンは、格子状の信号線の各格子点に1つずつ配置されたシナプス回路と、格子状の信号線の隣接する2つの列の間に1つずつ配線された列状の追加の信号線と、追加の信号線の各々に1つずつ接続するニューロン回路であって、各々が接続する追加の信号線に隣接する一方の列の信号線にも接続するニューロン回路と、を備える。追加の信号線の各々は格子状の信号線の1つの行に接続し、当該信号線の1つの行上の複数のシナプス回路の出力が当該追加の信号線に接続するニューロン回路の入力となり、当該ニューロン回路の出力は接続する一方の列の信号線上の複数のシナプス回路の入力となる。【選択図】図1

Description

本発明は、ボルツマンマシンに関し、より具体的には、ボルツマンマシンを集積回路上に実現するための回路技術に関する。
組み合わせ最適化問題は、実社会で様々に応用される問題である一方、従来のノイマン型コンピュータでは高速に解く事が難しいとされている。ボルツマンマシンは、人間の神経細胞(ニューロン)をモデルにしたニューラルネットワークの一つであり、巡回セールスマン問題等の組み合わせ最適化問題を高速に実行する事が期待されている。特にボルツマンマシンは、ハードウェア化が容易で、さらに現在開発が進んでいる抵抗可変素子のようなアナログ記憶素子を用いる事で小型・低電力化が可能である。
特許文献1は、ニューロン素子として抵抗変化型可変抵抗素子を備えた積演算装置を用いたニューラルネットワークを開示する。しかし、特許文献1の積演算装置は、積分回路(オペアンプ)が必要で、負の重みを実現するのも簡単ではない。
特許文献2は、シナプス回路が3端子アナログ記憶素子からなる可変抵抗素子を備え、ニューロン回路が積分回路や波形発生回路を備えるニューラルネットワーク回路の学習方法を開示する。しかし、特許文献2のニューロン回路では、積分回路を用いており、負の重みについても考慮されていない。
特許文献3は、確率的ニューロンの回路実装例として、ボルツマン型ニューロコンピュータシステムを開示する。しかし、特許文献3のシステムでは、アナログ雑音源を増幅して、ニューロンにノイズを与える事で、確率的な動作を実現している。この方式では、ニューロン毎にアナログ増幅器(アンプ)が必要で、面積・電力コストが大きい。また、雑音源をどのように用意するかという問題もある。
特許文献4は、抵抗の熱雑音をノイズのソースとして使用してランダムノイズの振幅の変化を行うボルツマンマシンを開示する。特許文献4のボルツマンマシンでは、比較器を使用する事で増幅器は不要の構造になっている。しかし、特許文献4のボルツマンマシンでは、容量を用いた引き算を行っており、制御回路部分が複雑になるという問題がある。
特開2009−282782 特開2013−513467 特開平2−27493 特開2017−138760
本発明の目的は、加算のための積分回路が不要で、小型で低消費電力であり集積回路として実装可能なボルツマンマシンを提供することである。
本発明のボルツマンマシンは、格子状の信号線の各格子点に1つずつ配置されたシナプス回路と、格子状の信号線の隣接する2つの列の間に1つずつ配線された列状の追加の信号線と、追加の信号線の各々に1つずつ接続するニューロン回路であって、各々が接続する追加の信号線に隣接する一方の列の信号線にも接続するニューロン回路と、を備える。追加の信号線の各々は格子状の信号線の1つの行に接続し、当該信号線の1つの行上の複数のシナプス回路の出力が当該追加の信号線に接続するニューロン回路の入力となり、当該ニューロン回路の出力は接続する一方の列の信号線上の複数のシナプス回路の入力となる。
本発明の一態様のボルツマンマシンのシナプス回路は、一方の列の信号線を介して接続する前記ニューロン回路の出力を受けて動作する、スイッチング可能な正の可変電流源及び負の可変電流源を含む。本発明の一態様のボルツマンマシンのシナプス回路は、一方の列の信号線を介して接続するニューロン回路の出力を受けて動作する、カレントミラー回路と2つのスイッチング可能な可変電流源を含む。
本発明の一態様のボルツマンマシンのニューロン回路は、追加の信号線を介して接続する格子状の信号線の1つの行上の複数のシナプス回路の出力を受けて動作する同期比較器を含む。本発明の一態様のボルツマンマシンのニューロン回路は、所定のタイミングを制御するためのタイミング制御回路をさらに含む。
本発明のボルツマンマシンによれば、従来のボルツマンマシンではニューロン数が増えると配線が混み合い破綻するという問題を回避でき、ニューロン数が増加しても対応可能な構造を得ることができる。本発明の一態様のボルツマンマシンによれば、加算のための積分回路が不要で、シナプス回路にスイッチング可能な可変電流源を用い、ニューロン回路に同期比較器を用いることにより、小型で低消費電力な回路として集積回路上に実装することが可能となる。
本発明の一実施形態のボルツマンマシンの構成とその動作を示す図である。 本発明の一実施形態のシナプス回路の構成を示す図である。 本発明の一実施形態のシナプス回路の動作を説明するための図である。 本発明の一実施形態のシナプス回路の動作を説明するための図である。 本発明の一実施形態のシナプス回路の動作を説明するための図である。 本発明の一実施例のニューロン回路の構成を示す図である。 図6の本発明の一実施形態のニューロン回路のクロック同期パルス発生器の構成を示す図である。 図6の本発明の一実施形態のニューロン回路の同期比較器の構成を示す図である。 本発明の他の一実施形態のシナプス回路の構成を示す図である。 本発明の他の一実施形態のシナプス回路の構成を示す図である。 本発明の一実施形態のノイズ回路を含むボルツマンマシンの構成を示す図である。 図11の本発明の一実施形態のボルツマンマシンの発火条件を説明するための図である。 図11の本発明の一実施形態のノイズ回路を含むボルツマンマシンの詳細構成を示す図である。 本発明の他の一実施形態のボルツマンマシンのニューロン回路の発火動作のタイミングを示す図である。 図14のニューロン回路の発火動作のタイミングを実現するためのニューロン回路の構成を示す図である。
図面を参照しながら本発明の実施の形態を説明する。図1は、本発明の一実施形態のボルツマンマシンの構成とその動作を示す図である。図1(a)は4個のニューロン回路と16個のシナプス回路を含む場合の構成例であって、より多くの数のニューロン回路とシナプス回路を含む全体構成の一部として例示されている。したがって、本発明の一実施形態のボルツマンマシンは、その適用(演算)対象に応じて選択された任意の数のニューロン回路とシナプス回路で構成することができる。図1(a)の構成では、格子状の信号線の各格子点に白丸(○)として1つずつ配置されたシナプス回路(例として行L3上の4つがS1〜S4として指示)と、格子状の信号線の隣接する2つの列の間に1つずつ配線された列状の追加の信号線(例として行L3と交差する信号線L4を指示)と、追加の信号線の各々に1つずつ接続するニューロン回路N1〜N4を含む。
ニューロン回路N1〜N4の各々は、接続する追加の信号線に隣接する一方の列の信号線にも接続する。例としてニューロン回路N1が接続する信号線L1、L2を指示している。なお、1つの線を信号線L1、L2としているのは、後述するように実際には2つの信号線を含むからである。図中の接点(●)において、追加の信号線の各々は格子状の信号線の1つの行に接続する。信号線の1つの行上の複数のシナプス回路(○)の出力が接点(●)で接続する1つの列状の追加の信号線を介して1つのニューロン回路の入力となる。例えば、信号線L3上の4つのシナプス回路S1〜S4の出力は、接点(●)P1で信号線L3と接続する追加の信号線L4を介してニューロン回路N4の入力となる。各ニューロン回路の出力は、接続する追加の信号線に隣接する一方の列の信号線を介してその一方の列の信号線上のシナプス回路(○)の入力となる。例えば、ニューロン回路N1の出力は信号線L1、L2上の4つの列状のシナプス回路(○)の入力となる。
図1(b)は、(a)のニューロン回路の入力と出力(発火)の様子を模擬したタイミングチャートである。(b)ではニューロン回路N4の入出力を例示している。他のニューロン回路N1〜N3においても動作は同様である。ニューロン回路N4の入力として、信号線L3上の4つのシナプス回路S1〜S4の出力を合算した出力(図の一番下の波形)が入力される。所定のタイミング(CLK)においてニューロン回路N4の入力電圧Viと発火閾値電圧VTが比較される。入力電圧Viが発火閾値電圧VTを超えた場合にニューロン回路N4は発火して、最初に所定の負のパルス(EXE)を出力し、続けて所定の正のパルス(INH)を出力する。この2つの出力パルス(EXE、INH)は、接続する左隣の追加の信号線上のシナプス回路(○)に入力される。
図2は、本発明の一実施形態のシナプス回路の構成を示す図である。図2では、図1(a)の信号線L3上の4つのシナプス回路S1〜S4の場合の例としてその構成を示している。4つのシナプス回路S1〜S4は全て同じ構成を有する。なお、シナプス回路S3は省略されている。図2の右端には、シナプス回路と同じ構成からなる、ニューロン回路の入力に加算されるバイアス項重みを表すバイアス電流I+ Bn、I- Bnを作るための回路も記載されている。
シナプス回路S1を例にとりその構成を説明する。シナプス回路S1は、電源VDDとグランドの間に直列接続する、p型トランジスタT1、p型の3端子素子T2、n型の3端子素子T3、及びn型トランジスタT4を含む。p型トランジスタT1とn型トランジスタT4は、例えばMOSFET(CMOS)を用いることができる。p型の3端子素子T2とn型の3端子素子T3は、例えばFeFETやフローティングゲートトランジスタなど特性可変のトランジスタを用いる事ができる。p型の3端子素子T2とn型の3端子素子T3には、両者を電流源として動作させるために所定の負のバイアス電圧VBPと所定の正のバイアス電圧VBNがボルツマンマシンの動作中は定常的に印加される。
p型の3端子素子T2とn型の3端子素子T3のペアは、信号線L3に接続する他のシナプス回路S2〜S4の3端子素子ペアと共に可変電流源として機能する。p型トランジスタT1には信号線L2を介してニューロン回路N1の負の出力パルス(EXE)が入力され、n型トランジスタT4には信号線L1を介してニューロン回路N1の正の出力パルス(INH)が入力されるようになっている。シナプス回路S1の出力電流(I+ n0+I- n0)は、信号線L3及び接点P1で接続する追加の信号線L4を介してニューロン回路N4に入力される。
図3は、本発明の一実施形態のシナプス回路の動作を説明するための図(等価回路)である。図3(a)のスイッチS1、S2・・・のオン・オフ動作は、図2のシナプス回路S1、S2、・・のp型トランジスタT1とn型トランジスタT4のオン・オフ動作、すなわちニューロン回路の出力パルス(INH、EXE)によるスイッチング(オン、オフ)動作に相当する。電流源I1、I2、・・は、図2のシナプス回路S1、S2、・・のp型の3端子素子T2とn型の3端子素子T3のペアからなる電流源に相当する。
電流源I1、I2、・・の出力電流は積和算されて出力電流I(=ΣIjj)としてニューロン回路に入力される。各電流源の電流値Ijはシナプス回路が模擬するシナプスの重みWjに相当する。式中のSjはスイッチS1、S2・・・のオン・オフ動作(1または0)、言い換えればニューロン回路の発火状態(1または0)に相当する。図3(b)はn型の3端子素子T3として正の入力信号で動作するn型のFeFETを用いる場合の一例を示している。なお、図の記載は省略しているが、p型の3端子素子T2も負の入力信号で動作するp型のFeFETを用いることができる。
図4は、本発明の一実施形態のシナプス回路の動作を説明するための図である。図4は、シナプス回路が模擬するシナプスの正の重みW+ jを実現する動作を示している。図4では、シナプス回路S0とS2のp型の3端子素子T2には所定の負のバイアス電圧VBPが印加されており、p型トランジスタT1にニューロン回路の発火信号である負のEXEパルス(パルス幅TW)が入力されて両者がオンして、2つのシナプス回路の出力電流(I+ 0+I- 2)が信号線L8に出力される場合を示している。
シナプス回路S1にはニューロン回路の発火信号は入力されていない。出力電流(I+ 0+I- 2)は追加の信号線L9を介してニューロン回路に入力され信号線L8及びL9の電位を上げる。その際の入力電圧V1は配線や素子等の寄生容量CとEXEパルスのパルス幅TWを用いて、

1=TW/C・(I+ 0+I- 2) (1)

で与えられる。なお、図1のニューロン回路の入力に加算されるバイアス項重みを表すバイアス電流I+ Bnも基本的に上記したシナプス回路のp型トランジスタT1とp型の3端子素子T2と同様に負のEXEパルスと負のバイアス電圧VBPとによって動作する。
図5は、本発明の一実施形態のシナプス回路の動作を説明するための図である。図5は、シナプス回路が模擬するシナプスの負の重みW- jを実現する動作を示している。図5では、シナプス回路S0とS2のn型の3端子素子T3には所定の負のバイアス電圧VBNが印加されており、n型トランジスタT4にニューロン回路の発火信号である正のINHパルス(パルス幅TW)が入力されて両者がオンして、追加の信号線L13及び信号線L12からグランドへ向けて2つのシナプス回路の出力電流(I+ 0+I- 2)が流れ込む(信号線L12及びL12の電位が下がる)場合を示している。
入力電圧V2は、配線等の寄生容量CとINHパルスのパルス幅TWを用いて、

2=−TW/C・(I+ 0+I- 2) (2)

で与えられる。なお、図1のニューロン回路の入力に加算されるバイアス項重みを表すバイアス電流I- Bnも基本的に上記したシナプス回路のn型トランジスタT4とn型の3端子素子T3と同様に正のINHパルスと正のバイアス電圧VBNとによって動作する。
図4のシナプスの正の重みW+ jを実現する動作と図5のシナプスの負の重みW- jを実現する動作、さらにはニューロン回路の入力に加算されるバイアス項重みを表すバイアス電流I+ Bn、I- Bnを考慮すると、一般的にニューロン回路nの入力電位Vnは、

n=TW/C(ΣI+ njj+I+ Bn)−TW/C(ΣI- njj+I- Bn)
=TW/C(Σ(I+ nj−I- nj)Sj+(I+ Bn−I- Bn)) (3)

で与えられる。ここで、Sjはニューロン回路jの発火状態(1または0)を意味する。
図6は、本発明の一実施例のニューロン回路の構成を示す図である。ニューロン回路は、同期比較器10、クロック同期パルス発生器11、遅延回路12A、リセット回路を構成するゲート13とn型トランジスタ14を含む。同期比較器10は、所定のタイミング(CLK)においてシナプス回路からの出力電流に応じて変化する入力電圧Vi(式(3)のVnと同義)と発火閾値電圧VTを比較する。
同期比較器10は、入力電圧Viが発火閾値電圧VTを超えた場合に出力パルス(オン)をクロック同期パルス発生器11に送る。クロック同期パルス発生器11はその出力パルス(オン)を受けてニューロン回路の発火出力OUTとなる負のEXEパルスと正のINHパルスを生成して出力する。遅延回路12は、クロックCLKを所定時間遅らせてクロック同期パルス発生器11に入力するために用いられる。リセット回路を構成するゲート13とn型トランジスタ14は、クロックCLKサイクルの開始時に入力電圧Viをリセットする(ゼロにする)ために用いられる。
図7は、図6の本発明の一実施形態のニューロン回路のクロック同期パルス発生器11の構成を示す図である。図7(a)はその回路構成を示し、(b)はその回路のタイミングチャートを示す。(a)において、クロックCLKが図6の遅延回路12Aによって遅延された後のパルスDCKをさらに遅延させるための遅延回路12Bと、パルスDCKとその遅延後のパルスDCKとを受けて正のINHパルスと負のEXEパルスを生成するためのゲート回路15とを含む。(b)のタイミングチャートに示すように、クロック同期パルス発生器11は、同期比較器10からの入力パルスINを受けて、クロックDCKと遅延後のクロックDCKの立ち上がりを用いてEXEパルスを生成し、両クロックの立ち下りのタイミングを用いてINHパルスを生成する。
図8は、図6の本発明の一実施形態のニューロン回路の同期比較器10の構成を示す図である。図8(a)はいわゆる同期式コンパレータの構成であって、(a)はその入力・比較段、(b)はその出力ラッチ段を示している。(a)の構成では、電源VDDに接続しクロックCLKに同期して動作する一対のp型トランジスタ16、17と、電源VDDに接続する一対のCMOSトランジスタ18、19と、CMOSトランジスタ18、19に接続してシナプス回路からの入力電圧Vi、発火閾値電圧VTを受けて動作する一対のn型トランジスタ20、21と、n型トランジスタ20、21とグランドに接続しクロックCLKに同期して図8の回路の電流源となるn型トランジスタ22を含む。
図8(b)では、RSラッチを構成する、p型トランジスタ16とCMOSトランジスタ18のp型トランジスタの出力RBを受けるゲート23と、p型トランジスタ17とCMOSトランジスタ17のp型トランジスタの出力SBを受けるゲート24を含む。図8の回路構成では、シナプス回路からの入力電圧Viが発火閾値電圧VTを超えて大きくなると、出力SBがロウになって出力OUTとしてハイ(正)パルスが出力する。
図9と図10は、本発明の他の一実施形態のシナプス回路の構成を示す図である。両図の構成は、いずれもn型の3端子素子(例えばFeFET、以下同様)のみを用い、カレントミラー回路を使って、そのn型の3端子素子の電流値をp型の3端子素子の電流値としてコピーするものである。図9では、カレントミラー回路を構成する3つのp型トランジスタT6、T7、T8と、電流源をなすn型の3端子素子T9、T10と、n型の3端子素子T9とグランドに接続するn型トランジスタT11を含む。
n型の3端子素子T9、T10には、両者を電流源として動作させるために所定の負のバイアス電圧VBN+と所定の正のバイアス電圧VBN-がボルツマンマシンの動作中は定常的に印加される。ニューロン回路から入力する負のEXEパルスを受けてp型トランジスタT8が動作し、その結果p型トランジスタT6、T7も動作して電源VDDから電流I+ 00が信号線L15に流れ込む。次にニューロン回路から入力する正のINTパルスを受けてn型トランジスタT11が動作し、その結果信号線L15から電流I 00がグランドへ流れる。
図10では、カレントミラー回路を構成する2つのp型トランジスタT6、T7と、電流源をなすn型の3端子素子T9、T10と、n型の3端子素子T9、T10とグランドに接続するn型トランジスタT12、T11を含む。n型の3端子素子T9、T10には、両者を電流源として動作させるために、所定の負のバイアス電圧VBN+と所定の正のバイアス電圧VBN-がボルツマンマシンの動作中は定常的に印加される。ニューロン回路から入力する正のINTパルスを受けて2つのn型トランジスタT12、T11が動作し、その結果信号線L15から電流I 00がグランドへ流れ、さらにp型トランジスタT6、T7も動作して電源VDDから電流I+ 00が信号線L15に流れ込む。
次に、図11〜図13を参照しながら本発明の一実施形態のノイズ回路を含むボルツマンマシンについて説明する。図11は、本発明の一実施形態のノイズ回路を含むボルツマンマシンの構成を示す図である。図12は、図11の本発明の一実施形態のボルツマンマシンの発火条件を説明するための図である。ニューロンの発火確率Piは理想的には、

Pi=1/(1+exp(−(Vi−VT)/T)) (4)

で表すことが出き、これを図示したのが図12(a)のシグモイド関数である。式(4)中のTは温度であり、この温度Tを徐々に小さく(アニール)することで、ニューロンの発火が確率論的な動作から決定論的な動作になる。図12(a)では、温度Tが高―>中―>低へ変化する場合での関数を例示している。動作の初期は高い温度から始め、温度を徐々に下げる(高→中→低)ことで、局所解に留まることなく、最適解の探索を行うことになる。図12(b)に示すように、本発明で言う「ノイズ回路」を用いることで、ニューロンの発火確率はシグモイド関数を階段状に近似したものになる。ノイズの注入量が温度Tに相当する。ノイズの注入量を減らす(温度を徐々に下げる)ことで、最適解の探索を行う。ノイズを全く注入しない時は、温度T=0に相当する。
図11の疑似乱数発生回路(例えばLFSR)25、スイッチング回路26、及びノイズ注入回路27がそのノイズ回路に相当する。符号28で囲まれた回路は既に上述したシナプス回路である。クロックCLKに応じて疑似乱数発生回路25によってnビットの乱数を発生させ、その乱数に応じてスイッチング回路26は1ビット毎にnビットまでノイズ電圧VNOISEを徐々に増加させてノイズ注入回路27に入力する。その時のビット数nによって図12(b)の発火確率の上昇ステップが決められ、同時にビット数nは発火確率の近似の精度を決めることになる。ノイズ電圧VNOISEは式(4)中の温度Tに相当し、VNOISEのステップnによる段階的な上昇が温度Tの低下ステップ、すなわちアニーリングステップに相当する。
図13は、図11の本発明の一実施形態のノイズ回路を含むボルツマンマシンの詳細構成を示す図である。図13では、疑似乱数発生回路(例えばLFSR)25と、制御回路30と、ゲート回路31と、ノイズ注入回路32を含む。図13の構成では、図11のスイッチング回路26の動作を制御回路30からのn−1ビットの制御信号Sによってp型(+)とn型(−)のノイズ電圧VNOISE(P)とVNOISE(N)用のゲート回路31の各々の出力Yをスイッチング制御することにより実行する。ノイズ注入回路32には、n個のサイズが異なるp型トランジスタ(サイズが1倍、2倍、4倍、…、2n-1倍)を含み、それぞれのゲートには、回路25により生成される乱数に応じて、VNOISE(P)又はVDDが、回路31を通して入力される。同様に回路32には、n個のサイズが異なるn型トランジスタ(サイズが1倍、2倍、4倍、…、2n-1倍)を含み、それぞれのゲートには、回路25により生成される乱数に応じて、VNOISE(N)又はVSSが回路31を通して入力される。なお、図13中の符号29と33は、既に上述した同期比較器とシナプス回路である。
図14と図15を参照しながら本発明の他の一実施形態のボルツマンマシンのニューロン回路について説明する。ここでは、ニューロン回路が発火の有無の2状態のみを出力するのではなく、複数の状態を出力/保持できる多状態ニューロン回路について説明する。図14は、その多状態ニューロン回路の発火動作のタイミングを示す図であり、図15は、図14の発火動作のタイミングを実現するためのニューロン回路(多状態ニューロン回路)の構成例を示す図である。
図14では、例として状態数が4の場合のニューロン回路の発火出力のタイミングを示している。図14では、ニューロン回路の発火をそのまま出力するのではなく、クロックCLKの1サイクル(周期)毎に、すなわちパルスφ1〜φ4の各タイミングで発火状態を出力させるようにする。すなわち、発火のタイミングによって発火状態を割り当てるようにする。図14では、パルスφ1のタイミングでニューロンの発火状態1を出力し、パルスφ2のタイミングでニューロンの発火状態2を出力し、パルスφ3のタイミングでニューロンの発火状態3を出力し、パルスφ4のタイミングでニューロンの発火状態4を出力する。ニューロンの4つの発火状態の各々がクロックCLKの4サイクル(周期)毎に出力されることになる。状態数が5以上の場合にも同様にパルスφnのタイミング毎でニューロンの発火状態を割り当てることが可能である。これにより、少ないニューロン回路の数で問題(例えばグラフの彩色問題や数独等)を解くことが可能となる。
図15の一実施形態の多状態ニューロン回路の構成例では、図6に例示した一実施形態のニューロン回路に対してパルスφ1〜φ4の各タイミングでクロック同期パルス発生器11の発火出力OUT(INH、EXE)を出力させるための回路及び配線網が追加されている。すなわち、図15では新たにパルス発生器35、遅延回路36、クロック同期パル発生器37、インバータ38、さらには4列の直列接続するクロック同期パルス発生器39、40、及びANDゲート41、1つのORゲート42、及びこれらを接続する配線網が追加されている。
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
組み合わせ最適化問題専用の集積回路(LSI)として、あるいはサーバ(スーパーコンピュータ)に組み合わせ最適化問題処理機能として組み込まれて利用することができる。
10、29:同期比較器
11、37、39、40:クロック同期パルス発生器
12A、12B、36:遅延回路
13、23、24、31:ゲート
14、20、21、22:n型トランジスタ
16、17:p型トランジスタ
18、19:CMOS
25:疑似乱数発生器(LFSR)
26:スイッチング回路
27、32:ノイズ注入回路
28、33:シナプス回路
30:制御回路
35:パルス発生器
38:インバータ
41:ANDゲート
42:ORゲート

Claims (13)

  1. ボルツマンマシンであって、
    格子状の信号線の各格子点に1つずつ配置されたシナプス回路と、
    前記格子状の信号線の隣接する2つの列の間に1つずつ配線された列状の追加の信号線と、
    前記追加の信号線の各々に1つずつ接続するニューロン回路であって、各々が接続する追加の信号線に隣接する一方の列の信号線にも接続するニューロン回路と、を備え、
    前記追加の信号線の各々は前記格子状の信号線の1つの行に接続し、当該信号線の1つの行上の複数の前記シナプス回路の出力が当該追加の信号線に接続する前記ニューロン回路の入力となり、当該ニューロン回路の出力は接続する前記一方の列の信号線上の複数のシナプス回路の入力となる、ボルツマンマシン。
  2. 前記シナプス回路は、前記一方の列の信号線を介して接続する前記ニューロン回路の出力を受けて動作する、スイッチング可能な正の可変電流源及びと負の可変電流源を含む、請求項1に記載のボルツマンマシン。
  3. 前記正の可変電流源はP型のFeFETまたはフローティングゲートトランジスタを含み、前記負の可変電流源はN型のFeFETまたはフローティングゲートトランジスタを含む、請求項2に記載のボルツマンマシン。
  4. 前記シナプス回路は、前記一方の列の信号線を介して接続する前記ニューロン回路の出力を受けて動作する、カレントミラー回路と2つのスイッチング可能な可変電流源を含む、請求項1に記載のボルツマンマシン。
  5. 前記2つのスイッチング可能な可変電流源は、P型またはN型のFeFETまたはフローティングゲートトランジスタを含む、請求項4に記載のボルツマンマシン。
  6. 前記ニューロン回路は、前記追加の信号線を介して接続する前記格子状の信号線の1つの行上の前記複数のシナプス回路の出力を受けて動作する同期比較器を含む、請求項1〜5のいずれか1項に記載のボルツマンマシン。
  7. 前記同期比較器は、前記複数のシナプス回路の出力の合計値と所定のしきい値の比較結果に応じて所定のタイミングでパルス信号を出力する、請求項6に記載のボルツマンマシン。
  8. 前記所定のタイミングを制御するためのタイミング制御回路をさらに含む、請求項7に記載のボルツマンマシン。
  9. 前記タイミング制御回路は、前記同期比較器の前記パルス信号が複数のニューロン状態を表すように前記所定のタイミングを制御する、請求項8に記載のボルツマンマシン。
  10. 前記格子状の信号線の各行に1つずつ接続し、前記ニューロン回路の各々にノイズ信号を送るためのノイズ注入回路をさらに含む、請求項1〜8のいずれか1項に記載のボルツマンマシン。
  11. 前記ノイズ注入回路は、所定の制御信号を受けて動作する、直列接続する正の電流源と負の電流源を含む、請求項10に記載のボルツマンマシン。
  12. 前記所定の制御信号を生成するための疑似乱数発生回路とスイッチング回路をさらに含む、請求項11に記載のボルツマンマシン。
  13. 請求項1〜12のいずれか1項に記載のボルツマンマシンを含む集積回路。
JP2018135306A 2018-07-18 2018-07-18 ボルツマンマシン Active JP7089750B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018135306A JP7089750B2 (ja) 2018-07-18 2018-07-18 ボルツマンマシン

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018135306A JP7089750B2 (ja) 2018-07-18 2018-07-18 ボルツマンマシン

Publications (2)

Publication Number Publication Date
JP2020013350A true JP2020013350A (ja) 2020-01-23
JP7089750B2 JP7089750B2 (ja) 2022-06-23

Family

ID=69169880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018135306A Active JP7089750B2 (ja) 2018-07-18 2018-07-18 ボルツマンマシン

Country Status (1)

Country Link
JP (1) JP7089750B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3858622A1 (en) 2020-01-30 2021-08-04 Seiko Epson Corporation Liquid ejecting head and liquid ejecting apparatus

Citations (6)

* 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 ボルツマンマシン型ニューロコンピュータシステム
US5053974A (en) * 1987-03-31 1991-10-01 Texas Instruments Incorporated Closeness code and method
JPH04188381A (ja) * 1990-11-22 1992-07-06 Matsushita Electric Ind Co Ltd ニューロプロセッサ
JPH05210649A (ja) * 1992-01-24 1993-08-20 Mitsubishi Electric Corp 神経回路網表現装置
JP2009282782A (ja) * 2008-05-22 2009-12-03 Sharp Corp 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法
JP2017138760A (ja) * 2016-02-03 2017-08-10 富士通株式会社 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5053974A (en) * 1987-03-31 1991-10-01 Texas Instruments Incorporated Closeness code and method
JPH0227493A (ja) * 1988-07-15 1990-01-30 Fujitsu Ltd ボルツマンマシン型ニューロコンピュータシステム
JPH04188381A (ja) * 1990-11-22 1992-07-06 Matsushita Electric Ind Co Ltd ニューロプロセッサ
JPH05210649A (ja) * 1992-01-24 1993-08-20 Mitsubishi Electric Corp 神経回路網表現装置
JP2009282782A (ja) * 2008-05-22 2009-12-03 Sharp Corp 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法
JP2017138760A (ja) * 2016-02-03 2017-08-10 富士通株式会社 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3858622A1 (en) 2020-01-30 2021-08-04 Seiko Epson Corporation Liquid ejecting head and liquid ejecting apparatus

Also Published As

Publication number Publication date
JP7089750B2 (ja) 2022-06-23

Similar Documents

Publication Publication Date Title
US11074493B2 (en) Boltzmann machine, method for controlling boltzmann machine, and information processing device having boltzmann machine
Matsubara et al. A generalized rotate-and-fire digital spiking neuron model and its on-FPGA learning
Park et al. Compact neuromorphic system with four-terminal Si-based synaptic devices for spiking neural networks
US20150106415A1 (en) True random number generator with repeatedly activated oscillator
TW201918928A (zh) 物理不可複製功能產生器
Dlugosz et al. Parallel programmable asynchronous neighborhood mechanism for Kohonen SOM implemented in CMOS technology
KR20190106185A (ko) 전치 가능한 메모리와 가상 순람표를 이용한 뉴로모픽 시스템
Kish et al. Electrical Maxwell demon and Szilard engine utilizing Johnson noise, measurement, logic and control
Brito et al. Quaternary logic lookup table in standard CMOS
KR20180088258A (ko) 뉴로모픽 연산 장치
JP7089750B2 (ja) ボルツマンマシン
JP2020154412A (ja) ニューラルネットワーク装置
Kim et al. Processing-in-memory-based on-chip learning with spike-time-dependent plasticity in 65-nm cmos
Sekerkiran et al. A CMOS k-winners-take-all circuit with O (N) complexity
Oshio et al. A memcapacitive spiking neural network with circuit nonlinearity-aware training
Oya et al. Neuronal synchrony detection on single-electron neural networks
US11200348B2 (en) Low overhead random pre-charge countermeasure for side-channel attacks
Yamada et al. Boltzmann machine neural network devices using single-electron tunnelling
TW201817166A (zh) 可選擇延遲緩衝器
Oya Thermal-noise-exploiting operations of single-electron majority logic circuits with conventional clock signals
Wang et al. A compact reconfigurable mixed-signal implementation of synaptic plasticity in spiking neurons
Ben-Romdhane et al. Stochastic model of a metastability-based true random number generator
Kim et al. 29.1 A 32.5 mW Mixed-Signal Processing-in-Memory-Based k-SAT Solver in 65nm CMOS with 74.0% Solvability for 30-Variable 126-Clause 3-SAT Problems
Yeoh et al. An efficient hardware-oriented dropout algorithm
Khodabandehloo et al. A prototype CVNS distributed neural network using synapse-neuron modules

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220606

R150 Certificate of patent or registration of utility model

Ref document number: 7089750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150