JP7735339B2 - ニューラルネットワーク装置およびシナプス重み更新方法 - Google Patents

ニューラルネットワーク装置およびシナプス重み更新方法

Info

Publication number
JP7735339B2
JP7735339B2 JP2023031023A JP2023031023A JP7735339B2 JP 7735339 B2 JP7735339 B2 JP 7735339B2 JP 2023031023 A JP2023031023 A JP 2023031023A JP 2023031023 A JP2023031023 A JP 2023031023A JP 7735339 B2 JP7735339 B2 JP 7735339B2
Authority
JP
Japan
Prior art keywords
circuits
signal
circuit
synapse
probability
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
Application number
JP2023031023A
Other languages
English (en)
Other versions
JP2024123529A (ja
Inventor
義史 西
久美子 野村
孝生 丸亀
公一 水島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2023031023A priority Critical patent/JP7735339B2/ja
Priority to US18/521,665 priority patent/US20240296325A1/en
Publication of JP2024123529A publication Critical patent/JP2024123529A/ja
Application granted granted Critical
Publication of JP7735339B2 publication Critical patent/JP7735339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (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)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)

Description

本発明の実施形態は、ニューラルネットワーク装置およびシナプス重み更新方法に関する。
近年、GPU(Graphical Processing Unit)に代表される計算機ハードウェアの進歩に伴い、人工知能技術が急速に発展している。例えば、CNN(Convolutional Neural Network)に代表される画像認識および分類技術は、既に、実社会の様々なシーンで利用されている。現在において広く利用されている人工知能技術は、生体の神経回路網の動作を単純化した数理モデルをベースとしている。このため、このような人工知能技術は、GPU等の計算機を用いて実行がされる。しかし、人工知能技術をGPUで実行した場合、大きな電力が必要になる。特に、大量のデータから特徴を抽出して記憶させる学習動作は、膨大な演算量となる。このため、このような学習動作は、非常に多くの電力を必要とし、例えばエッジ装置において実行することは困難であると考えられている。
一方、人間の脳は、消費エネルギーが20W程度と低いにも関わらず、膨大な量のデータを常時オンラインで学習している。そこで、脳の動きを電気回路で比較的忠実に再現して情報処理を行う技術が世界各国で研究されている。
脳の神経回路網の中では、情報は、電圧スパイクによる信号としてニューロン(神経細胞)からニューロンへ伝達される。ニューロンとニューロンとは、シナプスと呼ばれる結合部によって結合される。あるニューロンが発火して電圧スパイクが発生した場合、電圧スパイクは、シナプスを介して後段のニューロンに入力される。このとき、後段のニューロンに入力される電圧スパイクの強度は、シナプスが有する結合強度(シナプス重みとも呼ぶ。)によって調整される。シナプス重みが大きい場合、電圧スパイクは、強度が高いまま後段のニューロンに伝達される。しかし、シナプス重みが小さい場合は、電圧スパイクは、強度が低くなって後段のニューロンに伝達される。従って、脳の神経回路網では、2つのニューロンを結合するシナプス重みが大きいほど、この2つのニューロンの情報的な関係性が大きい、ということになる。
シナプス重みは、電圧スパイクの入力タイミングおよびニューロンの内部状態に依存して変化することが知られている。シナプス更新則として最もよく知られているのは、STDP(Spike Timing Dependent Plasticity)である。
STDPによるシナプス更新則は、次のような動作である。すなわち、あるニューロン(前段ニューロン)からシナプスを介して次のニューロン(後段ニューロン)に電圧スパイクが入力されたとする。前段ニューロンから電圧スパイクが入力されたことに応じて後段ニューロンの内部電位が閾値に達し、この結果、後段ニューロンが発火した場合、前段ニューロンが保持する情報と後段ニューロンが保持する情報との間には因果関係がある、ということとなる。このような場合、前段ニューロンと後段ニューロンとを結合するシナプスのシナプス重みは、大きくなる。逆に、後段ニューロンが発火した後に、前段ニューロンから電圧スパイクが後段ニューロンに入力された場合、前段ニューロンが保持する情報と後段ニューロンが保持する情報との間には因果関係がない、ということとなる。このような場合、前段ニューロンと後段ニューロンとを結合するシナプスのシナプス重みは、小さくなる。
このような脳の神経回路網の情報伝達原理を模倣した情報処理を、スパイキングニューラルネットワークと呼ぶ。スパイキングニューラルネットワークは、脳の神経回路網の情報の流れを、スパイク列として表現する。スパイキングニューラルネットワークでは、数値的な演算を行わず、電圧スパイクを蓄積、発生および伝達することによって、情報処理を行う。従来の人工知能では、学習動作に膨大な計算量が必要であった。しかし、スパイキングニューラルネットワークは、シナプス重みをSTDP等の更新則を利用して学習するので、効率良く学習動作ができる。
シナプス重みは、一般的には、連続値で表現される。また、シナプス重みは、シナプス更新則によって決定された量だけ変化する。従って、ハードウェアで構成されたスパイキングニューラルネットワークは、連続値で表されたシナプス重みを記憶するためのメモリを備えなければならない。現在、広く使われているメモリは、情報をデジタル方式で記憶する。デジタル方式のメモリは、記憶する値を連続としてみなして扱うためには、十分に多くのビット数を有さなくてはならない。従って、ハードウェアで構成されたスパイキングニューラルネットワークは、連続値で表されたシナプス重みをデジタル方式のメモリに記憶させる場合、メモリ容量が大きくなってしまうという問題があった。
抵抗変化メモリおよび相変化メモリ等のアナログ値を記憶するアナログメモリも知られている。しかし、アナログメモリは、目的の値を正確に記憶するためには、精密な信号制御が必要である。従って、ハードウェアで構成されたスパイキングニューラルネットワークは、アナログメモリを備える場合、アナログメモリを制御するための回路およびシステムが複雑化および巨大化しまうという問題があった。
このような問題を回避するために、ハードウェアで構成されたスパイキングニューラルネットワークは、離散値で表されたシナプス重みを利用することが考えられる。例えば、ハードウェアで構成されたスパイキングニューラルネットワークは、バイナリにより表されたシナプス重み、すなわち、0または1により表されるシナプス重みを利用することが考えられる。しかし、バイナリにより表されたシナプス重みを利用したスパイキングニューラルネットワークは、シナプス重みの変化量が1となるので、電圧スパイクの入力タイミングおよびニューロンの内部状態に依存するシナプス重みの変化を適切に表現することが難しい。従って、ハードウェアで構成されたスパイキングニューラルネットワークは、例えばバイナリ等の離散値で表されたシナプス重みを利用する場合、小さい回路規模で適切に学習をさせることが困難であった。
米国特許第9129220号明細書
ルーベンカトリックMorphICチップ IEEE Trans. Bio CAS, vol. 13, 999(2019) 大学(ベルギー) Elisabetta Chicca, et al., "Neuromorphic Electronic Circuits for Building Autonomous Cognitive Systems", Proceedings of the IEEE (Volume: 102 , Issue: 9 , Sept. 2014), P1367-1388,2014年5月1日 Joseph M. Brader et al., "Learning real-world stimuli in a neural network with spike-driven synaptic dynamics ", Neural computation, Volume 19, Massachusetts Institute of Technology, P2881-2912, November 2007
本発明が解決しようとする課題は、小さい回路規模で精度良く学習をさせることができるニューラルネットワーク装置およびシナプス重み更新方法を提供することにある。
実施形態に係るニューラルネットワーク装置は、複数のニューロン回路と、複数のシナプス回路と、複数の乱数回路と、を備える。前記複数のニューロン回路のそれぞれは、前記複数のニューロン回路のうちの1以上のシナプス回路のそれぞれから出力される出力信号を受け取り、受け取った前記出力信号に応じて発火信号を出力する。前記複数の乱数回路のそれぞれは、定期的に変化する乱数を表すランダム信号を出力する。前記複数のシナプス回路のそれぞれは、記憶回路と、伝達回路と、確率制御回路と、更新回路と、を含む。前記記憶回路は、シナプス重みを記憶する。前記伝達回路は、前記複数のニューロン回路のうちの何れか1つである前段ニューロン回路から出力された前記発火信号である入力信号を受け取り、受け取った前記入力信号に対して前記シナプス重みの影響を加えた前記出力信号を、前記複数のニューロン回路のうちの何れか1つである後段ニューロン回路へと出力する。前記確率制御回路は、前記複数の乱数回路のうちの何れか1つの乱数回路から前記ランダム信号を受け取り、受け取った前記ランダム信号に基づき生成される確率で、前記シナプス重みの更新を許可し、前記シナプス重みの更新を許可している場合以外は、前記シナプス重みの更新を禁止する。前記更新回路は、前記前段ニューロン回路から前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記後段ニューロン回路の動作または状態を表すフィードバック信号に応じて前記シナプス重みを更新する。前記複数のシナプス回路は、複数のシナプスグループに分割される。前記複数のシナプスグループのうちの第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数の乱数回路のうちの第1乱数回路から出力された前記ランダム信号を受け取る。前記複数のニューロン回路のうちの第1ニューロン回路に前記出力信号を出力する2以上のシナプス回路のそれぞれは、前記第1ニューロン回路に前記出力信号を出力する他のシナプス回路と異なるシナプスグループに属する。
第1実施形態に係るニューラルネットワーク装置の構成図。 リザバーコンピューティング装置の構成図。 第1実施形態における、STDPに基づく接続関係を示す図。 STDPに基づく更新確率の一例を示す図。 STDPに基づく更新確率の他の一例を示す図。 第1実施形態における、Fusi則に基づく接続関係を示す図。 Fusi則に基づく更新確率の一例を示す図。 第1実施形態に係るシナプス回路の構成図。 第1実施形態に係る、STDPに基づくシナプス回路の構成図。 第1実施形態に係る、Fusi則に基づくシナプス回路の構成図。 スパイキングニューラルネットワークを示す図。 独立したランダム信号を受け取る場合の認識率を示す図。 共通のランダム信号を受け取る場合の認識率を示す図。 第1実施形態における第1接続例を示す図。 第1実施形態における第2接続例を示す図。 第1実施形態における第3接続例を示す図。 第1実施形態における第4接続例を示す図。 第1実施形態における認識率を示す図。 ニューロン数に対するトランジスタ数を示す図。 第2実施形態に係るニューラルネットワーク装置の構成図。 第2実施形態における、STDPに基づく接続関係を示す図。 第2実施形態に係るシナプス回路の構成図。 第2実施形態に係る、確率制御回路の構成図。 第2実施形態における第1接続例を示す図。 第2実施形態における第2接続例を示す図。 第2実施形態における第3接続例を示す図。 第2実施形態における認識率を示す図。 第1確率と第2確率とを変化させた場合の認識率を示す図。
以下、図面を参照しながら実施形態に係るニューラルネットワーク装置10について説明する。
実施形態に係るニューラルネットワーク装置10は、ハードウェアにより構成されたスパイキングニューラルネットワークであり、シナプス重みを確率的な更新則により更新する。実施形態に係るニューラルネットワーク装置10は、小さい回路規模で、精度良く学習をさせることができる。この結果、実施形態に係るニューラルネットワーク装置10は、小さい回路規模で、精度の良い推論を実行することができる。
(第1実施形態)
図1は、第1実施形態に係るニューラルネットワーク装置10の構成の一例を示す図である。第1実施形態に係るニューラルネットワーク装置10は、一例として、N段(Nは2以上の整数)のレイヤ12と、(N-1)個のシナプス部14と、乱数発生部16とを備える。
N段のレイヤ12のそれぞれは、複数のニューロン回路22を含む。複数のニューロン回路22のそれぞれは、前段のレイヤ12から出力された複数の信号を前段のシナプス部14を介して取得し、取得した複数の信号に対して積和演算に相当する処理を実行する。なお、N段のレイヤ12のうち1段目のレイヤ12は、外部の装置または入力レイヤから複数の信号を取得する。そして、複数のニューロン回路22のそれぞれは、演算結果を表す信号に対して活性化関数に相当する処理を行った信号を出力する。なお、複数のニューロン回路22のそれぞれは、積和演算に相当する処理をアナログ回路により実行してもよい。また、複数のニューロン回路22のそれぞれは、活性化関数に相当する処理をアナログ回路により実行してもよい。複数のニューロン回路22のそれぞれは、アナログ回路を用いることにより、積和演算に相当する処理および活性化関数に相当する処理を少ない消費電力により実行することができる。
(N-1)個のシナプス部14のそれぞれは、複数のシナプス回路20を含む。複数のシナプス回路20のそれぞれは、シナプス重みが設定される。
(N-1)個のシナプス部14のうちのn番目(nは、1以上、(N-1)以下の整数)のシナプス部14は、n段目のレイヤ12と、(n+1)段目のレイヤ12との間に配置される。
n番目のシナプス部14に含まれる複数のシナプス回路20のそれぞれは、n段目のレイヤ12に含まれる複数のニューロン回路22のうちの1つのニューロン回路22から出力された信号を2値の入力信号として受け取る。n番目のシナプス部14に含まれる複数のシナプス回路20のそれぞれは、受け取った入力信号に対して、設定されたシナプス重みの影響を加えた出力信号を生成する。本実施形態において、出力信号は、2値の電圧信号である。これに代えて、出力信号は、2値の電流信号であってもよい。そして、n番目のシナプス部14に含まれる複数のシナプス回路20のそれぞれは、(n+1)段目のレイヤ12に含まれる複数のニューロン回路22のうちの1つのニューロン回路22に出力信号を与える。
乱数発生部16は、複数の乱数回路24を含む。複数の乱数回路24のそれぞれは、定期的に変化する乱数を表すランダム信号を出力する。複数の乱数回路24のそれぞれは、他の乱数回路24とは回路的に独立しており、他の乱数回路24とは異なる乱数を表すランダム信号を発生する。複数の乱数回路24のそれぞれは、例えば、疑似乱数発生回路である。疑似乱数発生回路は、例えば、CMOS半導体回路により生成された線形帰還シフトレジスタ(LFSR)回路である。
ランダム信号により表される乱数は、予め定められた範囲の値である。例えば、ランダム信号により表される乱数は、10ビット幅(0~1023)の範囲の値である。
このようなニューラルネットワーク装置10は、1段目のレイヤ12が外部装置または入力レイヤから1または複数の信号を受け取る。そして、ニューラルネットワーク装置10は、受け取った1または複数の信号に対してニューラルネットワークによる演算を実行した結果を表す1または複数の信号を、N段目のレイヤ12から出力する。
ここで、複数のシナプス回路20のそれぞれは、離散値で表されるシナプス重みが設定される。本実施形態においては、複数のシナプス回路20のそれぞれは、バイナリにより表されるシナプス重みが設定される。
さらに、複数のシナプス回路20のそれぞれは、複数の乱数回路24のうちの何れか1つの乱数回路24から出力されたランダム信号を受け取る。そして、複数のシナプス回路20のそれぞれは、受け取ったランダム信号に基づき生成される確率信号により、予め定められたシナプス更新則に従って、設定されているシナプス重みを確率的に更新する。確率信号は、予め定められた確率で第1値(例えば1)となり、他の場合に第2値(例えば9)となる信号である。
例えば、複数のシナプス回路20のそれぞれは、設定されているシナプス重みを、スパイクタイミング依存シナプス可塑性(STDP)に基づく確率的な更新則により更新する。例えば、複数のシナプス回路20のそれぞれは、確率信号が第1値(例えば1)の場合、シナプス重みをSTDPに基づく更新則に従って更新し、確率信号が第2値(例えば0)の場合に、シナプス重みの更新を実行しない。
また、複数のシナプス回路20のそれぞれは、設定されているシナプス重みを、例えば、非特許文献3に示されるFusi則に基づく確率的な更新則により更新してもよい。例えば、複数のシナプス回路20のそれぞれは、確率信号が第1値(例えば1)の場合、シナプス重みをFusi則に基づく更新則に従って更新し、確率信号が第2値(例えば0)の場合に、シナプス重みの更新を実行しない。
このような複数のシナプス回路20のそれぞれは、シナプス重みが0または1のバイナリで表される場合、確率的なSTDP更新則または確率的なFusi更新則により、シナプス重みを0から1に変化、または、1から0に変化させることができる。これにより、ニューラルネットワーク装置10は、シナプス重みがバイナリ等の離散値で表されていても、シナプス重みを適切に学習させることができる。
図2は、実施形態に係るリザバーコンピューティング装置26の構成を示す図である。
ニューラルネットワーク装置10は、図1に示すような順方向に信号を転送する構造に限らず、信号を内部でフィードバックさせるリカレントニューラルネットワークであってもよい。ニューラルネットワーク装置10は、リカレントニューラルネットワークである場合、例えば、図2に示すようなリザバーコンピューティング装置26に適用することができる。
リザバーコンピューティング装置26は、入力層28と、リカレントニューラルネットワークであるニューラルネットワーク装置10と、出力層30とを備える。
入力層28は、外部の装置から1または複数の信号を取得する。入力層28は、取得した1または複数の信号をニューラルネットワーク装置10に与える。出力層30は、ニューラルネットワーク装置10から1または複数の信号を取得する。そして、出力層30は、1または複数の信号を外部の装置へと出力する。
ニューラルネットワーク装置10に含まれる複数のニューロン回路22のうちの一部のニューロン回路22は、入力層28から信号を取得する。また、入力層28から信号を取得していないシナプス回路20は、複数のニューロン回路22のうちの何れか1つのニューロン回路22から出力された信号を、入力信号として受け取る。また、複数のシナプス回路20のうちの一部のニューロン回路22は、他のニューロン回路22へ出力信号を与える。複数のニューロン回路22のうちの他の一部のニューロン回路22は、出力層30へ出力信号を与える。
そして、複数のシナプス回路20のうちの少なくとも1つは、出力信号をフィードバックして、自身または他のニューロン回路22の入力信号として与える。すなわち、複数のシナプス回路20のうちの少なくとも1つは、自身、自身へ入力信号を与えたニューロン回路22、または、自身へ入力信号を与えたニューロン回路22より前段のニューロン回路22へと出力信号を与える。
なお、図2に示すニューラルネットワーク装置10も、図1と同様に、乱数発生部16を備える。そして、複数のシナプス回路20のそれぞれは、ランダム信号を受け取り、確率的な更新則によりシナプス重みを更新する。
このような構成のリザバーコンピューティング装置26は、リザバーコンピューティングを実行するハードウェア装置として機能することができる。
図3は、STDPに基づく確率的な更新則によりシナプス重みを更新する場合における、第1実施形態に係るシナプス回路20と他の回路との接続関係を示す図である。
複数のシナプス回路20のそれぞれは、複数のニューロン回路22のうちの何れか1つである前段ニューロン回路32から出力された発火信号を、入力信号として取得する。複数のシナプス回路20のそれぞれは、受け取った入力信号に対して、記憶しているシナプス重みの影響を加えた出力信号を出力する。そして、シナプス回路20は、出力信号を、複数のニューロン回路22のうちの何れか1つである後段ニューロン回路34に供給する。
複数のシナプス回路20のそれぞれは、後段ニューロン回路34からフィードバック信号を受け取る。フィードバック信号は、後段ニューロン回路34の動作または状態を表す。
STDPに基づく確率的な更新則によりシナプス重みを更新する場合、フィードバック信号は、後段ニューロン回路34から出力される発火信号である。発火信号は、例えば、第1値(例えば1)または第2値(例えば0)を表す2値信号であり、後段ニューロン回路34の発火タイミングにおいて、第2値(例えば0)から第1値(例えば1)に変化し、一定期間後に第2値(例えば0)に戻る。すなわち、STDPに基づく確率的な更新則によりシナプス重みを更新する場合、フィードバック信号は、後段ニューロン回路34が発火してから一定期間、第1値(例えば1)となり、他の期間において第2値(例えば0)となる信号である。
また、複数のシナプス回路20のそれぞれは、複数の乱数回路24のうちの何れか1個の乱数回路24からランダム信号を受け取る。
図4は、STDPに基づく確率的な更新則における更新確率の一例を示す図である。
STDPに基づく確率的な更新則によりシナプス重みを更新する場合、複数のシナプス回路20のそれぞれは、入力信号からフィードバック信号までの時間差(Δt)に応じて、更新確率を変化させる。すなわち、複数のシナプス回路20のそれぞれは、入力信号が第2値(例えば0)から第1値(例えば1)に変化したタイミングから、フィードバック信号が第2値(例えば0)から第1値(例えば1)に変化するタイミングまでの時間差(Δt)に応じて、更新確率を変化させる。
例えば、時間差(Δt)が正である場合、すなわち、入力信号が発生した後にフィードバック信号が発生した場合、複数のシナプス回路20のそれぞれは、シナプス重みを増加方向に変化させる。この場合、複数のシナプス回路20のそれぞれは、時間差(Δt)の絶対値が小さい程、更新確率を大きくし、時間差(Δt)の絶対値が大きくなるに従い、更新確率を小さくする。
例えば、時間差(Δt)が負である場合、すなわち、入力信号が発生する前にフィードバック信号が発生した場合、複数のシナプス回路20のそれぞれは、シナプス重みを減少方向に変化させる。この場合、複数のシナプス回路20のそれぞれは、時間差(Δt)の絶対値が小さい程、更新確率を大きくし、時間差(Δt)の絶対値が大きくなるに従い、更新確率を小さくする。
このように更新をすることにより、複数のシナプス回路20のそれぞれは、前段ニューロン回路32と後段ニューロン回路34との情報的な関係性が大きさに応じて、シナプス重みを更新することができる。これとともに、複数のシナプス回路20のそれぞれは、シナプス重みが例えばバイナリ等の離散値であっても、精度良くシナプス重みを学習させることができる。
図5は、STDPに基づく確率的な更新則における更新確率の他の一例を示す図である。複数のシナプス回路20のそれぞれは、図4に示すように更新することに代えて、図5に示すようにシナプス重みを更新してもよい。
すなわち、時間差(Δt)が負である場合、複数のシナプス回路20のそれぞれは、シナプス重みを更新しない。また、時間差(Δt)が正であり、且つ、時間差(Δt)が所定値(T)より小さい場合、複数のシナプス回路20のそれぞれは、予め定められた増加確率(p)により、シナプス重みを確率的に増加させる。また、時間差(Δt)が正であり、且つ、時間差(Δt)が所定値(T)以上である場合、複数のシナプス回路20のそれぞれは、予め定められた減少確率(q)により、シナプス重みを確率的に減少させる。
このようにシナプス重みを更新する場合、複数のシナプス回路20のそれぞれは、入力信号を受け取ってから、フィードバック信号を受け取るまでの時間をタイマにより測定することにより、シナプス重みを更新することができる。従って、複数のシナプス回路20のそれぞれは、簡易な回路でシナプス重みを更新することができる。
図6は、Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合における、第1実施形態に係るシナプス回路20と他の回路との接続関係を示す図である。
複数のニューロン回路22のそれぞれは、内部電位を保持する。複数のニューロン回路22のそれぞれは、前段に接続されたシナプス回路20から受け取った出力信号のレベルまたは時間幅に応じて、内部電位を変化させる。そして、複数のニューロン回路22のそれぞれは、内部電位が予め設定された発火閾値より大きくなった場合、発火信号を出力する。
Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合、フィードバック信号は、後段ニューロン回路34の内部電位を表す内部電位信号である。内部電位信号は、例えば、内部電位が所定値以上の場合に第1値(例えば1)となり、内部電位が所定値より小さい場合に第2値(例えば0)となる。
図7は、Fusi則に基づく確率的な更新則における更新確率の一例を示す図である。
Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合、複数のシナプス回路20のそれぞれは、入力信号の値とフィードバック信号の値との組み合わせに応じて、更新確率を変化させる。
例えば、複数のシナプス回路20のそれぞれは、入力信号が第1値(例えば1)であり、且つ、内部電位信号が第1値(例えば1)である場合、予め定められた増加確率(p)によりシナプス重みを増加方向に変化させる。また、例えば、複数のシナプス回路20のそれぞれは、入力信号が第2値(例えば0)であり、且つ、内部電位信号が第1値(例えば1)である場合、予め定められた減少確率(q)によりシナプス重みを減少方向に変化させる。
また、複数のシナプス回路20のそれぞれは、入力信号が第1値(例えば1)であり、且つ、内部電位信号が第2値(例えば0)である場合、シナプス重みを変化させない。また、複数のシナプス回路20のそれぞれは、入力信号が第2値(例えば0)であり、且つ、内部電位信号が第1値(例えば1)である場合、シナプス重みを変化させない。
このように更新をすることによっても、複数のシナプス回路20のそれぞれは、前段ニューロン回路32と後段ニューロン回路34との情報的な関係性が大きさに応じて、シナプス重みを更新することができる。これとともに、複数のシナプス回路20のそれぞれは、シナプス重みが例えばバイナリ等の離散値であっても、精度良くシナプス重みを学習させることができる。
図8は、第1実施形態に係るシナプス回路20の構成を示す図である。複数のシナプス回路20のそれぞれは、記憶回路42と、伝達回路44と、確率制御回路46と、更新回路48とを有する。
記憶回路42は、シナプス重みを記憶する。本実施形態においては、記憶回路42は、第1値(例えば1)または第2値(例えば0)を表すバイナリのシナプス重みを記憶する。なお、記憶回路42は、3値以上の離散値のシナプス重みを記憶してもよいし、多数のビットにより表される連続値のシナプス重みを記憶してもよいし、アナログ値により表されるシナプス重みを記憶してもよい。
伝達回路44は、前段ニューロン回路32から出力された発火信号を、入力信号として受け取り、受け取った入力信号に対して記憶回路42により記憶されたシナプス重みの影響を加えた出力信号を後段ニューロン回路34に供給する。
例えば、伝達回路44は、前段ニューロン回路32から入力信号を受け取り、且つ、記憶回路42により記憶されているシナプス重みが第1値(例えば1)である場合、第1電流量の出力信号を後段ニューロン回路34に供給する。例えば、伝達回路44は、前段ニューロン回路32から入力信号を受け取り、且つ、記憶回路42により記憶されているシナプス重みが第2値(例えば0)である場合、第1電流量より低い第2電流量の出力信号を後段ニューロン回路34に与える。
これに代えて、例えば、伝達回路44は、前段ニューロン回路32から入力信号を受け取り、且つ、記憶回路42により記憶されているシナプス重みが第2値(例えば0)である場合、出力信号を後段ニューロン回路34に与えなくてもよい。また、例えば、伝達回路44は、前段ニューロン回路32から入力信号を受け取り、且つ、記憶回路42により記憶されているシナプス重みが第2値(例えば0)である場合、シナプス重みが第1値(例えば1)である場合よりも電圧レベルが低い出力信号を与えてもよいし、シナプス重みが第1値(例えば1)である場合よりも遅延した出力信号を与えてもよい。例えば、伝達回路44は、非特許文献2に示すDPI(Differential Pair-Integrator)回路を備えてもよい。この場合、伝達回路44は、DPI回路から出力された信号に応じた出力信号を出力する。このような伝達回路44は、受け取った入力信号に対して記憶回路42により記憶されたシナプス重みの影響を加えた出力信号を後段ニューロン回路34に供給することができる。
確率制御回路46は、複数の乱数回路24のうちの何れか1つの乱数回路24からランダム信号を受け取る。確率制御回路46は、受け取ったランダム信号に基づき生成される確率で、シナプス重みの更新を許可し、シナプス重みの更新を許可している場合以外は、シナプス重みの更新を禁止する。
例えば、ランダム信号は、予め定められた下限値から、予め定められた上限値までの数値範囲内における乱数を表す。この場合、確率制御回路46は、ランダム信号が予め定められた第1確率に対応する範囲の値である場合、シナプス重みの更新を許可し、ランダム信号が第1確率に対応する範囲の値でない場合、シナプス重みの更新を禁止する。
例えば、ランダム信号が0から(N-1)までの数値範囲内における乱数を表し、第1確率がpである、とする。なお、pは、0より大きく、1より小さい実数である。この場合、例えば、確率制御回路46は、ランダム信号が、0から(N-1)までの数値範囲内における、(p×N)より小さい値である場合、または、(N-p×N)より大きい値である場合、ランダム信号が第1確率に対応する範囲の値として、シナプス重みの更新を許可してもよい。また、確率制御回路46は、ランダム信号が、0から(N-1)までの数値範囲内における、予め選択されたP個の値の何れかである場合、ランダム信号が第1確率に対応する範囲の値として、シナプス重みの更新を許可してもよい。なお、Pは、(p×N)の小数点以下を切り捨てまたは切り上げた整数である。これにより、確率制御回路46は、ランダム信号に基づき生成される確率で、シナプス重みの更新を許可することができる。
例えば、確率制御回路46は、記憶回路42に対するシナプス重みの更新操作を指示する更新指示信号を、更新回路48から受け取る。確率制御回路46は、シナプス重みの更新を許可する場合、更新回路48から受け取ったシナプス重みの更新指示信号を、そのまま記憶回路42に与える。また、確率制御回路46は、シナプス重みの更新を禁止する場合、更新回路48から受け取ったシナプス重みの更新指示信号をマスクして、記憶回路42へと与えない。これにより、確率制御回路46は、更新回路48によるシナプス重みの更新の許可および禁止の制御をすることができる。
更新回路48は、前段ニューロン回路32から入力信号を受け取る。また、更新回路48は、後段ニューロン回路34から、後段ニューロン回路34の動作または状態を表すフィードバック信号を受け取る。
そして、更新回路48は、前段ニューロン回路32から入力信号を受け取った場合、確率制御回路46によりシナプス重みの更新が許可されていることを条件として、フィードバック信号に応じて、記憶回路42に記憶されているシナプス重みを更新する。
例えば、STDPに基づく更新則によりシナプス重みを更新する場合、更新回路48は、次のように動作する。すなわち、更新回路48は、フィードバック信号として後段ニューロン回路34から発火信号を受け取る。そして、更新回路48は、入力信号からフィードバック信号までの時間差(Δt)が0より大きく所定値(T)より小さい場合、シナプス重みを増加させる更新指示信号を出力する。また、更新回路48は、入力信号からフィードバック信号までの時間差(Δt)が0以下または所定値(T)以上である場合、シナプス重みを減少させる更新指示信号を出力する。
例えば、Fusi則に基づく更新則によりシナプス重みを更新する場合、更新回路48は、次のように動作する。すなわち、更新回路48は、フィードバック信号として後段ニューロン回路34から内部電位信号を受け取る。そして、更新回路48は、入力信号が発火を示す第1値(例えば1)であり、且つ、フィードバック信号が、内部電位が所定値以上であることを示す第1値(例えば1)である場合、シナプス重みを増加方向に変更する更新指示信号を出力する。また、更新回路48は、入力信号が第2値(例えば0)であり、且つ、フィードバック信号が第1値(例えば1)である場合、シナプス重みを減少方向に変更する更新指示信号を出力する。
更新回路48は、更新指示信号を確率制御回路46を介して記憶回路42に与える。従って、更新回路48は、確率制御回路46によりシナプス重みの更新が許可されていることを条件として、記憶回路42に記憶されているシナプス重みを更新することができる。
記憶回路42は、確率制御回路46を介して、更新回路48から更新指示信号を受け取った場合、記憶しているシナプス重みを変更する。例えば、記憶回路42は、シナプス重みを増加方向に変更する更新指示信号を受け取った場合、記憶しているシナプス重みを増加させる。記憶回路42は、シナプス重みを減少方向に変更する更新指示信号を受け取った場合、記憶しているシナプス重みを減少させる。
ただし、シナプス重みは、離散値により表され、予め定められた数値範囲内で表される。従って、記憶回路42は、シナプス重みを増加方向に変更する更新指示信号を受け取った場合であっても、シナプス重みを数値範囲の上限値以上に変更しない。また、記憶回路42は、シナプス重みを減少方向に変更する更新指示信号を受け取った場合であっても、シナプス重みを数値範囲の下限値以下に変更しない。
例えば、シナプス重みが第1値(例えば1)または第2値(例えば0)のバイナリにより表される。この場合、記憶回路42は、記憶しているシナプス重みが第1値(例えば1)である状態において、シナプス重みを増加方向に変更する更新指示信号を受け取った場合、シナプス重みを変更しない。また、記憶回路42は、記憶しているシナプス重みが第2値(例えば0)である状態において、シナプス重みを減少方向に変更する更新指示信号を受け取った場合、シナプス重みを変更しない。
図9は、STDPに基づく確率的な更新則によりシナプス重みを更新する場合における、記憶回路42、更新回路48および確率制御回路46の構成の一例を示す図である。
記憶回路42は、SRラッチ回路52を含む。SRラッチ回路52は、セット端子に増加指示信号を受け取り、リセット端子に減少指示信号を受け取る。増加指示信号は、シナプス重みを増加方向に変更することを指示する更新指示信号であって、シナプス重みを増加方向に変更することを指示する場合に第1値(例えば1)となる。減少指示信号は、シナプス重みを減少方向に変更する更新指示信号であって、シナプス重みを減少方向に変更することを指示する場合に第1値(例えば1)となる。
SRラッチ回路52は、第1値(例えば1)または第2値(例えば0)を表すシナプス重みを記憶する。SRラッチ回路52は、Q端子から記憶しているシナプス重みを伝達回路44に出力する。
STDPに基づく確率的な更新則によりシナプス重みを更新する場合、更新回路48は、タイマ回路54と、第1反転回路56と、第1AND回路58と、第2AND回路60とを含む。
タイマ回路54は、前段ニューロン回路32から入力信号を受け取る。タイマ回路54は、1または0を表すタイマ信号を出力する。タイマ回路54は、入力信号が0から1に変化したタイミングから、所定時間Tを経過するまでの期間、タイマ信号の値を1とし、他の期間、タイマ信号の値を0とする。
第1反転回路56は、タイマ信号を受け取る。第1反転回路56は、タイマ信号の値を反転した反転タイマ信号を出力する。
第1AND回路58は、後段ニューロン回路34から出力された発火信号であるフィードバック信号と、反転タイマ信号とを受け取る。第1AND回路58は、フィードバック信号と、反転タイマ信号との論理積を演算する。第1AND回路58は、フィードバック信号と反転タイマ信号との論理積の演算結果を、増加指示信号として出力する。
第2AND回路60は、後段ニューロン回路34から出力された発火信号であるフィードバック信号と、タイマ信号とを受け取る。第2AND回路60は、フィードバック信号と、タイマ信号との論理積を演算する。第2AND回路60は、フィードバック信号とタイマ信号との論理積の演算結果を、減少指示信号として出力する。
このような構成の更新回路48は、フィードバック信号が0から1に変化したタイミングにおいて、入力信号が0から1に変化したタイミングから、フィードバック信号が0から1に変化するまでの時間差(Δt)が所定時間Tより小さい場合、増加指示信号を出力することができる。また、更新回路48は、フィードバック信号が0から1に変化したタイミングにおいて、時間差(Δt)が所定時間T以上である場合、減少指示信号を出力することができる。
確率制御回路46は、第1増加確率回路62と、第1減少確率回路64と、第3AND回路66と、第4AND回路68とを含む。
第1増加確率回路62および第1減少確率回路64は、複数の乱数回路24のうちの何れか1つの乱数回路24からランダム信号を受け取る。例えば、ランダム信号は、0から(N-1)までの数値範囲内における乱数を表し、定期的に値が変化する。
第1増加確率回路62は、受け取ったランダム信号に基づき、予め設定された第1増加確率であるpの確率で1となり、(1-p)の確率で0となる第1増加確率信号を生成する。pは、0より大きく、1より小さい値である。
第1増加確率回路62は、ランダム信号により表される値が、(p×N)より小さい値である場合、または、(N-p×N)より大きい値である場合、1となり、他の場合に0となる第1増加確率信号を生成する。また、第1増加確率回路62は、ランダム信号により表される値が、予め選択されたP個の値の何れかである場合、1となり、他の場合に0となる第1増加確率信号を生成してもよい。なお、Pは、(p×N)の小数点以下を切り捨てまたは切り上げた整数である。
第1減少確率回路64は、受け取ったランダム信号に基づき、予め設定された第1減少確率であるqの確率で1となり、(1-q)の確率で0となる第1減少確率信号を生成する。qは、0より大きく、1より小さい値である。
この場合、第1減少確率回路64は、ランダム信号により表される値が、(q×N)より小さい値である場合、または、(N-q×N)より大きい値である場合、1となり、他の場合に0となる第1減少確率信号を生成する。また、第1減少確率回路64は、ランダム信号により表される値が、予め選択されたQ個の値の何れかである場合、1となり、他の場合に0となる第1減少確率信号を生成してもよい。なお、Qは、(q×N)の小数点以下を切り捨てまたは切り上げた整数である。
第3AND回路66は、更新回路48から出力された増加指示信号と、第1増加確率信号とを受け取る。第3AND回路66は、増加指示信号と第1増加確率信号との論理積を演算する。第3AND回路66は、増加指示信号と第1増加確率信号との論理積の演算結果を、増加指示信号として記憶回路42のセット端子に出力する。
第4AND回路68は、更新回路48から出力された減少指示信号と、第1減少確率信号とを受け取る。第4AND回路68は、減少指示信号と第1減少確率信号との論理積を演算する。第4AND回路68は、減少指示信号と第1減少確率信号との論理積の演算結果を、減少指示信号として記憶回路42のリセット端子に出力する。
このような確率制御回路46は、更新回路48から出力された増加指示信号を、pの確率で記憶回路42に与えて、1-pの確率で増加指示信号をマスクすることができる。これにより、確率制御回路46は、ランダム信号に基づき生成される第1増加確率pで、更新回路48によるシナプス重みの増加方向への変更を許可することができる。そして、確率制御回路46は、シナプス重みの増加方向への変更を許可する場合以外は、シナプス重みの増加方向への変更を禁止することができる。
また、確率制御回路46は、更新回路48から出力された減少指示信号を、qの確率で記憶回路42に与えて、1-qの確率で減少加指示信号をマスクすることができる。これにより、確率制御回路46は、ランダム信号に基づき生成される第2減少確率qで、更新回路48によるシナプス重みの減少方向への変更を許可することができる。そして、確率制御回路46は、シナプス重みの減少方向への変更を許可する場合以外は、シナプス重みの減少方向への変更を禁止することができる。
図10は、Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合における、記憶回路42、更新回路48および確率制御回路46の構成の一例を示す図である。
Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合、記憶回路42および確率制御回路46は、図9に示す構成と同一である。
Fusi則に基づく確率的な更新則によりシナプス重みを更新する場合、更新回路48は、第2反転回路70と、第5AND回路72と、第6AND回路74とを含む。
第2反転回路70は、後段ニューロン回路34から出力された内部電位信号であるフィードバック信号を受け取る。第2反転回路70は、フィードバック信号の値を反転した反転フィードバック信号を出力する。
第5AND回路72は、前段ニューロン回路32から出力された入力信号と、フィードバック信号とを受け取る。第5AND回路72は、入力信号と、フィードバック信号との論理積を演算する。第5AND回路72は、入力信号とフィードバック信号との論理積の演算結果を、増加指示信号として出力する。
第6AND回路74は、前段ニューロン回路32から出力された入力信号と、反転フィードバック信号とを受け取る。第6AND回路74は、入力信号と、反転フィードバック信号との論理積を演算する。第6AND回路74は、入力信号と反転フィードバック信号との論理積の演算結果を、減少指示信号として出力する。
このような構成の更新回路48は、入力信号が1であり、且つ、フィードバック信号が1である場合、シナプス重みを増加方向に変更する更新指示信号を出力することができる。また、更新回路48は、入力信号が0であり、且つ、フィードバック信号が1である場合、シナプス重みを減少方向に変更する更新指示信号を出力することができる。
図11は、MNIST手書き文字と、スパイキングニューラルネットワークとを示す図である。
ここで、784(=28×28)ピクセルのMNIST手書き文字を、スパイキングニューラルネットワークに学習させることについて検討する。検討対象のスパイキングニューラルネットワークは、入力層と、入力層の後段の処理層とを含む。入力層は、784個のニューロンを含む。処理層は、400個のニューロンを含む。入力層に含まれる784個のニューロンと、処理層に含まれる400個のニューロンとは、複数のシナプスを介して接続される。
入力層に含まれる784個のニューロンは、MNIST手書き文字に含まれる784ピクセルのコントラストを取得する。入力層に含まれる784個のニューロンは、784ピクセルのコントラストに応じたスパイク密度のスパイク列を発生し、処理層に含まれる400個のニューロンのそれぞれにシナプスを介して電圧スパイクを送る。
検討対象のスパイキングニューラルネットワークにおけるシナプス重みの更新則は、図5に示すSTDPに従った確率的な更新則である。シナプス重みを0から1に増加させる確率pは、例えば0.01程度である。シナプス重みを1から0に減少させる確率qは、例えば0.001程度である。また、検討対象のスパイキングニューラルネットワークは、複数のニューロンが同時に発火しないような仕組みになっている。
また、検討対象のスパイキングニューラルネットワークにおける複数のシナプスのそれぞれは、確率発生器により生成されたランダム信号に基づき確率制御をする。
図12は、図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成とした場合における、認識率のシミュレーション結果を示す図である。
図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成とした。このようなスパイキングニューラルネットワークをMNIST手書き文字により学習させてパターン認識をした場合、学習回数に対する認識率は、図12に示すように、80%を超える。
図13は、図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが共通の1個の確率発生器からランダム信号を受け取る構成とした場合における、認識率のシミュレーション結果を示す図である。
図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが共通の1個の確率発生器からランダム信号を受け取る構成とした。このようなスパイキングニューラルネットワークをMNIST手書き文字により学習させてパターン認識をした場合、学習回数に対する認識率は、図13に示すように、70%を超えることがない。さらに、この場合、学習回数に対する認識率は、学習回数に対して不安定である。従って、この場合、スパイキングニューラルネットワークは、正しく学習することができない。
なお、ランダム信号は、時間的に変化している。また、複数のシナプスのそれぞれは、異なるタイミングにおいて重みを更新する。従って、図13に示す場合であっても、更新タイミングにおける、シナプス重みの更新を許可するか禁止するかを示す確率信号は、複数のシナプスのそれぞれ毎に異なる。
以上から、シナプス重みを確率的に更新する更新則を採用するスパイキングニューラルネットワークは、図12および図13を比較した場合、複数のシナプスの全ては、互いに独立した確率発生器により生成されたランダム信号に基づき確率制御をすることが好ましい。
ところで、確率発生器は、時間的にランダムに変化するランダム信号を発生する。このような確率発生器として、疑似乱数発生回路が知られている。疑似乱数発生回路として代表的な線形帰還シフトレジスタ(LFSR)回路は、一般的なシリコンCMOSデジタル回路技術により作成可能である。LFSR回路は、多数のシフトレジスタを用いる。従って、LFSR回路は、含まれるトランジスタの個数が多く、フットプリントが大きい。
従って、複数のシナプスの全てに互いに独立したLFSR回路を備える、ハードウェアにより構成されるスパイキングニューラルネットワークは、回路規模が巨大化してしまう。例えば、シナプス重み更新の確率を0.001程度とした場合、LFSR回路は、1023以上の周期を有さなければならない。1023以上の周期のLFSR回路は、ハードウェアにより実装する場合、約160個のトランジスタが必要である。このLFSR回路のトランジスタの個数は、シナプスの信号伝達のための回路のトランジスタの個数に比較して、非常に大きくなる。従って、シナプス重みを確率的に更新する更新則を採用するスパイキングニューラルネットワークをハードウェアにより実現する場合、確率発生器の個数を低減して回路規模を小さくすることが望ましい。
図14は、第1実施形態に係るニューラルネットワーク装置10における第1接続例を示す図である。
複数のシナプス回路20は、複数のシナプスグループ80に分割される。また、複数のシナプスグループ80のそれぞれは、2以上のシナプス回路20を含む。複数のシナプスグループ80のそれぞれは、複数の乱数回路24のうちの何れか1個の乱数回路24に対応する。
そして、複数のシナプスグループ80のうちの何れか1個のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、複数の乱数回路24のうちの1個の乱数回路24から出力されたランダム信号を受け取る。すなわち、同一のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、同一の乱数回路24から出力されたランダム信号を受け取る。例えば、複数のシナプスグループ80のうちの第1シナプスグループ80-1に属する2以上のシナプス回路20のそれぞれは、複数の乱数回路24のうちの第1乱数回路24-1から出力されたランダム信号を受け取る。
さらに、複数のニューロン回路22のそれぞれは、互いに異なるシナプスグループ80に属する2以上のシナプス回路20から、2以上のシナプス信号を受け取る。すなわち、複数のニューロン回路22のうちの何れか1個のニューロン回路22に出力信号を出力する2以上のシナプス回路20のそれぞれは、互いに異なるシナプスグループ80に属する。例えば、複数のニューロン回路22のうちの第1ニューロン回路22-1に出力信号を出力する2以上のシナプス回路20のそれぞれは、第1ニューロン回路22-1に出力信号を出力する他のシナプス回路20と異なるシナプスグループ80に属する。
このような第1実施形態に係るニューラルネットワーク装置10において、任意の一つのニューロン回路22に着目する。着目したニューロン回路22は、接続する複数の前段ニューロン回路32との情報的な関係性を、シナプス重みが調整されることにより学習する。この場合、複数の前段ニューロン回路32それぞれは、互いに独立な情報を有する。従って、着目したニューロン回路22は、複数の前段ニューロン回路32それぞれとの情報的な関連性を、互いに同期して学習してはならず、互いに独立に学習しなければならない。
第1実施形態に係るニューラルネットワーク装置10において、第1ニューロン回路22-1に出力信号を出力する2以上のシナプス回路20のそれぞれは、第1ニューロン回路22-1に出力信号を出力する他のシナプス回路20と異なるシナプスグループ80に属する。従って、第1ニューロン回路22-1に出力信号を出力する2以上のシナプス回路20のそれぞれは、第1ニューロン回路22-1に出力信号を出力する他のシナプス回路20と異なる乱数回路24から出力されるランダム信号に基づき確率的にシナプス重みを更新する。従って、第1実施形態に係るニューラルネットワーク装置10は、第1ニューロン回路22-1と、複数の前段ニューロン回路32のそれぞれとの情報的な関連性を、互いに独立に学習することができる。これにより、第1実施形態に係るニューラルネットワーク装置10によれば、複数のシナプス回路20のそれぞれに設定されるシナプス重みを適切に学習させることができる。
また、第1実施形態に係るニューラルネットワーク装置10は、複数のシナプスグループ80のそれぞれ毎に、乱数回路24を備える。従って、第1実施形態に係るニューラルネットワーク装置10は、複数のシナプス回路20の個数を少なくすることができるので、小さい回路規模により実現することができる。
図15は、第1実施形態に係るニューラルネットワーク装置10における第2接続例を示す図である。
第1実施形態に係るニューラルネットワーク装置10は、例えば、複数のシナプス回路20を複数の層に立体的に配置してもよい。また、ニューラルネットワーク装置10は、複数の層のそれぞれに、2以上のニューロン回路22を配置する。
この場合、複数のシナプス回路20のそれぞれは、同一の層に配置されたニューロン回路22に出力信号を供給する。また、複数のシナプス回路20のそれぞれは、同一の層に配置された2以上のシナプス回路20が同一のニューロン回路22から出力された発火信号を入力信号として取得してもよい。
そして、この場合、複数のシナプスグループ80のそれぞれは、互いに異なる層に配置された2以上のシナプス回路20を含む。
このような第1実施形態の第2接続例に係るニューラルネットワーク装置10は、シナプス回路20が配置された層とは異なる層に、複数の乱数回路24を配置することができる。そして、複数の乱数回路24のそれぞれは、ランダム信号を複数の層を貫通させて2以上のシナプス回路20に供給することができる。
このような第1実施形態の第2接続例に係るニューラルネットワーク装置10は、複数のシナプス回路20、複数のニューロン回路22および複数の乱数回路24を効率良く配置することができる。
図16は、第1実施形態に係るニューラルネットワーク装置10における第3接続例を示す図である。
第1実施形態の第3接続例は、図14に示した第1接続例と略同一の構成を有する。従って、第1実施形態の第3接続例については、図14に示した第1接続例との相違点について説明する。
第3接続例においては、複数のシナプスグループ80のうちの何れか1個のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、複数のニューロン回路22のうちの1個のニューロン回路22から出力された発火信号を、入力信号として受け取る。すなわち、同一のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、同一のニューロン回路22から出力された発火信号を、入力信号として受け取る。
例えば、N個のシナプスグループ80のうちの第1シナプスグループ80-1に属する2以上のシナプス回路20のそれぞれは、複数のニューロン回路22のうちの第2ニューロン回路22-2から出力された発火信号を、入力信号として受け取る。
このような第1実施形態の第3接続例に係るニューラルネットワーク装置10は、入力信号を伝送する配線を効率良く接続することができる。
図17は、第1実施形態に係るニューラルネットワーク装置10における第4接続例を示す図である。
第1実施形態の第4接続例は、図15に示した第2接続例と略同一の構成を有する。従って、第1実施形態の第4接続例については、図15に示した第2接続例との相違点について説明する。
第4接続例においては、複数のシナプスグループ80のうちの何れか1個のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、複数のニューロン回路22のうちの1個のニューロン回路22から出力された発火信号を、入力信号として受け取る。すなわち、同一のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、同一のニューロン回路22から出力された発火信号を、入力信号として受け取る。
このような第1実施形態に係る第4接続例に係るニューラルネットワーク装置10は、複数のシナプス回路20、複数のニューロン回路22および複数の乱数回路24を効率良く配置することができるとともに、入力信号を伝送する配線を効率良く接続することができる。
さらに、第4接続例において、複数のシナプスグループ80のそれぞれは、同一の層に含まれる、互いに異なるニューロン回路22に出力信号を出力する2以上のシナプス回路20を含む。これにより、第1実施形態に係る第4接続例に係るニューラルネットワーク装置10は、複数の乱数回路24の個数をさらに削減することができる。
図18は、第1実施形態におけるニューラルネットワーク装置10の認識率のシミュレーション結果を示す図である。なお、図18のAの線は、図11に示したスパイキングニューラルネットワークを、第1実施形態の第3接続例に従って構成した場合における認識率である。図18のBの線は、図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成とした場合における認識率である。
第1実施形態の第3接続例に従って構成したスパイキングニューラルネットワークをMNIST手書き文字により学習させてパターン認識をした場合、学習回数に対する認識率は、図18のAに示すように、80%に近くなる。図18のAの認識率は、図18のBに示す複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る場合の認識率よりは低いが、非常に近い値となる。図18のAの認識率は、学習回数に対しても安定している。従って、第1実施形態の第3接続例に従って構成した図11のスパイキングニューラルネットワークは、精度良く学習することができる。
図19は、ニューロン数に対するトランジスタ数を示す図である。なお、図19のAは、第1実施形態の第3接続例に従って構成したスパイキングニューラルネットワークにおけるトランジスタ数を示す。図19のBは、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成としたスパイキングニューラルネットワークにおけるトランジスタ数を示す。図19のCは、(B-A)/Aであり、トランジスタ数の削減割合を示す。
例えば、図9または図10に示すシナプス回路20は、約40個のトランジスタにより構成することができる。また、図10に示すシナプス回路20を採用する場合、複数のニューロン回路22のそれぞれは、内部電位の大きさを閾値電位と比較するためのコンパレータ回路を含む。コンパレータ回路は、約16個のトランジスタにより構成することができる。
また、第1実施形態に係る複数の乱数回路24のそれぞれは、1023周期のLFSR回路である、とする。また、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成とした図11に示したスパイキングニューラルネットワークにおける、確率発生器も1023周期のLFSR回路である、とする。1023周期のLFSR回路は、約160個のトランジスタにより構成することができる。
そして、図11に示したスパイキングニューラルネットワークの入力層のニューロン数をn(nは2以上の整数)とする。
このような場合、図11に示したスパイキングニューラルネットワークを構成する場合のトランジスタ数は、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成(図19のB)より、第1実施形態の第3接続例に従った構成(図19のA)の方が少ない。削減割合は、図19のCに示すように、約20%である。
以上のように、第1実施形態に係るニューラルネットワーク装置10は、ハードウェアにより構成されたスパイキングニューラルネットワークであり、シナプス重みを確率的な更新則により更新することができる。そして、第1実施形態に係るニューラルネットワーク装置10は、複数の乱数回路24の個数を削減しつつ適切に配置するので、小さい回路規模で、精度良く学習することができる。この結果、第1実施形態に係るニューラルネットワーク装置10は、小さい回路規模で、精度の良い推論を実行することができる。
(第2実施形態)
つぎに、第2実施形態に係るニューラルネットワーク装置10について説明をする。なお、第2実施形態に係るニューラルネットワーク装置10は、第1実施形態と略同一の機能および構成を有するので、略同一の機能および構成を有する要素については同一の符号を付けて、相違点を除き詳細な説明を省略する。
図20は、第2実施形態に係るニューラルネットワーク装置10の構成の一例を示す図である。第2実施形態に係るニューラルネットワーク装置10は、一例として、N段(Nは2以上の整数)のレイヤ12と、(N-1)個のシナプス部14と、乱数発生部16と、追加乱数発生部86とを備える。すなわち、第2実施形態に係るニューラルネットワーク装置10は、図1に示した第1実施形態の構成と比較して、追加乱数発生部86を、さらに備える。
追加乱数発生部86は、複数の追加乱数回路88を含む。複数の追加乱数回路88のそれぞれは、定期的に変化する乱数を表す追加ランダム信号を出力する。複数の追加乱数回路88のそれぞれは、他の追加乱数回路88および複数の乱数回路24とは回路的に独立しており、複数の乱数回路24および他の追加乱数回路88とは異なる乱数を表す追加ランダム信号を発生する。複数の追加乱数回路88のそれぞれは、例えば、疑似乱数発生回路である。
追加ランダム信号により表される乱数は、予め定められた範囲の値である。例えば、追加ランダム信号により表される乱数は、10ビット幅(0~1023)の範囲の値である。
複数の追加乱数回路88は、複数のニューロン回路22のうちの何れか1個のニューロン回路22に対応する。例えば、複数の追加乱数回路88と複数のニューロン回路22とは、一対一で対応する。なお、複数の追加乱数回路88のそれぞれは、2個以上のニューロン回路22に対応していてもよい。ただし、複数のニューロン回路22のそれぞれは、複数の追加乱数回路88のうちの何れか1個の追加乱数回路88に対応する。
なお、図20には、レイヤ構造のニューラルネットワーク装置10を示しているが、第2実施形態に係るニューラルネットワーク装置10は、図2に示すようなリカレントニューラルネットワークであってもよい。
図21は、第2実施形態に係るシナプス回路20と他の回路との接続関係を示す図である。
複数のシナプス回路20のそれぞれは、複数の追加乱数回路88のうちの何れか1つの追加乱数回路88から出力された追加ランダム信号をさらに受け取る。例えば、複数のシナプス回路20のそれぞれは、複数の追加乱数回路88のうちの、自身が出力信号を出力するニューロン回路22に対応する追加乱数回路88から、追加ランダム信号を受け取る。すなわち、複数の追加乱数回路88のそれぞれは、複数のシナプス回路20のうちの、対応するニューロン回路22が出力信号を受け取る2以上のシナプス回路20に対して追加ランダム信号を出力する。
そして、複数のシナプス回路20のそれぞれは、受け取ったランダム信号に基づき生成される予め定められた第1確率と、追加ランダム信号に基づき生成される予め定められた第2確率とを乗算した確率により、予め定められたシナプス更新則に従って、設定されているシナプス重みを確率的に更新する。第1確率は、第2確率より大きい。
なお、図21は、STDPに基づく確率的な更新則によりシナプス重みを更新する場合における、シナプス回路20と他の回路との接続関係を示しているが、追加乱数回路88とシナプス回路20との接続関係は、Fusi則の場合においても同様である。
図22は、第2実施形態に係るシナプス回路20の構成を示す図である。第2実施形態において、確率制御回路46は、複数の追加乱数回路88のうちの何れか1つの追加乱数回路88から追加ランダム信号を受け取る。
確率制御回路46は、受け取ったランダム信号に基づき生成される第1確率と、受け取った追加ランダム信号に基づき生成される第2確率とを乗算した確率で、シナプス重みの更新を許可し、シナプス重みの更新を許可している場合以外は、シナプス重みの更新を禁止する。
例えば、ランダム信号は、予め定められた第1下限値から、予め定められた第1上限値までの数値範囲内における乱数を表す。また、例えば、追加ランダム信号は、予め定められた第2下限値から、予め定められた第2上限値までの数値範囲内における乱数を表す。
この場合、確率制御回路46は、ランダム信号が予め定められた第1確率に対応する範囲の値であり、且つ、追加ランダム信号が予め定められた第2確率に対応する範囲の値である場合、シナプス重みの更新を許可する。また、確率制御回路46は、ランダム信号が予め定められた第1確率に対応する範囲の値でない場合、または、追加ランダム信号が予め定められた第2確率に対応する範囲の値ではない場合、シナプス重みの更新を禁止する。
図23は、第2実施形態に係る確率制御回路46の構成の一例を示す図である。
第2実施形態に係る確率制御回路46は、第1増加確率回路62と、第1減少確率回路64と、第3AND回路66と、第4AND回路68と、第2増加確率回路90と、第2減少確率回路92と、第7AND回路94と、第8AND回路96とを含む。すなわち、第2実施形態に係る確率制御回路46は、図9に示した第1実施形態の構成と比較して、第2増加確率回路90と、第2減少確率回路92と、第7AND回路94と、第8AND回路96とをさらに含む。
第2増加確率回路90および第2減少確率回路92は、複数の追加乱数回路88のうちの何れか1つの追加乱数回路88から追加ランダム信号を受け取る。例えば、追加ランダム信号は、0から(N-1)までの数値範囲内における乱数を表し、定期的に値が変化する。
第2増加確率回路90は、受け取った追加ランダム信号に基づき、予め設定された第2増加確率であるpで1となり、(1-p)の確率で0となる第2増加確率信号を生成する。pは、0より大きく、1より小さい値である。
第2増加確率回路90は、追加ランダム信号により表される値が、(p×N)より小さい値である場合、または、(N-p×N)より大きい値である場合、1となり、他の場合に0となる第2増加確率信号を生成する。また、第2増加確率回路90は、追加ランダム信号により表される値が、予め選択されたP個の値の何れかである場合、1となり、他の場合に0となる第2増加確率信号を生成してもよい。なお、Pは、(p×N)の小数点以下を切り捨てまたは切り上げた整数である。
第2減少確率回路92は、受け取った追加ランダム信号に基づき、予め設定された第2減少確率であるqで1となり、(1-q)の確率で0となる第2減少確率信号を生成する。qは、0より大きく、1より小さい値である。
この場合、第2減少確率回路92は、追加ランダム信号により表される値が、(q×N)より小さい値である場合、または、(N-q×N)より大きい値である場合、1となり、他の場合に0となる第2減少確率信号を生成する。また、第2減少確率回路92は、追加ランダム信号により表される値が、予め選択されたQ個の値の何れかである場合、1となり、他の場合に0となる第2減少確率信号を生成してもよい。なお、Qは、(q×N)の小数点以下を切り捨てまたは切り上げた整数である。
第7AND回路94は、第3AND回路66から出力された信号と、第2増加確率信号とを受け取る。第7AND回路94は、第3AND回路66から出力された信号と第2増加確率信号との論理積を演算する。第7AND回路94は、第3AND回路66から出力された信号と第2増加確率信号との論理積の演算結果を、増加指示信号として記憶回路42のセット端子に出力する。
第8AND回路96は、第4AND回路68から出力された信号と、第2減少確率信号とを受け取る。第8AND回路96は、第4AND回路68から出力された信号と第2減少確率信号との論理積を演算する。第8AND回路96は、第4AND回路68から出力された信号と第2減少確率信号との論理積の演算結果を、減少指示信号として記憶回路42のリセット端子に出力する。
このような第2実施形態に係る確率制御回路46は、更新回路48から出力された増加指示信号を、(p×p)の確率で記憶回路42に与えて、1-(p×p)の確率で増加指示信号をマスクすることができる。これにより、確率制御回路46は、ランダム信号に基づき生成される第1増加確率pと追加ランダム信号に基づき生成される第2増加確率pとを乗算した確率で、更新回路48によるシナプス重みの増加方向への変更を許可することができる。そして、確率制御回路46は、シナプス重みの増加方向への変更を許可する場合以外は、シナプス重みの増加方向への変更を禁止することができる。
また、確率制御回路46は、更新回路48から出力された減少指示信号を、(q×q)の確率で記憶回路42に与えて、1-(q×q)の確率で減少加指示信号をマスクすることができる。これにより、確率制御回路46は、ランダム信号に基づき生成される第1減少確率qと、追加ランダム信号に基づき生成される第2減少確率qとを乗算した確率で、更新回路48によるシナプス重みの減少方向への変更を許可することができる。そして、確率制御回路46は、シナプス重みの減少方向への変更を許可する場合以外は、シナプス重みの減少方向への変更を禁止することができる。
図24は、第2実施形態に係るニューラルネットワーク装置10における第1接続例を示す図である。
複数のニューロン回路22のそれぞれは、複数の追加乱数回路88のうちの何れか1個の追加乱数回路88に対応する。例えば、複数のニューロン回路22は、複数の追加乱数回路88に対して一対一で対応する。
複数の追加乱数回路88のそれぞれは、複数のニューロン回路22のうちの対応するニューロン回路22に出力信号を供給する2以上のシナプス回路20に追加ランダム信号を供給する。すなわち、複数のシナプスグループ80のうちの何れか1個のシナプスグループ80に属する2以上のシナプス回路20のそれぞれは、互いに異なる追加乱数回路88から追加ランダム信号を受け取る。
これにより、複数のシナプス回路20のそれぞれは、同一のシナプスグループ80に属する他のシナプス回路20と確率的に独立してシナプス重みを更新することができる。
図25は、第2実施形態に係るニューラルネットワーク装置10における第2接続例を示す図である。
第2実施形態に係るニューラルネットワーク装置10は、例えば、複数のシナプス回路20を複数の層に立体的に配置してもよい。
第2実施形態の第2接続例に係るニューラルネットワーク装置10における、複数のシナプス回路20、複数のニューロン回路22および複数の乱数回路24は、図15の第1実施形態の第2接続例と同一の配置である。
第2実施形態の第2接続例において、複数の追加乱数回路88は、複数のニューロン回路22に対応させて、複数の層のそれぞれに配置される。
この場合、複数のシナプス回路20のそれぞれは、同一の層に配置されたニューロン回路22に出力信号を供給する。また、同一の層に配置された2以上のシナプス回路20のそれぞれは、同一のニューロン回路22から出力された発火信号を入力信号として取得してもよい。
そして、この場合、複数のシナプスグループ80のそれぞれは、互いに異なる層に配置された2以上のシナプス回路20を含む。
このような第2実施形態の第2接続例に係るニューラルネットワーク装置10は、シナプス回路20が配置された層とは異なる層に、複数の乱数回路24を配置することができる。そして、複数の乱数回路24のそれぞれは、複数の層を貫通させてランダム信号を対応する2以上のシナプス回路20に供給する。
このような第2実施形態の第2接続例に係るニューラルネットワーク装置10は、複数のシナプス回路20、複数のニューロン回路22、複数の乱数回路24および複数の追加乱数回路88を効率良く配置することができる。
図26は、第2実施形態に係るニューラルネットワーク装置10における第3接続例を示す図である。
第2実施形態の第3接続例は、図17に示した第1実施形態の第4接続例と略同一の構成を有する。従って、第2実施形態の第3接続例については、図17に示した第1実施形態の第4接続例との相違点について説明する。
第2実施形態の第3接続例において、複数の追加乱数回路88は、複数のニューロン回路22に対応させて、複数の層のそれぞれに配置される。
この場合、複数のシナプス回路20のそれぞれは、同一の層に配置されたニューロン回路22に出力信号を供給する。また、同一の層に配置された2以上のシナプス回路20のそれぞれは、同一のニューロン回路22から出力された発火信号を入力信号として取得する。
このような第2実施形態の第3接続例に係るニューラルネットワーク装置10は、シナプス回路20が配置された層とは異なる層に、複数の乱数回路24を配置することができる。そして、複数の乱数回路24のそれぞれは、複数の層を貫通させてランダム信号を対応する2以上のシナプス回路20に供給する。
このような第2実施形態の第3接続例に係るニューラルネットワーク装置10は、複数のシナプス回路20、複数のニューロン回路22、複数の乱数回路24および複数の追加乱数回路88を効率良く配置することができる。さらに、第2実施形態の第3接続例に係るニューラルネットワーク装置10は、入力信号を伝送する配線を効率良く接続することができる。
また、第2実施形態の第3接続例において、複数のシナプスグループ80のそれぞれは、互いに異なる層に配置された2以上のシナプス回路20を含む。さらに、複数のシナプスグループ80のそれぞれは、同一の層に含まれる、互いに異なるニューロン回路22に出力信号を出力する2以上のシナプス回路20を含む。これにより、第2実施形態の第3接続例に係るニューラルネットワーク装置10は、複数の乱数回路24の個数をさらに削減することができる。
図27は、第2実施形態におけるニューラルネットワーク装置10の認識率のシミュレーション結果を示す図である。なお、図27のAの線は、図11に示したスパイキングニューラルネットワークを、第2実施形態の第3接続例に従って構成した場合における認識率である。図27のBの線は、図11に示したスパイキングニューラルネットワークを、複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る構成とした場合における認識率である。
第2実施形態の第3接続例に従って構成したスパイキングニューラルネットワークをMNIST手書き文字により学習させてパターン認識をした場合、学習回数に対する認識率は、図27のAに示すように、ほぼ80%となる。図27のAの認識率は、図27のBに示す複数のシナプスの全てが互いに独立した確率発生器からランダム信号を受け取る場合の認識率とほぼ同等である。従って、第2実施形態の第3接続例に従って構成した図11のスパイキングニューラルネットワークは、精度良く学習することができる。
第1実施形態に係るシナプス回路20は、乱数回路24から取得したランダム信号に基づきシナプス重みを確率的に更新している。これに対して、第2実施形態に係るシナプス回路20は、乱数回路24から取得したランダム信号および追加乱数回路88から取得した追加ランダム信号の2つの信号に基づき、シナプス重みを確率的に更新している。これにより、第2実施形態に係る複数のシナプス回路20のそれぞれは、シナプス重みの確率的な更新の独立性が高くなり、学習精度が向上する。
もっとも、第2実施形態に係るニューラルネットワーク装置10は、第1実施形態と比較して、複数の追加乱数回路88が追加されていることにより、回路規模が大きくなる。しかし、図11に示したスパイキングニューラルネットワークにおいて、複数のシナプス回路20の全てのシナプスに対して独立の確率発生器を備える場合における、確率発生器の個数は、n×m個となる。なお、nは、入力層に含まれるニューロンの個数である。mは、処理層に含まれるニューロンの個数である。これに対して、第2実施形態に係るニューラルネットワーク装置10を適用した場合、図11に示したスパイキングニューラルネットワークは、複数の乱数回路24および複数の追加乱数回路88の個数が、n+m個となる。すなわち、従来は、ネットワーク規模に対して二乗の確率発生器が必要であったところが、第2実施形態に係るニューラルネットワーク装置10においては、必要数な乱数発生器の個数がネットワーク規模に対して一乗になる。従って、第2実施形態に係るニューラルネットワーク装置10は、規模の大きなネットワークにおいては、回路規模の削減量が大きくなる。
図28は、第1確率と第2確率とを変化させた場合における、第2実施形態におけるニューラルネットワーク装置10の認識率のシミュレーション結果を示す図である。
図28のAの線は、図11に示したスパイキングニューラルネットワークを、第2実施形態の第3接続例に従って構成した場合であって、第1確率を第2確率より大きくした場合の認識率である。図28のBの線は、図11に示したスパイキングニューラルネットワークを、第2実施形態の第3接続例に従って構成した場合であって、第2確率を第1確率より大きくした場合の認識率である。
複数のシナプス回路20のそれぞれは、受け取ったランダム信号に基づき生成される予め定められた第1確率と、追加ランダム信号に基づき生成される予め定められた第2確率とを乗算した確率により、予め定められたシナプス更新則に従って、設定されているシナプス重みを確率的に更新する。
ここで、本実施形態において、第1確率は、第2確率より大きく設定される。すなわち、複数のシナプス回路20のそれぞれは、乱数回路24から出力されるランダム信号を、追加乱数回路88から出力される追加ランダム信号よりも、支配的に用いて確率制御する。追加乱数回路88は、ニューロン回路22に対応して設けられている。このため、複数のシナプス回路20のそれぞれは、追加ランダム信号を支配的に用いて確率制御をした場合、独立性が弱まり、学習精度が悪化する可能性がある。図28に示されるように、認識率は、第1確率が第2確率より大きい場合(図28のA)の方が、第2確率が第1確率より大きい場合(図28のB)よりも、高くなり、且つ、学習回数に対して安定している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
(付記)
なお、上記の実施形態を、以下の技術案にまとめることができる。
[技術案1]
複数のニューロン回路と、
複数のシナプス回路と、
複数の乱数回路と、
を備え、
前記複数のニューロン回路のそれぞれは、前記複数のニューロン回路のうちの1以上のシナプス回路のそれぞれから出力される出力信号を受け取り、受け取った前記出力信号に応じて発火信号を出力し、
前記複数の乱数回路のそれぞれは、定期的に変化する乱数を表すランダム信号を出力し、
前記複数のシナプス回路のそれぞれは、
シナプス重みを記憶する記憶回路と、
前記複数のニューロン回路のうちの何れか1つである前段ニューロン回路から出力された前記発火信号である入力信号を受け取り、受け取った前記入力信号に対して前記シナプス重みの影響を加えた前記出力信号を、前記複数のニューロン回路のうちの何れか1つである後段ニューロン回路へと出力する伝達回路と、
前記複数の乱数回路のうちの何れか1つの乱数回路から前記ランダム信号を受け取り、受け取った前記ランダム信号に基づき生成される確率で、前記シナプス重みの更新を許可し、前記シナプス重みの更新を許可している場合以外は、前記シナプス重みの更新を禁止する確率制御回路と、
前記前段ニューロン回路から前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記後段ニューロン回路の動作または状態を表すフィードバック信号に応じて前記シナプス重みを更新する更新回路と、
を含み、
前記複数のシナプス回路は、複数のシナプスグループに分割され、
前記複数のシナプスグループのうちの第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数の乱数回路のうちの第1乱数回路から出力された前記ランダム信号を受け取り、
前記複数のニューロン回路のうちの第1ニューロン回路に前記出力信号を出力する2以上のシナプス回路のそれぞれは、前記第1ニューロン回路に前記出力信号を出力する他のシナプス回路と異なるシナプスグループに属する
ニューラルネットワーク装置。
[技術案2]
前記ランダム信号は、予め定められた下限値から予め定められた上限値までの数値範囲内における乱数を表し、
前記確率制御回路は、前記ランダム信号が予め定められた第1確率に対応する範囲の値である場合、前記シナプス重みの更新を許可し、前記ランダム信号が前記第1確率に対応する範囲の値でない場合、前記シナプス重みの更新を禁止する
技術案1に記載のニューラルネットワーク装置。
[技術案3]
前記第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数のニューロン回路のうち第2ニューロン回路から出力された前記入力信号を受け取る
技術案1または2に記載のニューラルネットワーク装置。
[技術案4]
複数の追加乱数回路
をさらに備え、
前記複数の追加乱数回路のそれぞれは、定期的に変化する乱数を表す追加ランダム信号を出力し、
前記確率制御回路は、
前記複数の追加乱数回路のうちの何れか1つの追加乱数回路から前記追加ランダム信号をさらに受け取り、
前記ランダム信号に基づき生成される第1確率と、前記追加ランダム信号に基づき生成される予め定められた第2確率とを乗算した確率で、前記シナプス重みの更新を許可する
技術案1から3の何れか1項に記載のニューラルネットワーク装置。
[技術案5]
前記追加ランダム信号は、予め定められた下限値から予め定められた上限値の数値範囲内における乱数を表し、
前記確率制御回路は、
前記ランダム信号が前記第1確率に対応する範囲の値であり、且つ、前記追加ランダム信号が前記第2確率に対応する範囲の値である場合に、前記シナプス重みの更新を許可し、
前記ランダム信号が前記第1確率に対応する範囲の値ではない場合、または、前記追加ランダム信号が前記第2確率に対応する範囲の値ではない場合、前記シナプス重みの更新を禁止する
技術案4に記載のニューラルネットワーク装置。
[技術案6]
前記複数の追加乱数回路は、前記複数のニューロン回路に対して一対一で対応して設けられ、
前記複数のシナプス回路のそれぞれは、前記複数の追加乱数回路のうちの、前記出力信号を出力するニューロン回路に対応する追加乱数回路から、前記追加ランダム信号を受け取る
技術案4または5に記載のニューラルネットワーク装置。
[技術案7]
前記第1確率は、前記第2確率より大きい
技術案4から6の何れか1項に記載のニューラルネットワーク装置。
[技術案8]
前記フィードバック信号は、第1値または第2値により表され、
前記更新回路は、
前記フィードバック信号が前記第1値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記シナプス重みを増加方向に変更し、
前記フィードバック信号が前記第2値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記シナプス重みを減少方向に変更し、
前記確率制御回路は、
前記シナプス重みを増加方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1増加確率で、前記シナプス重みの更新を許可し、
前記シナプス重みを減少方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1減少確率で、前記シナプス重みの更新を許可する
技術案1から3の何れか1項に記載のニューラルネットワーク装置。
[技術案9]
前記フィードバック信号は、第1値または第2値により表され、
前記フィードバック信号が前記第1値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記更新回路は、前記シナプス重みを増加方向に変更し、
前記フィードバック信号が前記第2値である状態で前記入力信号を受け取った場合、前記シナプス重みが許可されていることを条件として、前記更新回路は、前記シナプス重みを減少方向に変更し、
前記更新回路は、
前記シナプス重みを増加方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1増加確率と、前記追加ランダム信号に基づき生成される予め定められた第2増加確率とを乗算した確率で、前記シナプス重みの更新を許可し、
前記シナプス重みを減少方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第2減少確率と、前記追加ランダム信号に基づき生成される予め定められた第2減少確率とを乗算した確率で、前記シナプス重みの更新を許可する
技術案4から7の何れか1項に記載のニューラルネットワーク装置。
[技術案10]
前記シナプス重みは、予め定められた数値範囲内で変更され、
前記記憶回路は、
前記シナプス重みを前記数値範囲の上限値以上に変更せず、
前記シナプス重みを前記数値範囲の下限値以下に変更しない
技術案8また9に記載のニューラルネットワーク装置。
[技術案11]
前記フィードバック信号は、前記後段ニューロン回路が発火してから一定期間、前記第1値となり、他の期間において第2値となる
技術案8から10の何れか1項に記載のニューラルネットワーク装置。
[技術案12]
前記複数のニューロン回路のそれぞれは、受け取った前記出力信号のレベルまたは時間幅に応じて変化する内部電位を保持し、前記内部電位が予め設定された発火閾値より大きい場合、前記発火信号を出力し、
前記フィードバック信号は、前記後段ニューロン回路に保持される前記内部電位が所定値以上の場合に前記第1値となり、前記内部電位が所定値より小さい場合に前記第2値となる
技術案8から10の何れか1項に記載のニューラルネットワーク装置。
[技術案13]
前記シナプス重みは、離散値により表される
技術案1から12の何れか1項に記載のニューラルネットワーク装置。
[技術案14]
前記シナプス重みは、バイナリにより表される
技術案13に記載のニューラルネットワーク装置。
[技術案15]
前記複数のシナプス回路のうちの少なくとも1つは、前記複数のニューロン回路のうちの、前記前段ニューロン回路、または、前記前段ニューロン回路へと前記出力信号を供給するシナプス回路よりも前段に配置されたニューロン回路へと前記出力信号を供給する
技術案1から14の何れか1項に記載のニューラルネットワーク装置。
[技術案16]
ニューラルネットワーク装置において実行されるシナプス重み更新方法であって、
前記ニューラルネットワーク装置は、
複数のニューロン回路と、
複数のシナプス回路と、
複数の乱数回路と、
を備え、
前記複数のニューロン回路のそれぞれは、前記複数のニューロン回路のうちの1以上のシナプス回路のそれぞれから出力される出力信号を受け取り、受け取った前記出力信号に応じて発火信号を出力し、
前記複数の乱数回路のそれぞれは、定期的に変化する乱数を表すランダム信号を出力し、
前記複数のシナプス回路のそれぞれは、
シナプス重みを記憶する記憶回路と、
前記複数のニューロン回路のうちの何れか1つである前段ニューロン回路から出力された前記発火信号である入力信号を受け取り、受け取った前記入力信号に対して前記シナプス重みの影響を加えた前記出力信号を、前記複数のニューロン回路のうちの何れか1つである後段ニューロン回路へと出力する伝達回路と、
を含み、
前記複数のシナプス回路は、複数のシナプスグループに分割され、
前記複数のシナプスグループのうちの第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数の乱数回路のうちの第1乱数回路から出力された前記ランダム信号を受け取り、
前記複数のニューロン回路のうちの第1ニューロン回路に前記出力信号を出力する2以上のシナプス回路のそれぞれは、前記第1ニューロン回路に前記出力信号を出力する他のシナプス回路と異なるシナプスグループに属し、
前記複数のシナプス回路のそれぞれが、
前記複数の乱数回路のうちの何れか1つの乱数回路から前記ランダム信号を受け取り、受け取った前記ランダム信号に基づき生成される確率で、前記シナプス重みの更新を許可し、前記シナプス重みの更新を許可している場合以外は、前記シナプス重みの更新を禁止し、
前記前段ニューロン回路から前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記後段ニューロン回路の動作または状態を表すフィードバック信号に応じて前記シナプス重みを更新する
シナプス重み更新方法。
10 ニューラルネットワーク装置
12 レイヤ
14 シナプス部
16 乱数発生部
20 シナプス回路
22 ニューロン回路
24 乱数回路
26 リザバーコンピューティング装置
32 前段ニューロン回路
34 後段ニューロン回路
42 記憶回路
44 伝達回路
46 確率制御回路
48 更新回路
52 SRラッチ
54 タイマ回路
56 第1反転回路
58 第1AND回路
60 第2AND回路
62 第1増加確率回路
64 第1減少確率回路
66 第3AND回路
68 第4AND回路
70 第2反転回路
72 第5AND回路
74 第6AND回路
80 シナプスグループ
86 追加乱数発生部
88 追加乱数回路

Claims (16)

  1. 複数のニューロン回路と、
    複数のシナプス回路と、
    複数の乱数回路と、
    を備え、
    前記複数のニューロン回路のそれぞれは、前記複数のニューロン回路のうちの1以上のシナプス回路のそれぞれから出力される出力信号を受け取り、受け取った前記出力信号に応じて発火信号を出力し、
    前記複数の乱数回路のそれぞれは、定期的に変化する乱数を表すランダム信号を出力し、
    前記複数のシナプス回路のそれぞれは、
    シナプス重みを記憶する記憶回路と、
    前記複数のニューロン回路のうちの何れか1つである前段ニューロン回路から出力された前記発火信号である入力信号を受け取り、受け取った前記入力信号に対して前記シナプス重みの影響を加えた前記出力信号を、前記複数のニューロン回路のうちの何れか1つである後段ニューロン回路へと出力する伝達回路と、
    前記複数の乱数回路のうちの何れか1つの乱数回路から前記ランダム信号を受け取り、受け取った前記ランダム信号に基づき生成される確率で、前記シナプス重みの更新を許可し、前記シナプス重みの更新を許可している場合以外は、前記シナプス重みの更新を禁止する確率制御回路と、
    前記前段ニューロン回路から前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記後段ニューロン回路の動作または状態を表すフィードバック信号に応じて前記シナプス重みを更新する更新回路と、
    を含み、
    前記複数のシナプス回路は、複数のシナプスグループに分割され、
    前記複数のシナプスグループのうちの第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数の乱数回路のうちの第1乱数回路から出力された前記ランダム信号を受け取り、
    前記複数のニューロン回路のうちの第1ニューロン回路に前記出力信号を出力する2以上のシナプス回路のそれぞれは、前記第1ニューロン回路に前記出力信号を出力する他のシナプス回路と異なるシナプスグループに属する
    ニューラルネットワーク装置。
  2. 前記ランダム信号は、予め定められた下限値から予め定められた上限値までの数値範囲内における乱数を表し、
    前記確率制御回路は、前記ランダム信号が予め定められた第1確率に対応する範囲の値である場合、前記シナプス重みの更新を許可し、前記ランダム信号が前記第1確率に対応する範囲の値でない場合、前記シナプス重みの更新を禁止する
    請求項1に記載のニューラルネットワーク装置。
  3. 前記第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数のニューロン回路のうち第2ニューロン回路から出力された前記入力信号を受け取る
    請求項1に記載のニューラルネットワーク装置。
  4. 複数の追加乱数回路
    をさらに備え、
    前記複数の追加乱数回路のそれぞれは、定期的に変化する乱数を表す追加ランダム信号を出力し、
    前記確率制御回路は、
    前記複数の追加乱数回路のうちの何れか1つの追加乱数回路から前記追加ランダム信号をさらに受け取り、
    前記ランダム信号に基づき生成される第1確率と、前記追加ランダム信号に基づき生成される予め定められた第2確率とを乗算した確率で、前記シナプス重みの更新を許可する
    請求項1に記載のニューラルネットワーク装置。
  5. 前記追加ランダム信号は、予め定められた下限値から予め定められた上限値の数値範囲内における乱数を表し、
    前記確率制御回路は、
    前記ランダム信号が前記第1確率に対応する範囲の値であり、且つ、前記追加ランダム信号が前記第2確率に対応する範囲の値である場合に、前記シナプス重みの更新を許可し、
    前記ランダム信号が前記第1確率に対応する範囲の値ではない場合、または、前記追加ランダム信号が前記第2確率に対応する範囲の値ではない場合、前記シナプス重みの更新を禁止する
    請求項4に記載のニューラルネットワーク装置。
  6. 前記複数の追加乱数回路は、前記複数のニューロン回路に対して一対一で対応して設けられ、
    前記複数のシナプス回路のそれぞれは、前記複数の追加乱数回路のうちの、前記出力信号を出力するニューロン回路に対応する追加乱数回路から、前記追加ランダム信号を受け取る
    請求項4に記載のニューラルネットワーク装置。
  7. 前記第1確率は、前記第2確率より大きい
    請求項4に記載のニューラルネットワーク装置。
  8. 前記フィードバック信号は、第1値または第2値により表され、
    前記更新回路は、
    前記フィードバック信号が前記第1値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記シナプス重みを増加方向に変更し、
    前記フィードバック信号が前記第2値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記シナプス重みを減少方向に変更し、
    前記確率制御回路は、
    前記シナプス重みを増加方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1増加確率で、前記シナプス重みの更新を許可し、
    前記シナプス重みを減少方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1減少確率で、前記シナプス重みの更新を許可する
    請求項1に記載のニューラルネットワーク装置。
  9. 前記フィードバック信号は、第1値または第2値により表され、
    前記フィードバック信号が前記第1値である状態で前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記更新回路は、前記シナプス重みを増加方向に変更し、
    前記フィードバック信号が前記第2値である状態で前記入力信号を受け取った場合、前記シナプス重みが許可されていることを条件として、前記更新回路は、前記シナプス重みを減少方向に変更し、
    前記更新回路は、
    前記シナプス重みを増加方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第1増加確率と、前記追加ランダム信号に基づき生成される予め定められた第2増加確率とを乗算した確率で、前記シナプス重みの更新を許可し、
    前記シナプス重みを減少方向に変更する場合、前記ランダム信号に基づき生成される予め定められた第2減少確率と、前記追加ランダム信号に基づき生成される予め定められた第2減少確率とを乗算した確率で、前記シナプス重みの更新を許可する
    請求項4に記載のニューラルネットワーク装置。
  10. 前記シナプス重みは、予め定められた数値範囲内で変更され、
    前記記憶回路は、
    前記シナプス重みを前記数値範囲の上限値以上に変更せず、
    前記シナプス重みを前記数値範囲の下限値以下に変更しない
    請求項8に記載のニューラルネットワーク装置。
  11. 前記フィードバック信号は、前記後段ニューロン回路が発火してから一定期間、前記第1値となり、他の期間において第2値となる
    請求項8に記載のニューラルネットワーク装置。
  12. 前記複数のニューロン回路のそれぞれは、受け取った前記出力信号のレベルまたは時間幅に応じて変化する内部電位を保持し、前記内部電位が予め設定された発火閾値より大きい場合、前記発火信号を出力し、
    前記フィードバック信号は、前記後段ニューロン回路に保持される前記内部電位が所定値以上の場合に前記第1値となり、前記内部電位が所定値より小さい場合に前記第2値となる
    請求項8に記載のニューラルネットワーク装置。
  13. 前記シナプス重みは、離散値により表される
    請求項1に記載のニューラルネットワーク装置。
  14. 前記シナプス重みは、バイナリにより表される
    請求項13に記載のニューラルネットワーク装置。
  15. 前記複数のシナプス回路のうちの少なくとも1つは、前記複数のニューロン回路のうちの、前記前段ニューロン回路、または、前記前段ニューロン回路へと前記出力信号を供給するシナプス回路よりも前段に配置されたニューロン回路へと前記出力信号を供給する
    請求項1に記載のニューラルネットワーク装置。
  16. ニューラルネットワーク装置において実行されるシナプス重み更新方法であって、
    前記ニューラルネットワーク装置は、
    複数のニューロン回路と、
    複数のシナプス回路と、
    複数の乱数回路と、
    を備え、
    前記複数のニューロン回路のそれぞれは、前記複数のニューロン回路のうちの1以上のシナプス回路のそれぞれから出力される出力信号を受け取り、受け取った前記出力信号に応じて発火信号を出力し、
    前記複数の乱数回路のそれぞれは、定期的に変化する乱数を表すランダム信号を出力し、
    前記複数のシナプス回路のそれぞれは、
    シナプス重みを記憶する記憶回路と、
    前記複数のニューロン回路のうちの何れか1つである前段ニューロン回路から出力された前記発火信号である入力信号を受け取り、受け取った前記入力信号に対して前記シナプス重みの影響を加えた前記出力信号を、前記複数のニューロン回路のうちの何れか1つである後段ニューロン回路へと出力する伝達回路と、
    を含み、
    前記複数のシナプス回路は、複数のシナプスグループに分割され、
    前記複数のシナプスグループのうちの第1シナプスグループに属する2以上のシナプス回路のそれぞれは、前記複数の乱数回路のうちの第1乱数回路から出力された前記ランダム信号を受け取り、
    前記複数のニューロン回路のうちの第1ニューロン回路に前記出力信号を出力する2以上のシナプス回路のそれぞれは、前記第1ニューロン回路に前記出力信号を出力する他のシナプス回路と異なるシナプスグループに属し、
    前記複数のシナプス回路のそれぞれが、
    前記複数の乱数回路のうちの何れか1つの乱数回路から前記ランダム信号を受け取り、受け取った前記ランダム信号に基づき生成される確率で、前記シナプス重みの更新を許可し、前記シナプス重みの更新を許可している場合以外は、前記シナプス重みの更新を禁止し、
    前記前段ニューロン回路から前記入力信号を受け取った場合、前記シナプス重みの更新が許可されていることを条件として、前記後段ニューロン回路の動作または状態を表すフィードバック信号に応じて前記シナプス重みを更新する
    シナプス重み更新方法。
JP2023031023A 2023-03-01 2023-03-01 ニューラルネットワーク装置およびシナプス重み更新方法 Active JP7735339B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023031023A JP7735339B2 (ja) 2023-03-01 2023-03-01 ニューラルネットワーク装置およびシナプス重み更新方法
US18/521,665 US20240296325A1 (en) 2023-03-01 2023-11-28 Neural network device and synaptic weight update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023031023A JP7735339B2 (ja) 2023-03-01 2023-03-01 ニューラルネットワーク装置およびシナプス重み更新方法

Publications (2)

Publication Number Publication Date
JP2024123529A JP2024123529A (ja) 2024-09-12
JP7735339B2 true JP7735339B2 (ja) 2025-09-08

Family

ID=92545119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023031023A Active JP7735339B2 (ja) 2023-03-01 2023-03-01 ニューラルネットワーク装置およびシナプス重み更新方法

Country Status (2)

Country Link
US (1) US20240296325A1 (ja)
JP (1) JP7735339B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202527722A (zh) * 2023-09-06 2025-07-01 日商索尼半導體解決方案公司 信號處理裝置及半導體裝置之製造方法
CN120633729B (zh) * 2025-05-19 2025-12-23 北京科技大学 一种基于概率翻转的多态神经突触器件及其调制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013534018A (ja) 2010-07-07 2013-08-29 クゥアルコム・インコーポレイテッド 離散順位シナプス及び確率的なstdpによるデジタル神経処理のための方法及びシステム
US20190138900A1 (en) 2017-11-06 2019-05-09 Samsung Electronics Co., Ltd. Neuron circuit, system, and method with synapse weight learning
US20190197391A1 (en) 2017-12-27 2019-06-27 Intel Corporation Homeostatic plasticity control for spiking neural networks
US20230058490A1 (en) 2021-08-20 2023-02-23 Kabushiki Kaisha Toshiba Synaptic circuit and neural network apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013534018A (ja) 2010-07-07 2013-08-29 クゥアルコム・インコーポレイテッド 離散順位シナプス及び確率的なstdpによるデジタル神経処理のための方法及びシステム
US20190138900A1 (en) 2017-11-06 2019-05-09 Samsung Electronics Co., Ltd. Neuron circuit, system, and method with synapse weight learning
US20190197391A1 (en) 2017-12-27 2019-06-27 Intel Corporation Homeostatic plasticity control for spiking neural networks
US20230058490A1 (en) 2021-08-20 2023-02-23 Kabushiki Kaisha Toshiba Synaptic circuit and neural network apparatus

Also Published As

Publication number Publication date
JP2024123529A (ja) 2024-09-12
US20240296325A1 (en) 2024-09-05

Similar Documents

Publication Publication Date Title
US11164080B2 (en) Unsupervised, supervised and reinforced learning via spiking computation
US9489622B2 (en) Event-driven universal neural network circuit
CN107924227B (zh) 电阻处理单元
US9646243B1 (en) Convolutional neural networks using resistive processing unit array
Wu et al. Homogeneous spiking neuromorphic system for real-world pattern recognition
Indiveri et al. Artificial cognitive systems: From VLSI networks of spiking neurons to neuromorphic cognition
US9183495B2 (en) Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
JP7383528B2 (ja) スパイキングニューラルネットワーク装置およびスパイキングニューラルネットワーク装置の学習方法
US20240296325A1 (en) Neural network device and synaptic weight update method
Cartiglia et al. Stochastic dendrites enable online learning in mixed-signal neuromorphic processing systems
Zilouchian Fundamentals of neural networks
Babu et al. Stochastic deep learning in memristive networks
Sofatzis et al. The synaptic kernel adaptation network
Brown et al. Stochasticity in neuromorphic computing: Evaluating randomness for improved performance
Maeda et al. Bidirectional associative memory with learning capability using simultaneous perturbation
Rajendran et al. Memristive devices for spiking neural networks
Malini et al. An Efficient Implementation of Modified Digital Synapse Design for Neural Network
AbuHamra et al. Memory-Centric Computing for Image Classification Using SNN with RRAM
Rancour et al. Self-trained multi-layer analog real-time artificial neural network circuits
De Geeter Spiking Neural Networks: A new energy-efficient type of artificial neural network
da Porciuncula Estrela et al. Development of an analog topology for a multi-layer neuronal network
Hasan et al. A reconfigurable low power high throughput architecture for deep network training
Ping et al. An adaptive binary particle swarm optimization for evolvable hardware
Svetlik Self-organizing Maps with spiking neuron model JASTAP
Gohil An Application of Artificial Neural Network (ANN) Facilitate Candidate for Carrier Opportunities & Guidance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250827

R150 Certificate of patent or registration of utility model

Ref document number: 7735339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150