(57)【要約】      （修正有）【課題】エラーバックプロパゲーション学習動作を適切に行うニューラルネットワーク回路及びその学習方法を提供する。【解決手段】ニューラルネットワーク回路の誤差演算回路は、出力信号と、出力信号に対応する教師信号との時間差に応じた大きさの誤差電圧信号Ｖｅｒｒｏｒを生成する。荷重変更パルス電圧信号ＶＰＯＳＴ１は、この信号を出力したニューロン回路３０が含まれるニューラルネットワーク回路素子４０のシナプス回路２０に入力され、スイッチングパルス電圧信号ＶＰＯＳＴ２は、この信号を出力したニューロン回路３０が含まれるニューラルネットワーク回路素子４０とは別のニューラルネットワーク回路素子４０のシナプス回路２０に入力される。ニューラルネットワーク回路素子４０は、誤差演算回路で生成された誤差電圧信号Ｖｅｒｒｏｒに基づいて荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅を変更する。【選択図】図１
2015195011.tif 000002
【特許請求の範囲】
【請求項１】
複数のニューラルネットワーク回路素子と、
誤差演算回路と、
少なくとも１つの入力信号端子と、
少なくとも１つの出力信号端子と、を備え、
前記少なくとも１つの入力信号端子に入力される入力信号から前記少なくとも１つの出力信号端子から出力される少なくとも１つの出力信号を得るためのニューラルネットワーク回路であって、
前記誤差演算回路は、前記少なくとも１つの出力信号と、前記少なくとも１つの出力信号端子の数と等しい数の教師信号と、が入力され、前記出力信号と、前記出力信号に対応する前記教師信号との時間差に応じた大きさの電圧信号である誤差電圧信号を生成するよう構成され、
前記ニューラルネットワーク回路素子は、少なくとも１つのシナプス回路と、１つのニューロン回路と、を備え、
前記シナプス回路は、パルス電圧の印加により抵抗値が変化する抵抗変化素子を備え、
前記ニューロン回路は、時間の経過とともに基準値から所定のピーク値に至り、前記ピーク値から再び前記基準値へ戻るような所定の第１波形を有する荷重変更パルス電圧信号と、所定の時間幅を定める所定の第２波形を有するスイッチングパルス電圧信号と、を生成する波形発生回路を備え、
前記荷重変更パルス電圧信号は、当該荷重変更パルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子の前記シナプス回路に入力され、
前記スイッチングパルス電圧信号は、当該スイッチングパルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子の前記シナプス回路に入力され、
前記ニューラルネットワーク回路素子は、前記誤差演算回路で生成された前記誤差電圧信号に基づいて前記荷重変更パルス電圧信号の振幅を変更するよう構成され、
前記シナプス回路は、当該シナプス回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力されたスイッチングパルス電圧信号における前記所定の時間幅を有する期間、当該スイッチングパルス電圧信号と前記シナプス回路が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号との時間差に応じた電圧によって当該シナプス回路における前記抵抗変化素子の抵抗値を変化させるよう構成される、ニューラルネットワーク回路。
【請求項２】
前記教師信号は、前記出力信号との時間差が０である場合に基準電位となり、前記出力信号との時間差が所定の範囲内である場合に前記基準電位を中心電位として双極性に前記時間差が大きくなるほど前記中心電位との電位差が大きくなり、前記時間差が前記所定の範囲外である場合に振幅が前記所定の範囲内における電位差の最大値が保持されるような信号である、請求項１に記載のニューラルネットワーク回路。
【請求項３】
前記誤差演算回路は、前記出力信号端子と同じ数の時間差演算回路と、１つの和算回路と、を備え、
前記時間差演算回路は、それぞれ、対応する前記出力信号端子から出力される前記出力信号と、当該出力信号に対応する前記教師信号との時間差に応じた前記誤差電圧信号を生成し、前記誤差電圧信号を、出力される信号が前記出力信号端子から出力される前記出力信号となる前記ニューラルネットワーク回路素子に含まれる前記ニューロン回路に入力し、
前記和算回路は、前記時間差演算回路のそれぞれにおいて生成された前記誤差電圧信号を和算した和算電圧信号を生成し、前記和算電圧信号を、出力される信号が前記出力信号端子から出力される前記出力信号ではない前記ニューラルネットワーク回路素子に含まれる前記ニューロン回路に入力するよう構成される、請求項１または２に記載のニューラルネットワーク回路。
【請求項４】
前記抵抗変化素子は、
第１端子、第２端子、および第３端子を具備し、
前記第１端子と前記第２端子との間には、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力された前記スイッチングパルス電圧信号に基づいた定電圧が印加され、
前記第１端子と前記第３端子との間には、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力されたスイッチングパルス電圧信号における前記所定の時間幅を有する期間、当該スイッチングパルス電圧信号と前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号との時間差に応じた電圧が印加され、
前記第１端子と前記第３端子との間の電位差に応じて前記第１端子と前記第２端子との間の抵抗値が変化する、請求項１から３の何れかに記載のニューラルネットワーク回路。
【請求項５】
前記シナプス回路は、前記抵抗変化素子の前記第３端子と前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号が入力される端子との間の接続または遮断を切り替える第１スイッチを備え、
前記第１スイッチは、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力された前記スイッチングパルス電圧信号に基づいて前記接続または遮断を切り替える、請求項４に記載のニューラルネットワーク回路。
【請求項６】
前記抵抗変化素子は、強誘電体メモリスタである、請求項４または５に記載のニューラルネットワーク回路。
【請求項７】
前記強誘電体メモリスタは、
基板上に形成された制御電極と、前記制御電極が当接するように設けられる強誘電体層と、強誘電体層上に形成された半導体層と、半導体層上に設けられた第１電極および第２電極とを備え、
前記第１電極と前記制御電極との間の電位差に応じて前記第１電極と前記第２電極との間の抵抗値が変化する、請求項６に記載のニューラルネットワーク回路。
【請求項８】
前記ニューロン回路は、
前記シナプス回路の前記抵抗変化素子を流れる電流値を積分する積分回路と、
前記積分回路で積分された電流値に応じて、前記第１波形および前記第２波形を生成する波形発生回路と、を備え、
前記波形発生回路は、前記第１波形の大きさに前記誤差電圧信号の大きさを乗算する乗算回路を備える、請求項１から７の何れかに記載のニューラルネットワーク回路。
【請求項９】
前記シナプス回路は、一端が第１基準電圧源に接続され、他端が前記抵抗変化素子の前記第１端子に接続される第２スイッチを備え、
前記第２スイッチは、前記別のニューラルネットワーク回路素子から入力される前記スイッチングパルス電圧信号における前記所定の時間幅を有する期間、前記第１基準電圧源と前記第１端子とを接続するように構成される、請求項３から７の何れかに記載のニューラルネットワーク回路。
【請求項１０】
請求項１〜９の何れかに記載のニューラルネットワーク回路の学習方法であって、
出力される信号が前記出力信号端子から出力される前記出力信号となる前記ニューラルネットワーク回路素子である第１のニューラルネットワーク回路素子の前記ニューロン回路から出力される前記荷重変更パルス電圧信号の振幅を、前記誤差電圧信号に基づいて変更した後、出力される信号が前記出力信号端子から出力される前記出力信号ではない前記ニューラルネットワーク回路素子である第２のニューラルネットワーク回路素子の前記ニューロン回路から出力される前記荷重変更パルス電圧信号の振幅を、前記誤差電圧信号に基づいて変更する、ニューラルネットワーク回路の学習方法。
【請求項１１】
前記第２のニューラルネットワーク回路素子の前記シナプス回路に前記荷重変更パルス電圧信号の代わりに電位が基準電位に等しい信号を入力させることにより、前記第２のニューラルネットワーク回路素子の前記抵抗変化素子の抵抗値を変化させないようにした状態で、前記第１のニューラルネットワーク回路素子の抵抗変化素子の抵抗値を変化させる、第１ステップと、
前記第２のニューラルネットワーク回路素子の前記シナプス回路に当該シナプス回路が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記第１波形を有する前記荷重変更パルス電圧信号を生成させることによって、前記第２のニューラルネットワーク回路素子の前記抵抗変化素子の抵抗値を変化させる、第２ステップと、を含み、
前記教師信号と対応する前記出力信号との時間差が規定値以下になるまで前記第１ステップおよび前記第２ステップの処理を繰り返し実行する、請求項１０に記載のニューラルネットワーク回路の学習方法。
【請求項１２】
ニューラルネットワーク回路であって、
出力信号と教師信号が入力され、前記出力信号と前記教師信号の時間差に応じた電圧値を有する誤差信号を生成する誤算演算回路と、
前記ニューラルネットワーク回路の中間層に含まれる第１の1以上のニューラルネットワーク回路素子と、
前記ニューラルネットワーク回路の出力層に含まれる第２の1以上のニューラルネットワーク回路素子を含み、前記出力層は前記出力信号を出力し、
前記第１の1以上のニューラルネットワーク回路素子の各々は第１の１以上のシナプス回路と第１ニューロン回路を含み、
前記第２の1以上のニューラルネットワーク回路素子の各々は第２の１以上のシナプス回路と第２ニューロン回路を含み、
前記第１の１以上のシナプス回路、前記第２の１以上のシナプス回路の各々は、印加されるパルス電圧の電圧値により抵抗値が変化する抵抗変化素子を備え、
前記第１ニューロン回路、前記第２ニューロン回路の各々は、時間の経過とともに基準値からピーク値に至り、前記ピーク値から再び前記基準値へ戻る波形を有する荷重変更パルス電圧信号と、スイッチングパルス電圧信号とを生成する波形発生回路を備え、
前記第１ニューロン回路で発生された前記荷重変更パルス電圧信号である第１荷重変更パルス電圧信号は、前記第１の１以上のシナプス回路の各々に入力され、
前記第２ニューロン回路で発生された前記荷重変更パルス電圧信号である第２荷重変更パルス電圧信号は、前記第２の１以上のシナプス回路の各々に入力され、
前記第１ニューロン回路で発生された前記スイッチングパルス電圧信号である第１スイッチングパルス信号は、前記第２の１以上のシナプス回路の各々に入力され、
前記第１荷重変更パルス電圧信号の振幅及び、前記第２荷重変更パルス電圧信号の振幅は、前記誤差信号に基づいて決定され、
前記第１スイッチングパルス電圧信号で示される時間幅で示される期間と、前記第１スイッチングパルス電圧信号と前記第２荷重変更パルス電圧信号との時間差に応じた電圧に基づいて、前記第２の１以上のシナプス回路の各々に含まれる前記抵抗変化素子の抵抗値が変化される、ニューラルネットワーク回路。
【請求項１３】
前記第２ニューロン回路で発生された前記スイッチングパルス電圧信号は前記出力信号である請求項１２のニューラルネットワーク回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ニューラルネットワーク回路およびその学習方法に関する。
【背景技術】
【０００２】
現在、生体の脳の情報処理方式を模倣したコンピュータの研究が行われている。この処理モデルの最も基本となるものがニューラルネットワーク（neural network）である。例えば非特許文献１には、パルスタイミングを用いて情報を表現するモデル（スパイキングニューロンモデル）が開示されている。非特許文献１によれば、スパイキングニューロンモデルは、パルスを用いない従来のモデルよりも高い演算性能を有することが開示されている。
【０００３】
さらに、パルスタイミングによる学習動作をより少ない数の素子の構成で実現することができるニューロン回路として、例えば特許文献１のような構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５２８９６４７号公報
【非特許文献】
【０００５】
【非特許文献１】Ｗ．  Ｍａａｓｓ、”Ｎｅｔｗｏｒｋｓ  ｏｆ  Ｓｐｉｋｉｎｇ  Ｎｅｕｒｏｎｓ：  Ｔｈｅ  Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｍｏｄｅｌｓ、”  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ、  ｖｏｌ．  １０、  ｎｏ．  ９、  ｐｐ．  １６５９−１６７１、  １９９７．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ニューロンの数が多いニューラルネットワーク場合、ソフトウェア演算では計算量が膨大になるため演算時間が長くなる。そのため、専用ハードウェアの開発が行われてきた。しかしながら、特許文献１のようなパルスタイミングによる学習動作を実現するニューロン回路を相互接続するだけでは、エラーバックプロパゲーション学習を行うことができない。
【０００７】
エラーバックプロパゲーション学習は、階層型ニューラルネットワークにおいて最もよく用いられる教師あり学習方法である。エラーバックプロパゲーション学習では、入力信号の他に教師信号を入力し、出力信号と教師信号との誤差が小さくなるように学習を行う。しかし、特許文献１には誤差を演算する手法および演算した誤差を荷重の更新に反映する手法の何れも開示されていない。
【０００８】
そこで本開示は、エラーバックプロパゲーション学習動作を適切に行うことができるニューラルネットワーク回路およびその学習方法を提供する。
本開示の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び／又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その１以上を得るために全てが必要ではない。
【課題を解決するための手段】
【０００９】
本開示の一の態様に係るニューラルネットワーク回路は、複数のニューラルネットワーク回路素子と、誤差演算回路と、少なくとも１つの入力信号端子と、少なくとも１つの出力信号端子と、を備え、前記少なくとも１つの入力信号端子に入力される入力信号から前記少なくとも１つの出力信号端子から出力される少なくとも１つの出力信号を得るためのニューラルネットワーク回路であって、前記誤差演算回路は、前記少なくとも１つの出力信号と、前記少なくとも１つの出力信号端子の数と等しい数の教師信号と、が入力され、前記出力信号と、前記出力信号に対応する前記教師信号との時間差に応じた大きさの電圧信号である誤差電圧信号を生成するよう構成され、前記ニューラルネットワーク回路素子は、少なくとも１つのシナプス回路と、１つのニューロン回路と、を備え、前記シナプス回路は、パルス電圧の印加により抵抗値が変化する抵抗変化素子を備え、前記ニューロン回路は、時間の経過とともに基準値から所定のピーク値に至り、前記ピーク値から再び前記基準値へ戻るような所定の第１波形を有する荷重変更パルス電圧信号と、所定の時間幅を定める所定の第２波形を有するスイッチングパルス電圧信号と、を生成する波形発生回路を備え、前記荷重変更パルス電圧信号は、当該荷重変更パルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子の前記シナプス回路に入力され、前記スイッチングパルス電圧信号は、当該スイッチングパルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子の前記シナプス回路に入力され、前記ニューラルネットワーク回路素子は、前記誤差演算回路で生成された前記誤差電圧信号に基づいて前記荷重変更パルス電圧信号の振幅を変更するよう構成され、前記シナプス回路は、当該シナプス回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力されたスイッチングパルス電圧信号における前記所定の時間幅を有する期間、当該スイッチングパルス電圧信号と前記シナプス回路が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号との時間差に応じた電圧によって当該シナプス回路における前記抵抗変化素子の抵抗値を変化させるよう構成される。
【発明の効果】
【００１０】
本開示のニューラルネットワーク回路によれば、エラーバックプロパゲーション学習動作を適切に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は本開示の一実施の形態におけるニューラルネットワーク回路を構成するニューラルネットワーク回路素子の概略構成を示すブロック図である。
【図２Ａ】図２Ａは図１に示すニューラルネットワーク回路素子を用いて構成されるニューラルネットワーク回路の構成例を示すブロック図である。
【図２Ｂ】図２Ｂは本開示の一実施の形態におけるニューラルネットワーク回路を構成するニューラルネットワーク回路素子を示すブロック図である。
【図３Ａ】図３Ａは図１に示すニューラルネットワーク回路素子において入力信号として用いられるパルス電圧の波形例を示す図である。
【図３Ｂ】図３Ｂは図１に示すニューラルネットワーク回路素子において教師信号として用いられるアナログパルス電圧の波形例を示す図である。
【図４】図４は図１に示すニューラルネットワーク回路素子における積分回路の具体例を示す回路図である。
【図５Ａ】図５Ａは図１に示すニューラルネットワーク回路素子において用いられる荷重変更パルス電圧信号の波形例を示す図である。
【図５Ｂ】図５Ｂは図１に示すニューラルネットワーク回路素子において用いられるスイッチングパルス電圧信号の波形例を示す図である。
【図６】図６は図１に示すニューラルネットワーク回路素子のニューロン回路における信号発生回路の例を示すブロック図である。
【図７Ａ】図７Ａは図１に示すニューラルネットワーク回路素子における抵抗変化素子の具体例を示す断面模式図である。
【図７Ｂ】図７Ｂは図７Ａに示す抵抗変化素子の回路記号を示す図である。
【図８】図８は図１に示すニューラルネットワーク回路素子のシナプス回路における第１スイッチの具体例を示す回路図である。
【図９】図９は図５Ａに示す荷重変更パルス電圧信号と図５Ｂに示すスイッチングパルス電圧信号との時間差に応じた抵抗変化素子の第３端子への印加電圧を示すグラフである。
【図１０Ａ】図１０Ａは図１に示すニューラルネットワーク回路素子の誤差演算回路における時間差演算回路の概略構成例を示すブロック図である。
【図１０Ｂ】図１０Ｂは図１０Ａに示す時間差演算回路におけるスイッチおよびピークホールド回路の具体例を示す回路図である。
【図１１】図１１は図１に示すニューラルネットワーク回路素子の誤差演算回路における和算回路の例を示す回路図である。
【図１２】図１２は本開示の第１実施例における検証用シナプス回路の構成例を示すブロック図である。
【図１３】図１３は図１２に示す検証用シナプス回路を用いた検証結果を示すグラフである。
【図１４Ａ】図１４Ａは本開示の第２実施例における検証用シナプス回路の構成例を示すブロック図である。
【図１４Ｂ】図１４Ｂは図１４Ａに示す検証用シナプス回路を用いた検証用ニューラルネットワークの構成例を示すブロック図である。
【図１４Ｃ】図１４Ｃは図１４Ｂに示す検証用ニューラルネットワーク回路素子を用いた検証用ニューラルネットワーク回路の構成例を示すブロック図である。
【図１５】図１５は図１４Ｃに示すニューラルネットワーク回路において排他的論理和の学習を行った際の学習経過に伴う誤差の変化を示すグラフである。
【図１６Ａ】図１６Ａは階層型ニューラルネットワークを示す概略図である。
【図１６Ｂ】図１６Ｂは相互結合型ニューラルネットワークを示す概略図である。
【図１７】図１７は一般的なニューロンを示す模式図である。
【図１８】図１８は２つの入力端子を有するニューロン部における各値の時間的変化を示すグラフである。
【図１９】図１９は従来のニューラルネットワーク回路素子を示す回路図である。
【発明を実施するための形態】
【００１２】
［ニューラルネットワークの説明］
まず、本開示の実施の形態の前提となるニューラルネットワークおよびこれを実現するための従来におけるニューラルネットワーク回路の課題について詳しく説明する。上述したように、ニューラルネットワークは生体の神経回路網を模したものである。ニューラルネットワークは、神経回路網における機能単位である神経細胞を模したニューロンを機能単位とし、複数のニューロンをネットワーク状に配置して情報処理を行う。例えば、図１６Ａに示すようにニューロン１００を階層状に接続した階層型ニューラルネットワークや、図１６Ｂに示すようにニューロン１００同士を相互に接続した相互結合型ニューラルネットワーク（ホップフィールドネットワーク）がある。
【００１３】
ニューラルネットワークは、大きく２つの機能を有する。１つ目は、入力から出力を得る「処理」機能であり、２つ目は、ニューラルネットワーク全体の入出力の関係を所望のものに設定する「学習」機能である。
【００１４】
[処理機能］
ここでは階層型ニューラルネットワークを例に、情報処理の動作について説明する。図１６Ａに示した階層型ニューラルネットワークは、入力層４００、中間層５００、および出力層６００の３つの層を備えている。各層には少なくとも１つのニューロン１００が含まれる。入力層４００の各ニューロン１００は中間層５００の各ニューロン１００と接続され、同様に、中間層５００の各ニューロン１００は出力層の各ニューロン１００と接続されている。入力信号２００は入力層４００へ入力され、中間層５００、出力層６００と順に伝播し、出力層６００から出力される。ニューロン１００では、入力値に対して後述する所定の演算が行われ、その出力値を次の層のニューロンへ伝播する。従って、出力層６００からの出力値が、ニューラルネットワークの最終出力３００となる。この一連の動作がニューラルネットワークの情報処理であり、中間層５００に含まれるニューロンを十分多くすると、任意の入出力が実現される。図１６Ａに示した階層型ニューラルネットワークは３つの層を備えているが、中間層５００を複数備えることもできる。
【００１５】
続いて、ニューラルネットワークの構成単位であるニューロンについて説明する。図１７は一般的なニューロンを示す模式図である。ニューロン１００は、シナプス（synapse
）部１２１，１２２とニューロン部１３０を備えている。なお、シナプス部の数は前段に接続されたニューロンの数、つまり入力信号の数に等しい。シナプス部１２１は外部からの複数の入力信号１１１に対して重み付けを行う。シナプス部１２２は外部からの入力信号１１２に対して重み付けを行う。重み付けの値（ｗ１，ｗ２）のそれぞれを結合荷重と呼ぶ。ニューロン部１３０は、シナプス部によって重み付けされた入力信号の和を計算し、和の値を非線形演算した値を出力する。ここで、外部からの入力信号をそれぞれｘｉ（１，２，・・・，ｎ）と表すとする。ｎは入力信号の数に等しい。下記式（１）に示すように、シナプス部１２１，１２２は各入力信号に対して、対応する結合荷重の値ｗｉ（１，２，・・・，ｎ）を乗算し、ニューロン部１３０はそれらの和Ｖｎを計算する。
【００１６】
Ｖｎ＝Σｗｉｘｉ          （１）
ここで、Σはｉについての和記号である。
【００１７】
さらにニューロン部は、求めた和Ｖｎに対して非線形演算ｆを行った結果を出力値ｙとする。したがって、ニューロンの出力ｙは下記式（２）のように表される。
【００１８】
ｙ＝ｆ（Ｖｎ）          （２）
非線形関数ｆには、飽和特性を持つ単調増加関数が用いられる。例えば、ステップ関数（階段関数）やシグモイド関数（sigmoid function）が用いられる。
【００１９】
ニューラルネットワーク回路は、複数のニューロン部１３０が同時に演算を行うことができるため、並列処理性を持つ。つまり、従来型コンピュータの逐次情報処理とは異なり、並列情報処理が可能であることが特長である。
【００２０】
［学習機能］
ニューラルネットワークの重要な特徴は、上述したように入力から出力を得る「処理」機能だけでなく、「学習」機能を備えている点である。ここで述べる学習とは、上述したシナプス部の結合荷重を更新することで、ニューラルネットワーク回路全体の入出力の関係を所望のものに設定することである。
【００２１】
学習は大きく分けて教師なし学習と教師あり学習とに分けられる。教師なし学習は、ニューラルネットワークに入力信号を入力することで、ニューラルネットワークへの入力信号同士の相関関係がネットワークに学習される。一方、教師あり学習では、入力信号とともに、その入力信号に対応した所望の出力信号をニューラルネットワークに与える。この所望の出力信号を教師信号と呼ぶ。ニューラルネットワークに入力信号を与えたときのニューラルネットワークからの出力信号が、教師信号と等しくなるように学習を行う。図１６Ａに示した階層型ニューラルネットワークでは、エラーバックプロパゲーション学習と呼ばれる学習法が一般的に用いられる。
【００２２】
エラーバックプロパゲーション学習は以下のような学習法である。
１．ニューラルネットワークに学習のためのサンプル（入力信号および教師信号）を与える、
２．入力信号によって生じる実際のネットワークの出力と、教師信号とを比較し、その誤差を計算する、
３．各シナプスの結合荷重を誤差が小さくなるよう調整する、
４．出力層から入力層側のニューロンの順に結合荷重を調整する、
５．すべてのサンプルについて、上記１から４の処理を繰り返す、および
６．すべてのサンプルについて、誤差が所定の値になるまで上記１から５の処理を繰り返す。
【００２３】
エラーバックプロパゲーション学習においては、このアルゴリズムの名称が暗示するように、エラー(および学習)は出力層から入力層側のニューロンへと伝播する。
【００２４】
［スパイキングニューロンモデル］
ここまでニューラルネットワークの処理機能および学習機能について詳述してきた。これまでの説明に用いたモデルにおいては、ニューロン間で伝播する信号は、電流または電位の値をアナログ値で表現したものであった。これに対して、生体の神経細胞では、ほぼ一定形状のパルス（スパイクパルス）をやり取りしていることがわかっている。そこで、生体の神経回路をより忠実に真似て、パルスを直接扱うモデル（スパイキングニューロンモデル）が、知られている。スパイキングニューロンモデルには、例えば、ある一定時間に伝播されるパルスの数を用いてアナログ情報を表現するモデル（パルス密度モデル）、および、例えばパルスとパルスとの時間的間隔を用いてアナログ情報を表現するモデル（パルスタイミングモデル）等が含まれる。これらのスパイキングニューロンモデルは、シグモイド関数を用いた従来のニューラルネットワークよりも高い演算性能を得ることができる。
【００２５】
上述のような、パルスを用いた情報表現に適用できるニューロン部の動作モデルとして、積分発火モデルが提案されている。図１８は２つの入力端子を有するニューロン部における各値の時間的変化を示すグラフである。
【００２６】
図１８に示すように、外部もしくは他のニューロン部から、シナプス部１２１に入力パルスｘ１（ｔ）が入力され、シナプス部１２２に入力パルスｘ２（ｔ）が入力されると、パルスが入力されたタイミングで、それぞれのシナプス部１２１，１２２において単峰性の電圧変化が現れる。このようなシナプス部の電位をシナプス後電位（Ｐｏｓｔ−ｓｙｎａｐｔｉｃ ｐｏｔｅｎｔｉａｌ、以下、「ＰＳＰ」と略記する）と呼ぶ。図１８には、シナプス部１２１およびシナプス部１２２におけるＰＳＰの時間変化Ｐ１（ｔ）およびＰ２（ｔ）が示されている。ＰＳＰの高さはシナプス結合荷重に比例する。ここでｔは時間を表す。
【００２７】
ニューロン部１３０は、当該ニューロン部１３０に接続されているすべてのシナプス部１２１，１２２からのＰＳＰの総和を演算する。この総和は、ニューロン部１３０の内部電位Ｖｎ（ｔ）と呼ばれる。ニューロン部１３０への入力端子が２つの場合、図１８に示すように、内部電位Ｖｎ（ｔ）はＰ１（ｔ）およびＰ２（ｔ）の和となる。一般的に表すと、内部電位Ｖｎ（ｔ）は下記式（３）のように表される。
【００２８】
Ｖｎ（ｔ）＝ΣＰｉ（ｔ）          （３）
ここで、Ｐｉはｉ番目のシナプス部でのＰＳＰであり、Σはｉについての和記号である。
【００２９】
図１８に示すように、内部電位Ｖｎがあらかじめ定められたしきい値Ｖｔｈを超えると、そのニューロン部はパルス信号ｙ（ｔ）を出力する。これをニューロン部の「発火」と呼ぶ。パルス出力ｙ（ｔ）はニューロン部から出力され、他のニューロン部に入力される。
【００３０】
［集積回路化］
ここまででニューラルネットワークの概要について詳述したが、ニューラルネットワークを構成するにあたっては、上述したニューロンをどのようにして実現するかが問題となる。これまで、従来型コンピュータを用い、ソフトウェア処理にてニューロンの機能を実現する手法を用いることが多かった。しかし、この場合、複数のニューロンにおける処理をＣＰＵが時分割で実行することになるため、本来の並列情報処理がなされない。
上述のように、パルスタイミングによる情報表現に基づくニューラルネットワークは高い性能を実現できることが示唆されている。しかし、ソフトウェア処理によってニューロンの機能を実現する場合、演算時間が膨大になるためスパイキングニューラルネットワークの特長である高い演算能力を発揮できない。そのため、ハードウェアを用いてスパイキングニューロンを構成し集積回路化することが必須である。
【００３１】
特許文献１には、スパイキングニューロンモデルに基づいて動作するニューロンをハードウェアで実現する具体例(ニューラルネットワーク回路素子)が開示されている。図１９は、従来のニューラルネットワーク回路素子を示す。図１９は特許文献１の図１と同様の構成を示している。図１９に示されるニューラルネットワーク回路素子７００は、上述のニューロン１００に相当する。
【００３２】
図１９に示されるように、ニューラルネットワーク回路素子７００は、シナプス回路７２０と、ニューロン回路７３０と、を具備する。シナプス回路７２０は上述のシナプス部１２０に相当し、ニューロン回路７３０は上述のニューロン部１３０に相当する。シナプス回路７２０は、可変抵抗素子７１０と、セレクタ回路７１１と、スイッチ回路７１２と、を具備する。可変抵抗素子７１０は、その抵抗値をシナプス結合荷重として記憶する機能を持つ。
【００３３】
ニューロン回路７３０は、積分回路７３１と、波形発生回路７３２と、遅延回路７３３と、を具備する。波形発生回路７３３はパルス電圧信号ＶＰＯＳＴ１を、他のニューラルネットワーク回路素子に出力する。波形発生回路７３２はパルス電圧信号ＶＰＯＳＴ２を、同じニューラルネットワーク回路素子７００内のセレクタ回路７１１にフィードバック入力する。
【００３４】
このように、特許文献１によれば、セレクタ回路７１１にフィードバック入力されるパルス電圧信号ＶＰＯＳＴ２を用いてセレクタ回路７１１を制御し、可変抵抗素子７１０のゲート電極に電圧パルス信号ＶＰＲＥ１を入力可能とするか否かを切り替えることで、スパイクタイミングシナプス可塑性（Spike-timing dependent synaptic plasticity、以下では「ＳＴＤＰ」と略記する）による学習機能を実現する。
【００３５】
しかし、特許文献１に開示されたニューラルネットワーク回路素子では、単一のニューロンの学習方法について記載されているが、複数のニューロンを接続してネットワーク化した際の学習方法は記載されていない。ニューラルネットワークの実際の使用においては、ニューラルネットワーク回路素子を相互接続してネットワークを構成した上で学習を行い、ネットワークとしての演算機能を実現する必要がある。つまり、特許文献１に開示されたニューロンを階層型ニューラルネットワークとして接続するだけでは、階層型ニューラルネットワークにおいて一般的に使用されるバックプロパゲーション学習を行うことができない。さらに具体的には、エラーバックプロパゲーション学習では、入力信号の他に教師信号を入力し、出力信号と教師信号との誤差が小さくなるように学習を行う。そのため、誤差を演算し、演算した誤差を荷重の更新に反映する必要がある。
【００３６】
［具体的な態様］
そこで、本開示の一態様に係るニューラルネットワーク回路は、複数のニューラルネットワーク回路素子と、誤差演算回路と、少なくとも１つの入力信号端子と、少なくとも１つの出力信号端子と、を備え、前記少なくとも１つの入力信号端子に入力される入力信号から前記少なくとも１つの出力信号端子から出力される少なくとも１つの出力信号を得るためのニューラルネットワーク回路である。前記誤差演算回路は、前記少なくとも１つの出力信号と、前記少なくとも１つの出力信号端子の数と等しい数の教師信号と、が入力され、前記出力信号と、前記出力信号に対応する前記教師信号との時間差に応じた大きさの電圧信号である誤差電圧信号を生成するよう構成される。前記ニューラルネットワーク回路素子は、少なくとも１つのシナプス回路と、１つのニューロン回路と、を備える。前記シナプス回路は、パルス電圧の印加により抵抗値が変化する抵抗変化素子を備える。前記ニューロン回路は、時間の経過とともに基準値から所定のピーク値に至り、前記ピーク値から再び前記基準値へ戻るような所定の第１波形を有する荷重変更パルス電圧信号と、所定の時間幅を定める所定の第２波形を有するスイッチングパルス電圧信号と、を生成する波形発生回路を備える。前記荷重変更パルス電圧信号は、当該荷重変更パルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子の前記シナプス回路に入力され、前記スイッチングパルス電圧信号は、当該スイッチングパルス電圧信号を出力した前記ニューロン回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子の前記シナプス回路に入力されるよう構成される。前記ニューラルネットワーク回路素子は、前記誤差演算回路で生成された前記誤差電圧信号に基づいて前記荷重変更パルス電圧信号の振幅を変更するよう構成される。前記シナプス回路は、当該シナプス回路が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力されたスイッチングパルス電圧信号における前記所定の時間幅を有する期間、当該スイッチングパルス電圧信号と前記シナプス回路が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号との時間差に応じた電圧によって当該シナプス回路における前記抵抗変化素子の抵抗値を変化させるよう構成される。
【００３７】
上記構成によれば、出力信号と教師信号との時間差を電圧信号に変換することにより、出力信号と教師信号との誤差の大きさをシナプスの荷重を変更するための電圧信号の大きさに反映することができる。このため、出力信号と教師信号との誤差を小さくするように荷重を変更することが可能となる。したがって、エラーバックプロパゲーション学習を適切に実現することができる。
【００３８】
前記教師信号は、前記出力信号との時間差が０である場合に基準電位となり、前記出力信号との時間差が所定の範囲内である場合に前記基準電位を中心電位として双極性に前記時間差が大きくなるほど前記中心電位との電位差が大きくなり、前記時間差が前記所定の範囲外である場合に振幅が前記所定の範囲内における電位差の最大値が保持されるような信号であってもよい。これにより、出力信号と教師信号との時間差を効率的に電圧信号に変換することができる。
【００３９】
前記誤差演算回路は、前記出力信号端子と同じ数の時間差演算回路と、１つの和算回路と、を備え、前記時間差演算回路は、それぞれ、対応する前記出力信号端子から出力される前記出力信号と、当該出力信号に対応する前記教師信号との時間差に応じた前記誤差電圧信号を生成し、前記誤差電圧信号を、出力される信号が前記出力信号端子から出力される前記出力信号となる前記ニューラルネットワーク回路素子に含まれる前記ニューロン回路に入力し、前記和算回路は、前記時間差演算回路のそれぞれにおいて生成された前記誤差電圧信号を和算した和算電圧信号を生成し、前記和算電圧信号を、出力される信号が前記出力信号端子から出力される前記出力信号ではない前記ニューラルネットワーク回路素子に含まれる前記ニューロン回路に入力するよう構成されてもよい。これにより、出力される信号がニューラルネットワーク回路の出力信号端子から出力される出力信号となるニューラルネットワーク回路素子（出力層に含まれるニューラルネットワーク回路素子）に対しては、対応する出力信号と教師信号との誤差に基づいて当該誤差を小さくするように荷重を変更することができる。さらに、出力される信号がニューラルネットワーク回路の出力信号端子から出力される出力信号ではないニューラルネットワーク回路素子（中間層に含まれるニューラルネットワーク回路素子）に対しては、生成された誤差電圧信号を和算した和算電圧信号に基づいて荷重を変更することができる。これにより、出力層に含まれるニューラルネットワーク回路素子だけでなく、すべてのニューラルネットワーク回路素子に対してエラーバックプロパゲーション学習を実現することができる。
【００４０】
前記抵抗変化素子は、第１端子、第２端子、および第３端子を具備し、前記第１端子と前記第２端子との間には、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力された前記スイッチングパルス電圧信号に基づいた定電圧が印加され、前記第１端子と前記第３端子との間には、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力されたスイッチングパルス電圧信号における前記所定の時間幅を有する期間、当該スイッチングパルス電圧信号と前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号との時間差に応じた電圧が印加され、前記第１端子と前記第３端子との間の電位差に応じて前記第１端子と前記第２端子との間の抵抗値が変化するように構成されてもよい。
【００４１】
前記シナプス回路は、前記抵抗変化素子の前記第３端子と前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記荷重変更パルス電圧信号が入力される端子との間の接続または遮断を切り替える第１スイッチを備え、前記第１スイッチは、前記抵抗変化素子が含まれる前記ニューラルネットワーク回路素子とは別の前記ニューラルネットワーク回路素子から入力された前記スイッチングパルス電圧信号に基づいて前記接続または遮断を切り替えるよう構成されてもよい。
【００４２】
前記抵抗変化素子は、強誘電体メモリスタであってもよい。
【００４３】
前記強誘電体メモリスタは、基板上に形成された制御電極と、前記制御電極が当接するように設けられる強誘電体層と、強誘電体層上に形成された半導体層と、半導体層上に設けられた第１電極および第２電極とを備え、前記第１電極と前記制御電極との間の電位差に応じて前記第１電極と前記第２電極との間の抵抗値が変化するよう構成されてもよい。
【００４４】
前記ニューロン回路は、前記シナプス回路の前記抵抗変化素子を流れる電流値を積分する積分回路と、前記積分回路で積分された電流値に応じて、前記第１波形および前記第２波形を生成する波形発生回路と、を備え、前記波形発生回路は、前記第１波形の大きさに前記誤差電圧信号の大きさを乗算する乗算回路を備えてもよい。
【００４５】
前記シナプス回路は、一端が第１基準電圧源に接続され、他端が前記抵抗変化素子の前記第１端子に接続される第２スイッチを備え、前記第２スイッチは、前記別のニューラルネットワーク回路素子から入力される前記スイッチングパルス電圧信号における前記所定の時間幅を有する期間、前記第１基準電圧源と前記第１端子とを接続するように構成されてもよい。
【００４６】
また、本開示の他の態様に係るニューラルネットワーク回路の学習方法は、上記構成を有するニューラルネットワーク回路の学習方法であって、出力される信号が前記出力信号端子から出力される前記出力信号となる前記ニューラルネットワーク回路素子である第１のニューラルネットワーク回路素子の前記ニューロン回路から出力される前記荷重変更パルス電圧信号の振幅を、前記誤差電圧信号に基づいて変更した後、出力される信号が前記出力信号端子から出力される前記出力信号ではない前記ニューラルネットワーク回路素子である第２のニューラルネットワーク回路素子の前記ニューロン回路から出力される前記荷重変更パルス電圧信号の振幅を、前記誤差電圧信号に基づいて変更するものである。
【００４７】
上記方法によれば、まず、第１のニューラルネットワーク回路素子に対してエラーバックプロパゲーション学習に基づいた荷重の変更を行う。その後、第２のニューラルネットワーク回路素子に対してエラーバックプロパゲーション学習に基づいた荷重の変更を行う。このため、各ニューラルネットワーク回路素子のシナプス回路に対して効率的に誤差が小さくなるように荷重を変更することが可能となる。したがって、エラーバックプロパゲーション学習を適切に実現することができる。
【００４８】
前記学習方法は、前記第２のニューラルネットワーク回路素子の前記シナプス回路に前記荷重変更パルス電圧信号の代わりに電位が基準電位に等しい信号を入力させることにより、前記第２のニューラルネットワーク回路素子の前記抵抗変化素子の抵抗値を変化させないようにした状態で、前記第１のニューラルネットワーク回路素子の抵抗変化素子の抵抗値を変化させる、第１ステップと、前記第２のニューラルネットワーク回路素子の前記シナプス回路に当該シナプス回路が含まれる前記ニューラルネットワーク回路素子の前記ニューロン回路で生成された前記第１波形を有する前記荷重変更パルス電圧信号を生成させることによって、前記第２のニューラルネットワーク回路素子の前記抵抗変化素子の抵抗値を変化させる、第２ステップと、を含み、前記教師信号と対応する前記出力信号との時間差が規定値以下になるまで前記第１ステップおよび前記第２ステップの処理を繰り返し実行してもよい。
【００４９】
本開示の一態様に係るニューラルネットワーク回路は、出力信号と教師信号が入力され、前記出力信号と前記教師信号の時間差に応じた電圧値を有する誤差信号を生成する誤算演算回路と、前記ニューラルネットワーク回路の中間層に含まれる第１の1以上のニューラルネットワーク回路素子と、前記ニューラルネットワーク回路の出力層に含まれる第２の1以上のニューラルネットワーク回路素子を含み、前記出力層は前記出力信号を出力し、前記第１の1以上のニューラルネットワーク回路素子の各々は第１の１以上のシナプス回路と第１ニューロン回路を含み、前記第２の1以上のニューラルネットワーク回路素子の各々は第２の１以上のシナプス回路と第２ニューロン回路を含み、前記第１の１以上のシナプス回路、前記第２の１以上のシナプス回路の各々は、印加されるパルス電圧の電圧値により抵抗値が変化する抵抗変化素子を備え、前記第１ニューロン回路、前記第２ニューロン回路の各々は、時間の経過とともに基準値からピーク値に至り、前記ピーク値から再び前記基準値へ戻る波形を有する荷重変更パルス電圧信号と、スイッチングパルス電圧信号とを生成する波形発生回路を備え、前記第１ニューロン回路で発生された前記荷重変更パルス電圧信号である第１荷重変更パルス電圧信号は、前記第１の１以上のシナプス回路の各々に入力され、前記第２ニューロン回路で発生された前記荷重変更パルス電圧信号である第２荷重変更パルス電圧信号は、前記第２の１以上のシナプス回路の各々に入力され、前記第１ニューロン回路で発生された前記スイッチングパルス電圧信号である第１スイッチングパルス信号は、前記第２の１以上のシナプス回路の各々に入力され、前記第１荷重変更パルス電圧信号の振幅及び、前記第２荷重変更パルス電圧信号の振幅は、前記誤差信号に基づいて決定され、前記第１スイッチングパルス電圧信号で示される時間幅で示される期間と、前記第１スイッチングパルス電圧信号と前記第２荷重変更パルス電圧信号との時間差に応じた電圧に基づいて、前記第２の１以上のシナプス回路の各々に含まれる前記抵抗変化素子の抵抗値が変化される。
前記第２ニューロン回路で発生された前記スイッチングパルス電圧信号は前記出力信号であってもよい。
【００５０】
以下、本開示の実施の形態によるニューラルネットワーク回路、ニューラルネットワーク回路の学習方法を、図面を参照しながら説明する。
【００５１】
［実施の形態］
本開示の一実施の形態について説明する。図１は本開示の一実施の形態におけるニューラルネットワーク回路を構成するニューラルネットワーク回路素子の概略構成を示すブロック図である。また、図２Ａは図１に示すニューラルネットワーク回路素子を用いて構成されるニューラルネットワーク回路の構成例を示すブロック図である。
【００５２】
図２Ａに示すように、ニューラルネットワーク回路１は、入力層２、中間層３、出力層４および誤差演算回路５が直列に接続されることにより構成される。
ニューラルネットワーク回路１の入力層２には、少なくとも１つの入力信号Ｖｉｎが入力される。なお、図２Ａにおいては、少なくとも１つの入力信号Ｖｉｎは、複数の入力信号ＶｉｎＡ，ＶｉｎＢ，…である。
ニューラルネットワーク回路１の入力層２は、少なくとも１つの入力信号端子６を含む。なお、図２Ａにおいては、少なくとも１つの入力信号端子６は、入力信号端子６Ａ，６Ｂ，…である。
少なくとも１つの入力信号Ｖｉｎは少なくとも１つの入力信号端子６から入力される。図２Ａにおいては、入力信号ＶｉｎＡは入力信号端子６Ａから入力され、入力信号ＶｉｎＢは入力信号端子６Ｂから入力される。
ニューラルネットワーク回路１の入力層２には、少なくとも１つの教師信号Ｖｔが入力される。なお、図２Ａにおいては、少なくとも１つの教師信号Ｖｔは、複数の教師信号Ｖｔａ，Ｖｔｂ，…である。
ニューラルネットワーク回路１の入力層２は、少なくとも１つの教師信号端子７を含む。なお、図２Ａにおいては、少なくとも１つの教師信号端子７は、教師信号端子７ａ，７ｂ，…である。
少なくとも１つの教師信号Ｖｔは少なくとも１つの教師信号端子７から入力される。図２Ａにおいては、教師信号Ｖｔａは教師信号端子７ａから入力され，教師信号Ｖｔｂは教師信号端子７ｂから入力される。
ニューラルネットワーク回路１は、少なくとも１つの入力信号端子６に入力される入力信号Ｖｉｎに基づいて、少なくとも１つの出力信号端子８から出力される少なくとも１つの出力信号Ｖｏｕｔを得る回路である。
ニューラルネットワーク回路１の出力層４からは、少なくとも１つの出力信号Ｖｏｕｔが出力される。なお、図２Ａにおいては、少なくとも１つの出力信号Ｖｏｕｔは、複数の出力信号ＶoutＡ，ＶoutＢ，…である。
ニューラルネットワーク回路１の出力層４は、少なくとも１つの出力信号端子８を含む。なお、図２Ａにおいては、少なくとも１つの出力信号端子８は、出力信号端子８ａ，８ｂ，…である。
少なくとも１つの出力信号Ｖｏｕｔは少なくとも１つの出力信号端子８から出力される。図２Ａにおいては、出力信号ＶoutＡは出力信号端子８ａから出力され、出力信号ＶoutＢは出力信号端子８ｂから出力される。
【００５３】
図３Ａは図２Ａに示すニューラルネットワーク回路において入力信号として用いられるパルス電圧の波形例を示す図である。また、図３Ｂは図２Ａに示すニューラルネットワーク回路において教師信号として用いられるアナログパルス電圧の波形例を示す図である。入力信号端子６から入力される入力信号Ｖｉｎは、例えば図３Ａに示すように、所定の時間幅を定める所定の波形を有するスイッチングパルス電圧信号として構成される。教師信号端子７から入力される教師信号Ｖｔは、例えば図３Ｂに示すような波形を有する荷重変更パルス電圧信号として構成される。図３Ｂに例示する教師信号Ｖｔは、出力信号Ｖｏｕｔとの時間差が０である場合に基準電位（例えば０電位）となり、出力信号Ｖｏｕｔとの時間差が所定の範囲内である場合に基準電位を中心電位として双極性に時間差が大きくなるほど中心電位との電位差が大きくなり、時間差が所定の範囲外である場合に振幅が所定の範囲内における電位差の最大値が保持されるような信号である。図３Ｂにおいては、双極性となる信号として基準電位となる時刻ｔｔより時間が進んでいる場合（出力信号Ｖｏｕｔの到達時刻が教師信号Ｖｔより早い場合）、正極性（正の値）となり、時刻ｔｔより時間が遅れている場合（出力信号Ｖｏｕｔの到達時刻が教師信号Ｖｔより遅い場合）、負極性（負の値）となるような信号を例示している。なお、正極性と負極性とが反対となる信号であってもよい。
【００５４】
さらに、ニューラルネットワーク回路１は、少なくとも１つの入力信号Ｖｉｎに対する少なくとも１つの出力信号Ｖｏｕｔを得るための少なくとも１つの出力信号端子８を備えている。なお、図２Ａにおいては、複数の出力信号としてそれぞれの出力信号をＶｏｕｔａ，Ｖｏｕｔｂ，…で表し、複数の出力信号端子としてそれぞれの出力信号端子を８ａ，８ｂ，…で表している。ニューラルネットワーク回路１の全教師信号端子（７ａ、７ｂ、…）の数は、ニューラルネットワーク回路１の全出力信号端子（８ａ、８ｂ、…）の数に等しい。なお、ニューラルネットワーク回路１の全入力信号端子（６Ａ、６Ｂ、…）の数とニューラルネットワーク回路１の全出力信号端子（８ａ、８ｂ、…）との数は等しくなくてもよい。
【００５５】
図２Ａに示す中間層３および出力層４には、図１に示すようなニューラルネットワーク回路素子４０がそれぞれ複数設けられる。図１に示すように、ニューラルネットワーク回路素子４０は、少なくとも１つのシナプス回路２０と、１つのニューロン回路３０と、を備えている。中間層３に含まれるニューラルネットワーク回路素子４０の入力端子５１は、入力層６の入力信号端子が接続され、入力信号が入力される。中間層３に含まれるニューラルネットワーク回路素子４０は、ニューロン回路３０で生成されたスイッチングパルス電圧信号ＶＰＯＳＴ２を出力端子５３から出力する。出力層４に含まれるニューラルネットワーク回路素子４０の入力端子５１は、中間層３に含まれるニューラルネットワーク回路素子４０の出力端子５３と接続され、中間層３に含まれるニューラルネットワーク回路素子４０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２が入力される。出力層４に含まれるニューラルネットワーク回路素子４０の出力端子５３は、出力信号端子８に接続され、ニューロン回路３０で生成されたスイッチングパルス電圧信号ＶＰＯＳＴ２を出力信号Ｖｏｕｔとして出力する。
【００５６】
なお、本実施形態において、中間層３に含まれるニューラルネットワーク回路素子４０は、並列に接続されているが、中間層３において、ニューラルネットワーク回路素子４０を複数直列接続することとしてもよい。言い換えると、図１に示す中間層３を複数段設けることとしてもよい。この場合、中間層３に含まれるニューラルネットワーク回路素子４０の入力端子５１は、入力層２の入力信号端子または前段のニューラルネットワーク回路素子４０の出力端子５３に接続され、出力端子５３は、後段のニューラルネットワーク回路素子４０の入力端子５１またはニューラルネットワーク回路１の出力信号端子８に接続される。
【００５７】
さらに、ニューラルネットワーク回路素子４０には、後述する誤差電圧信号Ｖｅｒｒｏｒに基づく信号が入力される誤差入力端子５２が設けられる。
【００５８】
シナプス回路２０は、ニューラルネットワーク回路素子４０の入力端子５１に接続される第１入力端子４１と、後述するニューロン回路３０の第１出力端子４７に接続される第２入力端子４２と、出力端子４３と、を備える。ニューロン回路３０は、シナプス回路２０の出力端子４３に接続される第１入力端子４４と、ニューラルネットワーク回路素子４０の誤差入力端子５２に接続される第２入力端子４５と、シナプス回路２０の第２入力端子４２に接続される第１出力端子４７と、ニューラルネットワーク回路素子４０の出力端子５３に接続される第２出力端子４６と、を備える。なお、図１には、図面の見易さのため、１つのニューロン回路３０および１つのシナプス回路２０のみが示されているが、実際には、図２Ｂに示すように、１つのニューロン回路３０に対して複数のシナプス回路２０が接続され得る。
【００５９】
［ニューロン回路］
ニューロン回路３０は、積分回路３１と、比較回路３２と、波形発生回路３３と、を備えている。
【００６０】
ニューロン回路３０の第１入力端子４４は、積分回路３１に接続されている。積分回路３１は、ニューロン回路３０に接続されている少なくとも１つのシナプス回路２０から出力される電流の和を演算する。図４は図１に示すニューラルネットワーク回路素子における積分回路の具体例を示す回路図である。図４に示す具体例において、積分回路３１は、オペアンプ３５、キャパシタ３６および抵抗素子３７を備えたアナログ積分回路として構成される。キャパシタ３６の容量値は例えば１ｐＦであり、抵抗素子３７の抵抗値は例えば１ＭΩである。オペアンプ３５の正極性入力端子（＋）はグランド電圧と等電位となるように構成され、オペアンプ３５の負極性入力端子（−）はニューロン回路３０の入力端子４４に接続される。オペアンプ３５の負極性入力端子（−）と出力端子との間には、キャパシタ３６および抵抗素子３７が並列に接続されている。
【００６１】
積分回路３１は、シナプス回路２０からニューロン回路３０に入力される電流を用いてキャパシタ３６を充電する。この動作によって、電流の時間積分の演算結果が積分電圧信号Ｖｎとして出力される。また、オペアンプ３５は、出力信号である積分電圧信号Ｖｎを抵抗素子３７を介してオペアンプ３５の負極性入力端子（−）にフィードバックさせるように構成されている。これにより、オペアンプ３５の負極性入力端子（−）は仮想接地の状態となる。
【００６２】
オペアンプ３５の負極性入力端子（−）が仮想接地の状態となるため、シナプス回路２０の数やキャパシタ３６の積分電位Ｖｎに関わらず、電流電圧源２３の第１基準電圧Ｖ１と抵抗変化素子１０の抵抗値によって決まる一定電流が、ニューロン回路３０へ入力され、蓄積される。
【００６３】
積分回路３１の積分電位Ｖｎは、比較回路３２に入力される。比較回路３２は、演算値が所定のしきい値ＶＴＨを超えたときに、波形発生回路３３へ出力信号（トリガ信号）Ｖｃを出力する。
【００６４】
信号発生回路３３は、比較回路３２の出力信号Ｖｃをトリガとして、時間の経過とともに基準値から所定のピーク値に至り、前記ピーク値から再び前記基準値へ戻るような所定の第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１および所定の時間幅を定める所定の第２波形を有するスイッチングパルス電圧信号ＶＰＯＳＴ２を生成する。荷重変更パルス電圧信号ＶＰＯＳＴ１は、第１出力端子４７から出力され、スイッチングパルス電圧信号ＶＰＯＳＴ２は、第２出力端子４６から出力される。
【００６５】
図５Ａは図１に示すニューラルネットワーク回路素子において用いられる荷重変更パルス電圧信号の波形例を示す図であり、図５Ｂは図１に示すニューラルネットワーク回路素子において用いられるスイッチングパルス電圧信号の波形例を示す図である。
【００６６】
図５Ａに例示する荷重変更パルス電圧信号ＶＰＯＳＴ１は、第１波形として、時間の経過とともに基準値である０電位から所定の正のピーク電圧値まで上昇し、その後、正のピーク電圧値から再び０電位まで下降する三角波形を有するアナログパルス電圧信号である。なお、荷重変更パルス電圧信号ＶＰＯＳＴ１は、図５Ａに示した波形の他、例えば図５Ａの波形の符号を反転させた波形が用いられ得る。さらに、図５Ａの例では、電位の上昇と減少が時間に対して線形に変化する波形を記載しているが、電位が時間に対して非線形に変化してもよい。
【００６７】
図５Ｂに例示するスイッチングパルス電圧信号ＶＰＯＳＴ２は、第２波形として方形波を有している。より具体的には、図５Ｂに例示するスイッチングパルス電圧信号ＶＰＯＳＴ２は、所定の時間幅を有する期間（入力許容期間）、所定の電圧レベル以上（ＨＩ状態）となる第２波形を有している。なお、スイッチングパルス電圧信号ＶＰＯＳＴ２は、図５Ｂに示す波形に限られず、ＨＩ状態およびＬＯ状態の何れかの時間幅を定めることができる波形であればよい。このため、スイッチングパルス電圧信号ＶＰＯＳＴ２は、デジタル波形であってもアナログ波形であってもよい。後述するように、ニューラルネットワーク回路素子４０の第１入力端子５１に入力されるスイッチングパルス電圧信号ＶＰＲＥもスイッチングパルス電圧信号ＶＰＯＳＴ２と同様の波形を有する。
【００６８】
信号発生回路３３は、荷重変更パルス電圧信号ＶＰＯＳＴ１およびスイッチングパルス電圧信号ＶＰＯＳＴ２を同じタイミングで生成する。具体的には、荷重変更パルス電圧信号ＶＰＯＳＴ１の電位変化が生じる時間およびスイッチングパルス電圧信号ＶＰＯＳＴ２の時間的な中心点（図５Ａおよび図４Ｂにおいてそれぞれ時刻ｔ０で示す）が一致するように出力する。
【００６９】
図６は図１に示すニューラルネットワーク回路素子のニューロン回路における信号発生回路の例を示すブロック図である。図６に示すように、信号発生回路３３は、比較回路３２からの出力信号ＶＣをトリガとして駆動するデジタル／アナログコンバータ３３２と、アナログパルス電圧を生成するためのデジタル波形データが記憶されたデジタルメモリ３３１と、アナログ乗算回路３３３と、を備えている。デジタル／アナログコンバータ３３２は、比較回路３２からの出力信号ＶＣが入力されると、デジタルメモリ３３１から第１波形についてのデジタル波形データを読み出し、これをアナログ波形に変換してアナログ乗算回路３３３へ入力する。アナログ乗算回路３３３は、デジタルメモリ３３１の第１波形の大きさに、第２入力端子４５から入力される誤差電圧信号Ｖｅｒｒｏｒの大きさを乗算し、乗算後の振幅を有するアナログ波形を荷重変更パルス電圧信号ＶＰＯＳＴ１として生成する。生成された荷重変更パルス電圧信号ＶＰＯＳＴ１は、第１出力端子４７から出力される。図１に示すように、第１出力端子４７から出力された荷重変更パルス電圧信号ＶＰＯＳＴ１は、これを出力したニューロン回路３０が含まれるニューラルネットワーク回路素子４０内のすべてのシナプス回路２０にフィードバック入力される（図２Ｂ参照）。
【００７０】
信号発生回路３３は、スイッチングパルス電圧信号ＶＰＯＳＴ２も生成し、第２出力端子４６に出力する。前述したように、ニューロン回路３０の第２出力端子４６は、ニューラルネットワーク回路素子４０の出力信号端子５３に接続されている。したがって、スイッチングパルス電圧信号ＶＰＯＳＴ２はニューラルネットワーク回路素子４０の出力信号となる。中間層３に含まれるニューラルネットワーク回路素子４０の出力信号は、当該出力信号を出力したニューロン回路３０とは別のニューラルネットワーク回路素子４０（出力層４に含まれるニューラルネットワーク回路素子４０）における入力端子５１に第１入力信号（すなわち、後述するスイッチングパルス電圧信号ＶＰＲＥ）として入力される。出力層４に含まれるニューラルネットワーク回路素子４０の出力信号は、ニューラルネットワーク回路１の出力信号端子８から出力される出力信号Ｖｏｕｔとなる。
【００７１】
［シナプス回路］
次に、本実施形態におけるシナプス回路２０について説明する。図１に示すように、シナプス回路２０は、パルス電圧の印加により抵抗値が変化する抵抗変化素子１０を備えている。シナプス回路２０は、第１入力端子４１に入力されるスイッチングパルス電圧信号ＶＰＲＥにおける所定の時間幅を有する期間、当該スイッチングパルス電圧信号ＶＰＲＥと第２入力端子４２に入力される荷重変更パルス電圧信号ＶＰＯＳＴ１との時間差に応じた電圧によって当該シナプス回路２０における抵抗変化素子１０の抵抗値を変化させるよう構成される。ここで、スイッチングパルス電圧信号ＶＰＲＥは、当該スイッチングパルス電圧信号ＶＰＲＥが入力されるシナプス回路２０が含まれるニューラルネットワーク回路素子４０とは別のニューラルネットワーク回路素子４０から入力されたスイッチングパルス電圧信号ＶＰＯＳＴ２または入力信号端子６から入力された入力信号Ｖｉｎである。また、荷重変更パルス電圧信号ＶＰＯＳＴ１は、当該荷重変更パルス電圧信号ＶＰＯＳＴ１が入力されるシナプス回路２０が含まれるニューラルネットワーク回路素子４０のニューロン回路３０で生成された荷重変更パルス電圧信号ＶＰＯＳＴ１である。
【００７２】
抗変化素子１０は、第１端子１３、第２端子１４、および第３端子１５を具備している。第１端子１３と第２端子１４との間には、スイッチングパルス電圧信号ＶＰＲＥに基づいた定電圧が印加される。第１端子１３と第３端子１５との間には、スイッチングパルス電圧信号ＶＰＲＥにおける所定の時間幅を有する期間（入力許容期間）、当該スイッチングパルス電圧信号ＶＰＲＥと荷重変更パルス電圧信号ＶＰＯＳＴ１との時間差に応じた電圧が印加される。抵抗変化素子１０は、このようにして生じた第１端子１３と第３端子１５との間の電位差に応じて第１端子１３と第２端子１４との間の抵抗値が変化する。
【００７３】
なお、抵抗変化素子１０は、不揮発性を有する抵抗変化素子を用いることができる。不揮発性とは、抵抗変化素子１０に電圧の印加により抵抗値が変化した後、電圧の印加を止めた後でも当該変化した抵抗値が保持される性質を意味する。このような抵抗変化素子１０を用いることにより、抵抗変化素子１０への電圧供給遮断後も抵抗値を保持することができる。
【００７４】
本実施形態における抵抗変化素子１０は、強誘電体メモリスタ（memristor）である。
図７Ａは図１に示すニューラルネットワーク回路素子における抵抗変化素子の具体例を示す断面模式図であり、図７Ｂは図７Ａに示す抵抗変化素子の回路記号を示す図である。
【００７５】
図７Ａに示すように、強誘電体メモリスタは、強誘電体層７１をゲート絶縁層とする電界効果トランジスタ構造を有する（強誘電体ゲートトランジスタとも称される）。強誘電体メモリスタは、基板７２上に形成された制御電極（ゲート電極）７３と、制御電極７３が当接するように設けられる強誘電体層７１と、強誘電体層７１上に形成された半導体層７４と、半導体層７４上に設けられた第１電極（ソース電極）７５および第２電極（ドレイン電極）７６とを備えている。第１電極７５は第１端子１３に接続され、第２電極７６は第２端子１４に接続され、制御電極７３は、第３端子１５に接続される。このような構成の抵抗変化素子１０は、第１電極７５と制御電極７３との間の電位差に応じて第１電極７３と第２電極７４との間の抵抗値が変化する。
【００７６】
半導体層７４は、例えば、ＺｎＯ、ＧａＮ、またはＩｎＧａＺｎＯ等により形成される。強誘電体層７１は、例えば、Ｐｂ（Ｚｒ，Ｔｉ）Ｏ３、Ｓｒ（Ｂｉ，Ｔａ）Ｏ、またはＢｉ１２ＴｉＯ２０等により形成される。第１電極７５、第２電極７６および制御電極７３は、例えば、白金層およびチタン層を含む積層体等により構成される。
【００７７】
このような強誘電体メモリスタにおいて、制御電極７３と、第１電極７５および／または第２電極７６との間に電圧が印加されると、強誘電体層７１の分極方向（図７Ａにおいては矢印Ｑで示されている）に依存して、第１電極７５と第２電極７６との間の抵抗値が不揮発に変化する。
【００７８】
より具体的に説明する。なお、以下では、制御電極７３から半導体層７４に向かう方向を上方向とし、半導体層７４から制御電極７３へ向かう方向を下方向とする。図７Ａに示すように、強誘電体層７１の一部分が上方向の分極（図７Ａの矢印Ｑで示す方向の分極）を有する場合、当該強誘電体層７１の分極が生じた箇所の上方に積層されている半導体層７４は低い抵抗値を有する。一方、強誘電体層７１の一部分が下方向の分極（図７Ａの矢印Ｑで示す方向とは反対方向の分極）を有する場合、当該強誘電体層７１の分極が生じた箇所の上方に積層している半導体層７４は高い抵抗値を有する。第１電極７５と第２電極７６との間の抵抗値は、半導体層７４における第１電極７５と第２電極７６とに挟まれた領域の抵抗値となる。したがって、当該半導体層７４の領域の下方に位置する強誘電体層７１における分極の割合によって、第１電極７５と第２電極７６との間の抵抗値が連続的に変化する。
【００７９】
このような強誘電体メモリスタにおいて、第１電極７５と第２電極７６との間の抵抗値を制御するために、第１電極７５および／または第２電極７６と制御電極７３との間の電位差を変化させることで、強誘電体層７１の分極方向を変化させる。例えば、第１電極７５および／または第２電極７６を基準として、制御電極７３に正の電圧を印加すると、強誘電体層７１の分極による電場の向きが上方向（半導体層７４側）に向きやすくなる。反対に、制御電極７３に負の電圧を印加すると、強誘電体層７１の分極による電場の向きが下方向（制御電極７３側）に向きやすくなる。また、印加する電圧の大きさ（絶対値）が大きいほど、強誘電体層７１における分極の変化量が大きくなる。したがって、制御電極７３に正の電圧を印加すると第１電極７５と第２電極７６との間の抵抗値は減少し、制御電極７３に負の電圧を印加すると第１電極７５と第２電極７６との間の抵抗値は増加する。また、第１電極７５と第２電極７６との間の抵抗値の変化は制御電極７３に印加される電圧の絶対値が大きいほど顕著になる。以上のように、強誘電体メモリスタは、上述の抵抗変化素子１０として採用し得る。
【００８０】
ここで、上述した強誘電体メモリスタの製造方法について例示する。まず、例えばチタン酸ストロンチウム（ＳｒＴｉＯ３）からなる（００１）配向の単結晶基板７２上に、例えばルテニウム酸ストロンチウム（ＳｒＲｕＯ３）からなる酸化物導電体層を、パルスレーザデポジション（以下ＰＬＤ）法によって堆積する。酸化物導電体層の厚みは例えば３０ｎｍである。また、堆積時の基板７２の温度は７００℃である。酸化物導電体層の堆積後、フォトリソグラフィおよびイオンミリング法によって制御電極７３を形成する。
【００８１】
さらに、基板７２の温度が７００℃である状態で、ＰＬＤ法を用いて制御電極７３上に例えばジルコニウム酸チタン酸鉛（Ｐｂ（Ｚｒ，Ｔｉ）Ｏ３）からなる強誘電体層７１を堆積する。強誘電体層７１の厚みは例えば４５０ｎｍである。その後、基板７２の温度を４００℃まで下げ、強誘電体層７１上に例えば酸化亜鉛（ＺｎＯ）からなる半導体層７４を堆積する。半導体層７４の厚みは例えば４５０ｎｍである。
【００８２】
次に、堆積された半導体層７４上にパターニングされたレジストを形成する。その後、例えばチタン層および白金層を、室温下で電子ビーム蒸着法によって堆積することにより、チタン層および白金層からなる積層体を形成する。チタン層の厚みは例えば５ｎｍであり、白金層の厚みは例えば３０ｎｍである。積層体の形成後、リフトオフ法によって第１電極７５および第２電極７６を形成する。第１電極７５および第２電極７６は、半導体層７４の主面に接触し、互いが所定距離離間するように形成される。このようにして、強誘電体メモリスタである抵抗変化素子１０が得られる。
【００８３】
抵抗変化素子１０の抵抗値を変化させる具体的な構成として、シナプス回路２０は、抵抗変化素子１０の第３端子１５と荷重変更パルス電圧信号ＶＰＯＳＴ１が入力される第２入力端子４２との間の接続または遮断を切り替える第１スイッチ２１を備えている。第１スイッチ２１は、第１入力端子５１から入力されたスイッチングパルス電圧信号ＶＰＲＥに基づいて抵抗変化素子１０の第３端子１５と第２入力端子４２との間の接続または遮断を切り替える。
【００８４】
例えば、スイッチングパルス電圧信号ＶＰＲＥは、所定の時間幅を有する期間（入力許容期間）、所定の電圧レベル以上（ＨＩ状態）となる波形を有している。スイッチングパルス電圧信号ＶＰＲＥがＨＩ状態の期間は、第１スイッチ２１によって、抵抗変化素子１０の第３端子１５と、シナプス回路２０の第２入力端子４２とが接続される。すなわち、スイッチングパルス電圧信号ＶＰＲＥがＨＩ状態の期間、第１スイッチ２１が閉状態となることにより、シナプス回路２０の第２入力端子４２と抵抗変化素子１０の第３端子１５との間が導通可能となる。したがって、スイッチングパルス電圧信号ＶＰＲＥに基づいて定められる入力許容期間において、抵抗変化素子１０の第３端子１５と、ニューロン回路３０の荷重変更パルス電圧信号ＶＰＯＳＴ１を出力する第２出力端子４６との間が接続され、それ以外の期間は当該接続が遮断される。
【００８５】
さらに、シナプス回路２０は、所定の第１基準電圧Ｖ１（例えば電源電圧ＶＤＤ）を発生させる第１基準電圧源２３と、一端が第１基準電圧源２３に接続され、他端が抵抗変化素子１０の第１端子１３に接続される第２スイッチ２２を備えている。第２スイッチ２２は、他のニューラルネットワーク回路素子４０から、または、入力信号端子６から入力されるスイッチングパルス電圧信号ＶＰＲＥが所定の時間幅を有する期間（入力許容期間）、例えば所定の電圧レベル以上（ＨＩ状態）となり、第１基準電圧源２３と第１端子１３とを接続するように構成される。また、シナプス回路２０は、スイッチングパルス電圧信号ＶＰＲＥを所定の時間遅延させる遅延回路２９を備えている。
【００８６】
遅延回路２９の一端は、シナプス回路２０の第１入力端子４１に接続され、遅延回路２９の他端は、第１スイッチ２１の制御端子２６および第２スイッチ２２の制御端子１８に接続されている。第１スイッチ２１の一対の主端子のうちの一方の端子２７は、第２入力端子４２に接続され、第１スイッチ２１の一対の主端子のうちの他方の端子２８は、抵抗変化素子１０の第３端子１５に接続されている。第１スイッチ２１は、制御端子２６に所定の電圧以上の電圧が印加された場合に、一対の主端子２７，２８間を接続するよう構成される。第２スイッチ２２の一対の主端子のうちの一方の端子１６は、第１基準電圧源２３に接続され、第２スイッチ２２の一対の主端子のうちの他方の端子１７は、抵抗変化素子１０の第１端子１３に接続されている。第２スイッチ２２は、制御端子１８に所定の電圧以上の電圧が印加された場合に、一対の主端子１６，１７間を接続するよう構成される。抵抗変化素子１０の第２端子１４は、出力端子４３に接続されている。
【００８７】
このような構成において、ニューラルネットワーク回路素子４０の第１入力端子５１から入力されたスイッチングパルス電圧信号ＶＰＲＥが第１スイッチ２１の制御端子２６および第２スイッチ２２の制御端子１８に入力される。したがって、第１スイッチ２１は、スイッチングパルス電圧信号ＶＰＲＥにおける所定の時間幅を有する期間（ＨＩ状態の期間）において一対の主端子２７，２８間を接続し、その他の期間（ＬＯ状態の期間）において一対の主端子２７，２８間を遮断する。同様に、第２スイッチ２２は、スイッチングパルス電圧信号ＶＰＲＥにおける所定の時間幅を有する期間（ＨＩ状態の期間）において一対の主端子１６，１７間を接続し、その他の期間（ＬＯ状態の期間）において一対の主端子１６，１７間を遮断する。
【００８８】
図８は図１に示すニューラルネットワーク回路素子のシナプス回路における第１スイッチの具体例を示す回路図である。図８に示す具体例において、第１スイッチ２１は、相補的動作をする少なくとも２つのトランジスタを用いて構成される。図８の例において、第１スイッチ２１は、２つのｎ型ＭＯＳＦＥＴ２１１，２１２と、１つのインバータ２１３とを備えている。一方のｎ型ＭＯＳＦＥＴ２１１のソース端子には所定の基準電圧（例えばグランド電圧）が与えられ、ドレイン端子は他方のｎ型ＭＯＳＦＥＴ２１２のソース端子に接続され、ゲート端子はインバータ２１３の出力端子に接続されている。他方のｎ型ＭＯＳＦＥＴ２１２のドレイン端子は、一対の主端子のうちの一方の端子２７に接続され、ゲート端子は、制御端子２６に接続されている。インバータ２１３の入力端子も、制御端子２６に接続されている。２つのｎ型ＭＯＳＦＥＴ２１１，２１２間の共通端子は、一対の主端子のうちの他方の端子２８に接続されている。なお、インバータ回路２１３を用いる代わりに２つのｎ型ＭＯＳＦＥＴ２１１，２１２のうちの一方（２１１）をｐ型のＭＯＳＦＥＴとしてもよい。
【００８９】
前述したように、一対の主端子のうちの一方の端子２７には、この第１スイッチ２１が設けられているニューラルネットワーク回路素子４０に設けられているニューロン回路３０の第２出力端子４６から出力された荷重変更パルス電圧信号ＶＰＯＳＴ１が入力される。また、制御端子２６には、この第１スイッチ２１が設けられているニューラルネットワーク回路素子４０の外部から入力されるスイッチングパルス電圧信号ＶＰＲＥが入力される。
【００９０】
このような構成において、制御端子２６に印加されるスイッチングパルス電圧信号ＶＰＲＥがＨＩ状態の期間には、ｎ型ＭＯＳＦＥＴ２１１が開状態（遮断状態）、ｎ型ＭＯＳＦＥＴ２１２が閉状態（接続状態）となるので、荷重変更パルス電圧信号ＶＰＯＳＴ１の電圧値に応じた電圧値が一対の主端子のうちの他方の端子２８における出力電圧となる。スイッチングパルス電圧信号ＶＰＲＥがＬＯ状態の期間には、ｎ型ＭＯＳＦＥＴ２１１が閉状態（接続状態），ｎ型ＭＯＳＦＥＴ２１２が開状態（遮断状態）となるので、第２端子２８における出力電圧は基準電圧（ｎ型ＭＯＳＦＥＴ２１１のソース端子に印加されるグランド電位と略同電位）となる。
【００９１】
第２スイッチ２２は、例えば電界効果トランジスタ（ＦＥＴ）等により実現できる。この場合、ＦＥＴのゲート端子が制御端子１８として機能する。
【００９２】
このようなシナプス回路２０において、第１入力端子４１には、他のニューラルネットワーク回路素子４０が出力するスイッチングパルス電圧信号ＶＰＯＳＴ２が、第１入力信号、すなわち、スイッチングパルス電圧信号ＶＰＲＥとして印加される。また、シナプス回路２０の第２入力端子４２には、同じニューラルネットワーク回路素子４０内のニューロン回路３０から出力された荷重変更パルス電圧信号ＶＰＯＳＴ１が印加される。
【００９３】
［ニューラルネットワーク回路素子における処理機能および学習機能］
抵抗変化素子１０は、前述したように第１端子１３と第２端子１４との間の抵抗値が可変する特性を有している。第２スイッチ２２が閉状態になることにより、抵抗変化素子１０の第１端子１３と第２端子１４との間に第１基準電圧Ｖ１が印加される。これにより、直流電圧源２３から抵抗変化素子１０に、当該抵抗変化素子１０の現時点における導電率（抵抗値の逆数）に比例した電流が流れる。この電流は、ニューロン回路３０に入力される。ニューロン回路３０に入力される電流の大きさは、シナプス結合荷重ｗに比例しており、図１８に示すようなＰＳＰ（Ｐ１（ｔ），Ｐ２（ｔ））に相当するものとなる。このように、本実施形態では、抵抗変化素子１０の導電率（抵抗値の逆数）がシナプス結合荷重ｗに相当することとなる。
【００９４】
複数のシナプス回路２０からニューロン回路３０に入力される電流は、当該ニューロン回路３０が含まれるニューラルネットワーク回路素子４０が含む複数のシナプス回路２０の各々から非同期的に与えられる。積分回路３１は、複数のシナプス回路２０からの入力電流を時空間加算する。時空間加算によって生じる積分電圧は、前述したニューロンの内部電位Ｖｎとみなせる。内部電位Ｖｎが所定のしきい値電圧ＶＴＨを超えると、波形発生回路３３が２つのパルス電圧（ＶＰＯＳＴ１，ＶＰＯＳＴ２）を生成する。中間層３に含まれるニューラルネットワーク回路素子４０のニューロン回路３０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２は、出力層４に含まれるニューラルネットワーク回路素子４０のシナプス回路２０の第１入力端子５１にスイッチングパルス電圧信号ＶＰＲＥとして印加される。また、出力層４に含まれるニューラルネットワーク回路素子４０のニューロン回路３０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２は、ニューラルネットワーク回路の出力信号Ｖｏｕｔとして出力信号端子８から出力される。
【００９５】
中間層３に含まれるニューラルネットワーク回路素子４０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２が、出力層４に含まれるニューラルネットワーク回路素子４０に第１入力信号（スイッチングパルス電圧信号ＶＰＲＥ）として入力された場合、出力層４に含まれる当該ニューラルネットワーク回路素子４０のシナプス回路２０は、スイッチングパルス電圧信号ＶＰＲＥの値に基づいて、第１スイッチ２１を切り替える。スイッチングパルス電圧信号ＶＰＲＥは、所定の時間幅を有する期間、第１スイッチ２１が、抵抗変化素子１０の第３端子１５と、シナプス回路２０の第２入力端子４２とを接続する。これによって、抵抗変化素子１０の第３端子１５に荷重変更パルス電圧信号ＶＰＯＳＴ１が入力可能な入力許容期間となる。この入力許容期間において第２入力端子４２に入力された荷重変更パルス電圧信号ＶＰＯＳＴ１が抵抗変化素子１０の第３端子１５に印加される。このように、アナログ波形パルス電圧信号ＶＰＯＳＴ１のうちスイッチングパルス電圧信号ＶＰＲＥと時間的に重なる波形を有する（すなわち、所定の時間幅を有する）パルス電圧が、抵抗変化素子１０の第３端子１５に印加される。この所定の時間幅を有するパルス電圧によって抵抗変化素子１０の抵抗値が変更される。上述のとおり、本実施形態においては、抵抗変化素子１０の抵抗値の逆数（導電率）がシナプス結合荷重を表わしているので、その抵抗値の変化によりシナプス回路２０のシナプス結合強度を更新する「学習」動作が可能となる。
【００９６】
また、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとが印加されるタイミング（時間差）によって、抵抗変化素子１０の第３端子１５に印加されるパルス電圧の波形は変化する。上述のように、抵抗変化素子１０の抵抗値変化の程度は、印加される電圧の大きさ、つまり電圧波形に依存する。２つのパルス電圧が印加されるタイミングに応じて抵抗変化素子１０の第３端子１５に印加されるパルス電圧の波形は、変化する。したがって、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとが印加されるタイミングに応じて抵抗変化素子１０の抵抗値変化の程度も変化する。
【００９７】
図９は図５Ａに示す荷重変更パルス電圧信号と図５Ｂに示すスイッチングパルス電圧信号との時間差に応じた抵抗変化素子の第３端子への印加電圧を示すグラフである。上述したように、スイッチングパルス電圧信号ＶＰＲＥがＨＩ状態の期間だけ、荷重変更パルス電圧信号ＶＰＯＳＴ１が抵抗変化素子１０の第３端子１５に印加される。図９において、第１スイッチ２１の動作によって入力許容期間に抵抗変化素子１０の第３端子１５に印加される電圧（以下、ゲート入力電圧）をＶｓａｍｐｌｅとする。また、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの入力タイミング差ｔＰＯＳＴ１−ｔＰＲＥは、荷重変更パルス電圧信号ＶＰＯＳＴ１の電位変化が生じる時間およびスイッチングパルス電圧信号ＶＰＯＳＴ２の時間的な中心点（図５Ａおよび図５Ｂにおける時刻ｔ０）を基準として、その基準点の時間差とする。なお、図９には、２つのパルス電圧入力タイミング差の大きさを矢印で示している。
【００９８】
図９に示されるように、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの入力タイミング差ｔＰＯＳＴ１−ｔＰＲＥが変化することにより、ゲート入力電圧信号Ｖｓａｍｐｌｅの波形が変化する。例えばｔＰＯＳＴ１−ｔＰＲＥ＜０のとき（ＶＰＯＳＴ１がＶＰＲＥより早く入力されるとき）、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとが時間的に重なると、ゲート入力電圧信号Ｖｓａｍｐｌｅは負方向の電圧となり、入力タイミング差がある程度小さくなるまでは、入力タイミング差が小さいほどゲート入力電圧信号Ｖｓａｍｐｌｅの大きさが大きくなる。ゲート入力電圧信号Ｖｓａｍｐｌｅの大きさが負方向に大きくなるほど、抵抗変化素子１０の導電率(抵抗値の逆数)が大きく減少する。一方、ｔＰＯＳＴ１−ｔＰＲＥ＞０のとき（ＶＰＯＳＴ１がＶＰＲＥより遅く入力されるとき）は、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとが時間的に重なると、ゲート入力電圧信号Ｖｓａｍｐｌｅは、正方向の電圧となり、入力タイミング差がある程度小さくなるまでは、入力タイミング差が小さいほどゲート入力電圧信号Ｖｓａｍｐｌｅの大きさが大きくなる。ゲート入力電圧信号Ｖｓａｍｐｌｅの大きさが正方向に大きくなるほど、抵抗変化素子１０の導電率(抵抗値の逆数)が大きく増加する。入力タイミング差ｔＰＯＳＴ１−ｔＰＲＥが０に近い所定の領域においては、ゲート入力電圧信号Ｖｓａｍｐｌｅは、平均値が略０に近づく。
【００９９】
このように、スイッチングパルス電圧信号ＶＰＲＥを用いて第１スイッチ２１を切り替えることで、同じニューラルネットワーク回路素子４０内で生成されたアナログパルス電圧ＶＰＯＳＴ１と他のニューラルネットワーク回路素子４０から入力されたスイッチングパルス電圧ＶＰＲＥの入力タイミング差に基づいて、抵抗変化素子１０の第３端子１５に、当該入力タイミング差に依存したゲート入力電圧信号Ｖｓａｍｐｌｅが印加される。このようにして印加されたゲート入力電圧信号Ｖｓａｍｐｌｅによって、抵抗変化素子１０において入力タイミング差に依存した抵抗値の変調が実現できる。本実施形態によれば、前段のニューラルネットワーク回路素子４０のパルスタイミングと、後述する誤差演算回路５からのフィードバック信号とによって変化するパルスの振幅に応じて抵抗を変化させるため、学習が効率的に実現される。
【０１００】
さらに、ニューラルネットワーク回路素子４０は、誤差演算回路５で生成された誤差電圧信号Ｖｅｒｒｏｒに基づいてニューロン回路３０の波形発生回路３３から出力される荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅を変更するよう構成される。
【０１０１】
このような構成によれば、出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差を電圧信号（誤差電圧信号Ｖｅｒｒｏｒ）に変換することにより、出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差の大きさをシナプスの荷重を変更するための電圧信号（荷重変更パルス電圧信号ＶＰＯＳＴ１）の大きさに反映することができる。このため、出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差を小さくするように荷重を変更することが可能となる。したがって、エラーバックプロパゲーション学習を適切に実現することができる。
【０１０２】
［誤差演算回路］
次に、本実施形態における誤差演算回路５について説明する。誤差演算回路５には、少なくとも１つの出力信号Ｖｏｕｔと、少なくとも１つの教師信号Ｖｔが入力される。誤差演算回路５は少なくとも１つの出力信号端子８を含み、少なくとも１つの出力信号端子８の数と誤差演算回路５に入力される少なくとも１つの教師信号Ｖｔの数は等しい。誤差演算回路５は出力信号Ｖｏｕｔと、当該出力信号Ｖｏｕｔに対応する教師信号Ｖｔとの時間差に応じた大きさの電圧信号を誤差電圧信号Ｖｅｒｒｏｒとして生成する。具体的には、誤差演算回路５は、出力信号端子８と同じ数の時間差演算回路９０と、１つの和算回路８０と、を備える。図２Ａにおいては、少なくとも１つの出力信号端子８は複数の出力信号端子８ａ，８ｂ，…である。また、図２Ａにおいては、複数の出力信号端子８ａ，８ｂ，…のそれぞれに対応する時間差演算回路を９０ａ，９０ｂ，…で表している。すなわち、誤差演算回路５は少なくとも1つの時間差演算回路９０を含み、図２Ａでは、少なくとも1つの時間差演算回路９０は時間差演算回路を９０ａ，９０ｂ，…である。
【０１０３】
時間差演算回路９０は、それぞれ、８a、８ｂ、・・・のうち対応する出力信号端子から出力される出力信号Ｖｏｕｔと、当該出力信号Ｖｏｕｔに対応する教師信号Ｖｔとの時間差に応じた誤差電圧信号Ｖｅｒｒｏｒを生成し、当該誤差電圧信号Ｖｅｒｒｏｒを、出力層４のニューラルネットワーク回路素子４０に含まれるニューロン回路３０に入力するよう構成される。具体的には、時間差演算回路９０は、ニューラルネットワーク回路１の対応する出力信号端子に接続される第１入力端子９３と、７a、７ｂ、・・・のうち対応する教師信号端子に接続される第２入力端子９４と、誤差電圧信号Ｖｅｒｒｏｒを出力する出力端子９５と、を備える。出力端子９５は、出力層４のニューラルネットワーク回路素子４０の第２入力端子５２に接続される。
【０１０４】
和算回路８０は、時間差演算回路９０のそれぞれにおいて生成された誤差電圧信号Ｖｅｒｒｏｒを和算した和算電圧信号Ｖｓａｍを生成し、当該和算電圧信号Ｖｓａｍを、中間層３に含まれるニューラルネットワーク回路素子４０のニューロン回路３０に入力するよう構成される。具体的には、和算回路８０は、時間差演算回路９０の出力端子９５に接続される時間差演算回路９０と同じ数の入力端子８４と、和算電圧信号Ｖｓａｍを出力する１つの出力端子８５と、を備える。和算回路８０の出力端子８５は、中間層３に含まれるすべてのニューラルネットワーク回路素子４０の誤差入力端子５２にフィードバック入力される。
【０１０５】
図１０Ａは図１に示すニューラルネットワーク回路素子の誤差演算回路における時間差演算回路の概略構成例を示すブロック図である。図１０Ａにおいて、時間差演算回路９０は、スイッチ９１と、ピークホールド回路９２と、を備えている。スイッチ９１は、一対の主端子と制御端子と、を備える。一対の主端子のうちの一方は、時間差演算回路９０の第２入力端子９４に接続され、一対の主端子のうちの他方は、時間差演算回路９０のピークホールド回路９２の入力端子に接続され、制御端子は、第１入力端子９３に接続される。ピークホールド回路９２の出力端子は、時間差演算回路９０の出力端子９５に接続される。
【０１０６】
図１０Ｂは図１０Ａに示す時間差演算回路におけるスイッチおよびピークホールド回路の具体例を示す回路図である。図１０Ｂに示す具体例において、スイッチ９１は、相補的動作をする少なくとも２つのトランジスタにより構成される。図１０Ｂの例において、スイッチ９１は、２つのｎ型のＭＯＳＦＥＴ９１１，９１２と、１つのインバータ９１３と、を備えている。２つのｎ型ＭＯＳＦＥＴのうちの一方のｎ型ＭＯＳＦＥＴ９１１のソース端子には、第２基準電圧源９２０が接続され、当該ソース端子に第２基準電圧Ｖ２が印加される。ｎ型ＭＯＳＦＥＴ９１１のドレイン端子には他方のｎ型ＭＯＳＦＥＴ９１２のソース端子が接続され、ゲート端子はインバータ９１３の出力端子に接続されている。
【０１０７】
他方のｎ型ＭＯＳＦＥＴのドレイン端子は、第２入力端子９４に接続され、入力層２の教師信号端子７に入力された教師信号Ｖｔが入力される。ｎ型ＭＯＳＦＥＴ９１２のゲート端子およびインバータ９１３の入力端子は、第１入力端子９３に接続され、出力層４のニューラルネットワーク回路素子４０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２が入力される。２つのｎ型ＭＯＳＦＥＴ９１１，９１２間の共通端子は、ピークホールド回路９２の入力端子９１４に接続されている。なお、インバータ９１３を用いる代わりに２つのｎ型ＭＯＳＦＥＴ９１１，９１２のうちの一方（例えば９１１）をｐ型のＭＯＳＦＥＴとしてもよい。
【０１０８】
このようなスイッチ９１の構成において、第１入力端子９３に印加されるスイッチングパルス電圧信号ＶＰＯＳＴ２がＨＩ状態の期間には、ｎ型ＭＯＳＦＥＴ９１１が開状態（遮断状態），ｎ型ＭＯＳＦＥＴ９１２が閉状態（接続状態）となるので、教師信号Ｖｔに応じた電圧値がスイッチ９１の出力電圧となる。スイッチングパルス電圧信号ＶＰＯＳＴ２がＬＯ状態の期間には、ｎ型ＭＯＳＦＥＴ９１１が閉状態（接続状態），ｎ型ＭＯＳＦＥＴ９１２が開状態（遮断状態）となるので、出力電圧は第２基準電圧Ｖ２となる。第２基準電圧Ｖ２は、例えば教師信号Ｖｔの最小電位（基準電位との電位差が最も大きい負極性の電位）以下の電位に設定される。
【０１０９】
図１０Ｂの例において、ピークホールド回路９２は、２つのオペアンプ９１５，９１６と、ダイオード９１７と、キャパシタ９１８と、第３基準電圧源９１９と、を備えている。キャパシタ９１８の容量値は例えば１００ｐＦである。ピークホールド回路９２の入力端子９１４は、第１のオペアンプ９１５の負極性入力端子（−）に接続される。第１のオペアンプ９１５の正極性入力端子（＋）は、第２のオペアンプ９１６の正極性入力端子（＋）に接続されている。第１のオペアンプ９１５の出力端子には、ダイオード９１７のアノードが接続され、ダイオード９１７のカソードは、第１のオペアンプ９１５の正極性入力端子（＋）および第２のオペアンプ９１６の正極性入力端子（＋）に接続されている。
【０１１０】
さらに、ダイオード９１７のカソード、第１および第２のオペアンプ９１５，９１６の正極性入力端子（＋）は、キャパシタ９１８の一端に接続されている。キャパシタ９１８の他端には第３基準電圧源９１９が接続されている。第２のオペアンプ９１６の負極性入力端子（−）は、第２のオペアンプ９１６の出力端子に接続されている。第２のオペアンプ９１６の出力端子は、時間差演算回路９０の出力端子９５に接続される。第３基準電圧源９１９における第３基準電圧Ｖ３は、教師信号Ｖｔの基準電位（例えば０電位）より低い電位、例えば教師信号Ｖｔの最小電位以下の電位に設定される。第２基準電圧Ｖ２は、第３基準電圧Ｖ３以下の電位に設定される。
【０１１１】
このような構成によれば、時間差演算回路９０は、スイッチングパルス電圧信号ＶＰＯＳＴ２と教師信号Ｖｔとの時間差に応じた直流電圧を、誤差演算回路５の出力端子９５に出力する。スイッチングパルス電圧信号ＶＰＯＳＴ２が第１入力端子９３に入力される前の状態（ＬＯ状態）においては、キャパシタ９１８は、第３基準電圧Ｖ３と同電位となるように充電され、出力端子９５の電位は第３基準電圧Ｖ３となる。スイッチングパルス電圧信号ＶＰＯＳＴ２のパルス波形が第１入力端子９３に入力されると、スイッチ９１は、スイッチングパルス電圧信号ＶＰＯＳＴ２がＨＩ状態である間の教師信号Ｖｔの電圧を出力する。すなわち、スイッチングパルス電圧信号ＶＰＯＳＴ２と教師信号Ｖｔとの時間差が所定の範囲内である場合において、スイッチングパルス電圧信号ＶＰＯＳＴ２が教師信号Ｖｔより早く入力される場合（ｔｏ−ｔｔ＞０の場合）には、出力される電圧は、負極性かつ時間差が大きいほど基準電位との電位差が大きい電圧となり、スイッチングパルス電圧信号ＶＰＯＳＴ２が教師信号Ｖｔより遅く入力される場合（ｔｏ−ｔｔ＜０の場合）には、出力される電圧は、性極性かつ時間差が大きいほど基準電位との電位差が大きい電圧となり、スイッチングパルス電圧信号ＶＰＯＳＴ２と教師信号Ｖｔとの時間差が０の場合には、出力される電圧は教師信号Ｖｔの基準電位に略等しくなる。
【０１１２】
スイッチ９１から出力された電圧がピークホールド回路９２の入力端子９１４に入力されると、当該出力された電圧によってキャパシタ９１８が充電される。このため、時間差演算回路９０の出力端子９５の電位が入力端子９１４と等電位となる。スイッチ９１の出力が第３基準電圧Ｖ２に戻っても、ダイオード９１７が逆バイアスされるため、キャパシタ９１８はオープン状態となり充放電が起こらない。そのため、出力端子９５の電位は、スイッチ９１が出力した最大の電位で保持される。この構成により、ピークホールド回路９２は、スイッチングパルス電圧信号ＶＰＯＳＴ２と教師信号Ｖｔとの時間差に応じて極性および大きさが異なる直流電圧を誤差電圧信号Ｖｅｒｒｏｒとして出力端子９５に出力することが可能となる。
【０１１３】
なお、ピークホールド回路９２は、第２のオペアンプ９１６の正極性入力端子（＋）にグランド電位と接続するか否かを切り替えるスイッチ（図示せず）が接続されている。時間差演算回路９０にスイッチングパルス電圧信号ＶＰＯＳＴ２のパルスが入力され、それに基づいた誤差電圧信号Ｖｅｒｒｏｒが出力された後の所定のタイミングで当該スイッチが閉状態となることにより、キャパシタ９１８に充電された電荷が放電され、元の状態（出力端子９５の電位が第３基準電圧Ｖ３となる状態）にリセットされる。
【０１１４】
図１１は図１に示すニューラルネットワーク回路素子の誤差演算回路における和算回路の例を示す回路図である。図１１に例示される和算回路８０は、時間差演算回路９０の数（すなわち、入力される誤差電圧信号Ｖｅｒｒｏｒの数）に応じた抵抗素子８１と、オペアンプ８３と、フィードバック抵抗素子８２と、を備えたアナログ和算回路として構成されている。抵抗素子８１およびフィードバック抵抗素子８２の抵抗値は例えばそれぞれ１ｋΩである。オペアンプ８３の正極性入力端子（＋）はグランド電位となるように構成され、オペアンプ８３の負極性入力端子（−）は抵抗素子８１を介して、和算回路８０の入力端子８４に接続される。オペアンプ８３の出力端子は、和算回路８０の出力端子８５に接続されている。
【０１１５】
このような和算回路８０により、出力層４に含まれるニューラルネットワーク回路素子４０のそれぞれで生じたスイッチングパルス電圧信号ＶＰＯＳＴ２と教師信号Ｖｔとの時間差に応じた誤差電圧信号Ｖｅｒｒｏｒが１つに重ね合わせられ、和算電圧信号Ｖｓａｍとして出力される。
【０１１６】
これにより、出力層４に含まれるニューラルネットワーク回路素子４０に対しては、対応する出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差に基づいて当該誤差を小さくするように荷重を変更することができる。さらに、中間層３に含まれるニューラルネットワーク回路素子４０に対しては、生成された誤差電圧信号Ｖｅｒｒｏｒを和算した和算電圧信号Ｖｓａｍに基づいて荷重を変更することができる。これにより、出力層４に含まれるニューラルネットワーク回路素子４０だけでなく、すべてのニューラルネットワーク回路素子４０に対してエラーバックプロパゲーション学習を実現することができる。
【０１１７】
［バックプロパゲーション学習］
以下、ニューラルネットワーク回路１を用いたバックプロパゲーション学習の態様についてより詳細に説明する。
【０１１８】
まず、１つのパターンについて学習する場合について説明する。エラーバックプロパゲーション学習を行うために、入力信号端子６に図３Ａに示すような所定の入力信号Ｖｉｎを入力し、教師信号端子７に所望の出力信号Ｖｏｕｔに応じた図３Ｂに示すような教師信号Ｖｔを入力する。後述するように、１つのパターンにつき２回の入力を行う（以下、１回目の入力を第１ステップ、２回目の入力を第２ステップと呼ぶ）。
【０１１９】
ここで、各信号の情報は、パルスの入力タイミングによって表現される。例えば、“０”を入力する場合には時刻ｔ＝０ｍｓにパルス電圧を入力し、“１”を入力する場合には時刻ｔ＝１ｍｓにパルス電圧を入力する。ここで、入力タイミングは、図３Ａおよび図３Ｂに示した時刻ｔｉｎ，ｔｔのような、パルス波形における時間的な中間点として定義される。
【０１２０】
また、出力層４に含まれるニューラルネットワーク回路素子４０の出力端子５３から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２は、ニューラルネットワーク回路１の出力信号Ｖｏｕｔとして出力される。出力信号Ｖｏｕｔは、入力信号Ｖｉｎと同様に、出力されるタイミングが出力情報となる。例えば、“０”を出力する場合、時刻ｔ＝１０ｍｓにスイッチングパルス電圧信号ＶＰＯＳＴ２を出力し、“１”を出力する場合、時刻ｔ＝１１ｍｓにスイッチングパルス電圧ＶＰＯＳＴ２を出力する。
【０１２１】
本実施形態における学習方法では、第１ステップとして、出力層４に含まれるニューラルネットワーク回路素子４０のニューロン回路３０から出力される荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅を、誤差電圧信号Ｖｅｒｒｏｒに基づいて変更した後、第２ステップとして、中間層３に含まれるニューラルネットワーク回路素子４０のニューロン回路３０から出力される荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅を、誤差電圧信号Ｖｅｒｒｏｒに基づいて変更する。
【０１２２】
具体的には、第１ステップは、中間層３に含まれるニューラルネットワーク回路素子４０のシナプス回路２０に荷重変更パルス電圧信号の代わりに電位が基準電位（例えばグランド電圧）に等しい信号を入力させることにより、中間層３に含まれるニューラルネットワーク回路素子４０の抵抗変化素子１０の抵抗値を変化させないようにした状態で、出力層４に含まれるニューラルネットワーク回路素子４０の抵抗変化素子１０の抵抗値を変化させる。第２ステップは、中間層３に含まれるニューラルネットワーク回路素子４０のシナプス回路２０に当該シナプス回路２０が含まれるニューラルネットワーク回路素子４０のニューロン回路３０で生成された第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１を入力させることによって、中間層３に含まれるニューラルネットワーク回路素子４０の抵抗変化素子１０の抵抗値を変化させる。このような第１ステップおよび第２ステップを含む学習を、教師信号Ｖｔと対応する出力信号Ｖｏｕｔとの時間差が規定値以下になるまで繰り返し実行する。
【０１２３】
上記方法によれば、まず、出力層４に含まれるニューラルネットワーク回路素子４０に対してエラーバックプロパゲーション学習に基づいた荷重の変更を行う。その後、中間層３に含まれるニューラルネットワーク回路素子４０に対してエラーバックプロパゲーション学習に基づいた荷重の変更を行う。このため、各ニューラルネットワーク回路素子４０のシナプス回路２０に対して効率的に誤差が小さくなるように荷重を変更することが可能となる。したがって、エラーバックプロパゲーション学習を適切に実現することができる。
【０１２４】
以下、各ステップについてより詳しく説明する。
【０１２５】
［第１ステップ］
前述したように、中間層３に含まれるニューラルネットワーク回路素子４０の第１入力端子５１には、スイッチングパルス電圧信号ＶＰＲＥが、入力信号端子６から入力信号Ｖｉｎとして入力される。したがって、入力信号ＶｉｎがＨＩ状態となる所定の時間幅において、第１スイッチ２１および第２スイッチ２２は閉状態となる。第２スイッチ２２が閉状態となることにより、直流電圧源２３と抵抗変化素子１０の第１端子１３とが接続され、抵抗変化素子１０の第１端子１３および第２端子１４間に第１基準電圧Ｖ１が印加される。
【０１２６】
ここで、第１ステップにおいて、中間層３に含まれるニューラルネットワーク回路素子４０のシナプス回路２０には、図５Ａに示すような第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１の代わりに電位が基準電位（例えばグランド電圧）に等しい信号が入力される。具体的には、例えば中間層３に含まれるニューラルネットワーク回路素子４０のニューロン回路３０は、第１ステップにおいて、第１出力端子４７から常に基準電位を出力するように構成される。このためには、例えば波形発生回路３３のデジタルメモリ３３１が第１ステップの場合に基準電位を出力し、第２ステップの場合に第１波形を出力するように構成される。第１ステップおよび第２ステップの何れであるかを判定する構成は、例えば、波形発生回路３３に、第１ステップおよび第２ステップの何れであるかを識別する信号を入力する構成としてもよい（例えば、波形発生回路３３に接続された識別信号入力端子を入力層２に設けて、本ニューラルネットワーク回路の使用者が、第１ステップおよび第２ステップの何れであるかを判定するための識別信号を識別信号端子に入力してもよい。）し、波形発生回路３３が所定の開始時からスイッチングパルス電圧ＶＰＲＥがシナプス回路２０に何回入力されたかを記憶可能なメモリを備え、その回数に応じて第１ステップおよび第２ステップの何れかを判定する構成としてもよい。
【０１２７】
このように、第１スイッチ２１および第２スイッチ２２が閉状態となっても抵抗変化素子１０の第３端子１５には抵抗変化素子１０の抵抗変化を生じさせる電圧は印加されない（ＨＩ状態にならない）。したがって、中間層３に含まれるニューラルネットワーク回路素子４０の抵抗変化素子１０は、抵抗値が変化しない。つまり、第１ステップにおいて、中間層３に含まれるニューラルネットワーク回路素子４０のニューロン回路３０では学習動作は起こらない。したがって、抵抗変化素子１０の現時点における抵抗値に応じたタイミングでスイッチングパルス電圧ＶＰＯＳＴ２が生成され、出力層４のニューラルネットワーク回路素子４０へ送られる。
【０１２８】
出力層４に含まれるニューラルネットワーク回路素子４０の第１入力端子５１には、中間層３のニューラルネットワーク回路４０から出力されたスイッチングパルス電圧ＶＰＯＳＴ２が入力される。さらに、第１ステップにおいて、出力層４に含まれるニューラルネットワーク回路素子４０のシナプス回路２０には、図５Ａに示すような第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１がフィードバック入力される。したがって、第１ステップにおける出力層４に含まれるニューラルネットワーク回路素子４０では、荷重変更パルス電圧信号ＶＰＯＳＴ１に基づいて抵抗変化素子１０の抵抗値が変化する。
【０１２９】
さらに、出力層４に含まれるニューラルネットワーク回路素子４０から出力されるスイッチングパルス電圧信号ＶＰＯＳＴ２（出力信号Ｖｏｕｔ）は、誤差演算回路５における時間差演算回路９０の第１入力端子９３にも入力される。時間差演算回路９０は、出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差に応じた振幅（極性および大きさ）を有する誤差電圧信号Ｖｅｒｒｏｒを出力する。
【０１３０】
誤差電圧信号Ｖｅｒｒｏｒは、出力層４のニューラルネットワーク回路素子４０の第２入力端子５２にフィードバック入力される。第２入力端子５２に入力された誤差電圧信号Ｖｅｒｒｏｒは、波形発生回路３０のアナログ乗算器３３３の乗算係数となり、第２波形に乗算される。この結果、出力層４のニューラルネットワーク回路素子４０のニューロン回路３０で生成される荷重変更パルス電圧信号ＶＰＯＳＴ１は、誤差電圧信号Ｖｅｒｒｏｒの振幅に比例した大きさの振幅を有する信号となる。
【０１３１】
前述したように、ニューロン回路３０の波形発生回路３３は、スイッチングパルス電圧信号ＶＰＯＳＴ２と同じタイミングで荷重変更パルス電圧信号ＶＰＯＳＴ１を生成する。誤差電圧信号Ｖｅｒｒｏｒの入力タイミングは、スイッチングパルス電圧ＶＰＲＥのパルス幅よりも十分に短時間であるため、電圧誤差信号Ｖｅｒｒｏｒのフィードバック入力が反映された荷重変更パルス電圧信号ＶＰＯＳＴ１がスイッチングパルス電圧信号ＶＰＯＳＴ２と同じタイミングで出力されるとみなすことができる。
【０１３２】
上記のように、出力層４に含まれるニューラルネットワーク回路素子４０においては、出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差に応じた振幅を有する荷重変更パルス電圧信号ＶＰＯＳＴ１と、スイッチングパルス電圧信号ＶＰＲＥとの時間差に基づいて抵抗変化素子１０の抵抗値が変化することにより、学習動作が行われる。すなわち、出力層４に含まれるニューラルネットワーク回路素子４０の学習動作において、対応する出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差が反映される。
【０１３３】
なお、第１ステップにおいて出力層４に含まれるニューラルネットワーク回路素子４０から出力されたスイッチングパルス電圧信号ＶＰＯＳＴ２（出力信号Ｖｏｕｔ）に基づいて各時間差演算回路９０で生成された誤差電圧信号Ｖｅｒｒｏｒは、和算回路８０にも入力される。和算回路８０は、入力されたすべての誤差電圧信号Ｖｅｒｒｏｒを和算して和算電圧信号Ｖｓａｍを生成する。和算電圧信号Ｖｓａｍは第２ステップで利用される。
【０１３４】
［第２ステップ］
次に、第２ステップとして、再び同じパターンの入力信号Ｖｉｎが各入力信号端子６に入力され、入力信号Ｖｉｎに対応する教師信号Ｖｔが各教師信号端子７に入力される。
【０１３５】
ここで、第２ステップにおいて、中間層３に含まれるニューラルネットワーク回路素子４０のシナプス回路２０には、当該シナプス回路が含まれるニューラルネットワーク回路素子４０のニューロン回路３０で生成された図５Ａに示すような第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１が入力される。したがって、第２ステップにおける中間層３に含まれるニューラルネットワーク回路素子４０では、荷重変更パルス電圧信号ＶＰＯＳＴ１に基づいて抵抗変化素子１０の抵抗値が変化する。
【０１３６】
前述したように第１ステップにおいて、和算回路８０は、出力層４に含まれるニューラルネットワーク回路素子４０から出力されたスイッチングパルス電圧信号ＶＰＯＳＴ２（出力信号Ｖｏｕｔ）に基づいて各時間差演算回路９０で生成されたすべての誤差電圧信号Ｖｅｒｒｏｒを和算した和算電圧信号Ｖｓａｍを生成し、中間層３に含まれるニューラルネットワーク回路素子４０の第２入力端子５２にフィードバック入力される。第２入力端子５２に入力された誤差電圧信号Ｖｅｒｒｏｒは、波形発生回路３０のアナログ乗算器３３３の乗算係数となり、第２波形に乗算される。この結果、中間層３のニューラルネットワーク回路素子４０のニューロン回路３０で生成される荷重変更パルス電圧信号ＶＰＯＳＴ１は、和算電圧信号Ｖｓａｍの振幅に比例した大きさの振幅を有する信号となる。
【０１３７】
したがって、第２ステップにおいて、中間層３に含まれるニューラルネットワーク回路素子４０においては、第１ステップにおいて生じた出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差の総和に応じた振幅を有する荷重変更パルス電圧信号ＶＰＯＳＴ１と、スイッチングパルス電圧信号ＶＰＲＥとの時間差に基づいて抵抗変化素子１０の抵抗値が変化することにより、学習動作が行われる。すなわち、中間層３に含まれるニューラルネットワーク回路素子４０の学習動作においても、対応する出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差が反映される。これにより、ニューラルネットワーク回路１を構成するすべてのニューラルネットワーク回路素子４０において、出力信号Ｖｏｕｔと教師信号Ｖｔとの誤差が少なくなるように、各ニューラルネットワーク回路素子４０のシナプス回路２０において、当該シナプス回路２０の出力信号Ｖｏｕｔへの寄与度に応じた荷重の変更を適切に行うことができる。
【０１３８】
なお、第２ステップにおいて、出力層４に含まれるニューラルネットワーク回路素子４０は、学習動作を行わないこととしてもよい。この場合、第２ステップにおいて、出力層４に含まれるニューラルネットワーク回路素子４０のシナプス回路２０には、図５Ａに示すような第１波形を有する荷重変更パルス電圧信号ＶＰＯＳＴ１の代わりに電位が基準電位（例えばグランド電圧）に等しい信号が入力される。これに代えて、出力層４に含まれるニューラルネットワーク回路素子４０は、第１および第２ステップの何れにおいても学習動作を行うこととしてもよい。
【０１３９】
以上のように、入力信号Ｖｉｎおよび教師信号Ｖｔの１回目の入力が行われる第１ステップにおいては、出力層４において学習動作が実行され、２回目の入力が行われる第２ステップにおいては、中間層３において学習動作が実行される。これにより、出力信号端子８に近い層から遠い層へ学習動作が行われることによるエラーバックプロパゲーション学習が実現できる。
【０１４０】
１つのパターンについて学習動作を実行する場合には、第１ステップおよび第２ステップを含む１回の学習を、教師信号Ｖｔと対応する出力信号Ｖｏｕｔとの時間差が規定値以下になるまで繰り返し実行する。複数の異なるパターンについて学習動作を実行する場合には、第１のパターンについて第１ステップおよび第２ステップの学習を行った後、第２のパターンについて第１ステップおよび第２ステップの学習を行うといったように、パターンを変えて第１ステップおよび第２ステップの学習を行う。このようにして、第１ステップおよび第２ステップの学習をパターンの数だけ繰り返す動作が１回の学習動作となる。この１回の学習動作を、各パターンにおける教師信号Ｖｔと対応する出力信号Ｖｏｕｔとの時間差が規定値以下になるまで繰り返し実行する。
【０１４１】
［実施例］
以下、実施例について説明する。
【０１４２】
［シナプス回路の評価］
まず、第１実施例として、抵抗変化素子１０として図７Ａを用いて説明した強誘電体メモリスタを用いた検証用シナプス回路２０Ａを構成し、図９に示したスイッチング動作が実際に実現できるかを検証した。
【０１４３】
図１２は本開示の第１実施例における検証用シナプス回路の構成例を示すブロック図である。図１２に示す検証用シナプス回路２０Ａは、抵抗変化素子１０として図７Ａに示す強誘電体メモリスタが用いられている（図１２において抵抗変化素子１０が図７Ｂの回路記号で示されている）。さらに、検証用シナプス回路２０Ａは、図１に示すシナプス回路２０に対してスイッチング動作を検証する以外の構成が省略されている。具体的には、検証用シナプス回路２０Ａは、図１に示す第２スイッチ２２が省略されている。そのため、直流電圧源２３が電流計３９を介して抵抗変化素子１０の第１端子１３に接続されている。また、検証用シナプス回路２０Ａの出力端子４３は接地されている。また、第１スイッチ２１としては、図８に示す構成が用いられている。直流電圧源２３の第１基準電圧Ｖ１は例えば０．１Ｖである。
【０１４４】
前述したように、第１スイッチ２１は、スイッチングパルス電圧信号ＶＰＲＥがＨＩ状態の期間（入力許容期間）において、荷重変更パルス電圧信号ＶＰＯＳＴ１が抵抗変化素子１０の制御電極７３に印加され、それ以外の期間は抵抗変化素子１０の制御電極７３が接地されるような動作を行う。
【０１４５】
本検証においては、図５Ａに示す荷重変更パルス電圧信号ＶＰＯＳＴ１および図５Ｂに示すスイッチングパルス電圧信号ＶＰＲＥを入力させる。なお、本検証において用いられる荷重変更パルス電圧信号ＶＰＯＳＴ１の周期は３２ｍｓである（ある電圧０の時点から電圧が最大となる時点までの期間が７ｍｓであり、電圧が最大となる時点から次の電圧０の時点までの期間が２５ｍｓである）。本検証においては、荷重変更パルス電圧信号ＶＰＯＳＴ１の電圧の最大値ＶＭＡＸが１．０Ｖおよび０．５Ｖとなる２つ荷重変更パルス電圧信号ＶＰＯＳＴ１を用いて、誤差電圧信号Ｖｅｒｒｏｒに応じて荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅が変化した場合の影響を検証した。また、本検証において用いられるスイッチングパルス電圧信号ＶＰＲＥのパルス幅は１ｍｓであり、正の電圧および負の電圧の最大値はそれぞれ５Ｖである。このような波形を用いて、印加する荷重変更パルス電圧信号ＶＰＯＳＴ１およびスイッチングパルス電圧信号ＶＰＲＥのタイミングを変えながら、荷重変更パルス電圧信号ＶＰＯＳＴ１およびスイッチングパルス電圧信号ＶＰＲＥを印加する前後の導電率（電流計３９で得られる電流値）の測定を行った。
【０１４６】
図１３は図１２に示す検証用シナプス回路を用いた検証結果を示すグラフである。図１３は、図１２に示す検証用シナプス回路２０Ａから得られた荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの時間差に対する抵抗変化素子１の導電率の変化量を示している。図１３には、電圧の最大値ＶＭＡＸが０．５Ｖである荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの時間差に応じたパルス電圧をＶｐｕｌｓｅ１で表し、電圧の最大値ＶＭＡＸが１．０Ｖである荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの時間差に応じたパルス電圧をＶｐｕｌｓｅ２で表している。
【０１４７】
図１３に示すように、抵抗変化素子１０として強誘電体メモリスタを用いることにより、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの入力タイミング差に応じて抵抗変化素子１０のコンダクタンスを変化させるパルス電圧Ｖｐｕｌｓｅ１，Ｖｐｕｌｓｅ２が得られた。さらに、荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅が変わることにより、同じ時間差でもコンダクタンスを変化させる量が異なるパルス電圧Ｖｐｕｌｓｅ１，Ｖｐｕｌｓｅ２が得られた。これにより、荷重変更パルス電圧信号ＶＰＯＳＴ１とスイッチングパルス電圧信号ＶＰＲＥとの入力タイミング差および誤差演算回路５からフィードバック入力される誤差電圧信号Ｖｅｒｒｏｒによって変化する荷重変更パルス電圧信号ＶＰＯＳＴ１の振幅に応じて学習動作を適切に実現できることが示された。
【０１４８】
［エラーバックプロパゲーション学習の評価］
次に、第２実施例として、抵抗変化素子１０として図７Ａを用いて説明した強誘電体メモリスタを用いた検証用シナプス回路２９Ｂを複数接続したニューラルネットワーク回路において、エラーバックプロパゲーション学習動作が実際に実現できるかを検証した。
【０１４９】
図１４Ａは本開示の第２実施例における検証用シナプス回路の構成例を示すブロック図である。図１４Ｂは図１４Ａに示す検証用シナプス回路を用いた検証用ニューラルネットワークの構成例を示すブロック図である。図１４Ｃは図１４Ｂに示す検証用ニューラルネットワーク回路素子を用いた検証用ニューラルネットワーク回路の構成例を示すブロック図である。
【０１５０】
図１４Ｂにおいては、図示の容易化のために、１つのニューラルネットワーク回路素子４０Ｂに、１つのスイッチングパルス電圧信号ＶＰＲＥのみが入力されるように示されているが、図１４Ｃに示すように複数のスイッチングパルス電圧信号ＶＰＲＥが各ニューラルネットワーク回路素子４０Ｂに入力され得る構成とした。
【０１５１】
本実施例において、ニューラルネットワーク回路素子４０Ｂには、遅延回路２９における遅延時間が異なる１６個のシナプス回路２０Ｂが設けられる。各シナプス回路２０Ｂにおける遅延回路２９の遅延時間は、１，２，３，…，１６ｍｓである。図１４Ｂにおいては、図示の容易化のために、ニューロン回路３０からシナプス回路２０Ｂへフィードバック入力される荷重変更パルス電圧信号ＶＰＯＳＴ１の配線は省略している。ニューロン回路３０の積分回路３１には、図４に示すような回路を用いた。抵抗素子３７の抵抗値は５００ｋΩ、キャパシタ３６の容量値は１ｎＦとした。比較回路３２のしきい値ＶＴＨは５．０Ｖとした。
【０１５２】
ニューラルネットワーク回路１Ｂの入力層２Ｂは、３つの入力信号端子６ＢＡ，６ＢＢ，６ＢＣおよび１つの教師信号端子７Ｂを有する。入力信号端子６ＢＡ，６ＢＢ，６ＢＣには、それぞれ入力信号ＶｉｎＡ，ＶｉｎＢ，ＶｉｎＣが入力される。教師信号端子７Ｂには、教師信号Ｖｔが入力される。中間層３Ｂは５個のニューラルネットワーク回路素子４０Ｂを含み、出力層４Ｂは１個のニューラルネットワーク回路素子４０Ｂを含む。
【０１５３】
入力層２Ｂの入力信号端子６ＢＡ，６ＢＢ，６ＢＣは、中間層３Ｂに含まれるすべてのニューラルネットワーク回路素子４０Ｂの第１入力端子５１に接続される。中間層３Ｂに含まれるニューラルネットワーク回路素子４０Ｂの出力端子５３は、出力層４Ｂのニューラルネットワーク回路素子４０Ｂの第１入力端子５１に接続される。出力層４Ｂのニューラルネットワーク回路素子４０Ｂの出力端子５３は、ニューラルネットワーク回路１Ｂの出力端子８Ｂに接続される。
【０１５４】
本実施例においては、バックプロパゲーション学習の評価として、排他的論理和（ＸＯＲ）の学習を行った。排他的論理和の学習はエラーバックプロパゲーション学習の学習性能を評価する際に、一般的に用いられる学習パターンである。排他的論理和の２つの入力と１つの出力の組み合わせで得られる４パターンを表１に示す。
【０１５５】
【表１】
2015195011.tif 000003
【０１５６】
上述の通り、スパイキングニューロンモデルでは情報をパルスタイミングで表現する。したがって、本実施例では、入力および出力における「０」および「１」を、以下の表２に示すようなパルスの入力時間および出力時間として表現する。なお、入力信号Ｖｉｎの入力時間をｔｉｎ、教師信号Ｖｔの入力時間をｔｔとして示す。
【０１５７】
【表２】
2015195011.tif 000004
【０１５８】
上述のように入力１に対応する入力信号をＶｉｎＡとし、入力２に対応する入力信号をＶｉｎＢとし、入力信号ＶｉｎＣは常に「１」を示す信号を入力することとした。
【０１５９】
入力信号Ｖｉｎには、パルス幅が７ｍｓの矩形パルスを用いた。矩形パルスの最大値を＋５Ｖとし、最小値を−５Ｖとした。ニューロン回路３０が出力する荷重変更パルス電圧信号ＶＰＯＳＴ１には、図５Ｂに示すような三角パルス状の第１波形を用いた。荷重変更パルス電圧信号ＶＰＯＳＴ１の周期を３２ｍｓとした（ある電圧０の時刻から電圧が最大となる時刻までの期間を７ｍｓとし、電圧が最大となる時刻から次の電圧０の時刻までの期間を２５ｍｓとした）。本検証においても、荷重変更パルス電圧信号ＶＰＯＳＴ１の電圧の最大値ＶＭＡＸが１．０Ｖおよび０．５Ｖとなる２つ荷重変更パルス電圧信号ＶＰＯＳＴ１を用いた。ニューロン回路３０が出力するスイッチングパルスＶＰＯＳＴ２には、図５Ａに示すような矩形パルスを用いた。スイッチングパルスＶＰＯＳＴ２のパルス幅は１ｍｓとし、電圧の最大値を＋５Ｖとし、最小値を−５Ｖとした。
【０１６０】
図１５は図１４Ｃに示すニューラルネットワーク回路において排他的論理和の学習を行った際の学習経過に伴う誤差の変化を示すグラフである。図１５に示す誤差は、出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差の２乗の１／２として計算される。図１５に示されるように、最終的に４つのパターンの誤差が何れも０．００１ｍｓ２以下になっており、学習が成功していることが示されている。誤差が０．００１ｍｓ２以下であることは、出力信号Ｖｏｕｔと教師信号Ｖｔとの時間差が０．７％以下であることを意味する。
【０１６１】
上記説明から、当業者にとっては、本開示の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本開示を実行する最良の態様を当業者に教示するため提供されたものである。本開示の精神を逸脱することなく、その構造および／または機能の詳細を実質的に変更できる。
【０１６２】
例えば、上記実施形態においてはニューロン回路３０および誤差演算回路５をアナログ回路として構成する例について説明したが、これに限られず、これらをデジタル回路として構成してもよい。
【産業上の利用可能性】
【０１６３】
本開示は、ニューラルネットワーク回路およびその学習方法において、エラーバックプロパゲーション学習動作を適切に行うために有用である。
【符号の説明】
【０１６４】
１  ニューラルネットワーク回路
３  中間層
４  出力層
５  誤差演算回路
６，６Ａ，６Ｂ，…  入力信号端子
７，７ａ，７ｂ，…  教師信号端子
８，８ａ，８ｂ，…  出力信号端子
１０  抵抗変化素子
１３  第１端子
１４  第２端子
１５  第３端子
２０  シナプス回路
２１  第１スイッチ
２２  第２スイッチ
２３  第１基準電圧源
３０  ニューロン回路
３１  積分回路
３３  波形発生回路
４０  ニューラルネットワーク回路素子
７１  強誘電体層
７２  基板
７３  制御電極
７４  半導体層
７５  第１電極
７６  第２電極
８０  和算回路
９０  時間差演算回路
【図１】
2015195011.tif 000005
【図２Ａ】
2015195011.tif 000006
【図２Ｂ】
2015195011.tif 000007
【図３Ａ】
2015195011.tif 000008
【図３Ｂ】
2015195011.tif 000009
【図４】
2015195011.tif 000010
【図５Ａ】
2015195011.tif 000011
【図５Ｂ】
2015195011.tif 000012
【図６】
2015195011.tif 000013
【図７Ａ】
2015195011.tif 000014
【図７Ｂ】
2015195011.tif 000015
【図８】
2015195011.tif 000016
【図９】
2015195011.tif 000017
【図１０Ａ】
2015195011.tif 000018
【図１０Ｂ】
2015195011.tif 000019
【図１１】
2015195011.tif 000020
【図１２】
2015195011.tif 000021
【図１３】
2015195011.tif 000022
【図１４Ａ】
2015195011.tif 000023
【図１４Ｂ】
2015195011.tif 000024
【図１４Ｃ】
2015195011.tif 000025
【図１５】
2015195011.tif 000026
【図１６Ａ】
2015195011.tif 000027
【図１６Ｂ】
2015195011.tif 000028
【図１７】
2015195011.tif 000029
【図１８】
2015195011.tif 000030
【図１９】
2015195011.tif 000031