JP2021140531A - シナプス回路およびニューラルネットワーク装置 - Google Patents

シナプス回路およびニューラルネットワーク装置 Download PDF

Info

Publication number
JP2021140531A
JP2021140531A JP2020038543A JP2020038543A JP2021140531A JP 2021140531 A JP2021140531 A JP 2021140531A JP 2020038543 A JP2020038543 A JP 2020038543A JP 2020038543 A JP2020038543 A JP 2020038543A JP 2021140531 A JP2021140531 A JP 2021140531A
Authority
JP
Japan
Prior art keywords
current
circuit
output
normalized
wait
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
JP2020038543A
Other languages
English (en)
Other versions
JP7271463B2 (ja
Inventor
久美子 野村
Kumiko Nomura
久美子 野村
孝生 丸亀
Takao Marugame
孝生 丸亀
義史 西
Yoshifumi Nishi
義史 西
公一 水島
Koichi Mizushima
公一 水島
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 JP2020038543A priority Critical patent/JP7271463B2/ja
Priority to US17/005,731 priority patent/US12073311B2/en
Publication of JP2021140531A publication Critical patent/JP2021140531A/ja
Application granted granted Critical
Publication of JP7271463B2 publication Critical patent/JP7271463B2/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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

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)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Electronic Switches (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】正規化処理を簡易な構成で行う。【解決手段】シナプス回路は、ウェイト電流回路と、入力スイッチと、キャパシタと、出力回路と、電荷調整回路と、制御回路と、を備える。ウェイト電流回路は、ウェイト電流を流す。入力スイッチは、入力信号に応じて、ウェイト電流回路にウェイト電流を流させるか否かを切り替える。キャパシタは、第1端子および第2端子を有し、第1端子に定電圧が印加される。出力回路は、第2端子に発生するキャパシタ電圧に応じた出力信号を出力する。電荷調整回路は、入力スイッチによりウェイト電流が流される場合、第2端子からウェイト電流の電流値に応じたキャパシタ電流を吸い出す、または、キャパシタ電流を第2端子に供給することにより、キャパシタに蓄積される電荷を減少または増加させる。制御回路は、ウェイト値に応じて、キャパシタ電流から予め定められた電流値の電流を減じるか否かを切り替える。【選択図】図4

Description

本発明の実施形態は、シナプス回路およびニューラルネットワーク装置に関する。
近年、ハードウェア化したニューラルネットワークを用いて、脳型プロセッサを実現する技術が提案されている。このような脳型プロセッサは、シナプス回路を有する。シナプス回路は、重みを表すウェイト値が設定され、前段のニューロンから受け取った信号に対してウェイト値の影響を加えた信号を、後段のニューロンへと与える。
シナプス回路に設定されているウェイト値は、所定の学習方法により更新される。脳型プロセッサの学習方法として、スパイクタイミング依存シナプス可塑性(STDP)を用いた学習が知られている。
STDP学習によりウェイト値を更新した場合、ウェイト値が大きくなりすぎてニューロンが発火しやすくなり、適切に推論が行えなくなる、という問題が指摘されている。この問題を解決するため、正規化処理をすることが提案されている。従来の正規化処理では、1つのニューロンの入力段に接続されている複数のシナプス回路に設定されている複数のウェイト値の和を、一定値以下にするように調整する。これにより大きくなりすぎた複数のウェイト値を一律に小さくして、ニューロンを適切に発火させることができる。しかし、この方法は、複数のウェイト値を読み出して、演算を実行し、再度、複数のウェイト値を設定する処理を実行しなければならなく、回路コストが大きくなってしまっていた。
米国特許第8655813号明細書
Nicholas Soures, et al., "On-Device STDP and Synaptic Normalization for Neuromemristive Spiking Neural Network", 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS), P1081-1804,2017年8月 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日
本発明が解決しようとする課題は、適切に推論することができるようにニューロンの発火を調整する正規化処理を、簡易な構成で行うことができるシナプス回路およびニューラルネットワーク装置を提供することにある。
実施形態に係るシナプス回路は、ウェイト値が設定され、前段ニューロン回路から2値の入力信号を受け取り、後段ニューロン回路へと出力信号を出力する。前記シナプス回路は、ウェイト電流回路と、入力スイッチと、キャパシタと、出力回路と、電荷調整回路と、制御回路と、を備える。前記ウェイト電流回路は、前記ウェイト値に応じた電流値のウェイト電流を流す。前記入力スイッチは、前記入力信号に応じて、前記ウェイト電流回路に前記ウェイト電流を流させるか否かを切り替える。前記キャパシタは、第1端子および第2端子を有し、前記第1端子に定電圧が印加される。前記出力回路は、前記第2端子に発生するキャパシタ電圧に応じた前記出力信号を出力する。前記電荷調整回路は、前記入力スイッチにより前記ウェイト電流が流される場合、前記第2端子から前記ウェイト電流の電流値に応じたキャパシタ電流を吸い出す、または、前記キャパシタ電流を前記第2端子に供給することにより、前記キャパシタに蓄積される電荷を減少または増加させる。前記制御回路は、前記ウェイト値に応じて、前記キャパシタ電流から予め定められた電流値の電流を減じるか否かを切り替える。
実施形態に係るニューラルネットワーク装置の構成図。 複数のシナプス回路の接続関係を示す図。 学習回路による処理を説明するための図。 シナプス回路の構成を示す図。 入力信号、キャパシタ電圧および出力信号の一例を示す図。 正規化回路の第1の回路構成例を示す図。 正規化回路の第2の回路構成例を示す図。 正規化回路の第3の回路構成例を示す図。 制御回路の第1の処理例を示す図。 制御回路の第2の処理例を示す図。 変形例に係る複数のシナプス回路の接続関係を示す図。 変形例に係る制御回路の第1の処理例を示す図。 変形例に係る制御回路の第2の処理例を示す図。
以下、図面を参照しながら実施形態に係るニューラルネットワーク装置10について説明する。実施形態に係るニューラルネットワーク装置10は、ハードウェアにより実現され、精度の良い推論を実行することができる。
図1は、実施形態に係るニューラルネットワーク装置10の構成を示す図である。ニューラルネットワーク装置10は、N段(Nは2以上の整数)のレイヤ22と、(N−1)個のシナプス部24と、学習回路26とを備える。
N段のレイヤ22のそれぞれは、複数のニューロン回路30を含む。複数のニューロン回路30のそれぞれは、前段のレイヤ22から出力された複数の信号を取得し、取得した複数の信号に対して積和演算処理を実行する。なお、N段のレイヤ22のうち1段目のレイヤ22は、外部の装置または入力レイヤから複数の信号を取得する。そして、複数のニューロン回路30のそれぞれは、積和演算結果を表す信号に対して活性化関数処理を行った信号を出力する。複数のニューロン回路30のそれぞれは、積和演算処理および活性化関数処理を、例えばアナログ回路により実行する。
(N−1)個のシナプス部24のそれぞれは、複数のシナプス回路40を含む。複数のシナプス回路40のそれぞれは、学習回路26によりウェイト値が設定される。
(N−1)個のシナプス部24のうちのn番目(nは、1以上、(N−1)以下の整数)のシナプス部24は、n段目のレイヤ22と、(n+1)段目のレイヤ22との間に配置される。
n番目のシナプス部24に含まれる複数のシナプス回路40のそれぞれは、n段目のレイヤ22に含まれる複数のニューロン回路30のうちの1つのニューロン回路30から出力された信号を2値の入力信号として受け取る。n番目のシナプス部24に含まれる複数のシナプス回路40のそれぞれは、受け取った入力信号に対して、設定されたウェイト値の影響を加えた出力信号を生成する。本実施形態において、出力信号は、2値の電圧信号である。これに代えて、出力信号は、アナログ値(連続値)で表された電流であってもよいし、アナログ値(連続値)で表された電圧であってもよい。そして、n番目のシナプス部24に含まれる複数のシナプス回路40のそれぞれは、(n+1)段目のレイヤ22に含まれる複数のニューロン回路30のうちの1つのニューロン回路30に出力信号を与える。
学習回路26は、複数のシナプス回路40のそれぞれに設定されているウェイト値を更新する。学習回路26は、複数のシナプス回路40のそれぞれに設定されているウェイト値を、スパイクタイミング依存シナプス可塑性(STDP)学習により更新する。
このようなニューラルネットワーク装置10は、1段目のレイヤ22が外部装置または入力レイヤから1または複数の信号を受け取る。そして、ニューラルネットワーク装置10は、受け取った1または複数の信号に対してニューラルネットワークによる演算を実行した結果を表す1または複数の信号を、N段目のレイヤ22から出力する。
図2は、複数のシナプス回路40の接続関係を示す図である。シナプス回路40は、学習回路26によりウェイト値が設定されている。
シナプス回路40は、前段のレイヤ22に含まれる何れかのニューロン回路30である前段ニューロン回路32から、2値の入力信号を受け取る。シナプス回路40は、受け取った2値の入力信号に設定されたウェイト値の影響を加えた出力信号を出力する。例えば、図2に示した3つのシナプス回路40のそれぞれは、学習回路26によりウェイト値(W,W,W)が設定されている。
本実施形態において、シナプス回路40は、2値の入力信号を、設定されたウェイト値に応じた時間分遅延させた2値の出力信号を出力する。すなわち、本実施形態において、シナプス回路40は、前段ニューロン回路32の発火タイミングを、設定されたウェイト値に応じた時間分遅延させた出力信号を出力する。例えば、シナプス回路40は、設定されたウェイト値が大きいほど、遅延時間を短くする。そして、シナプス回路40は、出力信号を対応する後段ニューロン回路34に与える。
なお、シナプス回路40は、入力信号が発火した場合に、設定されたウェイト値に応じた電流量の電流である出力信号を出力してもよい。また、シナプス回路40は、入力信号の発火時間または発火回数に、設定されたウェイト値を乗じた値に応じた電流量の電流である出力信号を出力してもよい。この場合、シナプス回路40は、設定されたウェイト値が大きいほど、出力信号の電流量を大きくする。この場合、後段ニューロン回路34は、アナログ値(連続値)で表された出力信号をシナプス回路40から受け取る。また、同様に、シナプス回路40は、電流値に代えて、電圧値で表された出力信号を出力してもよい。
図3は、学習回路26による処理を説明するための図である。学習回路26は、複数のシナプス回路40のそれぞれに設定されているウェイト値を更新する。学習回路26は、複数のシナプス回路40のそれぞれに設定されているウェイト値を、スパイクタイミング依存シナプス可塑性(STDP)学習により更新する。
学習回路26は、あるシナプス回路40(第1シナプス回路40−1)に設定されているウェイト値を式(1)に従い更新する。
ij(t+Δt)=Wij(t)+ΔWij(t)…(1)
Δtは、単位時間を表す。tは、任意の時刻を表す。(t+Δt)は、時刻(t)から単位時間(Δt)を経過した後の時刻を表す。
ij(t)は、時刻(t)において、第1シナプス回路40−1に設定されているウェイト値を表す。Wij(t+tΔ)は、時刻(t+Δt)において、第1シナプス回路40−1に設定されているウェイト値を表す。
ここで、ΔWij(t)は、式(2)のように算出される。
ΔWij(t)=ηSTDP(x(t)×x(t−Δt)−x(t−Δt)×x(t))…(2)
(t−Δt)は、時刻(t)から、単位時間(Δt)前の時刻を表す。ηSTDPは、所定の定数を表す。
(t)は、時刻(t)において、第1シナプス回路40−1に接続された後段ニューロン回路34から出力される信号の値を表す。x(t)は、時刻(t)において、第1シナプス回路40−1に接続された前段ニューロン回路32から出力される信号の値を表す。
(t−Δt)は、時刻(t−Δt)において、第1シナプス回路40−1に接続された後段ニューロン回路34から出力される信号の値を表す。x(t−Δt)は、時刻(t−Δt)において、第1シナプス回路40−1に接続された前段ニューロン回路32から出力される信号の値を表す。
なお、x(t)、x(t)、x(t−Δt)およびx(t−Δt)は、0または1を表す。また、x(t)、x(t)、x(t−Δt)およびx(t−Δt)は、1の場合に、発火を表す。
式(2)で表されるΔWij(t)は、時刻(t−Δt)において前段ニューロン回路32が発火し、単位時刻(Δt)後の時刻(t)において前段ニューロン回路32が発火した場合、ηSTDPとなり、他の場合には、0となる。
すなわち、学習回路26は、前段ニューロン回路32から出力される信号が発火したことに応じて、後段ニューロン回路34から出力される信号が発火した場合、シナプス回路40に設定されたウェイト値を所定量増加させる。これにより、学習回路26は、複数のシナプス回路40のそれぞれに設定されるウェイト値をSTDP学習させることができる。
図4は、シナプス回路40の構成を示す図である。
シナプス回路40は、ウェイト保持回路60と、ウェイト電流回路62と、入力スイッチ64と、キャパシタ66と、出力増幅回路68と、出力回路70と、電荷調整回路72と、第1定電流回路74と、第2定電流回路76と、正規化回路78と、制御回路80とを備える。
ウェイト保持回路60は、学習回路26により設定されたウェイト値(W)を保持する。ウェイト保持回路60は、例えばウェイト値(W)に応じて抵抗値が変化する可変抵抗器を含んでもよい。ウェイト保持回路60は、例えば、ウェイト値(W)に応じた電荷を蓄積する保持用キャパシタを含んでもよい。また、ウェイト保持回路60は、メモリ等を有し、ウェイト値(W)に応じたデジタル値を記憶してもよい。本実施形態においては、ウェイト保持回路60は、保持しているウェイト値(W)に応じたウェイト電圧(V)を出力する。
ウェイト電流回路62は、ウェイト保持回路60に設定されたウェイト値(W)に応じた電流値のウェイト電流(I)を流す。例えば、ウェイト電流回路62は、ウェイト値(W)に比例したウェイト電流(I)を流す。
ウェイト電流回路62は、入力スイッチ64がオン状態の場合に、ノードAからウェイト電流(I)を吸い出して、基準電位(グランド)へと流す。ウェイト電流回路62は、入力スイッチ64がオフ状態の場合に、ウェイト電流(I)を流さない(ウェイト電流を0とする)。
本実施形態においては、ウェイト電流回路62は、MOS−FET(Metal Oxide Semiconductor Field Effect Transistor)である。図4の例では、ウェイト電流回路62は、NチャネルMOS−FETである。
MOS−FETであるウェイト電流回路62は、ゲートにウェイト電圧(V)が印加され、ドレインがノードAに接続される。そして、MOS−FETであるウェイト電流回路62は、ウェイト電圧(V)に応じた電流量のウェイト電流(I)をドレイン−ソース間に流す。
入力スイッチ64は、前段ニューロン回路32から出力された2値の入力信号(Sin)に応じて、ウェイト電流回路62にウェイト電流(I)を流させるか否かを切り替える。例えば、入力スイッチ64は、入力信号(Sin)が1の場合に、ウェイト電流(I)を流させる。例えば、入力スイッチ64は、入力信号(Sin)が0の場合に、ウェイト電流(I)を流させない(つまり、ウェイト電流(I)を0とする)。
本実施形態においては、入力スイッチ64は、スイッチング動作をするMOS−FETである。図4の例では、入力スイッチ64は、NチャネルMOS−FETである。MOS−FETである入力スイッチ64は、ゲートに入力信号(Sin)が印加され、ドレインがウェイト電流回路62のソースに接続され、ソースが基準電位(グランド)に接続される。
そして、MOS−FETである入力スイッチ64は、入力信号(Sin)が1の場合にオン状態となり、ウェイト電流回路62のソースをグランドに接続することにより、ウェイト電流回路62にウェイト電流(I)を流させる。また、MOS−FETである入力スイッチ64は、入力信号(Sin)が0の場合にオフ状態となり、ウェイト電流回路62のソースをグランドから切断することにより、ウェイト電流回路62にウェイト電流(I)を流させない。
キャパシタ66は、第1端子66aおよび第2端子66bを有する。キャパシタ66の第1端子66aは、定電圧が発生される電源電位(例えば、VDD)に接続される。このようなキャパシタ66は、第1端子66aに定電圧が印加される。また、キャパシタ66は、第2端子66bにキャパシタ電圧(V)を発生する。キャパシタ電圧(V)は、電源電位から、キャパシタ66により発生される電圧を減じた値である。キャパシタ66により発生される電圧は、蓄積した電荷量を静電容量で除算した電圧である。
出力増幅回路68は、キャパシタ66の第2端子66bに発生するキャパシタ電圧(V)に応じてオン状態またはオフ状態を切り替える。例えば、出力増幅回路68は、キャパシタ電圧(V)が閾値電圧(V)以下である場合にオン状態となり、キャパシタ電圧(V)が閾値電圧(V)より大きい場合にオフ状態となる。
例えば、出力増幅回路68は、スイッチング動作をするMOS−FETである。図4の例では、出力増幅回路68は、PチャネルMOS−FETである。PチャネルMOS−FETである出力増幅回路68は、ゲートにキャパシタ電圧(V)が印加され、ソースが電源電位に接続され、ドレインが出力回路70に接続される。そして、MOS−FETである出力増幅回路68は、キャパシタ電圧(V)が閾値電圧(V)以下である場合にオン状態となり出力電流(Iout)を出力回路70に供給する。また、MOS−FETである出力増幅回路68は、キャパシタ電圧(V)が閾値電圧(V)より大きい場合にオフ状態となり、出力電流(Iout)の出力を停止する。
出力回路70は、キャパシタ66の第2端子66bに発生するキャパシタ電圧(V)に応じた出力信号(Sout)を出力する。例えば、出力回路70は、キャパシタ電圧(V)を閾値電圧(V)で2値化した2値の出力信号(Sout)を出力する。
例えば、出力回路70は、出力増幅回路68から出力電流(Iout)が供給された場合に1となり、出力増幅回路68から出力電流(Iout)が供給されない場合に0となる出力信号(Sout)を出力する。すなわち、この場合、出力回路70は、キャパシタ電圧(V)が閾値電圧(V)以下である場合に1となり、キャパシタ電圧(V)が閾値電圧(V)より大きい場合に0となる出力信号(Sout)を出力する。
なお、出力回路70は、アナログ値(連続値)の電流である出力信号(Sout)を出力してもよい。この場合、出力増幅回路68は、スイッチング動作をせずに、キャパシタ電圧(V)に応じたアナログ値(連続値)の出力電流(Iout)を流す電流増幅器として機能する。そして、出力回路70は、出力電流(Iout)をそのまま出力信号(Sout)として出力する。また、出力回路70は、出力電流(Iout)に応じたアナログ値(連続値)の電圧信号を、出力信号(Sout)として出力してもよい。
電荷調整回路72は、入力スイッチ64によりウェイト電流(I)が流される場合、ウェイト電流(I)の電流値に応じた時間変化量でキャパシタ66に蓄積される電荷を減少または増加させる。例えば、電荷調整回路72は、入力スイッチ64がオン状態の場合、つまり、入力信号(Sin)が1の場合、キャパシタ66に蓄積される電荷を減少または増加させる。
また、電荷調整回路72は、入力スイッチ64によりウェイト電流(I)が流されない場合、キャパシタ66に蓄積される電荷を一定とする。例えば、電荷調整回路72は、入力スイッチ64がオフ状態の場合、つまり、入力信号(Sin)が0の場合、キャパシタ66に蓄積される電荷を変化させない。
例えば、電荷調整回路72は、ダイオード接続されたMOS−FETである。図4の例では、電荷調整回路72は、ダイオード接続されたNチャネルMOS−FETである。NチャネルMOS−FETである電荷調整回路72は、ゲートとドレインとが接続され、ゲートにキャパシタ66の第2端子66bが接続され、ソースがノードAに接続される。そして、MOS−FETである電荷調整回路72は、ノードAにウェイト電流(I)が流れる場合、キャパシタ66の第2端子66bからキャパシタ電流(I)を吸い出してノードAへと供給する。または、MOS−FETである電荷調整回路72は、ノードAからキャパシタ電流(I)を吸い出してキャパシタ66の第2端子66bに供給する。
これにより、電荷調整回路72は、入力スイッチ64によりウェイト電流(I)が流される場合、キャパシタ電圧(V)を減少させ、入力スイッチ64によりウェイト電流(I)が流されない場合、キャパシタ電圧(V)を一定とさせることができる。従って、電荷調整回路72は、入力スイッチ64がオン状態の場合、つまり、入力信号(Sin)が1の場合、キャパシタ電圧(V)を減少させることができる。また、電荷調整回路72は、入力スイッチ64がオフ状態の場合、つまり、入力信号(Sin)が0の場合、キャパシタ電圧(V)を一定とすることができる。
第1定電流回路74は、入力スイッチ64によりウェイト電流(I)が流される場合、予め定められた一定の第1電流(Itau)をノードAへと供給する。例えば、第1定電流回路74は、MOS−FETである。図4の例では、第1定電流回路74は、PチャネルMOS−FETである。PチャネルMOS−FETである第1定電流回路74は、ゲートに予め定められた一定の第1電圧(Vtau)が印加され、ソースが電源電位に接続され、ドレインが電荷調整回路72のドレインに接続される。そして、このような第1定電流回路74は、入力スイッチ64によりウェイト電流(I)が流される場合、第1電流(Itau)を電荷調整回路72を介してノードAへと供給する。
第2定電流回路76は、入力スイッチ64によりウェイト電流(I)が流される場合、予め定められた一定の第2電流(Ithr)をノードAへと供給する。例えば、第2定電流回路76は、MOS−FETである。図4の例では、第2定電流回路76は、NチャネルMOS−FETである。NチャネルMOS−FETである第2定電流回路76は、ゲートに予め定められた一定の第2電圧(Vthr)が印加され、ドレインが電源電位に接続され、ソースがノードAに接続される。そして、このような第2定電流回路76は、入力スイッチ64によりウェイト電流(I)が流される場合、第2電流(Ithr)を電荷調整回路72を介してノードAへと供給する。
正規化回路78は、制御回路80による制御に応じて、予め設定された電流値の正規化電流(INW)をノードAへと出力する。正規化回路78は、電流発生回路82と、スイッチ回路84とを含む。電流発生回路82は、予め設定された電流値の正規化電流(INW)を発生する。スイッチ回路84は、制御回路80による制御に応じて、電流発生回路82から発生された正規化電流(INW)を、ノードAへと供給するか否かを切り替える。
制御回路80は、ウェイト値(W)に応じて、キャパシタ電流(I)から正規化電流(INW)を減じるか否かを切り替える。より具体的には、制御回路80は、ウェイト値(W)に応じて、正規化回路78からノードAへと正規化電流(INW)を出力させるか否かを切り替える。例えば、制御回路80は、ウェイト値(W)が設定された値以下である場合、正規化回路78からノードAへと正規化電流(INW)を出力させず、ウェイト値(W)が設定された値より大きい場合、正規化回路78からノードAへと正規化電流(INW)を出力させる。
例えば、制御回路80は、ウェイト電圧(V)が、予め設定された第1電圧範囲内である場合(例えば、ウェイト電圧(V)が予め設定された第1電圧値以下である場合)、正規化回路78からノードAへと正規化電流(INW)を出力させない。そして、制御回路80は、ウェイト電圧(V)が第1電圧範囲外となった場合(例えば、ウェイト電圧(V)が第1電圧値より大きくなった場合)、正規化回路78からノードAへと正規化電流(INW)を出力させる。
また、この場合、制御回路80は、正規化電流(INW)を出力させた後、ウェイト電圧(V)が第1電圧範囲内となっても(例えばウェイト電圧(V)が第1電圧値以下となっても)、正規化電流(INW)を出力させ続ける。これに代えて、制御回路80は、正規化電流(INW)を出力させた後、所定時間前から現在までの間、ウェイト電圧(V)が第1電圧範囲内である場合(例えばウェイト電圧(V)が第1電圧値以下である場合)、正規化電流(INW)の出力を停止させてもよい。
図5は、入力信号(Sin)、キャパシタ電圧(V)および出力信号(Sout)の一例を示す図である。
図4に示した回路において、キャパシタ電圧(V)は、入力信号(Sin)が0から1に変化した第1時刻(t)から減少を開始する。そして、出力信号(Sout)は、キャパシタ電圧(V)が閾値電圧(V)以下となった時刻で0から1に変化する。
ここで、キャパシタ電圧(V)の時間変化量は、ウェイト電流(I)の大きさに応じて変化する。ウェイト電流(I)は、ウェイト保持回路60により保持されているウェイト値(W)に応じた電流量である。
従って、出力信号(Sout)は、入力信号(Sin)が0から1に変化した第1時刻(t)から、ウェイト値(W)に応じた時間分遅延した時刻において、0から1に変化する。例えば、入力信号(Sin)が0から1に変化してから、出力信号(Sout)が0から1に変化する遅延時間は、ウェイト値(W)が大きい程、短い。従って、シナプス回路40は、前段ニューロン回路32から受け取った入力信号(Sin)をウェイト値(W)に応じた時間分遅延した出力信号(Sout)を生成し、生成した出力信号(Sout)を後段ニューロン回路34へと供給することができる。
さらに、キャパシタ電圧(V)の時間変化量は、正規化電流(INW)が出力されない状態(正規化オフ)から、正規化電流(INW)が出力された状態(正規化オン)かによっても変化する。より具体的には、正規化電流(INW)が出力される状態(正規化オン)のキャパシタ電圧(V)の時間変化量は、正規化電流(INW)が出力されない状態(正規化オフ)のキャパシタ電圧(V)の時間変化量より大きい。
このため、正規化電流(INW)が出力される場合(正規化オン)の遅延時間は、正規化電流(INW)が出力されない場合(正規化オフ)の遅延時間よりも長くなる。つまり、正規化オンの場合における出力信号(Sout)が0から1に変化する第3時刻(t)は、正規化オフの場合における出力信号(Sout)が0から1に変化する第2時刻(t)より遅い。
従って、制御回路80は、正規化電流(INW)が出力させた場合、ウェイト値(W)を一定値小さくした場合と同様の出力信号(Sout)を出力させることができる。つまり、制御回路80は、正規化処理をした場合と同様の処理を実行することができる。
以下、正規化電流(INW)が出力されない場合と、正規化電流(INW)が出力される場合の違いについてさらに説明する。
入力スイッチ64によりウェイト電流(I)が流される場合(入力スイッチ64がオン状態の場合)、シナプス回路40は、ノードAから基準電位(グランド)へとウェイト電流(I)を吸い出す。さらに、入力スイッチ64によりウェイト電流(I)が流され、且つ、正規化電流(INW)が出力されない場合(正規化オフの場合)、シナプス回路40は、電源電位側からノードAへと、第1電流(Itau)、第2電流(Ithr)およびキャパシタ電流(I)を供給する。従って、この場合、ノードAの電流は、式(11)に示すように表される。
=Itau+Ith+I…(11)
式(11)から、入力スイッチ64によりウェイト電流(I)が流され、且つ、正規化電流(INW)が出力されない場合、キャパシタ電流(I)は、式(12)に示すように表される。
=I−(Itau+Ith)…(12)
すなわち、入力スイッチ64によりウェイト電流(I)が流され、且つ、正規化電流(INW)が出力されない場合、キャパシタ電流(I)は、ウェイト電流(I)から、予め設定された電流値の一定電流を減じた電流値となる。
一方、入力スイッチ64によりウェイト電流(I)が流され(入力スイッチ64がオン状態)、且つ、正規化電流(INW)が出力される場合(正規化オンの場合)、シナプス回路40は、電源電位側からノードAへと、第1電流(Itau)、第2電流(Ithr)、キャパシタ電流(I)および正規化電流(INW)を供給する。従って、この場合、ノードAの電流は、式(13)に示すように表される。
=Itau+Ith+I+INW…(13)
式(13)から、入力スイッチ64によりウェイト電流(I)が流され、且つ、正規化電流(INW)が出力さえる場合、キャパシタ電流(I)は、式(14)に示すように表される。
=I−INW−(Itau+Ith)…(14)
すなわち、入力スイッチ64によりウェイト電流(I)が流され、且つ、正規化電流(INW)が出力される場合、キャパシタ電流(I)は、ウェイト電流(I)から、予め設定された電流値の一定電流および正規化電流を減じた電流値である。
式(12)および式(14)から、正規化電流(INW)が出力されない場合のキャパシタ電流(正規化オフ時のI)と、正規化電流(INW)が出力される場合のキャパシタ電流(正規化オン時のI)とは、式(15)のような関係になることが分かる。
正規化オフ時のI>正規化オン時のI…(15)
このように、制御回路80は、正規化電流(INW)をノードAへと出力させることにより、電源電位側からノードAへと供給される電流量を多くすることができる。電源電位側からノードAに供給される電流量が多くなると、キャパシタ電流(I)は、相対的に小さくなる。従って、制御回路80は、正規化電流(INW)を出力させていない状態(正規化オフ)から、正規化電流(INW)を出力させている状態(正規化オン)に切り替えることにより、キャパシタ66に蓄積する電荷の時間変化量を小さくすることができる。すなわち、制御回路80は、正規化電流(INW)を出力させていない状態(正規化オフ)から、正規化電流(INW)を出力させている状態(正規化オン)に切り替えることにより、キャパシタ電圧(V)の時間変化量を小さくすることができる。
図6は、正規化回路78の第1の回路構成例を示す図である。正規化回路78は、例えば、図6に示すような回路である。
図6に示す正規化回路78の電流発生回路82は、第1電界効果トランジスタ86と、第2電界効果トランジスタ88と、定電流源90とを含む。
第1電界効果トランジスタ86は、ダイオード接続され、ゲートが第2電界効果トランジスタ88のゲートに接続されている。図6の例では、第1電界効果トランジスタ86は、PチャネルMOS−FETである。この場合、第1電界効果トランジスタ86は、ソースが電源電位に接続され、ゲートがドレインに接続されている。
第2電界効果トランジスタ88は、第1電界効果トランジスタ86のドレイン−ソース間に流れる電流に応じた電流をドレイン−ソース間に流す。図6の例では、第2電界効果トランジスタ88は、NチャネルMOS−FETである。この場合、第2電界効果トランジスタ88は、ゲートが第1電界効果トランジスタ86のゲートに接続され、ドレインが電源電位に接続され、ソースがスイッチ回路84に接続されている。
定電流源90は、第1電界効果トランジスタ86のドレイン−ソースに対して直列に接続される。定電流源90は、定電流を流す。図6の例では、定電流源90は、第1電界効果トランジスタ86のドレインと、基準電位(グランド)との間に接続される。
また、図6に示す正規化回路78のスイッチ回路84は、第2電界効果トランジスタ88のソースから出力される電流を、正規化電流(INW)としてノードAへと出力させる。図6の例では、スイッチ回路84は、NチャネルMOS−FETである。この場合、スイッチ回路84は、ゲートに制御回路80からの制御信号が印加され、ドレインが第2電界効果トランジスタ88のソースに接続され、ソースがノードAに接続される。制御回路80は、スイッチ回路84に制御信号を与えて、スイッチ回路84を導通状態または切断状態に切り替える。
このような構成の正規化回路78は、制御回路80からの制御信号に応じて、定電流源90から出力される定電流に応じた電流を、正規化電流(INW)としてノードAに供給することができる。
図7は、正規化回路78の第2の回路構成例を示す図である。正規化回路78は、例えば、図7に示すような回路であってもよい。
図7に示す正規化回路78の電流発生回路82は、抵抗92を含む。抵抗92は、一方の端子が電源電位に接続され、他方の端子がスイッチ回路84に接続されている。
また、図7に示す正規化回路78のスイッチ回路84は、抵抗92に流れる電流を、正規化電流(INW)として出力させる。図7の例では、スイッチ回路84は、NチャネルMOS−FETである。この場合、スイッチ回路84は、ゲートに制御回路80からの制御信号が印加され、ドレインが抵抗92に接続され、ソースがノードAに接続される。制御回路80は、スイッチ回路84に制御信号を与えて、スイッチ回路84を導通状態または切断状態に切り替える。
このような構成の正規化回路78は、制御回路80からの制御信号に応じて、抵抗92に流れる電流を、正規化電流(INW)としてノードAに供給することができる。
図8は、正規化回路78の第3の回路構成例を示す図である。正規化回路78は、例えば、図8に示すような回路であってもよい。
図8に示す正規化回路78の電流発生回路82は、第3電界効果トランジスタ94を含む。第3電界効果トランジスタ94は、ドレイン−ソース間に一定の電流を流す。図8に示す例では、第3電界効果トランジスタ94は、NチャネルMOS−FETである。この場合、第3電界効果トランジスタ94は、ゲートに予め定められた定電圧(V)が印加され、ドレインが電源電位に接続され、スイッチ回路84に接続されている。
また、図8に示す正規化回路78のスイッチ回路84は、第3電界効果トランジスタ94のドレイン−ソース間に流れる電流を、正規化電流(INW)として出力させる。図8の例では、スイッチ回路84は、NチャネルMOS−FETである。この場合、スイッチ回路84は、ゲートに制御回路80からの制御信号が印加され、ドレインが第3電界効果トランジスタ94のソースに接続され、ソースがノードAに接続される。制御回路80は、スイッチ回路84に制御信号を与えて、スイッチ回路84を導通状態または切断状態に切り替える。
このような構成の正規化回路78は、制御回路80からの制御信号に応じて、第3電界効果トランジスタ94のドレイン−ソース間に流れる電流を、正規化電流(INW)としてノードAに供給することができる。
図9は、制御回路80の第1の処理例を示す図である。制御回路80は、例えば、図9に示すような流れで処理を実行する。
まず、S11において、制御回路80は、ウェイト保持回路60から出力されるウェイト電圧(V)を取得する。続いて、S12において、制御回路80は、ウェイト電圧(V)が所定電圧(Vmax)より大きいか否かを判断する。制御回路80は、ウェイト電圧(V)が所定電圧(Vmax)より大きくない場合(S12のNo)、処理をS13に進める。
S13において、制御回路80は、正規化をオフとする制御信号を正規化回路78に与える。正規化をオフとする制御信号を受け取った場合、正規化回路78は、正規化電流(INW)を出力しない。制御回路80は、S13の後、処理をS11に戻す。
また、制御回路80は、ウェイト電圧(V)が所定電圧(Vmax)より大きい場合(S12のYes)、処理をS14に進める。S14において、制御回路80は、正規化をオンとする制御信号を正規化回路78に与える。正規化をオンとする制御信号を受け取った場合、正規化回路78は、正規化電流(INW)を出力する。
正規化電流(INW)が出力された場合、キャパシタ電圧(V)の時間変化量は、正規化電流(INW)が出力されない場合と比較して、小さくなる。この結果、シナプス回路40は、入力信号(Sin)が0から1に変化してから、出力信号(Sout)が0から1に変化するまでの遅延時間を、長くすることができる。これにより、シナプス回路40は、ウェイト値(W)を一定値小さくした場合と同様の出力信号(Sout)を出力させることができる。つまり、シナプス回路40は、ウェイト値(W)に対して正規化処理をした場合と同様の処理を実行することができる。
制御回路80は、正規化をオンとする制御信号を出力した後、本フローを終了する。すなわち、制御回路80は、正規化電流(INW)を出力させた後、正規化電流(INW)を出力させ続ける。
このような処理をすることにより、制御回路80は、ウェイト電圧(V)が予め設定された第1電圧範囲内である場合(例えば、ウェイト電圧(V)が所定電圧(Vmax)より大きくない場合)、正規化回路78から正規化電流(INW)を出力させないことができる。また、制御回路80は、ウェイト電圧(V)が、第1電圧範囲外となった場合(例えば、ウェイト電圧(V)が所定電圧(Vmax)より大きくなった場合)、正規化電流(INW)を出力させることができる。さらに、制御回路80は、正規化電流(INW)を出力させた後、ウェイト電圧(V)が第1電圧範囲内となっても(例えば、ウェイト電圧(V)が所定電圧(Vmax)以下となっても)、正規化電流(INW)を出力させ続けることができる。
図10は、制御回路80の第2の処理例を示す図である。制御回路80は、例えば、図10に示すような流れで処理を実行してもよい。
図10に示す処理は、図9に示した処理と比較して、S21の処理が加わっている。制御回路80は、ウェイト電圧(V)が所定電圧(Vmax)より大きくない場合(S12のNo)、処理をS13ではなく、S21に進める。
S21において、制御回路80は、所定時間前から現在までの間に、ウェイト電圧(V)が所定電圧(Vmax)より大きくなったことがあるか否かを判断する。所定時間前から現在までの間に、ウェイト電圧(V)が所定電圧(Vmax)より大きくなったことが無い場合(S21のNo)、制御回路80は、処理をS13に進める。
そして、S13において、制御回路80は、正規化をオフとする制御信号を正規化回路78に与える。正規化をオフとする制御信号を受け取った場合、正規化回路78は、正規化電流(INW)を出力しない。制御回路80は、S13の後、処理をS11に戻す。
制御回路80は、ウェイト電圧(V)が所定電圧(Vmax)より大きい場合(S12のYes)、または、所定時間前から現在までの間に、ウェイト電圧(V)が所定電圧(Vmax)より大きくなったことがある場合(S21のYes)、処理をS14に進める。
S14において、制御回路80は、正規化をオンとする制御信号を正規化回路78に与える。そして、制御回路80は、S14の後、処理をS11に戻す。
このような処理を実行することにより、制御回路80は、ウェイト電圧(V)が、第1電圧範囲外となった場合(例えば、ウェイト電圧(V)が所定電圧(Vmax)より大きくなった場合)、正規化電流(INW)を出力させることができる。さらに、制御回路80は、正規化電流(INW)を出力させた後、所定時間前から現在までの間、ウェイト電圧(V)が第1電圧範囲内である場合、正規化電流(INW)の出力を停止させることができる。
図11は、変形例に係る複数のシナプス回路40および後段ニューロン回路34の接続関係を示す図である。ニューラルネットワーク装置10は、複数のシナプス回路40のそれぞれが有する制御回路80に代えて、複数のシナプス回路40に対して共通の制御回路80を備えてもよい。
制御回路80は、同一の後段ニューロン回路34に対して出力信号(Sout)を出力する2以上のシナプス回路40を共通に制御してもよい。この場合、制御回路80は、これら2以上のシナプス回路40のそれぞれのウェイト保持回路60に保持されたウェイト値(W)を取得する。そして、制御回路80は、取得した2以上のウェイト値(W)に応じて、これら2以上のシナプス回路40のそれぞれのキャパシタ電流(I)から正規化電流(INW)を減じるか否かを切り替える。
例えば、制御回路80は、同一の後段ニューロン回路34に対して出力信号を出力する2以上のシナプス回路40における全てのウェイト電圧(V)が、第1電圧範囲内である場合、2以上のシナプス回路40における全ての正規化回路78から正規化電流(INW)を出力させない。制御回路80は、同一の後段ニューロン回路34に対して出力信号を出力する2以上のシナプス回路40における、少なくとも1つのウェイト電圧(V)が第1電圧範囲外となった場合、2以上のシナプス回路40における全ての正規化回路78から正規化電流(INW)を出力させる。
これにより、制御回路80は、同一の後段ニューロン回路34に接続されている2以上のシナプス回路40に設定されている複数のウェイト値(W)の和を一定値以下にするように調整する正規化処理と、同様の処理を実行することができる。
図12は、制御回路80の第1の処理例を示す図である。制御回路80は、同一の後段ニューロン回路34に接続されている2以上のシナプス回路40に対して、図12に示すような流れで処理を実行する。
まず、S31において、制御回路80は、2以上のシナプス回路40のそれぞれからウェイト電圧(V)を取得する。続いて、S32において、制御回路80は、2以上のウェイト電圧(V)のうちの最大のウェイト電圧(V)を検出する。
続いて、S33において、制御回路80は、最大のウェイト電圧(V)が所定電圧(Vmax)より大きいか否かを判断する。制御回路80は、最大のウェイト電圧(V)が所定電圧(Vmax)より大きくない場合(S33のNo)、処理をS34に進める。
S34において、制御回路80は、正規化をオフとする制御信号を、2以上のシナプス回路40のそれぞれの正規化回路78に与える。正規化をオフとする制御信号を受け取った場合、2以上のシナプス回路40のそれぞれの正規化回路78は、正規化電流(INW)を出力しない。制御回路80は、S34の後、処理をS31に戻す。
また、制御回路80は、最大のウェイト電圧(V)が所定電圧(Vmax)より大きい場合(S33のYes)、処理をS35に進める。S35において、制御回路80は、正規化をオンとする制御信号を、2以上のシナプス回路40のそれぞれの正規化回路78に与える。正規化をオンとする制御信号を受け取った場合、2以上のシナプス回路40のそれぞれの正規化回路78は、正規化電流(INW)を出力する。
正規化電流(INW)が出力された場合、キャパシタ電圧(V)の時間変化量は、正規化電流(INW)が出力されない場合と比較して、小さくなる。この結果、シナプス回路40は、入力信号(Sin)が0から1に変化してから、出力信号(Sout)が0から1に変化するまでの遅延時間を、長くすることができる。これにより、シナプス回路40は、ウェイト値(W)を一定値小さくした場合と同様の出力信号(Sout)を出力させることができる。つまり、シナプス回路40は、ウェイト値(W)に対して正規化処理をした場合と同様の処理を実行することができる。
制御回路80は、正規化をオンとする制御信号を出力した後、本フローを終了する。すなわち、制御回路80は、正規化電流(INW)を出力させた後、正規化電流(INW)を出力させ続ける。
制御回路80は、同一の後段ニューロン回路34に対して出力信号を出力する2以上のシナプス回路40における全てのウェイト電圧(V)が、第1電圧範囲内である場合、2以上のシナプス回路40のそれぞれの正規化回路78から正規化電流(INW)を出力させないことができる。また、制御回路80は、同一の後段ニューロン回路34に対して出力信号を出力する2以上のシナプス回路40における、少なくとも1つのウェイト電圧(V)が第1電圧範囲外となった場合、2以上のシナプス回路40のそれぞれの正規化回路78から正規化電流(INW)を出力させることができる。さらに、制御回路80は、正規化電流(INW)を出力させた後、2以上のシナプス回路40における全てのウェイト電圧(V)が第1電圧範囲内となっても、2以上のシナプス回路40のそれぞれの正規化回路78から正規化電流(INW)を出力させ続けることができる。
図13は、制御回路80の第2の処理例を示す図である。制御回路80は、同一の後段ニューロン回路34に接続されている2以上のシナプス回路40に対して、図13に示すような流れで処理を実行してもよい。
図13に示す処理は、図12に示した処理と比較して、S41の処理が加わっている。制御回路80は、最大のウェイト電圧(V)が所定電圧(Vmax)より大きくない場合(S33のNo)、処理をS34ではなく、S41に進める。
S41において、制御回路80は、所定時間前から現在までの間に、最大のウェイト電圧(V)が所定電圧(Vmax)より大きくなったことがあるか否かを判断する。所定時間前から現在までの間に、最大のウェイト電圧(V)が所定電圧(Vmax)より大きくなったことが無い場合(S41のNo)、制御回路80は、処理をS34に進める。
そして、S34において、制御回路80は、正規化をオフとする制御信号を、2以上のシナプス回路40のそれぞれの正規化回路78に与える。正規化をオフとする制御信号を受け取った場合、正規化回路78は、正規化電流(INW)を出力しない。制御回路80は、S34の後、処理をS31に戻す。
制御回路80は、最大のウェイト電圧(V)が所定電圧(Vmax)より大きい場合(S33のYes)、または、所定時間前から現在までの間に、最大のウェイト電圧(V)が所定電圧(Vmax)より大きくなったことがある場合(S41のYes)、処理をS35に進める。
S35において、制御回路80は、正規化をオンとする制御信号を、2以上のシナプス回路40のそれぞれの正規化回路78に与える。そして、制御回路80は、S35の後、処理をS31に戻す。
このような処理を実行することにより、制御回路80は、最大のウェイト電圧(V)が、第1電圧範囲外となった場合、2以上のシナプス回路40のそれぞれの正規化回路78から正規化電流(INW)を出力させることができる。さらに、制御回路80は、正規化電流(INW)を出力させた後、所定時間前から現在までの間、2以上のシナプス回路40における全てのウェイト電圧(V)が第1電圧範囲内である場合、正規化電流(INW)の出力を停止させることができる。
以上のように、本実施形態に係るニューラルネットワーク装置10によれば、適切に推論することができるようにニューロンの発火を調整する正規化処理を、簡易な構成で行うことができる。これにより、本実施形態に係るニューラルネットワーク装置10によれば、精度の良い推論を実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 ニューラルネットワーク装置
22 レイヤ
24 シナプス部
26 学習回路
30 ニューロン回路
32 前段ニューロン回路
34 後段ニューロン回路
40 シナプス回路
60 ウェイト保持回路
62 ウェイト電流回路
64 入力スイッチ
66 キャパシタ
68 出力増幅回路
70 出力回路
72 電荷調整回路
74 第1定電流回路
76 第2定電流回路
78 正規化回路
80 制御回路
82 電流発生回路
84 スイッチ回路
86 第1電界効果トランジスタ
88 第2電界効果トランジスタ
90 定電流源
92 抵抗
94 第3電界効果トランジスタ

