JP2020068048A - 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 - Google Patents
人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 Download PDFInfo
- Publication number
- JP2020068048A JP2020068048A JP2019169724A JP2019169724A JP2020068048A JP 2020068048 A JP2020068048 A JP 2020068048A JP 2019169724 A JP2019169724 A JP 2019169724A JP 2019169724 A JP2019169724 A JP 2019169724A JP 2020068048 A JP2020068048 A JP 2020068048A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- learning value
- crossbar
- temperature
- neural network
- 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
Links
Images
Landscapes
- Feedback Control In General (AREA)
- Logic Circuits (AREA)
Abstract
【課題】環境温度が変化した場合の性能の劣化を抑制することが可能な人工ニューラルネットワーク(NN)回路を提供する。【解決手段】人工NN回路は、クロスバー回路20の環境温度を検出する温度センサ33と、クロスバー回路20の環境温度が変化したとき、その変化した環境温度において、クロスバー回路20において使用されるべき学習値を記憶する記憶装置34と、温度センサ33によって検出される環境温度に基づき、記憶装置34に記憶された学習値を用いてクロスバー回路20において使用される学習値を更新する書換制御装置31と、を備える。【選択図】図9
Description
本発明は、メモリスタを有するクロスバー回路を備えた人工ニューラルネットワーク回路、及びその人工ニューラルネットワーク回路における学習値切替方法に関する。
近年、ディープニューラルネットワークなどの人工ニューラルネットワーク(以下、NN)が、例えば画像認識の分野において、従来の機械学習による認識性能を凌駕する認識性能を発揮することが確認されている。ただし、人工NNは、一般的に演算負荷が高い。このため、人工NNは、高効率な並列計算に適したGPU(graphic processing unit)を用いた所謂GPGPU(general-purpose computing on GPU)によりソフトウェア的に実現されることがある。
しかし、GPGPUは、消費電力が大きい。従って、GPGPUを用いた人工NNは、例えばクラウドコンピューティングベースのアプリケーションでは適用可能であるが、非クラウドコンピューティングベースのアプリケーションでは適用することが困難な場合がある。例えば、非クラウドコンピューティングベースのアプリケーションの一例として、車両において、障害物を認識し、その障害物との衝突を防止/緩和するための衝突防止制御を実行するアプリケーションや、車両を目的地まで自動運転するためのアプリケーションなどがある。これらのアプリケーションの実行に際しては、低電力消費でありながら高速に動作することが求められる。従って、低電力消費、高速、且つ、小型の人工NN専用のハードウェア回路が望まれている。
上述した人工NN専用のハードウェア回路の一つとして、本願発明者は、抵抗変化型メモリ(以下、メモリスタ)を有するクロスバー回路を備えた人工NN回路の研究を進めてきた。その研究結果は、例えば、ここに参照により援用する特許文献1及び特許文献2に開示されている。
クロスバー回路は、複数の入力バーと複数の出力バーとが交差するように配列され、各交点において入力バーと出力バーとがメモリスタを介して接続されることによって構成される。クロスバー回路の入力バーに、前段のニューロンの出力値に応じた電圧信号が入力されると、各電圧信号はメモリスタのコンダクタンス値を重みとして乗じられた後、出力バーに接続される処理回路へ出力され、処理回路によって総和となる電圧信号が算出される。そして、処理回路は、後段のニューロンへの入力として、算出した総和電圧信号から活性化関数に応じた出力値を生成して出力する。このようにして、人工NNにおけるシナプスが、クロスバー回路を用いて、ハードウェア的に実現される。
このようなクロスバー回路を備えた人工NN回路では、例えば、コンピュータシミュレーションによって、伝達される各信号に付与する重みが学習され、各メモリスタは、その学習された重みに応じたコンダクタンス値に設定される。メモリスタは、電圧を印加することによって、最小値と最大値との間で、抵抗値を書き換えることが可能である。
しかしながら、メモリスタを有するクロスバー回路を備えた人工NN回路には、メモリスタが有する温度特性に起因して、人工NN回路が置かれた環境温度の変化により、性能の劣化が生じることがあるという問題がある。例えば、上述した人工NN回路を用いて画像認識を行った場合、環境温度が上昇するほど、認識エラー率が上昇してしまうことがある。
本発明は、上述した点に鑑みてなされたものであり、環境温度が変化した場合の性能の劣化を抑制することが可能な人工NN回路、及び人工NN回路における学習値切替方法を提供することを目的とする。
上記目的を達成するために、本発明による人工NN回路は、
人工NNの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、複数の入力バーと複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
ニューロンにおける信号処理として、少なくとも、メモリスタによってそれぞれ重みが付与されて、各々の出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、27b)と、を備え、
クロスバー回路の環境温度を検出する温度センサ(33)と、
クロスバー回路の環境温度の変化に応じて、クロスバー回路および/または処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する更新部(31、34、35)と、を備える。
人工NNの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、複数の入力バーと複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
ニューロンにおける信号処理として、少なくとも、メモリスタによってそれぞれ重みが付与されて、各々の出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、27b)と、を備え、
クロスバー回路の環境温度を検出する温度センサ(33)と、
クロスバー回路の環境温度の変化に応じて、クロスバー回路および/または処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する更新部(31、34、35)と、を備える。
また、本発明による人工NN回路における学習値切替方法は、
人工NNの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、複数の入力バーと複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
ニューロンにおける信号処理として、少なくとも、メモリスタによってそれぞれ重みが
付与されて、各々の出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、
27b)と、を備えた人工NN回路に適用され、
温度センサ(33)を用いて、クロスバー回路の環境温度を検出すること、
更新部(31、34、35)により、クロスバー回路の環境温度の変化に応じて、クロスバー回路および/または処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新すること、を含む。
人工NNの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、複数の入力バーと複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
ニューロンにおける信号処理として、少なくとも、メモリスタによってそれぞれ重みが
付与されて、各々の出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、
27b)と、を備えた人工NN回路に適用され、
温度センサ(33)を用いて、クロスバー回路の環境温度を検出すること、
更新部(31、34、35)により、クロスバー回路の環境温度の変化に応じて、クロスバー回路および/または処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新すること、を含む。
クロスバー回路に設けられる各メモリスタは、温度特性を有している。このため、環境温度の変化に応じて、各メモリスタに設定されたコンダクタンス値が変化する。このコンダクタンス値の変化の割合が、クロスバー回路に含まれる各メモリスタにおいて一様であれば、各メモリスタ間で、それぞれのコンダクタンス値による重みの相互の関係は保たれる。しかしながら、各メモリスタのコンダクタンス値は、環境温度の変化に応じて、必ずしも一様の割合で変化しないことがある。すなわち、同じ温度変化に対して、コンダクタンス値が大きく変化するメモリスタもあれば、コンダクタンス値の変化が小さいメモリスタもありえる。このように、クロスバー回路に含まれる各メモリスタにおいて、環境温度の変化によるコンダクタンス値の変化の割合にばらつきがあると、環境温度の変化に応じて、各メモリスタ間で重みの相互の関係が崩れてしまう。その結果、人工NN回路の性能の劣化が生じてしまうのである。
そこで、本発明による人工NN回路、及び人工NN回路における学習値切替方法は、上述したように、温度センサ(33)にて、クロスバー回路(20)の環境温度を検出し、その検出した環境温度の変化に応じて、クロスバー回路および/または処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新するように構成される。
このような構成を採用したことにより、環境温度が変化しても、各メモリスタ(24)のコンダクタンス値の変化のばらつきによる影響を抑えることができ、その結果、人工NN回路の性能の劣化を抑制することが可能となる。
上記括弧内の参照番号は、本開示の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら発明の範囲を制限することを意図したものではない。
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
(第1実施形態)
以下、本発明による人工NN回路の実施形態について、図面を参照して詳しく説明する。なお、本実施形態による人工NN回路は、例えば、少なくともニューロンが3層に階層化された多層NN(多層パーセプトロン)や、いわゆる畳み込みNNをハードウェア的に具現化するために用いることができる。以下の説明においては、人工NN回路を用いて、多層NNをハードウェア的に具現化した例について説明する。
以下、本発明による人工NN回路の実施形態について、図面を参照して詳しく説明する。なお、本実施形態による人工NN回路は、例えば、少なくともニューロンが3層に階層化された多層NN(多層パーセプトロン)や、いわゆる畳み込みNNをハードウェア的に具現化するために用いることができる。以下の説明においては、人工NN回路を用いて、多層NNをハードウェア的に具現化した例について説明する。
図1は、多層NN10の一例を概念的に示す図である。図1に示すように、多層NN10は、入力層11と、中間層12と、出力層13と、を備える。入力層11、中間層12、出力層13の各層は、少なくとも1つのニューロン14を有する。中間層12は、隠れ層とも呼ばれる。
多層NN10に対する入力データが入力層11に入力されると、入力層11の各ニューロン14から、入力データに対応する出力x1、x2、…が出力される。そして、出力x1、x2、…に対して、シナプス15としての重みw1,w2、…が乗じられ、それぞれ、中間層12のニューロン14に入力される。中間層12のニューロン14は、これらの総和Σwixiを算出するとともに、総和Σwixiを、ReLUやtanhなどの活性化関数fにより変換して、出力y(=f(Σwixi))を生成する。そして、生成した出力yを、後段層の各ニューロン14に向けて出力する。後段層は、多層NN回路10が3層の場合、出力層13となる。4層以上の場合、後段中間層(図示なし)となる。このように入力データが各ニューロン14の活性化関数fにより変換されて、最終的に、出力層13に入力される。出力層13のニューロン14は、例えば、ソフトマックス関数によって入力を変換して出力する。
このような多層NN10は、入力データとしての画像(例えば、MNISTデータセット)を用いて、画像を複数のカテゴリ(例えば、0〜9の数字)に分類する用途に適用できる。この場合、入力層11への入力データは、画像に含まれる複数のピクセル値(例えば、0〜255)とすることができる。また、出力層13の各ニューロン14からの出力を、入力データとしての画像が各カテゴリに属する確率とするように構成できる。多層NN10のシナプス15の重みは、このような用途に適するように学習によって決定される。
そして、出力層13の各カテゴリに対応するそれぞれのニューロン14が出力する確率の中で最も高い確率に対応するカテゴリを選択することにより、入力データとしての画像を、複数のカテゴリに分類することができる。もちろん、多層NN回路10は、その他の用途に適用することも可能である。例えば、物体や人の検出、人の顔の認識、あるいは、道路標識の認識などにも適用することが可能である。さらに、情報圧縮、運動制御、雑音除去、時系列予測などの用途に適用することも可能である。
次に、上述した多層NN10をハードウェア的に具現化する人工NN回路について、図2〜図4を参照して説明する。図2に示すように、人工NN回路は、シナプスをハードウェア的に実現するクロスバー回路20と、ニューロン14をハードウェア的に実現するCMOS回路25、26と、を備える。CMOS回路25、26は、CMOS回路基板に形成される。クロスバー回路20は、CMOS回路25、26が形成されたCMOS回路基板上に形成され得る。
クロスバー回路20は、上述した多層NN10の隣接する層の間で、シナプスとしての重みを与えつつ信号を伝達する。なお、図2〜図4は、図示及び説明の便宜上、クロスバー回路20の一部のみを示している。図2に示すように、クロスバー回路20は、複数の入力バー21と、複数の出力バー22、23とを有する。複数の入力バー21と複数の出力バー22、23とは、それぞれ交差するように配列される。入力バー21には、入力ニューロンとしてのCMOS回路25を介して、例えば、上述したピクセル値に対応する電圧信号が入力されるように構成される。そして、複数の入力バー21と複数の出力バー22、23との各交点に、入力バー21から出力バー22、23へと伝達される入力信号に対して重みを付与する抵抗変化型メモリであるメモリスタ24が設けられている。つまり、複数の入力バー21と、複数の出力バー22、23とは、それぞれ、対応するメモリスタ24を介して接続されている。
メモリスタ24は、印加電圧によって、最小値と最大値との間で、異なる抵抗状態に設定することが可能な抵抗変化型メモリである。例えば、メモリスタ24のコンダクタンス値は、後述するコンダクタンス書換装置35を用いて、負の書込電圧を印加することにより増加させることができ、正の書込電圧を印加することにより減少させることができる。そして、メモリスタ24は、正負の書込電圧閾値以上の大きさの電圧が印加されない限り、設定された抵抗状態(コンダクタンス値)を維持する。このようなメモリスタ24として使用可能な素子としては、Pt/TiO2/Pt金属酸化物素子、相変化メモリ、磁気トンネル接合メモリ、などがある。また、メモリスタ24は、制御方式が異なっても不揮発性の抵抗可変型メモリであれば良く、例えばFlashメモリなども用いることができる。
このように、クロスバー回路20と、入力ニューロンおよび出力ニューロンとしての役割を果たすCMOS回路25、26とは、メモリスタ24が組み込まれたハイブリッドCMOS回路として構成することができる。以下に、出力ニューロンとしての役割を果たすCMOS回路26について、図3を参照して説明する。図3は、クロスバー回路20および出力ニューロンとしてのCMOS回路26を電気回路的に示した図である。
図3に示すように、本実施形態においては、一対の出力バー22と23が差動対出力バーとして用いられることで、各入力バー21との間において、差動対出力バーの正側の出力バー22に接続されるメモリスタ24による重み(コンダクタンス値)G(+)と、負側の出力バー23に接続されるメモリスタ24による重み(コンダクタンス値)G(−)との差分に応じて、各入力バー21に入力される信号に正又は負の重みを付与可能に構成されている。なお、差動対出力バーの正側の出力バー22は、差動演算増幅器28の非反転入力端子に接続された出力バーであり、負側の出力バー23は、差動演算増幅器28の反転入力端子に接続された出力バーである。
出力ニューロンとしての役割を果たすCMOS回路26は、図3に示すように、入力信号に正の重み(G(+))を付与するメモリスタ24が接続された正側の出力バー22から出力される信号の総和を算出して出力する加算器27a、入力信号に負の重み(G(−))を付与するメモリスタ24が接続された負側の出力バー23の信号の総和を算出して出力する加算器27b、及び、それぞれの加算器27a、27bから出力される総和の差分を算出して出力する差動演算増幅器28を有する。さらに、出力ニューロンとしての役割を果たすCMOS回路26は、図示していないが、差動演算増幅器28から出力される総和の差分を、所定の活性化関数fによって変換し、その変換した値を出力する活性化関数処理回路も有している。このように、加算器27a、27b、差動演算増幅器28や活性化関数処理回路は、CMOS基板内のCMOS素子を用いて構成され得る。ただし、差分の算出や活性化関数fによる変換は、CMOS回路26内において実行せずに、例えば、加算器27a、27bの出力をデジタル信号に変換した後、別途設けたデジタル処理回路などにおいて実行してもよい。
加算器27a、27bは、演算増幅器の入出力間に抵抗値Rを有する抵抗が接続された構成を有する。このため、図3に示すように、それぞれの入力バー21に電圧信号V1、V2が入力されると、電圧信号V1にはコンダクタンスG(+) 1が掛け合わされ、電圧信号V2にはコンダクタンスG(+) 2が掛け合わされた上で、加算器27aにおいて加算され、総和が算出される。さらに、その総和は、加算器27aにてR倍される。同様に、加算器27bにおいても、電圧信号V1にコンダクタンスG(−) 1をかけ合わせた結果と、電圧信号V2にコンダクタンスG(−) 2を掛け合わせた結果とが加算されて総和が算出され、さらに、その総和がR倍される。
そして、差動演算増幅器28は、加算器27aが出力する総和と、加算器27bが出力する総和との差分を算出して出力する。このため、出力ニューロンとしてのCMOS回路26において、以下の数式1に示す結果が得られる。
(数1)
出力電圧=R(G(+) 1V1−G(−) 1V1+G(+) 2V2−G(−) 2V2)
したがって、差動対出力バー22、23を介して入力信号としての電圧信号V1が伝達されるときにメモリスタ24によって付与される重みは、R(G(+) 1−G(−) 1)となる。また、入力信号としての電圧信号V2が伝達されるときにメモリスタ24によって付与される重みは、R(G(+) 2−G(−) 2)となる。図2及び図3には図示していないが、他の入力信号に対する重みについても同様である。
出力電圧=R(G(+) 1V1−G(−) 1V1+G(+) 2V2−G(−) 2V2)
したがって、差動対出力バー22、23を介して入力信号としての電圧信号V1が伝達されるときにメモリスタ24によって付与される重みは、R(G(+) 1−G(−) 1)となる。また、入力信号としての電圧信号V2が伝達されるときにメモリスタ24によって付与される重みは、R(G(+) 2−G(−) 2)となる。図2及び図3には図示していないが、他の入力信号に対する重みについても同様である。
このため、ある入力信号に対して正の重みを掛け合わせる場合には、差動演算増幅器28の非反転入力端子に接続された出力バー22と入力バー21との間に設けられたメモリスタ24のコンダクタンス値を、反転入力端子に接続された出力バー23と入力バー21との間に設けられたメモリスタ24のコンダクタンス値よりも、設定しようとしている正の重み分だけ大きく設定すれば良い。逆に、ある入力信号に対して負の重みを掛け合わせる場合には、反転入力端子に接続された出力バー23と入力バー21との間に設けられたメモリスタ24のコンダクタンス値を、非反転入力端子に接続された出力バー22と入力バー21との間に設けられたメモリスタ24のコンダクタンス値よりも、設定しようとしている負の重み分だけ大きく設定すれば良い。このようにして、本実施形態のクロスバー回路20はシナプスの重みとして正負の重みを実現することができ、クロスバー回路20よって興奮性及び抑制性のシナプスを模擬することができる。
図4は、図示する範囲を拡大したクロスバー回路20及び出力ニューロンとしてのCMOS回路26を示している。なお、図4では、図3で示した加算器27a、27bは省略されている。実際には、加算器27a、27bが、それぞれの差動演算増幅器28の入力側に設けられる。さらに、図4では、上述した活性化関数処理回路も省略されている。実際には、活性化関数処理回路が、差動演算増幅器28の出力側に設けられる。図4に示すように、クロスバー回路20の入力バー21には、上述したピクセル値に対応する電圧信号または前段層の出力ニューロンからの出力に応じた電圧信号に加えて、バイアス信号が入力される。このバイアス信号の大きさは、通常、所定値(例えば、“1”)に設定される。
ここで、クロスバー回路20に設けられる各メモリスタ24は、温度特性を有している。このため、環境温度の変化に応じて、各メモリスタ24に設定されたコンダクタンス値が変化する。図5は、このようなメモリスタ24の温度特性の一例を示している。図5に示すように、入力電圧Vが同じであっても、環境温度に応じて、メモリスタ24のコンダクタンス値が変化するので、結果的に出力電流Iも変化することになる。
クロスバー回路20に含まれるメモリスタ24のコンダクタンス値の変化の割合が、すべてのメモリスタ24において一様であれば、各メモリスタ24間で、それぞれのコンダクタンス値による重みの相互の関係は保たれる。しかしながら、図6に示すように、各メモリスタ24のコンダクタンス値は、環境温度の変化に応じて、必ずしも一様の割合で変化しないことがある。すなわち、同じ温度変化に対して、コンダクタンス値が大きく変化するメモリスタ24もあれば、コンダクタンス値の変化が小さいメモリスタ24もありえる。このように、クロスバー回路20に含まれる各メモリスタ24において、環境温度の変化によるコンダクタンス値の変化の割合にばらつきがあると、各メモリスタ24間における重みの相互の関係が崩れてしまう。その結果、人工NN回路の性能の劣化が生じてしまうのである。
実際に、MNISTデータセットを用いて、クロスバー回路20の各メモリスタ24に、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを学習させた、図1に示した構成を有する多層NN10を具現化した人工NN回路を準備した。より詳細には、入力画像は、28×28ピクセルの大きさを持つため、入力層11のニューロン数は、各ピクセルのピクセル値とバイアスの入力のために785(28×28+1)である。中間層12のニューロン数は、入力層11のニューロンからの入力を受けるニューロン数を300とし、バイアス入力分を加えて、合計で301とした。そして、出力層13のニューロン数は10である。このため、入力層11と中間層12との間のクロスバー回路20の入力バーの数は785であり、出力バーの数は差動対出力バーとするため600である。また、中間層12と出力層13との間のクロスバー回路20の入力バーの本数は、中間層12のニューロン数(300)とバイアス信号に対応する301であり、出力バーの本数は差動対出力バーとするため20である。
そして、室温状態で学習されたニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを5セット用意し、それら5セットの重み(重みセット#1〜#5)を、それぞれ、上述した人工NN回路を実装した10個のチップのクロスバー回路20の各メモリスタ24に設定した。このようにして準備した人工NN回路を実装した各チップを用いて、室温状態において、MNISデータの認識エラー(誤分類エラー)の発生率を調べた。その結果を、図7に示す。図7に示すように、環境温度が室温状態では、同じ重みセットが設定された各チップでは、認識エラーの発生率に有意な差は生じていない。なお、異なる重みセット間では、認識エラーの発生率に若干の相違が生じている。
次に、環境温度を100℃として、各チップに実装された人工NN回路を用いた場合の認識エラーの発生率を調べた。その結果を示すのが図8である。図8に示すように、室温状態に比較して、各チップに実装された人工NN回路の認識エラーの発生率が大きくなり、かつ、どの重みセットにおいても、各チップ間で、認識エラーの発生率に相違が生じていることが確認された。これにより、各チップのクロスバー回路20に含まれる各メモリスタ24において、環境温度の変化によるコンダクタンス値の変化の割合にばらつきが生じていることが裏付けられる。
このような問題に対処するため、本実施形態の人工NN回路では、環境温度の変化に応じて、学習値として、クロスバー回路20に設定される重みを更新することとした。これを実現するために、本実施形態の人工NN回路は、図9に示すように、学習値を更新するための構成として、書換制御装置31、温度センサ33、記憶装置34、及びコンダクタンス書換装置35を備える。温度センサ33は、クロスバー回路20の環境温度を検出し、その検出した環境温度を書換制御装置31に出力する。記憶装置34は、クロスバー回路20の環境温度が変化したとき、その変化した環境温度において、クロスバー回路20において使用されるべき学習値(重みセット)を記憶している。
書換制御装置31は、コンダクタンス書換装置35とともに学習値更新部を構成するものである。書換制御装置31は、プロセッサ32、図示しない内部メモリ等を備えたコンピュータによって構成される。プロセッサ32が、内部メモリに記憶された制御プログラムを実行することにより、書換制御装置31は、クロスバー回路20の各メモリスタ24の重みを、環境温度に応じた重みに書き換えて更新するための書換データをコンダクタンス書換装置35に出力する。書換データには、書換対象となるメモリスタ24を特定する情報と、特定された各メモリスタ24に設定するコンダクタンス値に関する情報とが含まれる。書換制御装置31による学習値更新処理の詳細は、後述する。
コンダクタンス書換装置35は、クロスバー回路20の各入力バー21と各出力バー22、23間に任意の電圧を印加できるように、クロスバー回路20に接続される。図9の例では、コンダクタンス書換装置35は、ニューロンを具現化するCMOS回路25、26をバイパスして、入力バー21と出力バー22、23とに接続されている。このため、図9では、CMOS回路25、26を省略している。コンダクタンス書換装置35は、書換制御装置31から入力された書換データに従い、特定されたメモリスタ24へ、書込電圧閾値以上の大きさであって、指示されたコンダクタンス値へ更新するための電圧を、対応する入力バー21と出力バー22、23との間に印加する。これにより、所望のメモリスタ24のコンダクタンスを書き換えることができる。
次に、書換制御装置31によって実施される学習値更新処理について、図10を参照して説明する。図10は、書換制御装置31が実施する学習値更新処理を示すフローチャートである。図10に示す学習値更新処理は、書換制御装置31によって定期的に実行される。
まず、ステップS100において、書換制御装置31は、温度センサ33によって検出された環境温度を取得する。そして、ステップS110において、環境温度が、所定温度以上の高温領域に属するか否かを判定する。高温領域であるか否かを判定するための所定温度は、例えば、55℃〜70℃の任意の温度に設定することができる。これらの温度以上の高温領域において、室温のときと比較して、各チップの認識エラーの発生率が高まるためである。ステップS110において、環境温度は高温領域に属すると判定すると、ステップS120の処理に進む。一方、環境温度は高温領域に属さないと判定すると、ステップS150の処理に進む。
ステップS120では、クロスバー回路20の学習値(すなわち、重みセット)を、測定された環境温度に対応する学習値に更新済みであるか否かを判定する。更新済みであると判定すると、図10のフローチャートに示す学習値更新処理は終了する。一方、更新済みではないと判定すると、ステップS130の処理に進む。ステップS130では、測定された環境温度に対応する学習値を記憶装置34から読み出す。そして、ステップS140において、読み出した学習値に応じた書換データをコンダクタンス書換装置35に出力する。
ステップS110の判定処理において、環境温度は高温領域に属さないと判定されたときに実行されるステップS150では、クロスバー回路20の各メモリスタ24の重みのセットが、室温状態に適応する初期値に戻されているか否かが判定される。初期値に戻されていると判定すると、図10のフローチャートに示す学習値更新処理が終了する。一方、初期値に戻されていないと判定すると、ステップS160の処理に進む。ステップS160では、学習値として、室温状態に適応する重みのセットである初期値を記憶装置34から読み出す。このように、記憶装置34には、学習値として、室温状態に適応する重みのセットである初期値も記憶されている。ステップS170では、読み出した初期値に応じた書換データをコンダクタンス書換装置35に出力する。
ここで、記憶装置34に記憶される学習値について説明する。学習値は、上述したように、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを含む。この学習値は、例えば、以下の手順によって得ることができる。まず、室温状態で学習された重みのセットを、人工NN回路を構成するクロスバー回路20のメモリスタ24に設定する。そして、高温領域に属する種々の温度にて、人工NN回路の認識エラーの発生率を評価する。その際、認識エラーの発生率が悪化した温度における、各メモリスタ24の重み(コンダクタンス値)をクロスバー回路20から読み出す。この読み出された各メモリスタ24の重みが、コンピュータ上に構築された人工NNにおいて、一般的な勾配降下法、誤差逆伝播法などの手法を用いて、再学習される。この再学習は1回のみ行われても良いし、複数回繰り返されても良い。このようにして再学習された重みのセットが、学習値として記憶装置34に記憶される。
また、学習値は、以下に説明する別の手順によって得ることもできる。まず、室温状態で学習された重みのセットを、人工NN回路を構成するクロスバー回路20のメモリスタ24に設定する。そして、高温領域に属する種々の温度にて、人工NN回路の認識エラーの発生率を評価する。その際、認識エラーの発生率が悪化した温度において、認識エラーの発生率が改善するように、クロスバー回路20の各メモリスタ24のコンダクタンス値を書き換える。すなわち、実際の人工NN回路を用いて、クロスバー回路20の各メモリスタ24の重みの再学習を行う。そして、認識エラーの発生率が改善したときの、クロスバー回路20の各メモリスタ24のコンダクタンス値を読み出し、学習値として記憶装置34に記憶する。
上述した手順により学習値を求めた場合、記憶装置34には、高温領域の種々の温度に適応するように再学習された複数の学習値が記憶されることになる。しかし、学習値の数が増えると、記憶装置34のメモリ容量が増えてしまったり、環境温度の変化に応じて、頻繁に学習値の更新を行わなければならなかったりといった不具合も発生する。そのため、高温領域を複数の温度範囲に分け、記憶装置34には、各温度範囲において使用される学習値が記憶されることが好ましい。例えば、70℃に適応するように再学習された学習値、85℃に適応するように再学習された学習値、及び100℃に適応するように再学習された学習値を、記憶装置34に記憶させる。そして、書換制御装置31は、例えば、60℃以上75℃未満の温度範囲では70℃に適応するように再学習された学習値を使用し、75℃以上90℃未満の温度範囲では、85℃に適応するように再学習された学習値を使用し、90℃以上の温度範囲では、100℃に適応するように再学習された学習値を使用することができる。これにより、上述した不具合の発生を抑制することが可能となる。
(第2実施形態)
これまで説明した第1実施形態は、高温領域の環境温度にて、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを再学習し、その再学習した重みのセットを、高温領域の環境温度に対応する学習値として記憶装置34に記憶するものであった。このように、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを再学習した学習値を用いることにより、高温領域の環境温度における認識エラーの発生率を十分に低減することができる。
これまで説明した第1実施形態は、高温領域の環境温度にて、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを再学習し、その再学習した重みのセットを、高温領域の環境温度に対応する学習値として記憶装置34に記憶するものであった。このように、ニューロン間で伝達される信号に対する重み及びバイアス信号に対する重みを再学習した学習値を用いることにより、高温領域の環境温度における認識エラーの発生率を十分に低減することができる。
その一方で、記憶装置34に記憶する学習値に含まれる重みの数が増加するほど、コンダクタンス値を書き換えるべきメモリスタ24の数も増加することになる。すると、重みの更新に長時間を要したり、コンダクタンス書換装置35として規模の大きなものが必要になったりといった問題が生じうる。このような問題に対処するため、クロスバー回路20におけるすべての重みを更新対象とするのではなく、一部の重みだけを更新対象とすることが考えられる。更新対象とする一部の重みとしては、バイアス信号に対する重み、あるいは、一部の入力信号に対する重みが挙げられる。
例えば、室温状態で、図7に示す認識エラーの発生率を持つ、各チップに実装された人工NN回路のクロスバー回路20において、環境温度が高温領域に属する温度(例えば、100℃)となったときに、バイアス信号に対する重みだけを、その温度に適応するように再学習された学習値に書き換えた(更新した)場合の認識エラーの発生率を調べたところ、図11に示す結果が得られた。図11に示す結果から、バイアス信号に対する重みだけを再学習した学習値によって書き換えるだけで、図8に示される、なんら重みを変更しない場合に比較して、認識エラーの発生率を低減できることが分かる。
環境温度の変化に対して、バイアス信号に対する重みだけを更新した場合と、なんら重みを変更しない場合とで、認識エラーの発生率にどの程度の相違が生じるかを、別のグラフを用いてさらに詳しく説明する。図12は、図7で説明した重みセット#1をクロスバー回路20の各メモリスタ24に設定した10個のチップにおいて、バイアス信号に対する重みだけを更新した場合と、なんら重みを変更しない場合とで、室温から100℃までの各温度における認識エラーの発生率を調べた結果を示すものである。なお、図12のグラフには、温度変化に応じて各メモリスタ24の重みが変化しない理想重みの場合の認識エラーの発生率のばらつきとその平均値を結んだ線分、70℃、85℃、100℃の各温
度に適応するように再学習された学習値によりバイアス信号に対する重みだけを更新した場合の認識エラーの発生率のばらつきとその平均値を結んだ線分、及び、なんら重みを変更しない場合の認識エラーの発生率のばらつきとその平均値を結んだ線分が示されている。
度に適応するように再学習された学習値によりバイアス信号に対する重みだけを更新した場合の認識エラーの発生率のばらつきとその平均値を結んだ線分、及び、なんら重みを変更しない場合の認識エラーの発生率のばらつきとその平均値を結んだ線分が示されている。
なんら重みを変更しない場合には、温度変化に伴う各メモリスタ24のコンダクタンス値の変化の大きさのばらつきが、認識エラーの発生率に直接的に影響することになる。このため、環境温度が室温(約27℃)から上昇するにつれて、認識エラーの発生率も高くなり、100℃の時点では、10チップの平均値が2%を超えてしまう。
それに対して、本実施形態のように、バイアス信号に対する重みだけを各温度に適応するように再学習された学習値により更新した場合には、10チップの平均の認識エラーの発生率が、70°〜100℃の環境温度において、なんら重みを変更しない場合に比較して低減されており、改善されていることが分かる。
さらに、図13は、図7で説明した重みセット#1〜#5の各々を、それぞれ、クロスバー回路20の各メモリスタ24に設定した10個(したがって、合計50個)のチップにおいて、バイアス信号に対する重みだけを更新した場合と、なんら重みを変更しない場合とで、室温から100℃までの各温度における認識エラーの発生率を調べた結果を示すものである。より詳細には、図13には、重みセット#1〜#5が設定された10個のチップ毎の認識エラーの発生率の平均のばらつきと、その平均値を結んだ線分が、温度変化に応じて重みが変化しない理想重みの場合、バイアス信号に対する重みだけを各温度に適応するように再学習された学習値により更新した場合、および、なんら重みを変更しない場合のそれぞれについて示されている。
この図13のグラフからも、バイアス信号に対する重みだけを各温度に適応するように再学習された学習値によって更新することで、なんら重みを変更しない場合に比較して、認識エラーの発生率が低減されていることが分かる。
(第3実施形態)
第1および第2実施形態にて説明した例は、高温領域を複数の温度範囲に分け、それぞれの温度範囲に対応する学習値(重みのセット)を記憶装置34に記憶しておき、検出される環境温度がいずれの温度範囲に属するかに応じて、クロスバー回路20の各メモリスタ24に設定される重みのセットを更新するものであった。しかしながら、このような学習値の更新の頻度はできる限り少ない方が好ましい。
第1および第2実施形態にて説明した例は、高温領域を複数の温度範囲に分け、それぞれの温度範囲に対応する学習値(重みのセット)を記憶装置34に記憶しておき、検出される環境温度がいずれの温度範囲に属するかに応じて、クロスバー回路20の各メモリスタ24に設定される重みのセットを更新するものであった。しかしながら、このような学習値の更新の頻度はできる限り少ない方が好ましい。
そのため、70℃、85℃、100℃の各温度に適応するように再学習された学習値によってバイアス信号に対する重みだけを更新した各人工NN回路が、高温領域全体に渡って、どのような認識エラーの発生率を示すか調べてみた。その結果を、図14及び図15に示す。図14は、図12のケースと同様に、図7で説明した重みセット#1をクロスバー回路20の各メモリスタ24に設定した10個のチップにおいて、70℃に適応する学習値、85℃に適応する学習値、及び100℃に適応する学習値でバイアス信号に対する重みだけを更新した場合、および、なんら重みを変更しない場合の、高温領域における認識エラーの発生率を示すグラフである。また、図15は、図13のケースと同様に、重みセット#1〜#5が設定された10個のチップ毎の高温領域における認識エラーの発生率の平均のばらつきと、その平均値を結んだ線分が、70℃に適応する学習値、85℃に適応する学習値、及び100℃に適応する学習値でバイアス信号に対する重みだけを更新した場合、および、なんら重みを変更しない場合のそれぞれについて示されている。
図14および図15のグラフから、70℃、85℃、100℃の各温度に適応するように再学習された学習値によってバイアス信号に対する重みだけを更新した各人工NN回路のいずれであっても、高温領域のほぼ全域に渡って、なんら重みを変更しない人工NN回路に比較して、認識エラーの発生率を低減できることが分かる。この結果から、高温領域に属するいずれかの温度に適応するように再学習された学習値で、クロスバー回路20における各メモリスタ24の重みを更新すれば、その重みを更新された人工NN回路は、高温領域全体に渡って使用可能であり、重みを変更しない場合に比較して十分に認識エラーの発生率を改善することができるといえる。
さらに、図14および図15のグラフを見ると、高温領域の多くの範囲において、70℃に適応する学習値で重みが更新された人工NN回路よりも、85℃に適応する学習値で重みが更新された人工NN回路の方が認識エラーの発生率は低くなっている。また、85℃に適応する学習値で重みが更新された人工NN回路よりも、100℃に適応する学習値で重みが更新された人工NN回路の方が認識エラーの発生率は低くなっている。このような結果から、高温領域の全域で使用される学習値は、高温領域内で相対的に高い温度の環境下で学習された学習値であることが好ましいといえる。
なお、高温領域の全域で1つの学習値を使用する場合には、その学習値に含まれる重みの中で、室温状態で学習された重みと実質的に同一の重みがある場合、その重みに関しては、対応するメモリスタ24のコンダクタンス値を更新する必要がないので、記憶装置34に記憶する学習値(重みのセット)から除外してもよい。
(第4実施形態)
上述した第2実施形態は、環境温度の変化に応じて、クロスバー回路20におけるすべての重みを学習値として更新対象とするのではなく、バイアス信号に対する重みなど、一部の重みだけを更新対象とするものであった。
上述した第2実施形態は、環境温度の変化に応じて、クロスバー回路20におけるすべての重みを学習値として更新対象とするのではなく、バイアス信号に対する重みなど、一部の重みだけを更新対象とするものであった。
ここで、バイアス信号は、通常、図4に示されるように、クロスバー回路20の入力バー21の1つに入力される。そして、バイアス信号は、バイアス信号が入力される入力バー21と、その入力バー21と交差する出力バー22、23との交点に設けられたメモリスタ24による重みが付与されて、出力バー22、23に流れ込む。その後、重みが付与されたバイアス信号は、それぞれの出力バー22、23に流れ込む他の重み付き入力信号と積算された上で、差動演算増幅器28にて出力バー22の積算信号と出力バー23の積算信号との差分が算出されて出力される。これを数式に表すと、以下の数式2のようになる。
(数2)
差動演算増幅器出力=Σ(wij−wij+1)*xi+(wbj−wbj+1)*xb
なお、数式2において、xiは、クロスバー回路20に入力される数の、画像のピクセル値に対応する入力電圧信号または前段層の出力ニューロンからの出力に応じた入力電圧信号を示し、(wij−wij+1)は入力電圧信号xiに対する重みの差分を示し、xbはクロスバー回路20に入力されるバイアス信号を示し、(wbj−wbj+1)はバイアス信号xbに対する重みの差分を示す。
差動演算増幅器出力=Σ(wij−wij+1)*xi+(wbj−wbj+1)*xb
なお、数式2において、xiは、クロスバー回路20に入力される数の、画像のピクセル値に対応する入力電圧信号または前段層の出力ニューロンからの出力に応じた入力電圧信号を示し、(wij−wij+1)は入力電圧信号xiに対する重みの差分を示し、xbはクロスバー回路20に入力されるバイアス信号を示し、(wbj−wbj+1)はバイアス信号xbに対する重みの差分を示す。
数式2に示されるように、重み付きバイアス信号(wbj−wbj+1)*xbは、各出力バー22、23の積算信号の差分を取った結果に加算されるだけである。このため、バイアス信号は、クロスバー回路20に入力せずに、活性化関数処理回路に入力される前の、差動演算増幅器28の出力に加算しても、数式2と同様の結果が得られる。
このような観点から、第4実施形態の人工NN回路では、図16に示すように、クロスバー回路20には、バイアス信号を含まない入力電圧信号xiだけを入力する。その一方で、重み付きバイアス信号(wbj−wbj+1)*xbが、差動演算増幅器28の出力に加算されるように構成される。具体的には、本実施形態の人工NN回路は、クロスバー回路20の各環境温度範囲に適した重み付きバイアス信号を記憶している記憶装置34、温度センサ33によって検出される環境温度に応じた重み付きバイアス信号を記憶装置34から読み出して出力するバイアス制御装置36、及びバイアス制御装置36から出力された重み付きバイアス信号と差動演算増幅器28からの出力とを加算する加算器37を備えている。なお、記憶装置34は、例えば、室温において使用される初期値としての重み付きバイアス信号に加えて、第2実施形態で説明したように、高温領域を複数の温度範囲に分け、それぞれの温度範囲に適応する学習値としての重み付きバイアス信号を記憶してもよい。あるいは、記憶装置34は、室温において使用される初期値としての重み付きバイアス信号に加えて、第3実施形態で説明したように、高温領域の全域で使用される1つの学習値としての重み付きバイアス信号を記憶してもよい。
上述したように、第4実施形態に係る人工NN回路では、クロスバー回路20の出力信号を処理する処理回路において使用される重み付きバイアス信号を学習値として、環境温度の変化に対応した値に更新する。このような構成においては、学習値としての重み付きバイアス信号は、クロスバー回路20の環境温度に適した値を記憶装置34から読み出して、加算器37に出力するだけで済む。換言すれば、クロスバー回路20におけるメモリスタ24のコンダクタンス値を書き換えなくてもよいので、学習値の更新を簡単かつ迅速に行うことが可能となる。
(第5実施形態)
上述した第1〜第4実施形態による人工NN回路は、いずれも、クロスバー回路20の環境温度が変化したときに、クロスバー回路20および/または処理回路において使用される学習値(重みセット、重み付きバイアス信号など)を記憶装置34に記憶しておき、環境温度の変化に応じて、記憶装置34から学習値を読み出して、クロスバー回路20の重みセットを更新したり、処理回路において使用される重み付きバイアス信号を更新したりするものであった。それに対して、第5実施形態による人工NN回路は、メモリスタ24のコンダクタンス値(学習値)が異なる環境温度に適応するように事前に設定された複数のクロスバー回路20を備え、温度センサ33によって検出されるクロスバー回路20の環境温度に応じて、使用するクロスバー回路20を選択することにより、環境温度の変化に対応する学習値に更新するものである。
上述した第1〜第4実施形態による人工NN回路は、いずれも、クロスバー回路20の環境温度が変化したときに、クロスバー回路20および/または処理回路において使用される学習値(重みセット、重み付きバイアス信号など)を記憶装置34に記憶しておき、環境温度の変化に応じて、記憶装置34から学習値を読み出して、クロスバー回路20の重みセットを更新したり、処理回路において使用される重み付きバイアス信号を更新したりするものであった。それに対して、第5実施形態による人工NN回路は、メモリスタ24のコンダクタンス値(学習値)が異なる環境温度に適応するように事前に設定された複数のクロスバー回路20を備え、温度センサ33によって検出されるクロスバー回路20の環境温度に応じて、使用するクロスバー回路20を選択することにより、環境温度の変化に対応する学習値に更新するものである。
図17は、第5実施形態に係る人工NN回路の構成の一例を示す図である。図17に示すように、本実施形態に係る人工NN回路は、それぞれのメモリスタ24のコンダクタンス値により、異なる環境温度に適応した重みを有する複数のクロスバー回路20a、20bを備えている。クロスバー回路20aは、切替スイッチ29aを介して差動演算増幅器28に接続され、クロスバー回路20bは、切替スイッチ29bを介して差動演算増幅器28に接続されている。図示しない制御装置が、温度センサによって検出される環境温度に応じて、環境温度に適応した重みを有するクロスバー回路(20a、20bの一方)の切替スイッチ(29a、29bの一方)をオンし、その他のクロスバー回路(20a、20bの他方)の切替スイッチ(29a、29bの他方)をオフするように、切替スイッチ29a、29bを制御する。このような構成によっても、クロスバー回路20のメモリスタ24のコンダクタンス値を書き換えることなく、クロスバー回路20、20bにおいて使用される学習値としての重みセットを、環境温度の変化に対応する値に更新することができる。
なお、図17には、人工NN回路が2個のクロスバー回路20a、20bを備える例を示したが、クロスバー回路20a、20bを3個以上設けて、温度変化に応じて、よりきめ細かくクロスバー回路を切り替えてもよい。
(第6実施形態)
上述した第5実施形態では、異なる環境温度に適応する重みを有する複数のクロスバー回路20a、20bを設け、検出される環境温度に応じて複数のクロスバー回路20a、20bを切り替えて使用するものであった。それに対して、第6実施形態の人工NN回路では、図18に示すように、クロスバー回路20に、バイアス信号を入力するための入力バーとして複数本の入力バー21を設ける。それら複数本の入力バー21は、バイアス信号に対して異なる環境温度に適応した重みを付与できるように、それぞれの入力バー21に接続されるメモリスタ24のコンダクタンス値が事前に設定されたものである。
上述した第5実施形態では、異なる環境温度に適応する重みを有する複数のクロスバー回路20a、20bを設け、検出される環境温度に応じて複数のクロスバー回路20a、20bを切り替えて使用するものであった。それに対して、第6実施形態の人工NN回路では、図18に示すように、クロスバー回路20に、バイアス信号を入力するための入力バーとして複数本の入力バー21を設ける。それら複数本の入力バー21は、バイアス信号に対して異なる環境温度に適応した重みを付与できるように、それぞれの入力バー21に接続されるメモリスタ24のコンダクタンス値が事前に設定されたものである。
そして、本実施形態の人工NN回路は、図示しない制御装置が、温度センサによって検出される環境温度に応じて、環境温度に適応した重みが設定された入力バーを選択し、その選択した入力バーのみにバイアス信号を入力するように構成されている。換言すると、バイアス信号を入力するための複数本の入力バー21の内、選択した入力バー以外の入力バーには、なんら信号を入力しない。これにより、本実施形態の人工NN回路は、第5実施形態のような切替スイッチを用いずに、バイアス信号に付与する重みを環境温度に応じて切り替えることができる。さらに、第4および第5実施形態の人工NN回路と同様に、本実施形態の人工NN回路も、クロスバー回路20のメモリスタ24のコンダクタンス値を書き換えることなく、クロスバー回路において使用される学習値を、環境温度の変化に対応する学習値に更新することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。
例えば、上述した各実施形態では、伝達される信号に正又は負の重みを付与可能とするために、クロスバー回路20の出力バーを差動対出力バーとして用いる例について説明した。しかしながら、必ずしもクロスバー回路20において差動対出力バーを設定しなくともよい。この場合、出力バーに接続される各メモリスタ24の重みはすべて正の符号を持つことになるが、その正の重みの大小によって、影響度の相違を表せばよい。
また、上述した第2実施形態では、学習値として、バイアス信号に対する重みを更新する例について説明した。しかしながら、学習値は、バイアス信号に対する重みに加え、もしくは代替として、バイアス信号そのものであってもよい。学習値が、バイアス信号の大きさのみである場合には、上述した第4〜第6実施形態と同様に、メモリスタ24のコンダクタンス値を変更する必要がないので、クロスバー回路20における学習値の更新を簡単かつ迅速に行うことが可能になる。このように、クロスバー回路20において使用される学習値は、ニューロン間で伝達される信号に付与される重み、バイアス信号に付与される重み、及び、バイアス信号の大きさの少なくとも1つを含むものである。
さらに、人工NN回路に含まれるすべてのクロスバー回路20において、検出された環境温度に応じて学習値を更新するのではなく、例えば、入力層と中間層との間のクロスバー回路、および/または、中間層と出力層の間のクロスバー回路など、一部のクロスバー回路20においてのみ、学習値の更新を行ってもよい。
また、例えば上述した第1実施形態では、室温状態で学習された重みをクロスバー回路20の各メモリスタ24によって設定し、クロスバー回路20の環境温度が、所定温度以上の高温領域に属する温度に変化した場合に、クロスバー回路20に設定される重み(学習値)を、その変化した温度に適応するように更新するものであった。
しかしながら、第1実施形態および第2〜第6実施形態において、クロスバー回路および/または処理回路において初期的に使用される学習値は、室温状態以外の他の温度(室温より高い温度、または室温より低い温度)で学習してもよい。そして、初期的に使用される学習値を学習した温度以外の、メモリスタ24の温度特性に起因して人工NN回路の性能が劣化する温度範囲(初期的に使用される学習値を学習した温度よりも低い温度範囲および高い温度範囲を含む)に適応する学習値も学習して、クロスバー回路20の環境温度の変化に応じて、学習値を更新するように構成してもよい。
上述した各実施形態は、組み合わせて実施することになんらかの支障が生じない限り、その組み合わせについて説明されていなくても、任意に組み合わせて実施することが可能である。
10:多層NN回路、11:入力層、12:中間層、13:出力層、14:ニューロン、20,20a,20b:クロスバー回路、21:入力バー、22:出力バー、23:出力バー、24:メモリスタ、25:入力ニューロンとしてのCMOS回路、26:出力ニューロンとしてのCMOS回路、27a:加算器、27b:加算器、28:差動演算増幅器、29a,29b:切替スイッチ、31:書換制御装置、32:プロセッサ、33:温度センサ、34:記憶装置、35:コンダクタンス書換装置、36:バイアス制御装置、37:加算器
Claims (18)
- 人工ニューラルネットワークの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
前記クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、前記複数の入力バーと前記複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
前記ニューロンにおける信号処理として、少なくとも、前記メモリスタによってそれぞれ重みが付与されて、各々の前記出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、27b)と、を備えた人工ニューラルネットワーク回路であって、
前記クロスバー回路の環境温度を検出する温度センサ(33)と、
前記クロスバー回路の環境温度の変化に応じて、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する更新部(31、34、35)と、を備える人工ニューラルネットワーク回路。 - 前記クロスバー回路の複数の入力バーには、前記ニューロン間で伝達される信号に加えて、バイアス信号も入力され、
前記クロスバー回路および/または前記処理回路において使用される学習値には、伝達される信号に付与される重み、前記バイアス信号に付与される重み、及び、前記バイアス信号の大きさの少なくとも1つが含まれる請求項1に記載の人工ニューラルネットワーク回路。 - 前記処理回路は、各々の前記出力バーに流れ込む信号の総和が算出された後の信号に対して、重み付きバイアス信号を加えるように構成され、
前記クロスバー回路および/または前記処理回路において使用される学習値には、前記重み付きバイアス信号が含まれる請求項1に記載の人工ニューラルネットワーク回路。 - 前記更新部は、前記クロスバー回路の環境温度の変化に応じて、前記クロスバー回路の前記メモリスタによる重みを書き換えることにより、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する請求項1に記載の人工ニューラルネットワーク回路。
- 前記クロスバー回路は、異なる環境温度に適応した重みを付与できるように複数設けられ、
前記更新部は、複数の前記クロスバー回路から、前記温度センサによって検出される環境温度に適応した重みのクロスバー回路を選択することにより、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する請求項1に記載の人工ニューラルネットワーク回路。 - 前記クロスバー回路は、バイアス信号を入力するための入力バーが、異なる環境温度に適応した重みを付与できるように複数設けられ、
前記更新部は、バイアス信号を入力するための複数の入力バーから、前記温度センサによって検出される環境温度に適応した重みの入力バーを選択し、その選択した入力バーのみにバイアス信号を与えることにより、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する請求項1に記載の人工ニューラルネットワーク回路。 - 前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域が複数の温度範囲に分けられ、前記学習値は、前記複数の温度範囲でそれぞれ使用される複数の学習値を含む請求項1乃至6のいずれか1項に記載の人工ニューラルネットワーク回路。
- 前記学習値は、前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域で使用される1つの学習値を含む請求項1乃至6のいずれか1項に記載の人工ニューラルネットワーク回路。
- 前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域で使用される1つの学習値は、当該温度領域内で相対的に高い温度の環境下で学習された学習値である請求項8に記載の人工ニューラルネットワーク回路。
- 人工ニューラルネットワークの階層化されたニューロン間で信号の伝達を行うクロスバー回路(20)と、
前記クロスバー回路は、複数の入力バー(21)と複数の出力バー(22、23)とが交差するように配列され、かつ、前記複数の入力バーと前記複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(24)が設けられたものであり、
前記ニューロンにおける信号処理として、少なくとも、前記メモリスタによってそれぞれ重みが付与されて、各々の前記出力バーに流れ込む信号の総和の算出を実行する処理回路(27a、27b)と、を備えた人工ニューラルネットワーク回路に適用される学習値切替方法であって、
温度センサ(33)を用いて、前記クロスバー回路の環境温度を検出すること、
更新部(31、34、35)により、前記クロスバー回路の環境温度の変化に応じて、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新すること、を含む人工ニューラルネットワーク回路における学習値切替方法。 - 前記クロスバー回路の複数の入力バーには、前記ニューロン間で伝達される信号に加えて、バイアス信号も入力され、
前記クロスバー回路および/または前記処理回路において使用される学習値には、伝達される信号に付与される重み、バイアス信号に付与される重み、及び、バイアス信号の大きさの少なくとも1つが含まれる請求項10に記載の人工ニューラルネットワーク回路における学習値切替方法。 - 前記処理回路は、各々の前記出力バーに流れ込む信号の総和が算出された後の信号に対して、重み付きバイアス信号を加えるように構成され、
前記クロスバー回路および/または前記処理回路において使用される学習値には、前記重み付きバイアス信号が含まれる請求項10に記載の人工ニューラルネットワーク回路における学習値切替方法。 - 前記更新部により、前記クロスバー回路の環境温度の変化に応じて、前記クロスバー回路の前記メモリスタによる重みが書き換えられることによって、前記クロスバー回路および/または前記処理回路において使用される学習値が、環境温度の変化に対応する学習値に更新される請求項10に記載の人工ニューラルネットワーク回路における学習値切替方法。
- 前記クロスバー回路は、同じ入力信号に対して、異なる環境温度に適応した重みを付与できるように複数設けられ、
前記更新部により、複数の前記クロスバー回路から、前記温度センサによって検出される環境温度に適応した重みのクロスバー回路が選択されることにより、前記クロスバー回路および/または前記処理回路において使用される学習値が、環境温度の変化に対応する学習値に更新される請求項10に記載の人工ニューラルネットワーク回路における学習値切替方法。 - 前記クロスバー回路は、バイアス信号を入力するための入力バーが、異なる環境温度に適応した重みを付与できるように複数設けられ、
前記更新部により、バイアス信号を入力するための複数の入力バーから、前記温度センサによって検出される環境温度に適応した重みの入力バーを選択し、その選択した入力バーのみにバイアス信号が与えられることにより、前記クロスバー回路および/または前記処理回路において使用される学習値を、環境温度の変化に対応する学習値に更新する請求項10に記載の人工ニューラルネットワーク回路における学習値切替方法。 - 前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域が複数の温度範囲に分けられ、前記学習値は、前記複数の温度範囲でそれぞれ使用される複数の学習値を含む請求項10乃至15のいずれか1項に記載の人工ニューラルネットワーク回路における学習値切替方法。
- 前記学習値は、前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域で使用される1つの学習値を含む請求項10乃至15のいずれか1項に記載の人工ニューラルネットワーク回路における学習値切替方法。
- 前記クロスバー回路および/または前記処理回路において初期的に使用される学習値を学習した温度以外の温度領域で使用される1つの学習値は、当該温度領域内で相対的に高い温度の環境下で学習された学習値である請求項17に記載の人工ニューラルネットワーク回路における学習値切替方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/654,394 US11928576B2 (en) | 2018-10-18 | 2019-10-16 | Artificial neural network circuit and method for switching trained weight in artificial neural network circuit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018196711 | 2018-10-18 | ||
JP2018196711 | 2018-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020068048A true JP2020068048A (ja) | 2020-04-30 |
JP7196803B2 JP7196803B2 (ja) | 2022-12-27 |
Family
ID=70390506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019169724A Active JP7196803B2 (ja) | 2018-10-18 | 2019-09-18 | 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7196803B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022013677A1 (ja) * | 2020-07-17 | 2022-01-20 | 株式会社半導体エネルギー研究所 | 半導体装置 |
CN114279491A (zh) * | 2021-11-23 | 2022-04-05 | 电子科技大学 | 一种基于忆阻交叉阵列的传感器信号注意力权重分配方法 |
US11514970B2 (en) | 2021-02-17 | 2022-11-29 | Kioxia Corporation | Memory device and method having a control circuit configured to acquire information on a state of a control target, causes the control target to execute a read and write operation based on the state |
WO2024048704A1 (ja) * | 2022-09-02 | 2024-03-07 | ヌヴォトンテクノロジージャパン株式会社 | 人工知能処理装置および人工知能処理装置の重み係数書き込み方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5075869A (en) * | 1990-06-24 | 1991-12-24 | Intel Corporation | Neural network exhibiting improved tolerance to temperature and power supply variations |
JP2021536623A (ja) * | 2018-08-27 | 2021-12-27 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 深層学習ニューラルネットワークで使用されるアナログニューラルメモリシステムのメモリセルに対する温度補償及び漏れ補償 |
-
2019
- 2019-09-18 JP JP2019169724A patent/JP7196803B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5075869A (en) * | 1990-06-24 | 1991-12-24 | Intel Corporation | Neural network exhibiting improved tolerance to temperature and power supply variations |
JP2021536623A (ja) * | 2018-08-27 | 2021-12-27 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 深層学習ニューラルネットワークで使用されるアナログニューラルメモリシステムのメモリセルに対する温度補償及び漏れ補償 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022013677A1 (ja) * | 2020-07-17 | 2022-01-20 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US11514970B2 (en) | 2021-02-17 | 2022-11-29 | Kioxia Corporation | Memory device and method having a control circuit configured to acquire information on a state of a control target, causes the control target to execute a read and write operation based on the state |
CN114279491A (zh) * | 2021-11-23 | 2022-04-05 | 电子科技大学 | 一种基于忆阻交叉阵列的传感器信号注意力权重分配方法 |
WO2024048704A1 (ja) * | 2022-09-02 | 2024-03-07 | ヌヴォトンテクノロジージャパン株式会社 | 人工知能処理装置および人工知能処理装置の重み係数書き込み方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7196803B2 (ja) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7196803B2 (ja) | 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 | |
US11928576B2 (en) | Artificial neural network circuit and method for switching trained weight in artificial neural network circuit | |
JP6724870B2 (ja) | 人工ニューラルネットワーク回路の訓練方法、訓練プログラム、及び訓練装置 | |
JP6477924B2 (ja) | メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法 | |
WO2018235448A1 (ja) | 多層ニューラルネットワークのニューロンの出力レベル調整方法 | |
US20200117986A1 (en) | Efficient processing of convolutional neural network layers using analog-memory-based hardware | |
Amiri et al. | Feedback associative memory based on a new hybrid model of generalized regression and self-feedback neural networks | |
JP2018521397A (ja) | メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法 | |
Dong et al. | Neuromorphic extreme learning machines with bimodal memristive synapses | |
Krestinskaya et al. | Binary weighted memristive analog deep neural network for near-sensor edge processing | |
JP7365999B2 (ja) | ニューラルネットワーク演算装置および方法 | |
US11562215B2 (en) | Artificial neural network circuit | |
CN114730379A (zh) | 具有交叉式阵列结构的神经形态设备 | |
US11868893B2 (en) | Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference | |
CN111582461B (zh) | 神经网络训练方法、装置、终端设备和可读存储介质 | |
Nápoles et al. | Recurrence-aware long-term cognitive network for explainable pattern classification | |
Parashar | Neural networks in machine learning | |
CN114330688A (zh) | 基于阻变式存储器的模型在线迁移训练方法、装置及芯片 | |
Krestinskaya et al. | Binarized neural network with stochastic memristors | |
WO2024083180A1 (en) | Dnn training algorithm with dynamically computed zero-reference. | |
US20240135166A1 (en) | Dnn training algorithm with dynamically computed zero-reference | |
US11694065B2 (en) | Spiking neural unit | |
Lo et al. | Training deep neural networks with gradual deconvexification | |
CN115796250A (zh) | 权重部署方法及装置、电子设备和存储介质 | |
CN117592537A (zh) | 一种动态场景下的图数据表示学习方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211217 |
|
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: 20221115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221128 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7196803 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |