(57)【要約】【課題】人体のニューロンと同様の形態でエネルギー源を有することができる。【解決手段】実施形態に係るニューラルネットワーク装置は、複数のニューロン回路を備える。複数のニューロン回路のそれぞれは、積分回路と、発火回路と、二次電池とを有する。積分回路は、入力信号を積分した積分信号を出力する。発火回路は、積分信号に応じて、後段のニューロン回路へと伝達されるパルス信号を発生する。二次電池は、パルス信号を発生させるための駆動電力を発火回路に供給する。【選択図】図３
2020154412.tif 000002
【特許請求の範囲】
【請求項１】
複数のニューロン回路を備えるニューラルネットワーク装置であって、
前記複数のニューロン回路のそれぞれは、
入力信号を積分した積分信号を出力する積分回路と、
前記積分信号に応じて、後段のニューロン回路へと伝達されるパルス信号を発生する発火回路と、
前記パルス信号を発生させるための駆動電力を前記発火回路に供給する二次電池と、
を有するニューラルネットワーク装置。
【請求項２】
前記ニューラルネットワーク装置は、複数のシナプス回路をさらに備え、
前記複数のニューロン回路のそれぞれは、前記複数のシナプス回路のうちの、２以上のシナプス回路が対応付けられ、対応付けられた前記２以上のシナプス回路から２以上の前記入力信号を取得し、
前記２以上のシナプス回路のそれぞれは、
係数が設定されており、
前記複数のニューロン回路のうちの何れか１つの前段のニューロン回路により発生された前記パルス信号を受け取り、
受け取った前記パルス信号と設定されている前記係数とを乗じた値を表す前記入力信号を生成し、
生成した前記入力信号を、対応する前記ニューロン回路に与える
請求項１に記載のニューラルネットワーク装置。
【請求項３】
前記積分回路は、対応付けられた前記２以上のシナプス回路から取得した２以上の前記入力信号を積分する
請求項２に記載のニューラルネットワーク装置。
【請求項４】
前記二次電池は、前記発火回路から前記パルス信号が出力されたことに応じて、発生する電源電圧が減少し、
前記電源電圧の減少に応じて、対応付けられた前記２以上のシナプス回路のうちの前記入力信号を与えた対象のシナプス回路に設定されている前記係数を更新する係数更新回路
をさらに備える請求項３に記載のニューラルネットワーク装置。
【請求項５】
前記係数更新回路は、前記電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、前記対象のシナプス回路に設定されている前記係数を更新する
請求項４に記載のニューラルネットワーク装置。
【請求項６】
前記係数更新回路は、前記電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、前記対象のシナプス回路に前記電源電圧を印加する
請求項４に記載のニューラルネットワーク装置。
【請求項７】
前記係数更新回路は、
更新回路内二次電池を含み、
前記電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、前記対象のシナプス回路に前記更新回路内二次電池から発生された電圧を印加する
請求項４に記載のニューラルネットワーク装置。
【請求項８】
前記複数のシナプス回路のそれぞれは、印加された電圧に応じてコンダクタンスを変化させる抵抗変化メモリ素子を有し、
前記抵抗変化メモリ素子は、前記コンダクタンスが前記係数を表し、
前記抵抗変化メモリ素子は、前記前段のニューロン回路により発生された前記パルス信号のタイミングで電圧が印加され、
前記複数のシナプス回路のそれぞれは、前記抵抗変化メモリ素子に流れる電流を、前記入力信号として、対応する前記ニューロン回路に与える
請求項４に記載のニューラルネットワーク装置。
【請求項９】
前記係数更新回路は、
前記電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、前記対象のシナプス回路が有する前記抵抗変化メモリ素子に、前記二次電池から発生される前記電源電圧を印加し、
前記電源電圧が予め定められた閾値以下または予め定められた閾値以上ではない場合、前記対象のシナプス回路が有する前記抵抗変化メモリ素子と、前記二次電池との間を切断する
請求項８に記載のニューラルネットワーク装置。
【請求項１０】
前記係数更新回路は、
更新回路内二次電池を含み、
前記電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、前記対象のシナプス回路が有する前記抵抗変化メモリ素子に、前記更新回路内二次電池から発生される電圧を印加し、
前記電源電圧が予め定められた閾値以下または予め定められた閾値以上ではない場合、前記対象のシナプス回路が有する前記抵抗変化メモリ素子と、前記更新回路内二次電池との間を切断する
請求項８に記載のニューラルネットワーク装置。
【請求項１１】
前記複数のニューロン回路のそれぞれが有する前記二次電池を充電する充電回路をさらに備える
請求項１から１０の何れか１項に記載のニューラルネットワーク装置。
【請求項１２】
前記充電回路は、前記二次電池を定期的に充電する
請求項１１に記載のニューラルネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ニューラルネットワーク装置に関する。
【背景技術】
【０００２】
近年、ハードウェア化したニューラルネットワークを用いて、脳型プロセッサを実現する技術が提案されている。脳型プロセッサは、人工ニューロンを有する。人工ニューロンは、他のニューロンからシナプスを介して信号を受け取り、受け取った信号が閾値を超えると発火をする。人工ニューロンは、この発火をするために電力を消費する。
【０００３】
人体のニューロンは、血液により運ばれた糖質および酸素によってエネルギーを作り出す、と推定される。つまり、個々のニューロンは、電力を発生するエネルギー源としても機能している。脳型プロセッサは、人体のニューロンと同様の形態でエネルギー源を有することが脳を模擬するために好ましい、と考えられる。
【０００４】
また、脳は、スパイクタイミング依存シナプス可塑性（ＳＴＤＰ）と呼ばれる学習規則が存在する、と推定されている。ＳＴＤＰは、ニューロン発火のタイミングによってシナプス強度が変更される学習規則である。従来、このようなＳＴＤＰを模擬する脳型プロセッサは、人工ニューロンとは別に、ニューロン発火のタイミングをシナプスにフィードバックするパスを有する。しかしながら、人体の脳には、ニューロンとは別のフィードバックパスは存在していない、と推定される。また、人工ニューロンとは別のフィードバックパスを備えた場合、脳型プロセッサは、回路規模が大きくなってしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１８／０２４７１７９号明細書
【特許文献２】特開２０１７−２２８２９５号公報
【非特許文献】
【０００６】
【非特許文献１】Irem  Boybat  et  al.，  “Neuromorphic  computing  with  multi-memristive  synapses”，  Nature  Communications  volume  9  page  2514  (2018)
【非特許文献２】Abu  Sebastian  et  al.，  “Brain-inspired  computing  using  phase-change  memory  devices”，  JOURNAL  OF  APPLIED  PHYSICS  124,  111101  (2018)
【非特許文献３】Stanislaw  Wozniak  et  al.，  “Neuromorphic  Architecture  With  1M  Memristive  Synapses  for  Detection  of  Weakly  Correlated  Inputs”，  IEEE  Transactions  on  Circuits  and  Systems  II:  Express  Briefs，Volume:  64  Issue:11,  Nov.2017
【非特許文献４】Wei  Wang  et  al.,  “Learning  of  spatiotemporal  patterns  in  a  spiking  neural  network  with  resistive  switching  synapses”,  Science  Advances  2018:Vol.4:no.9:eaat4752,  American  Association  for  the  Advancement  of  Science
【非特許文献５】Yusuke  Nishitani  et  al.,  “Three-terminal  ferroelectric  synapse  device  with  concurrent  learning  function  for  artificial  neural  networks”,  Journal  of  Applied  Physics  111,  124108  (2012)”,  22  June.  2012
【非特許文献６】Xinyu  Wu  et  al.，  “A  CMOS  Spiking  Neuron  for  Brain-Inspired  Neural  Networks  With  Resistive  Synapses  and  In  Situ  Learning”，  IEEE  TRANSACTIONS  ON  CIRCUITS  AND  SYSTEMS-II:  EXPRESS  BRIEFS，VOL.  62,  NO.  11,  November  2015
【非特許文献７】Atsuya  Sasaki  et  al.，  “Fabrication  of  solid-state  secondary  battery  using  semiconductors  and  evaluation  of  its  charge/discharge  characteristics”，  Japanese  Journal  of  Applied  Physics，  57,  041201  (2018)，3  March  2018
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、人体のニューロンと同様の形態でエネルギー源を有することができるニューラルネットワーク装置を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態に係るニューラルネットワーク装置は、複数のニューロン回路を備える。前記複数のニューロン回路のそれぞれは、積分回路と、発火回路と、二次電池とを有する。前記積分回路は、入力信号を積分した積分信号を出力する。前記発火回路は、前記積分信号に応じて、後段のニューロン回路へと伝達されるパルス信号を発生する。前記二次電池は、前記パルス信号を発生させるための駆動電力を前記発火回路に供給する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るニューラルネットワーク装置の構成図。
【図２】演算部の構成図。
【図３】ニューロン回路およびシナプス回路の構成図。
【図４】ニューロン回路およびシナプス回路の信号波形図。
【図５】充電回路を備える演算部の構成図。
【図６】変形例に係るニューロン回路およびシナプス回路の構成図。
【図７】変形例に係るニューロン回路およびシナプス回路の信号波形図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態に係るニューラルネットワーク装置１０について説明する。実施形態に係るニューラルネットワーク装置１０は、人体のニューロンと同様の形態でエネルギー源を有することができる。さらに、実施形態に係るニューラルネットワーク装置１０は、ニューロンとは別のフィードバックパスを有さずに、ニューロン発火のタイミングをフィードバックすることができる。
【００１１】
図１は、実施形態に係るニューラルネットワーク装置１０の構成を示す図である。ニューラルネットワーク装置１０は、演算部２０と、通信部２２とを備える。演算部２０および通信部２２は、１つの半導体装置に実装されてもよいし、複数の半導体装置に分散して実装されていてもよい。
【００１２】
ニューラルネットワーク装置１０は、外部装置から入力データを受信する。ニューラルネットワーク装置１０は、受信した入力データに対してニューラルネットワークに従った演算処理を実行する。そして、ニューラルネットワーク装置１０は、ニューラルネットワークに従った演算処理の結果である出力データを外部装置に送信する。
【００１３】
演算部２０は、ニューラルネットワークに基づく通常の演算処理をハードウェア回路により実行する。演算部２０は、例えば、ニューラルネットワークに基づく通常の演算処理として、パターン認識処理、データ解析処理および制御処理等の様々な情報処理を実行する。
【００１４】
また、演算部２０は、通常の演算処理と並行して、学習処理を実行する。演算部２０は、学習処理により、通常の演算処理をより適切に行うように、ニューラルネットワークに含まれる複数の係数（重み）を変更する。例えば、演算部２０は、ＳＴＤＰの学習規則を模擬した学習処理により、複数の係数を変更する。
【００１５】
通信部２２は、外部装置とデータを送受信する。具体的には、通信部２２は、外部装置から、演算対象となる入力データを受信する。また、通信部２２は、外部装置へ、演算結果である出力データを送信する。
【００１６】
図２は、演算部２０の構成を示す図である。演算部２０は、受信した入力データに対してニューラルネットワークに従った演算処理を実行する。
【００１７】
ニューラルネットワークは、複数の層を含む。複数の層のそれぞれは、受け取ったデータに対して所定の演算および処理をする。ニューラルネットワークに含まれる複数の層のそれぞれは、複数のノードを含む。複数のノードのそれぞれは、ニューロンに相当する。１つの層に含まれるノードの数は、層毎に異なってもよい。
【００１８】
また、ニューラルネットワークは、前段の層に含まれる複数のノードのそれぞれから、次段の層に含まれる複数のノードの全てへと信号を伝播する複数のリンクを含む。複数のリンクのそれぞれは、シナプスに相当する。また、複数のリンクのそれぞれは、係数が設定されている。係数は、信号の伝達のしやすさを表すシナプス強度に相当する。
【００１９】
演算部２０は、複数のノードに対応する機能として、ハードウェアにより実現された複数のニューロン回路３０を備える。さらに、演算部２０は、複数のリンクに対応する機能として、ハードウェアにより実現された複数のシナプス回路４０も備える。
【００２０】
複数のニューロン回路３０のそれぞれは、複数のシナプス回路４０のうちの２以上のシナプス回路４０が、対応付けられている。１つのニューロン回路３０に対応付けられている２以上のシナプス回路４０は、前段の層に含まれる２以上のニューロン回路３０と一対一の関係となっている。つまり、１つのニューロン回路３０に対応付けられているシナプス回路４０の数は、前段の層に含まれるニューロン回路３０の数と同一である。
【００２１】
複数のニューロン回路３０のそれぞれは、対応付けられた２以上のシナプス回路４０から２以上の入力信号を取得する。そして、複数のニューロン回路３０のそれぞれは、取得した２以上の入力信号に応じて、発火する。複数のニューロン回路３０のそれぞれは、発火した場合、パルス信号を発生する。
【００２２】
複数のシナプス回路４０のそれぞれは、係数が設定されている。複数のシナプス回路４０のそれぞれは、前段のニューロン回路３０により発生されたパルス信号を受け取る。複数のシナプス回路４０のそれぞれは、受け取ったパルス信号と、設定されている係数とを乗じた値を表す入力信号を生成する。そして、複数のシナプス回路４０のそれぞれは、生成したパルス信号を、対応するニューロン回路３０（後段のニューロン回路３０）に与える。
【００２３】
また、複数のニューロン回路３０のそれぞれは、パルス信号の発生タイミングを内部においてフィードバックすることにより、対応するシナプス回路４０に設定されている係数を更新する。例えば、複数のニューロン回路３０のそれぞれは、パルス信号を発生した場合、対応付けられた２以上のシナプス回路４０のうちの入力信号を与えた対象のシナプス回路４０に設定されている係数を更新する。
【００２４】
なお、ニューラルネットワークの初段の層は、外部装置から入力データを受け取り、受け取った入力データに応じた入力信号を、次の層に含まれる複数のニューロン回路３０へと与える。従って、ニューラルネットワークの初段の層は、前段にシナプス回路４０が対応付けられていなくてよい。また、ニューラルネットワークの初段の層は、演算および処理を実行しない。
【００２５】
図３は、ニューロン回路３０、および、ニューロン回路３０に対応する２以上のシナプス回路４０の回路構成を示す図である。
【００２６】
１つのニューロン回路３０の前段には、２以上のシナプス回路４０が対応付けられている。２以上のシナプス回路４０のそれぞれは、さらに前段のニューロン回路３０から受け取ったパルス信号と、設定されている係数とを乗じた値を表す入力信号を、対応するニューロン回路３０へと与える。
【００２７】
例えば、シナプス回路４０は、抵抗変化メモリ素子４２と、スイッチ４４とを含む。
【００２８】
抵抗変化メモリ素子４２は、印加された電圧に応じてコンダクタンスを変化させる可変抵抗である。抵抗変化メモリ素子４２のコンダクタンスは、シナプス回路４０に設定されている係数を表す。抵抗変化メモリ素子４２は、例えば、ＲｅＲＡＭ（Resistive  Random  Access  Memory）に用いられる抵抗素子であってもよいし、メモリスタであってもよい。
【００２９】
スイッチ４４は、前段のニューロン回路３０により発生されたパルス信号を受け取ったタイミングにおいて、抵抗変化メモリ素子４２に所定の定電圧を印加する。例えば、スイッチ４４は、パルス信号を受け取ったタイミングから所定期間、抵抗変化メモリ素子４２に電圧を印加する。なお、スイッチ４４により印加させる電圧は、抵抗変化メモリ素子４２のコンダクタンスを変化させない程度の小さい電圧である。
【００３０】
このようなシナプス回路４０は、抵抗変化メモリ素子４２に流れる電流を、入力信号として、対応するニューロン回路３０に与えることができる。抵抗変化メモリ素子４２に流れる電流は、スイッチ４４により抵抗変化メモリ素子４２に印加された電圧と、抵抗変化メモリ素子４２のコンダクタンスとを乗じた値を表す。従って、このようなシナプス回路４０は、受け取ったパルス信号と設定されている係数とを乗じた値を表す入力信号を、対応するニューロン回路３０に与えることができる。
【００３１】
ニューロン回路３０は、２以上の入力端子６２と、出力端子６４と、積分回路６６と、発火回路６８と、二次電池７０と、係数更新回路７２とを有する。
【００３２】
２以上の入力端子６２は、ニューロン回路３０に対応付けられている２以上のシナプス回路４０に接続される。２以上の入力端子６２は、対応付けられた２以上のシナプス回路４０から、２以上の入力信号を取得する。例えば、２以上の入力端子６２のそれぞれは、対応するシナプス回路４０の抵抗変化メモリ素子４２に流れる電流を、入力信号として受け取る。この場合、２以上の入力端子６２は、内部において接続される。
【００３３】
積分回路６６は、２以上の入力端子６２により取得された２以上の入力信号を積分する。例えば、積分回路６６は、２以上の入力信号を加算して、時間積分する。そして、積分回路６６は、積分値を表す積分信号を出力する。
【００３４】
例えば、積分回路６６は、２以上の入力端子６２から受け取った電流を加算し、加算した電流の時間積分をした値を表す積分信号を出力する。この場合、例えば、積分回路６６は、抵抗、キャパシタおよび演算増幅器を接続したアナログ積分回路であってもよい。このアナログ積分回路は、２以上の入力端子６２に流れる電流を加算した合計電流をキャパシタに蓄積し、キャパシタに発生した電圧を表す値を、積分信号として出力する。
【００３５】
発火回路６８は、積分回路６６から出力された積分信号に応じて、後段のニューロン回路３０へと伝達されるパルス信号を発生する。例えば、発火回路６８は、積分信号が予め定められた値以上または以下となった場合に、所定のパルス幅のパルス信号を発生する。例えば、積分信号が電圧信号である場合、発火回路６８は、入力電圧と基準電圧とを比較するコンパレータであってもよい。
【００３６】
また、発火回路６８は、積分信号の値が高い程、高い確率でパルス信号を発生する確率回路であってもよい。
【００３７】
二次電池７０は、内部に電力を蓄積し、電源電圧を発生する。二次電池７０は、積分動作のための駆動電力を積分回路６６に供給する。さらに、二次電池７０は、パルス信号を発生させるための駆動電力を発火回路６８に供給する。例えば、二次電池７０は、電源電圧を、積分回路６６および発火回路６８に供給する。
【００３８】
ここで、二次電池７０は、それぞれのニューロン回路３０に個別に設けられている。すなわち、演算部２０は、複数のニューロン回路３０に対して共通に設けられた１つの二次電池７０を有していない。これにより、二次電池７０は、人体のニューロンと同様の形態でエネルギー源として機能することができる。
【００３９】
二次電池７０は、積分回路６６および発火回路６８を十分に動作させることが可能な程度のエネルギー容量を有する。また、二次電池７０は、発火回路６８がパルス信号を発生した場合、所定量の電圧降下が生じる程度の放電特性を有する。すなわち、二次電池７０は、発火回路６８からパルス信号が出力されたことに応じて、発生する電源電圧が減少する。ただし、二次電池７０は、発火回路６８がパルス信号を発生した後も、少なくとも所定以上の電力を残存させることができるエネルギー容量を有する。より具体的には、二次電池７０は、発火回路６８がパルス信号を発生した後も、抵抗変化メモリ素子４２のコンダクタンスを変化させることができる程度の電力を残存させる。
【００４０】
例えば、二次電池７０は、半導体基板上に作成される。例えば、二次電池７０は、非特許文献７に示されるような、固体電解質と金属との積層薄膜を有する構成であってよい。
【００４１】
また、二次電池７０は、外部の充電回路８０により充電がされる。なお、充電回路８０による二次電池７０に対する充電については、図５を参照して後述する。
【００４２】
係数更新回路７２は、発火回路６８がパルス信号を発生したことによる二次電池７０の電源電圧の減少に応じて、対応付けられた１以上のシナプス回路４０のうちの入力信号を与えた対象のシナプス回路４０に設定されている係数を更新する。入力信号を与えた対象のシナプス回路４０は、例えば、前段のニューロン回路３０からパルス信号を受け取った回路である。
【００４３】
例えば、係数更新回路７２は、電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、対象のシナプス回路４０に設定されている係数を更新する。より具体的には、例えば、係数更新回路７２は、電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、対象のシナプス回路４０が有する抵抗変化メモリ素子４２に電源電圧を印加する。
【００４４】
抵抗変化メモリ素子４２は、二次電池７０から発生された電源電圧が印加された場合、所定量以上の電流（電荷）が流れる。この結果、抵抗変化メモリ素子４２は、コンダクタンスが変化する。従って、係数更新回路７２は、対象のシナプス回路４０が有する抵抗変化メモリ素子４２に電源電圧を印加することにより、対象のシナプス回路４０に設定されている係数を更新することができる。
【００４５】
例えば、係数更新回路７２は、電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、二次電池７０の電源電圧の発生端子と、入力端子６２との間を、短絡させるスイッチング回路であってもよい。このスイッチング回路は、電源電圧が予め定められた閾値以下または予め定められた閾値以上ではない場合、二次電池７０の電源電圧の発生端子と、入力端子６２との間を切断させる。このような動作をするスイッチング回路は、ドレインとゲートの間を短絡したＭＯＳ−ＦＥＴを、二次電池７０の電源電圧の発生端子と入力端子６２との間に設けることにより、実現することができる。これにより、係数更新回路７２は、電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、対象のシナプス回路４０が有する抵抗変化メモリ素子４２に電源電圧を印加することができる。
【００４６】
このような係数更新回路７２は、発火回路６８が発生したパルス信号のタイミングをニューロン回路３０の内部のパスを介して取得し、取得したタイミングに基づき、シナプス回路４０に設定されている係数を更新することができる。つまり、係数更新回路７２は、発火回路６８が発生したパルス信号のタイミングをニューロン回路３０の外部のパスを経由せずに取得することができる。これにより、係数更新回路７２は、ニューロンが発火したタイミングに応じてシナプス強度を更新する学習処理（ＳＴＤＰ）を、簡易な回路で実行することができる。
【００４７】
図４は、ニューロン回路３０およびシナプス回路４０の信号波形を示す図である。
【００４８】
図４（Ａ）は、シナプス回路４０が受け取るスイッチング信号（ＳＩＮ）を示す。図４（Ｂ）は、積分回路６６から出力される積分信号（ＶＢ）を示す。図４（Ｃ）は、発火回路６８から出力されるパルス信号（ＳＯＵＴ）を示す。図４（Ｄ）は、二次電池７０から出力される電源電圧（ＶＤＤ）を示す。図４（Ｅ）は、係数更新回路７２の動作を表す。図４（Ｆ）は、入力端子６２の電圧（ＶＡ）を示す。
【００４９】
まず、図４（Ａ）に示すように、時刻ｔ１において、何れかのシナプス回路４０が受け取るスイッチング信号（ＳＩＮ）は、オフからオンに変化する。例えば、スイッチング信号（ＳＩＮ）は、前段のニューロン回路３０からパルス信号が発生されたタイミングにおいて、オフからオンに変化する。スイッチング信号（ＳＩＮ）がオンとなった場合、スイッチ４４は、オンとなる。この結果、抵抗変化メモリ素子４２は、所定電圧が印加される。これにより、前段のニューロン回路３０からパルス信号を受け取った対象のシナプス回路４０は、抵抗変化メモリ素子４２に印加された電圧と、抵抗変化メモリ素子４２のコンダクタンスとを乗じた電流を、入力信号として積分回路６６に与えることができる。
【００５０】
そして、時刻ｔ１から所定時間経過した時刻ｔ４において、スイッチング信号（ＳＩＮ）は、オンからオフに変化する。スイッチング信号（ＳＩＮ）がオフとなった場合、スイッチ４４は、オフとなる。
【００５１】
積分回路６６は、抵抗変化メモリ素子４２に印加された電圧と、抵抗変化メモリ素子４２のコンダクタンスとを乗じた電流を、入力信号として受け取る。この結果、図４（Ｂ）に示すように、積分回路６６は、時刻ｔ１から徐々に増加する積分信号（ＶＢ）を出力する。
【００５２】
発火回路６８は、積分信号（ＶＢ）に応じて発火する。例えば、発火回路６８は、積分信号（ＶＢ）が予め定められた値に到達したタイミングで発火する。また、例えば、発火回路６８は、積分信号（ＶＢ）が予め定められた値を超えたタイミングで発火してもよい。本例では、図４（Ｃ）に示すように、時刻ｔ１の後の時刻ｔ２において、発火回路６８は、所定の時間幅のパルス信号（ＳＯＵＴ）を発生する。
【００５３】
二次電池７０は、発火回路６８がパルス信号（ＳＯＵＴ）を発生した場合、電源電圧（ＶＤＤ）を徐々に低下させる。本例では、図４（Ｄ）に示すように、電源電圧（ＶＤＤ）は、時刻ｔ２から低下を開始する。
【００５４】
係数更新回路７２は、電源電圧（ＶＤＤ）が所定の閾値以下となった場合、オフからオンに切り替わる。係数更新回路７２は、オフの場合、二次電池７０と入力端子６２との間を切断する。係数更新回路７２は、オンの場合、二次電池７０と入力端子６２との間を接続する。本例では、図４（Ｅ）に示すように、時刻ｔ２の後の時刻ｔ３において、係数更新回路７２は、オフからオンに切り替わる。これにより、係数更新回路７２は、時刻ｔ３から、入力端子６２への電源電圧（ＶＤＤ）の印加を開始することができる。
【００５５】
入力端子６２に電源電圧（ＶＤＤ）が印加された場合、対象のシナプス回路４０（スイッチ４４がオンとなっているシナプス回路４０）に含まれる抵抗変化メモリ素子４２に、電源電圧（ＶＤＤ）が印加される。本例では、図４（Ｆ）に示すように、時刻ｔ３から時刻ｔ４までの間において、抵抗変化メモリ素子４２は、電源電圧（ＶＤＤ）が印加される。
【００５６】
電源電圧（ＶＤＤ）は、抵抗変化メモリ素子４２のコンダクタンスを書き換えることが可能な程度に大きな電圧である。従って、スイッチ４４がオンとなっている期間において、入力端子６２に電源電圧（ＶＤＤ）が印加された場合、抵抗変化メモリ素子４２のコンダクタンスは、変化する。従って、図４（Ｆ）に示すように、時刻ｔ３から時刻ｔ４までの間において、係数更新回路７２は、抵抗変化メモリ素子４２のコンダクタンスを変化させることができる。すなわち、時刻ｔ３から時刻ｔ４までの間において、係数更新回路７２は、対象のシナプス回路４０に設定されている係数を更新することができる。
【００５７】
このようにニューロン回路３０は、パルス信号（ＳＯＵＴ）をフィードバックする外部パスを有さずに、シナプス回路４０に設定された係数を更新することができる。
【００５８】
なお、パルス信号（ＳＯＵＴ）が発生する時刻ｔ３が、スイッチング信号（ＳＩＮ）がオンからオフに変化する時刻ｔ４より前である場合、係数更新回路７２は、対象のシナプス回路４０に設定されている係数を更新する。しかし、時刻ｔ３が時刻ｔ４より後である場合、係数更新回路７２は、対象のシナプス回路４０に設定されている係数を更新しない。従って、このようなニューロン回路３０は、ニューロン発火のタイミングによってシナプス強度が変更される学習規則であるＳＴＤＰを模擬した係数の更新をすることができる。
【００５９】
図５は、充電回路８０を備える演算部２０の構成を示す図である。演算部２０は、充電回路８０をさらに備える。充電回路８０は、複数のニューロン回路３０に対して共通に設けられる。
【００６０】
充電回路８０は、複数のニューロン回路３０のそれぞれが有する二次電池７０を充電する。例えば、充電回路８０は、二次電池７０を定期的に充電する。これにより、パルス信号を発生することにより電力が消費された場合であっても、二次電池７０は、新たに電力を蓄積することができる。従って、ニューロン回路３０は、繰り返し動作をすることができる。
【００６１】
以上のように、本実施形態に係るニューラルネットワーク装置１０は、複数のニューロン回路３０のそれぞれが二次電池７０を有する。これにより、ニューラルネットワーク装置１０によれば、人体のニューロンと同様の形態でエネルギー源を有することができる。
【００６２】
さらに、本実施形態に係るニューラルネットワーク装置１０は、複数のニューロン回路３０のそれぞれが、二次電池７０が発生する電源電圧の減少に応じて入力信号を与えた対象のシナプス回路４０に設定されている係数を更新する。これにより、ニューラルネットワーク装置１０によれば、ニューロン回路３０とは別のフィードバックパスを有さずに、ニューロン発火のタイミングをフィードバックして、シナプス回路４０に設定されている係数を更新することができる。
【００６３】
図６は、変形例に係るニューロン回路３０、および、変形例に係るニューロン回路３０に対応する２以上のシナプス回路４０の回路構成を示す図である。
【００６４】
変形例に係るニューロン回路３０は、係数更新回路７２の構成が、図３に示した回路構成と異なる。変形例に係るニューロン回路３０については、図３に示した回路との共通点については詳細な説明を省略する。
【００６５】
変形例に係る係数更新回路７２は、更新回路内二次電池９２と、更新回路内スイッチ９４とを有する。
更新回路内二次電池９２は、内部に電力を蓄積し、電圧を発生する。更新回路内二次電池９２は、抵抗変化メモリ素子４２のコンダクタンスを変化させることができる程度の電力を蓄積する。更新回路内二次電池９２は、二次電池７０と同一構成であってよい。また、更新回路内二次電池９２は、二次電池７０と同様に外部の充電回路８０により充電がされてもよい。
【００６６】
ただし、更新回路内二次電池９２は、基準電位（例えばグランド）に対して、二次電池７０とは逆方向の極性で接続される。従って、更新回路内二次電池９２は、電源電圧に対してマイナスの電圧を発生する。
【００６７】
更新回路内スイッチ９４は、二次電池７０から発生された電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、対象のシナプス回路４０が有する抵抗変化メモリ素子４２に、更新回路内二次電池９２から発生される電圧を印加する。例えば、更新回路内スイッチ９４は、電源電圧が予め定められた閾値以下または予め定められた閾値以上となった場合、更新回路内二次電池９２の電圧の発生端子と、入力端子６２との間を、短絡させる。
【００６８】
また、更新回路内スイッチ９４は、電源電圧が予め定められた閾値以下または予め定められた閾値以上ではない場合、対象のシナプス回路４０が有する抵抗変化メモリ素子４２と、更新回路内二次電池９２との間を切断する。例えば、更新回路内スイッチ９４は、二次電池７０から発生された電源電圧が予め定められた閾値以下または予め定められた閾値以上ではない場合、更新回路内二次電池９２の電圧の発生端子と、入力端子６２との間を切断させる。
【００６９】
このような動作をする更新回路内スイッチ９４は、例えば、ＭＯＳ−ＦＥＴのソース−ドレインを更新回路内二次電池９２の電圧の発生端子と入力端子６２と間に接続し、ゲートを二次電池７０の電源電圧の発生端子に接続することにより、実現することができる。
【００７０】
図７は、変形例に係るニューロン回路３０およびシナプス回路４０の信号波形を示す図である。
【００７１】
図７（Ａ）〜図７（Ｄ）は、図４（Ａ）から図４（Ｄ）と同一の信号波形である。図４（Ｅ）は、係数更新回路７２が有する更新回路内スイッチ９４の動作を表す。図４（Ｆ）は、入力端子６２の電圧（ＶＡ）を示す。
【００７２】
係数更新回路７２が有する更新回路内スイッチ９４は、二次電池７０により発生された電源電圧（ＶＤＤ）が所定の閾値以下となった場合、オフからオンに切り替わる。更新回路内スイッチ９４は、オフの場合、更新回路内二次電池９２と入力端子６２との間を切断する。更新回路内スイッチ９４は、オンの場合、更新回路内二次電池９２と入力端子６２との間を接続する。本例では、図７（Ｅ）に示すように、時刻ｔ３において、更新回路内スイッチ９４は、オフからオンに切り替わる。
【００７３】
本例においては、更新回路内二次電池９２は、電源電圧（ＶＤＤ）とは極性が逆のマイナス電圧を発生する。これにより、更新回路内スイッチ９４は、時刻ｔ３から、入力端子６２に、更新回路内二次電池９２から発生されたマイナス電圧の印加を開始することができる。
【００７４】
入力端子６２に更新回路内二次電池９２から発生されたマイナス電圧が印加された場合、対象のシナプス回路４０（スイッチ４４がオンとなっているシナプス回路４０）に含まれる抵抗変化メモリ素子４２に、更新回路内二次電池９２から発生されたマイナス電圧が印加される。本例では、図７（Ｆ）に示すように、時刻ｔ３から時刻ｔ４までの間において、抵抗変化メモリ素子４２は、マイナス電圧が印加される。
【００７５】
更新回路内二次電池９２から発生されたマイナス電圧は、抵抗変化メモリ素子４２のコンダクタンスを書き換えることが可能な電圧である。従って、スイッチ４４がオンとなっている期間において、入力端子６２に更新回路内二次電池９２から発生されたマイナス電圧が印加された場合、抵抗変化メモリ素子４２のコンダクタンスは、変化する。従って、図７（Ｆ）に示すように、時刻ｔ３から時刻ｔ４までの間において、係数更新回路７２は、抵抗変化メモリ素子４２のコンダクタンスを変化させることができる。すなわち、時刻ｔ３から時刻ｔ４までの間において、係数更新回路７２は、対象のシナプス回路４０に設定されている係数を更新することができる。
【００７６】
このように、変形例に係るニューロン回路３０も、パルス信号（ＳＯＵＴ）をフィードバックする外部パスを有さずに、シナプス回路４０に設定された係数を更新することができる。
【００７７】
このような変形例に係るニューロン回路３０は、発火回路６８が発生したパルス信号のタイミングを内部のパスを介して取得し、取得したタイミングに基づき、シナプス回路４０に設定されている係数を更新することができる。つまり、変形例に係るニューロン回路３０は、発火回路６８が発生したパルス信号のタイミングを外部のパスを経由せずに取得することができる。これにより、変形例に係る係数更新回路７２は、ニューロンが発火したタイミングに応じてシナプス強度を更新する学習処理（ＳＴＤＰ）を、簡易な回路で実行することができる。
【００７８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７９】
１０  ニューラルネットワーク装置
２０  演算部
２２  通信部
３０  ニューロン回路
４０  シナプス回路
４２  抵抗変化メモリ素子
４４  スイッチ
６２  入力端子
６４  出力端子
６６  積分回路
６８  発火回路
７０  二次電池
７２  係数更新回路
８０  充電回路
９２  更新回路内二次電池
９４  更新回路内スイッチ
【図１】
2020154412.tif 000003
【図２】
2020154412.tif 000004
【図３】
2020154412.tif 000005
【図４】
2020154412.tif 000006
【図５】
2020154412.tif 000007
【図６】
2020154412.tif 000008
【図７】
2020154412.tif 000009