Claims (15)

  1. ウェイト値が設定され、前段ニューロン回路から2値の入力信号を受け取り、後段ニューロン回路へと出力信号を出力するシナプス回路であって、
    前記ウェイト値に応じた電流値のウェイト電流を流すウェイト電流回路と、
    前記入力信号に応じて、前記ウェイト電流回路に前記ウェイト電流を流させるか否かを切り替える入力スイッチと、
    第1端子および第2端子を有し、前記第1端子に定電圧が印加されるキャパシタと、
    前記第2端子に発生するキャパシタ電圧に応じた前記出力信号を出力する出力回路と、
    前記入力スイッチにより前記ウェイト電流が流される場合、前記第2端子から前記ウェイト電流の電流値に応じたキャパシタ電流を吸い出す、または、前記キャパシタ電流を前記第2端子に供給することにより、前記キャパシタに蓄積される電荷を減少または増加させる電荷調整回路と、
    前記ウェイト値に応じて、前記キャパシタ電流から予め定められた電流値の電流を減じるか否かを切り替える制御回路と、
    を備えるシナプス回路。
  2. 予め定められた電流値の正規化電流を出力する正規化回路をさらに備え、
    前記制御回路は、前記ウェイト値に応じて、前記正規化回路から、前記キャパシタ電流から減じる前記電流として前記正規化電流を出力させるか否かを切り替え、
    前記キャパシタ電流は、
    前記入力スイッチにより前記ウェイト電流が流され、且つ、前記正規化電流が出力されない場合、前記ウェイト電流から、予め設定された一定電流を減じた電流値であり、
    前記入力スイッチにより前記ウェイト電流が流され、且つ、前記正規化電流が出力される場合、前記ウェイト電流から、前記一定電流および前記正規化電流を減じた電流値である
    請求項1に記載のシナプス回路。
  3. 前記正規化回路は、
    ダイオード接続された第1電界効果トランジスタと、
    ゲートが、前記第1電界効果トランジスタのゲートに接続された第2電界効果トランジスタと、
    前記第1電界効果トランジスタのドレイン−ソースに直列に接続され、定電流を流す定電流源と、
    前記第2電界効果トランジスタのドレイン−ソースに対して直列に接続されたスイッチ回路と、
    を有し、
    前記正規化回路は、前記第2電界効果トランジスタのドレイン−ソース間に流れる電流を前記正規化電流として出力し、
    前記制御回路は、前記スイッチ回路を導通状態または切断状態に切り替える
    請求項2に記載のシナプス回路。
  4. 前記正規化回路は、
    一方の端子が電源電位に接続された抵抗と、
    前記抵抗における前記電源電位とは異なる端子と前記ウェイト電流回路との間に接続されたスイッチ回路と、
    を有し、
    前記正規化回路は、前記抵抗に流れる電流を前記正規化電流として出力し、
    前記制御回路は、前記スイッチ回路を導通状態または切断状態に切り替える
    請求項2に記載のシナプス回路。
  5. 前記正規化回路は、
    ゲートに所定電圧が印加された第3電界効果トランジスタと、
    前記第3電界効果トランジスタのドレイン−ソースに対して直列に接続されたスイッチ回路と、
    を有し、
    前記正規化回路は、前記第3電界効果トランジスタのドレイン−ソース間に流れる電流を前記正規化電流として出力し、
    前記制御回路は、前記スイッチ回路を導通状態または切断状態に切り替える
    請求項2に記載のシナプス回路。
  6. 前記ウェイト値を記憶し、前記ウェイト値に応じた電圧値のウェイト電圧を出力するウェイト保持回路をさらに備え、
    前記ウェイト電流回路は、前記ウェイト電圧に応じた電流値の前記ウェイト電流を流す
    請求項2から5の何れか1項に記載のシナプス回路。
  7. 前記制御回路は、
    前記ウェイト電圧が、予め設定された第1電圧範囲内である場合、前記正規化回路から前記正規化電流を出力させず、
    前記ウェイト電圧が前記第1電圧範囲外となった場合、前記正規化電流を出力させる
    請求項6に記載のシナプス回路。
  8. 前記制御回路は、前記正規化電流を出力させた後、前記ウェイト電圧が前記第1電圧範囲内となっても、前記正規化電流を出力させ続ける
    請求項7に記載のシナプス回路。
  9. 前記制御回路は、前記正規化電流を出力させた後、所定時間前から現在までの間、前記ウェイト電圧が前記第1電圧範囲内である場合、前記正規化電流の出力を停止させる
    請求項7に記載のシナプス回路。
  10. それぞれが複数のニューロン回路を含む、N段(Nは2以上の整数)のレイヤと、
    (N−1)個のシナプス部と、
    を備え、
    前記(N−1)個のシナプス部のそれぞれは、
    それぞれに固有のウェイト値が設定された複数のシナプス回路と、
    制御回路と、
    を有し、
    前記(N−1)個のシナプス部のうちのn番目(nは、1以上、(N−1)以下の整数)のシナプス部に含まれる前記複数のシナプス回路のそれぞれは、n段目のレイヤに含まれる前記複数のニューロン回路のうちの1つの前段ニューロン回路から出力された信号を2値の入力信号として受け取り、(n+1)段目のレイヤに含まれる前記複数のニューロン回路のうちの1つの後段ニューロン回路に出力信号を与え、
    前記N段のレイヤのうちの(n+1)段目のレイヤに含まれる前記複数のニューロン回路のそれぞれは、前記n番目のシナプス部に含まれる何れか2以上のシナプス回路から出力された2以上の前記出力信号を受け取り、受け取った2以上の前記出力信号に基づき発火する信号を出力し、
    前記複数のシナプス回路のそれぞれは、
    前記ウェイト値に応じた電流値のウェイト電流を流すウェイト電流回路と、
    前記入力信号に応じて、前記ウェイト電流回路に前記ウェイト電流を流させるか否かを切り替える入力スイッチと、
    第1端子および第2端子を有し、前記第1端子に定電圧が印加されるキャパシタと、
    前記第2端子に発生するキャパシタ電圧に応じた前記出力信号を出力する出力回路と、
    前記入力スイッチにより前記ウェイト電流が流される場合、前記第2端子から前記ウェイト電流の電流値に応じたキャパシタ電流を吸い出す、または、前記キャパシタ電流を前記第2端子に供給することにより、前記キャパシタに蓄積される電荷を減少または増加させる電荷調整回路と、
    を有し、
    前記制御回路は、前記複数のシナプス回路のそれぞれについて、前記ウェイト値に応じて、前記キャパシタ電流から予め定められた電流値の電流を減じるか否かを切り替える
    ニューラルネットワーク装置。
  11. 前記複数のシナプス回路のそれぞれは、
    予め定められた電流値の正規化電流を出力する正規化回路をさらに備え、
    前記制御回路は、前記複数のシナプス回路のそれぞれについて、前記ウェイト値に応じて、前記正規化回路から、前記キャパシタ電流から減じる前記電流として前記正規化電流を出力させるか否かを切り換え、
    前記キャパシタ電流は、
    前記入力スイッチにより前記ウェイト電流が流され、且つ、前記正規化電流が出力されない場合、前記ウェイト電流から、予め設定された一定電流を減じた電流値であり、
    前記入力スイッチにより前記ウェイト電流が流され、且つ、前記正規化電流が出力される場合、前記ウェイト電流から、前記一定電流および前記正規化電流を減じた電流値である
    請求項10に記載のニューラルネットワーク装置。
  12. 前記複数のシナプス回路のそれぞれは、
    前記ウェイト値を記憶し、前記ウェイト値に応じた電圧値のウェイト電圧を出力するウェイト保持回路をさらに備え、
    前記ウェイト電流回路は、前記複数のシナプス回路のそれぞれについて、前記ウェイト電圧に応じた電流値の前記ウェイト電流を流す
    請求項11に記載のニューラルネットワーク装置。
  13. 前記制御回路は、前記複数のシナプス回路のそれぞれについて、
    前記ウェイト電圧が、予め設定された第1電圧範囲内である場合、前記正規化回路から前記正規化電流を出力させず、
    前記ウェイト電圧が前記第1電圧範囲外となった場合、前記正規化電流を出力させる
    請求項12に記載のニューラルネットワーク装置。
  14. 前記制御回路は、同一の前記後段ニューロン回路に対して前記出力信号を出力する2以上のシナプス回路における全ての前記ウェイト電圧が、前記第1電圧範囲内である場合、前記正規化回路から前記正規化電流を出力させず、
    前記2以上のシナプス回路における、少なくとも1つの前記ウェイト電圧が前記第1電圧範囲外となった場合、前記正規化電流を出力させる
    請求項13に記載のニューラルネットワーク装置。
  15. 前記(N−1)個のシナプス部のそれぞれに含まれる前記複数のシナプス回路に設定された前記ウェイト値を、前記前段ニューロン回路から出力された信号が発火したことに応じて、前記後段ニューロン回路から出力された信号が発火した場合、所定量増加させる学習回路をさらに備える
    請求項10から14の何れか1項に記載のニューラルネットワーク装置。
JP2020038543A 2020-03-06 2020-03-06 シナプス回路およびニューラルネットワーク装置 Active JP7271463B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020038543A JP7271463B2 (ja) 2020-03-06 2020-03-06 シナプス回路およびニューラルネットワーク装置
US17/005,731 US12073311B2 (en) 2020-03-06 2020-08-28 Synaptic circuit and neural network apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020038543A JP7271463B2 (ja) 2020-03-06 2020-03-06 シナプス回路およびニューラルネットワーク装置

Publications (2)

Publication Number Publication Date
JP2021140531A true JP2021140531A (ja) 2021-09-16
JP7271463B2 JP7271463B2 (ja) 2023-05-11

Family

ID=77555792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020038543A Active JP7271463B2 (ja) 2020-03-06 2020-03-06 シナプス回路およびニューラルネットワーク装置

Country Status (2)

Country Link
US (1) US12073311B2 (ja)
JP (1) JP7271463B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210649A (ja) * 1992-01-24 1993-08-20 Mitsubishi Electric Corp 神経回路網表現装置
JPH11265418A (ja) * 1998-03-18 1999-09-28 Japan Science & Technology Corp 連続パルス遅延機能を有する軸索回路
JP2010146514A (ja) * 2008-12-22 2010-07-01 Sharp Corp 情報処理装置及びこれを用いたニューラルネットワーク回路
JP2017529592A (ja) * 2014-08-08 2017-10-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated 非同期パルス変調を用いた人工ニューロンおよびスパイキングニューロン
US20190279078A1 (en) * 2018-03-09 2019-09-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Artificial neuron synaptic weights implemented with variable dissolvable conductive paths

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI894021A (fi) * 1988-08-31 1990-03-01 Fujitsu Ltd Neuronstruktur.
JP3305267B2 (ja) * 1998-08-07 2002-07-22 株式会社モノリス シナプス素子、しきい値回路およびニューロン装置
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
JP6501146B2 (ja) * 2014-03-18 2019-04-17 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法
US20150278681A1 (en) * 2014-04-01 2015-10-01 Boise State University Memory controlled circuit system and apparatus
US11176451B2 (en) * 2018-10-12 2021-11-16 International Business Machines Corporation Capacitor based resistive processing unit with symmetric weight update

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210649A (ja) * 1992-01-24 1993-08-20 Mitsubishi Electric Corp 神経回路網表現装置
JPH11265418A (ja) * 1998-03-18 1999-09-28 Japan Science & Technology Corp 連続パルス遅延機能を有する軸索回路
JP2010146514A (ja) * 2008-12-22 2010-07-01 Sharp Corp 情報処理装置及びこれを用いたニューラルネットワーク回路
JP2017529592A (ja) * 2014-08-08 2017-10-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated 非同期パルス変調を用いた人工ニューロンおよびスパイキングニューロン
US20190279078A1 (en) * 2018-03-09 2019-09-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Artificial neuron synaptic weights implemented with variable dissolvable conductive paths

Also Published As

Publication number Publication date
US20210279558A1 (en) 2021-09-09
US12073311B2 (en) 2024-08-27
JP7271463B2 (ja) 2023-05-11

Similar Documents

Publication Publication Date Title
JP7132196B2 (ja) 処理装置および推論システム
KR20140141778A (ko) Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
US10366326B2 (en) Unit having an artificial neuron and a memristor
JP6926037B2 (ja) シナプス回路、演算装置およびニューラルネットワーク装置
JP6989552B2 (ja) ニューラルネットワーク装置
JP7447034B2 (ja) シナプス回路およびニューラルネットワーク装置
CN114528984A (zh) 一种用于脉冲神经网络的多输入神经元电路
JP2021140531A (ja) シナプス回路およびニューラルネットワーク装置
US12093809B2 (en) Arithmetic device and neural network device
Khalid et al. Memristor crossbar-based pattern recognition circuit using perceptron learning rule
JPH0628504A (ja) ニューラル・ネットワーク
KR0178805B1 (ko) 스스로 학습이 가능한 다층 신경회로망 및 학습 방법
KR20190066400A (ko) 다중 레벨의 가중치 소자
CN111630528B (zh) 类神经电路以及运作方法
US11443177B2 (en) Artificial neuromorphic circuit and operation method
JP7482071B2 (ja) 記憶装置およびニューラルネットワーク装置
CN113110040A (zh) 一种基于stdp学习规则的突触电路
Sarkar et al. A new supervised learning approach for visual pattern recognition using discrete circuit elements and memristor array
Hansen et al. A time-multiplexed switched-capacitor circuit for neural network applications
Gi et al. Implementation of STDP Learning for Non-volatile Memory-based Spiking Neural Network using Comparator Metastability
US11468307B2 (en) Artificial neuromorphic circuit and operation method
JP7358312B2 (ja) 記憶装置およびニューラルネットワーク装置
CN210924660U (zh) 类神经电路
EP0970420A1 (en) Associative neuron in an artificial neural network
CN114089630A (zh) 一种基于stdp学习规则的低功耗非对称性可调突触电路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230426

R151 Written notification of patent or utility model registration

Ref document number: 7271463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151