JP7259253B2 - 人工ニューラルネットワーク回路 - Google Patents

人工ニューラルネットワーク回路 Download PDF

Info

Publication number
JP7259253B2
JP7259253B2 JP2018188437A JP2018188437A JP7259253B2 JP 7259253 B2 JP7259253 B2 JP 7259253B2 JP 2018188437 A JP2018188437 A JP 2018188437A JP 2018188437 A JP2018188437 A JP 2018188437A JP 7259253 B2 JP7259253 B2 JP 7259253B2
Authority
JP
Japan
Prior art keywords
output
bars
circuit
differential pair
bar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018188437A
Other languages
English (en)
Other versions
JP2020057278A (ja
Inventor
イリナ カタエヴァ
茂樹 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2018188437A priority Critical patent/JP7259253B2/ja
Priority to US16/589,415 priority patent/US11562215B2/en
Publication of JP2020057278A publication Critical patent/JP2020057278A/ja
Application granted granted Critical
Publication of JP7259253B2 publication Critical patent/JP7259253B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Neurology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

本発明は、メモリスタを有するクロスバー回路を備えた人工ニューラルネットワーク回路に関する。
近年、ディープニューラルネットワークなどの人工ニューラルネットワーク(以下、人工NN)が、例えば画像認識の分野において、従来の機械学習による認識性能を凌駕する認識性能を発揮することが確認されている。ただし、人工NNは、一般的に演算負荷が高い。このため、人工NNは、高効率な並列計算に適したGPU(graphic processing unit)を用いた所謂GPGPU(general-purpose computing on GPU)によりソフトウェア的に実現されることがある。
しかし、GPGPUは、消費電力が大きい。従って、GPGPUを用いた人工NNは、例えばクラウドコンピューティングベースのアプリケーションでは適用可能であるが、非クラウドコンピューティングベースのアプリケーションでは適用することが困難な場合がある。例えば、非クラウドコンピューティングベースのアプリケーションの一例として、車両において、障害物を認識し、その障害物との衝突を防止/緩和するための衝突防止制御を実行するアプリケーションや、車両を目的地まで自動運転するためのアプリケーションなどがある。これらのアプリケーションの実行に際しては、低電力消費でありながら高速に動作することが求められる。従って、低電力消費、高速、且つ、小型の人工NN専用のハードウェア回路が望まれている。
国際公開第2017/010048号 国際公開第2017/010049号
上述した人工NN専用のハードウェア回路の一つとして、本願発明者は、抵抗変化型メモリ(以下、メモリスタ)を有するクロスバー回路を備えた人工NN回路の研究を進めてきた。その研究結果は、例えば、ここに参照により援用する特許文献1及び特許文献2に開示されている。
クロスバー回路は、複数の入力バーと複数の出力バーとが交差するように配列され、各交点において入力バーと出力バーとがメモリスタを介して接続されることによって構成される。クロスバー回路の入力バーに、前段のニューロンの出力値に応じた電圧信号が入力されると、各電圧信号はメモリスタのコンダクタンス値を重みとして乗じられた後、出力バーに接続される処理回路へ出力され、処理回路によって総和となる電圧信号が算出される。そして、処理回路は、後段のニューロンへの入力として、算出した総和電圧信号から活性化関数に応じた出力値を生成して出力する。このようにして、人工NNにおけるシナプスが、クロスバー回路を用いて、ハードウェア的に実現される。
このようなクロスバー回路を備えた人工NN回路では、例えば、コンピュータシミュレーションによって、伝達される各信号に付与する重みが学習され、各メモリスタは、その学習された重みに応じたコンダクタンス値に設定される。メモリスタは、印加電圧によって、最小値と最大値との間で、異なるコンダクタンスに設定することが可能である。例えば、メモリスタのコンダクタンスは、電圧印加装置を用いて、負の書込電圧を印加することにより増加させることができ、正の書込電圧を印加することにより減少させることができる。そして、メモリスタは、正負の書込電圧閾値以上の大きさの電圧が印加されない限り、設定されたコンダクタンス値を維持する。
しかしながら、メモリスタを有するクロスバー回路を備えた人工NN回路には、メモリスタが有する温度特性に起因して、人工NN回路が置かれた環境温度の変化により、性能の劣化が生じることがあるという問題がある。例えば、上述した人工NN回路を用いて画像認識を行った場合、環境温度が上昇するほど、認識エラー率が上昇してしまうことがある。
本発明は、上述した点に鑑みてなされたものであり、環境温度が変化した場合の性能の劣化を抑制することが可能な人工NN回路を提供することを目的とする。
上記目的を達成するために、本発明による人工NN回路は、
人工NNの階層化されたニューロン間で信号の伝達を行うクロスバー回路(44)と、
クロスバー回路は、複数の入力バー(50)と複数の出力バー(51a、51b、52a、52b)とが交差するように配列され、かつ、複数の入力バーと複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(53)が設けられたものであり、
ニューロンにおける信号処理として、少なくとも、メモリスタによってそれぞれ重みが付与されて、各々の出力バーに流れ込む信号の総和の算出を実行する処理回路(45)と、を備え、
複数の出力バーは、1対の出力バーが差動対出力バーとして用いられることで、各入力バーとの間において、差動対出力バーの正側の出力バーに接続されるメモリスタの重みと、負側の出力バーに接続されるメモリスタの重みとの差分に応じて、各入力バーに入力される信号に正又は負の重みを付与可能とされ、
差動対出力バーの正側の出力バーは複数の出力バーを含み、差動対出力バーの負側の出力バーは、正側の出力バーと同数の複数の出力バーを含み、
処理回路は、信号の総和として、複数の正側の出力バーから出力される信号の総和と、複数の負側の出力バーから出力される信号の総和との差分を算出するように構成される。
クロスバー回路に設けられる各メモリスタは、温度特性を有している。このため、環境温度の変化に応じて、各メモリスタに設定されたコンダクタンス値が変化する。このコンダクタンス値の変化の割合が、クロスバー回路に含まれる各メモリスタにおいて一様であれば、各メモリスタ間で、それぞれのコンダクタンス値による重みの相互の関係は保たれる。しかしながら、各メモリスタのコンダクタンス値は、環境温度の変化に応じて、必ずしも一様の割合で変化しないことがある。すなわち、同じ温度変化に対して、コンダクタンス値が大きく変化するメモリスタもあれば、コンダクタンス値の変化が小さいメモリスタもありえる。このように、クロスバー回路に含まれる各メモリスタにおいて、環境温度の変化によるコンダクタンス値の変化の割合にばらつきがあると、環境温度の変化に応じて、各メモリスタ間で重みの相互の関係が崩れてしまう。その結果、人工NN回路の性能の劣化が生じてしまうのである。
そこで、本発明による人工NN回路は、上述したように、処理回路が、信号の総和として、伝達される信号に対して協働して所望の重みを付与するようにメモリスタのコンダクタンス値が設定された、別々の複数の出力バーに流れ込む信号の総和を算出するように構成した。
このような構成を採用したことにより、環境温度の変化に対して、クロスバー回路に設けられる各メモリスタのコンダクタンス値の変化の割合にばらつきがあっても、そのばらつきの影響を低減することができるようになる。つまり、1つの出力バーに流れ込む信号の総和を算出するだけでは、その出力バーに接続された個々のメモリスタのコンダクタンス値の変化が、そのまま、算出される信号の総和に反映される。しかし、別々の複数の出力バーに流れ込む信号の総和を算出するようにすると、同じ信号に対して協働して所望の重みを付与する、別々の出力バーの各々のメモリスタのコンダクタンス値がすべて相対的に大きなコンダクタンス値の変化を示したり、すべて相対的に小さなコンダクタンス値の変化を示したりする可能性は小さい。そのため、処理回路において、別々の複数の出力バーに流れ込む信号の総和を算出することにより、メモリスタの相対的に大きなコンダクタンス値の変化や、相対的に小さなコンダクタンス値の変化をより平均的な変化に近づけることと同等の効果を得ることができる。その結果、環境温度が変化したときに、各メモリスタのコンダクタンス値の変化のばらつきによる影響を抑えることができ、人工NN回路の性能の劣化を抑制することが可能となる。
上述した構成の発明において、複数の出力バーは、1対の出力バーが差動対出力バーとして用いられることで、各入力バーとの間において、差動対出力バーの正側の出力バーに接続されるメモリスタの重みと、負側の出力バーに接続されるメモリスタの重みとの差分に応じて、各入力バーに入力される信号に正又は負の重みを付与可能とされ、差動対出力バーの正側の出力バーは複数の出力バーを含み、差動対出力バーの負側の出力バーは、正側の出力バーと同数の複数の出力バーを含み、処理回路は、信号の総和として、複数の正側の出力バーから出力される信号の総和と、複数の負側の出力バーから出力される信号の総和との差分を算出するように構成される。
このように構成することで、クロスバー回路によって興奮性及び抑制性のシナプスを模擬しつつ、環境温度の変化に対する、クロスバー回路に設けられる各メモリスタのコンダクタンス値の変化のばらつきの影響を低減することができるようになる。
上記括弧内の参照番号は、本開示の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら発明の範囲を制限することを意図したものではない。
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
多層NNの一例を概念的に示す図である。 畳み込みNNの構造の一例を概念的に示す図である。 畳み込みNNを具現化した全体構成の一例を示す図である。 クロスバー回路について説明するための説明図である。 クロスバー回路について説明するための別の説明図である。 クロスバー回路について説明するためのさらに別の説明図である。 メモリスタの温度特性の一例を示す図である。 メモリスタの温度特性のばらつきについて説明するための説明図である。 実施形態の人工NN回路と、比較対象人工NN回路との、認識エラーの発生率を調べた結果を示す図である。 実施形態の人工NN回路と、比較対象人工NN回路との、認識エラーの発生率を調べた結果を示す図である。 実施形態の畳み込みNN回路と、比較対象畳み込みNN回路との、認識エラーの発生率を調べた結果を示す図である。 実施形態の畳み込みNN回路と、比較対象畳み込みNN回路との、認識エラーの発生率を調べた結果を示す図である。 比較対象畳み込みNN回路による認識エラーの発生率に対する、実施形態による各種の畳み込みNN回路による認識エラーの発生率の低減度合を示す図である。 実施形態による各種の畳み込みNN回路の効率積を示す図である。
以下、本発明による人工NN回路の実施形態について、図面を参照して詳しく説明する。なお、本実施形態による人工NN回路は、例えば、少なくともニューロンが3層に階層化された多層NN(多層パーセプトロン)や、いわゆる畳み込みNNをハードウェア的に実現するために用いることができる。以下の説明においては、まず、本実施形態の人工NN回路でハードウェア的に実現可能な多層NNや畳み込みNNについて説明する。
図1は、多層NN10の一例を概念的に示す図である。図1に示すように、多層NN10は、入力層11と、中間層12と、出力層13と、を備える。入力層11、中間層12、出力層13の各層は、少なくとも1つのニューロン14を有する。中間層12は、隠れ層とも呼ばれる。
多層NN10に対する入力データが入力層11に入力されると、入力層11の各ニューロン14から、入力データに対応する出力x、x、…が出力される。そして、出力x、x、…に対して、シナプスとしての重みw,w、…が乗じられ、それぞれ、中間層12のニューロン14に入力される。中間層12のニューロン14は、これらの総和Σwixiを算出するとともに、総和Σwixiを、ReLUやtanhなどの活性化関数fにより変換して、出力y(=f(Σwixi))を生成する。そして、生成した出力yを、後段層の各ニューロン14に向けて出力する。後段層は、多層NN10が3層の場合、出力層13となる。4層以上の場合、後段中間層(図示なし)となる。このように入力データが各ニューロン14の活性化関数fにより変換されて、最終的に、出力層13に入力される。出力層13のニューロン14は、例えば、ソフトマックス関数によって入力を変換して出力する。
このような多層NN10は、入力データとしての画像(例えば、MNISTデータセット)を用いて、画像を複数のカテゴリ(例えば、0~9の数字)に分類する用途に適用できる。この場合、入力層11への入力データは、画像のピクセル値(例えば、0~255)とすることができる。また、出力層13の各ニューロン14からの出力を、入力データとしての画像が各カテゴリに属する確率とするように構成できる。多層NN10のシナプスの重みは、このような用途に適するように学習によって決定される。
そして、出力層13の各カテゴリに対応するそれぞれのニューロン14が出力する確率の中で最も高い確率に対応するカテゴリを選択することにより、入力データとしての画像を、複数のカテゴリに分類することができる。もちろん、多層NN10は、その他の用途に適用することも可能である。例えば、物体や人の検出、人の顔の認識、あるいは、道路標識の認識などにも適用することが可能である。さらに、情報圧縮、運動制御、雑音除去、時系列予測などの用途に適用することも可能である。
次に、畳み込みNNに関して説明する。畳み込みNNは、特に画像認識の精度を高めることが可能な多層NNである。図2は、畳み込みNN20の構造の一例を概念的に示す図である。畳み込みNN20は、基本的に、コンボリューション層とプーリング層とを交互に接続した構造を有する。例えば、図2に示す例では、畳み込みNN20は、第1コンボリューション層21、第2コンボリューション層22、第3コンボリューション層23、第4コンボリューション層24、第5コンボリューション層25、第6コンボリューション層26、及び、第7コンボリューション層27からなる7層のコンボリューション層を有している。そして、第2コンボリューション層22と第3コンボリューション層23との間に、第1プーリング層28が設けられ、第4コンボリューション層24と第5コンボリューション層25との間に、第2プーリング層29が設けられている。
このように、畳み込みNN20においては、コンボリューション層の次に必ずプーリング層が接続されるとは限らず、複数のコンボリューション層を接続した後に、プーリング層が接続されることもある。また、コンボリューション層21~27及びプーリング層28~29の層数は、図1に示す例に限られない。一般的には、コンボリューション層21~27及びプーリング層28~29の層数を増やすほど、画像の認識性能をより向上させることができる。
第1~第7コンボリューション層21~27は、それぞれの入力ニューロンに入力される入力データ(画像)に対して、シナプスの重みを利用して、所定のサイズ(例えば3×3、5×5)を有するフィルタを畳み込む演算を行う。入力データとしての画像は、2次元に配列された入力値(ピクセル値)を有する。各コンボリューション層21~27におけるフィルタの畳み込み演算は、一般的な画像処理でのフィルタの畳み込み、すなわち、小サイズの画像(フィルタ)を入力画像に2次元的に畳み込んで、画像をぼかしたり、エッジを強調したりするものと基本的に同じである。
具体的には、第1~第7コンボリューション層21~27では、フィルタの畳み込み演算として、フィルタとしての小サイズの画像の各ピクセル値(重み)と、入力データとしての画像におけるフィルタと同サイズの領域の各ピクセル値とをそれぞれ掛け合わせた各乗算結果を積算する。この際、入力データが複数枚の画像を含む場合には、それら複数枚の入力画像の同じ領域において同じフィルタによる畳み込み演算が行われ、出力ニューロンにおいて、それらの畳み込み演算による演算結果が積算される。さらに、出力ニューロンにおいて、計算された積算結果が、ReLUなどの活性化関数を経て、各コンボリューション層21~27の画像上のフィルタの位置に対応する出力値となる。
フィルタは、所定のストライドで入力データとしての画像上をシフトされていき、そのシフト位置において、上述した畳み込み演算が繰り返し行われる。これにより、各コンボリューション層21~27において、入力画像全体に渡ってそれぞれのフィルタのシフト位置に応じた出力値が作成される。それらの出力値を、フィルタのシフト位置に対応するように2次元的にまとめた結果が、各コンボリューション層21~27による出力データとなり、次の階層の入力データとなる。
このように、各コンボリューション層21~27の出力データは、それぞれ2次元的に配列される画像の形を取り、一般的には特徴マップと呼ばれる。この特徴マップは、各コンボリューション層21~27において使用されるフィルタの数と同じ数だけ生成される。このため、通常は、第2コンボリューション層22以降の各コンボリューション層22~27には、複数枚の入力画像(特徴マップ)を含む入力データが入力される。また、第1コンボリューション層21においても、入力画像がカラー画像である場合には、RGBに対応する3枚の画像が入力される。一方、入力画像がグレースケール画像である場合には、第1コンボリューション層21には、1枚の画像が入力されるだけである。
なお、本実施形態では、第6、第7コンボリューション層26、27において使用されるフィルタのサイズは1×1に設定されている。つまり、第6、第7コンボリューション層26、27では、各入力画像における同じ位置のピクセル値が、フィルタによる重みを掛け合わされた上で加算される、1×1の畳み込み演算が行われる。これら第6、第7コンボリューション層26、27として、いわゆる全結合層を用いることも可能であるが、本実施形態では、第6、第7コンボリューション層26、27を含む各コンボリューション層21~27における畳み込み演算を、後述するクロスバー回路を用いてアナログ領域において実行するために、上述したように1×1の畳み込み演算を行うコンボリューション層を採用している。全結合層を採用すると、入力バーの数が過大となり、1つのクロスバー回路で対応することが困難になるためである。クロスバー回路に関しては、後に詳細に説明する。
本実施形態では、上述したように、活性化関数として、ReLUを用いる。ReLUは、max(0、x)により定義される関数である。このように出力値に上限値が定められていないReLUを用いることにより、計算が速い、勾配損失しない、スパース性の高さに繋がる、などのメリットが得られる。ただし、活性化関数はReLUに限られず、ReLUと類似する他の関数(leaky ReLU、Parametric ReLU、maxout)などを用いても良い。
また、上述したフィルタの重みは学習によって決定される。学習は、本実施形態では、畳み込みNN20を、一旦コンピュータ上に構築して、教師あり学習により行われる。学習の対象は、上述したフィルタの重みの他、後述するバイアス入力に対する重みの大きさが含まれる。
第1、第2プーリング層28、29は、入力画像のどの位置でフィルタとの適合性が高かったかを示す情報の一部を捨てることにより、入力画像内に現れる特徴の位置変化に対する不変性を高めるとともに、画像のサイズを縮小して後の計算量を削減できるようにするためのものである。
具体的には、第1、第2プーリング層28、29は、入力画像に対して所定のサイズ(2×2、3×3など)のウインドウを定め、そのウインドウ内の入力値(ピクセル値)を平均化(平均プーリング)したり、ウインドウ内の入力値の最大値を採用(最大プーリング)したりすることにより、入力画像の複数の入力値をまとめる。なお、プーリング層28、29におけるプーリング演算として平均プーリングを用いることにより、プーリング層28、29のプーリング演算も、後述するクロスバー回路を用いて行うことができる。
このプーリング演算では、プーリングの対象範囲を定めるウインドウが重ならないように、ウインドウが行方向及び列方向にシフトされる。ただし、プーリング範囲を定めるウインドウが一部重なるように、ウインドウをシフトさせても良い。また、このようなプーリングは、各入力画像(特徴マップ)毎に行われるので、プーリング前後の入力画像の枚数は不変である。
出力層30は、例えば、ソフトマックス関数による正規化により、分類すべき複数のカテゴリ毎に、入力データとしての画像が属する確率を出力するように構成される。従って、出力層30が出力する確率の中で最も高い確率に対応するカテゴリを選択することにより、入力データとしての画像を、複数のカテゴリに分類することができる。
次に、上述した多層NN10や畳み込みNN20を、クロスバー回路及びCMOS素子の集積回路によって構成されるアナログ処理回路を用いて具現化するための構成について説明する。なお、多層NN10や畳み込みNN20は、クロスバー回路及びアナログ処理回路以外の要素も用いて構成されるので、まず、一例として、畳み込みNN20を具現化するための全体構成について説明し、その後、クロスバー回路及びアナログ処理回路について説明する。
図3は、畳み込みNN20を具現化した全体構成の一例を示す図である。図3に示すように、畳み込みNN20を具現化するための構成要素として、本実施形態では、主に、マイクロコンピュータ40、D/A変換回路43、クロスバー回路44、アナログ処理回路45、及びA/D変換回路46を備えている。
マイクロコンピュータ40は、CPU41、RAM42、ROMなどを備え、例えば、ROMに記憶されたプログラムに従い、種々の処理を実施する。なお、以下においては、第1コンボリューション層21を対象とした処理について説明するが、マイクロコンピュータ40は、他のコンボリューション層22~27に対しても原則として同様の処理を行なう。
まず、マイクロコンピュータ40は、入力データとしての画像において、フィルタの畳み込み演算を行う領域を定め、その領域に含まれる各ピクセルのピクセル値に応じたデジタル信号をD/A変換回路43に出力する。これにより、D/A変換回路43は、畳み込み演算が行われる領域の各ピクセル値に応じたアナログ信号(電圧信号)をクロスバー回路44へ出力する。
さらに、マイクロコンピュータ40は、クロスバー回路44及びアナログ処理回路45における演算処理が終了して、出力が出されるタイミングで、A/D変換回路46からの出力を取り込む処理を実行する。この際、A/D変換回路46は、第1コンボリューション層21において使用されるフィルタ数と同数の、あるフィルタのシフト位置での畳み込み演算、活性化関数による処理を経た出力値をデジタル信号に変換して出力している。マイクロコンピュータ40は、A/D変換回路46から出力されたデジタル信号を、複数のフィルタ毎に区別して、RAM42にそれぞれ格納する。
そして、マイクロコンピュータ40は、入力画像において、フィルタの畳み込み演算を行う領域を所定のストライドだけシフトさせ、そのシフト後の領域に含まれるピクセル値に対応するデジタル信号をD/A変換回路43に出力するとともに、上述したのと同様の処理を行う。これを、入力画像のすべての領域でフィルタのシフトが完了するまで繰り返す。これにより、第1コンボリューション層21により作成された、フィルタ数と同数の特徴マップを示すデジタルデータがRAM42に保存される。
なお、図1に示す多層NN10に関しては、所定のストライドでフィルタをシフトさせる必要は無いので、クロスバー回路44及びアナログ処理回路45による出力値を、都度、マイクロコンピュータ40に取り込む必要はない。換言すれば、図1に示す多層NN10は、アナログ処理回路45からの出力を、そのまま、後段層のクロスバー回路44の入力とすることができる
次に、クロスバー回路44の基本的な構成について、図4~図6に基づいて説明する。クロスバー回路44は、上述した多層NN10や畳み込みNN20の隣接する層の間で、信号を伝達させるために用いられるものである。図4~図6は、図示及び説明の便宜上、クロスバー回路44の一部のみを示している。
図4に示すように、クロスバー回路44は、複数の入力バー50と、複数の出力バー51a、51b、52a、52bとを有する。複数の入力バー50と複数の出力バー51a、51b、52a、52bとは、それぞれ交差するように配列される。これらの入力バー50及び出力バー51a、51b、52a、52bは、CMOS素子が形成されたCMOS基板上に形成され得る。入力バー50には、CMOS素子からなる入力ニューロン55を介して、例えば、上述したピクセル値に対応する電圧信号が入力されるように構成される。そして、複数の入力バー50と複数の出力バー51a、51b、52a、52bとの各交点に、入力バー50から出力バー51a、51b、52a、52bへと伝達される入力信号に対して重みを付与する抵抗変化型メモリであるメモリスタ53が設けられている。つまり、複数の入力バー50と、複数の出力バー51a、51b、52a、52bとは、それぞれ、対応するメモリスタ53を介して接続されている。
メモリスタ53は、印加電圧や通電電流によって、最小値と最大値との間で、異なる抵抗状態に設定することが可能な抵抗変化型メモリである。例えば、メモリスタ53のコンダクタンス値は、図示しない電圧印加回路を用いて、負の書込電圧を印加することにより増加させることができ、正の書込電圧を印加することにより減少させることができる。そして、メモリスタ53は、正負の書込電圧以上の電圧が印加されない限り、設定された抵抗状態(コンダクタンス値)を維持する。このようなメモリスタ53として使用可能な素子としては、Pt/TiO2/Pt金属酸化物素子、相変化メモリ、磁気トンネル接合メモリ、などがある。
クロスバー回路44と、出力ニューロン56としての役割を果たすアナログ処理回路45とは、例えば、メモリスタ53が組み込まれたハイブリッドCMOS回路として構成することができる。以下に、出力ニューロン56としての役割を果たすアナログ処理回路45について、図5を参照して説明する。図5は、クロスバー回路44及び出力ニューロン56としてのアナログ処理回路45を電気回路的に示した図である。
図5に示すように、本実施形態においては、一対の出力バー(51aと52a、51bと52b)が差動対出力バーとして用いられることで、各入力バー50との間において、差動対出力バーの正側の出力バー51a、51bに接続されるメモリスタ53による重み(コンダクタンス値)G(+)と、負側の出力バー52a、52bに接続されるメモリスタ53による重み(コンダクタンス値)G(-)との差分に応じて、各入力バー50に入力される信号に正又は負の重みを付与可能に構成されている。なお、差動対出力バーの正側の出力バー51a、51bは、差動増幅器54の非反転入力端子に接続された出力バーであり、負側の出力バー52a、52bは、差動増幅器54の反転入力端子に接続された出力バーである。
そして、本実施形態では、差動対出力バーの正側の出力バー51a、51bは複数の出力バー51a、51bを含み、差動対出力バーの負側の出力バー52a、52bも、正側の出力バーと同数の複数の出力バー52a、52bを含んでいる。この結果、本実施形態におけるクロスバー回路44の出力バー51a、51b、52a、52bの数は、従来のクロスバー回路の出力バーの数の倍数(例えば、図4及び図5では2倍)となる。なお、図4及び図5には、差動対出力バーの、複数の正側の出力バー51a、51bの数及び複数の負側の出力バー52a、52bの数を「2」とした例を示していが、それぞれの出力バーの数は3以上であっても良い。差動対出力バーの、正側及び負側の出力バーの数を「3」とした場合には、出力バーの数が、重複分の出力バーを設けない構成に比較して3倍となり、正側及び負側の出力バーの数を「4」とした場合には、出力バーの数が4倍となる。
また、本実施形態では、差動対出力バーは、複数の正側の出力バー51a、51bが、接続される複数のメモリスタ53の重みが相互に同一となるように設定され、かつ、複数の負側の出力バー52a、52bが、接続される複数のメモリスタ53の重みが相互に同一となるように設定される同一重み差動対出力バーとなっている。つまり、出力バー51aと出力バー51bとにそれぞれ接続されるメモリスタ53のコンダクタンス値は、G(+) 11=G(+) 12、(+) 21=G(+) 22であり、同じ入力信号V、Vに対して同じ重みを付与するように設定されている。同様に、出力バー52aと出力バー52bとにそれぞれ接続されるメモリスタ53のコンダクタンス値は、G(-) 11=G(-) 12、(-) 21=G(-) 22となるように設定されている。このように、複数の正側の出力バー51a、51bは、入力信号V1、V2に対して協働して所望の重みを付与するように、それぞれのメモリスタ53のコンダクタンス値が同じ値に設定されたものである。同様に、複数の負側の出力バー52a、52bも、入力信号V1、V2に対して協働して所望の重みを付与するように、それぞれのメモリスタ53のコンダクタンス値が同じ値に設定されたものである。
ただし、入力信号V1、V2に対して協働して所望の重みを付与する複数の出力バー(51aと51b、52aと52b)に接続された各メモリスタ53のコンダクタンス値は、必ずしも相互に同一でなくても良い。例えば、同じ入力信号に対して重みを付与する、複数の出力バーに接続された各メモリスタ53のコンダクタンス値は相違するが、それらのコンダクタンス値の合計値が、所望の重みに対応するものであってもよい。
アナログ処理回路45は、図5に示すように、入力信号に正の重み(G(+))を付与するメモリスタ53が接続された複数の正側の出力バー51a、51bから出力される信号の総和を算出して出力する加算器57a、入力信号に負の重み(G(-))を付与するメモリスタ53が接続された複数の負側の出力バー52a、52bの信号の総和を算出して出力する加算器57b、及び、それぞれの加算器57a、57bから出力される総和の差分を算出して出力する差動増幅器54を有する。さらに、アナログ処理回路45は、図示していないが、差動増幅器54から出力される操作の差分を、所定の活性化関数fによって変換し、その変換した値を出力する活性化関数処理回路も有している。なお、加算器57a、57b、差動増幅器54や活性化関数処理回路は、CMOS基板内のCMOS素子を用いて構成され得る。
加算器57a、57bは、演算増幅器の入出力間に抵抗Rが接続された構成を有する。このため、図5に示すように、入力バー50に電圧信号V、Vが入力されると、電圧信号VにはコンダクタンスG(+) 11、G(+) 12が掛け合わされ、電圧信号VにはコンダクタンスG(+) 21、G(+) 22が掛け合わされた上で、加算器57aにおいて加算され、総和が算出される。さらに、その総和は、加算器57aにてR倍される。同様に、加算器57bにおいても、電圧信号VにコンダクタンスG(-) 11、G(-) 12をかけ合わせた結果と、電圧信号VにコンダクタンスG(-) 21、G(+) 22を掛け合わせた結果とが加算されて総和が算出され、さらに、その総和がR倍される。
そして、差動増幅器54は、加算器57aが出力する総和と、加算器57bが出力する総和との差分を算出して出力する。このため、出力ニューロン56としてのアナログ処理回路45において、以下の数式1に示す結果が得られる。
(数1)
出力電圧=R(G(+) 11-G(-) 11+G(+) 12-G(-) 12
+G(+) 21-G(-) 21+G(+) 22-G(-) 22+…)
従って、差動対出力バー51a、51b、52a、52bを介して入力信号V1が伝達されるときにメモリスタ53によって付与される重みは、R(G(+) 11-G(-) 11+G(+) 12-G(-) 12+…)となる。また、入力信号V2が伝達されるときにメモリスタ53によって付与される重みは、R(G(+) 21-G(-) 21+G(+) 22-G(-) 22+…)となる。図4及び図5には図示していないが、他の入力信号に対する重みについても同様である。
また、本実施形態では、上述したように、差動対出力バー51a、51b、52a、52bは、複数の正側の出力バー51a、51bに接続される複数のメモリスタ53の重みが相互に同一となるように設定され、かつ、複数の負側の出力バー52a、52bに接続される複数のメモリスタ53の重みが相互に同一となるように設定される。従って、差動対出力バー51a、51b、52a、52bに含まれる正側、負側のそれぞれの出力バーの本数をNとすると、上記の入力信号V1に対する重みは、RN(G(+) 11-G(-) 11)となり、上記の入力信号V2に対する重みは、RN(G(+) 21-G(-) 21)となる。このため、抵抗Rの値を、1/Nに相当する値に設定した場合、換言すれば、抵抗Rの値により、それぞれの入力信号V1、V2に対する重みを、正側/負側の出力バーの数で正規化した場合には、入力信号V1に対する重みは、(G(+) 11-G(-) 11)となり、入力信号V2に対する重みは、(G(+) 21-G(-) 21)となる。これは、正側及び負側の出力バーの本数をそれぞれ1本としたときの、入力信号V1、V2に対する重みと同じである。このため、アナログ処理回路の信号レンジを広げずとも、複数の正側の出力バーの信号の総和、及び複数の負側の出力バーの信号の総和を算出することができる。
図6は、畳み込みNN20に用いる、クロスバー回路44及びアナログ処理回路45の一例を示している。図6に示すクロスバー回路44及びアナログ処理回路45は、基本的に、図4及び図5を用いて説明したクロスバー回路44及びアナログ処理回路45と同様の構成を有している。ただし、畳み込みNN20に用いるクロスバー回路44の各メモリスタ53には、該当するコンボリューション層21~27において使用される、それぞれのフィルタ1、2、3、…に対応する重みが設定される。
ここで、クロスバー回路44に設けられる各メモリスタ53は、温度特性を有している。このため、環境温度の変化に応じて、各メモリスタ53に設定されたコンダクタンス値が変化する。図7は、このようなメモリスタ53の温度特性の一例を示している。図7に示すように、入力電圧Vが同じであっても、環境温度に応じて、メモリスタ53のコンダクタンス値が変化するので、結果的に出力電流Iも変化することになる。
クロスバー回路44に含まれるメモリスタ53のコンダクタンス値の変化の割合が、すべてのメモリスタ53において一様であれば、各メモリスタ53間で、それぞれのコンダクタンス値による重みの相互の関係は保たれる。しかしながら、図8に示すように、各メモリスタ53のコンダクタンス値は、環境温度の変化に応じて、必ずしも一様の割合で変化しないことがある。すなわち、同じ温度変化に対して、コンダクタンス値が大きく変化するメモリスタもあれば、コンダクタンス値の変化が小さいメモリスタもありえる。このように、クロスバー回路44に含まれる各メモリスタ53において、環境温度の変化によるコンダクタンス値の変化の割合にばらつきがあると、各メモリスタ53間で重みの相互の関係が崩れてしまう。その結果、人工NN回路の性能の劣化が生じてしまう。
そのため、本実施形態では、上述したように、差動対出力バーの正側の出力バーは複数の出力バー51a、51bを含み、差動対出力バーの負側の出力バーも、正側の出力バー51a、51bと同数の複数の出力バー52a、52bを含み、アナログ処理回路45は、複数の正側の出力バー51a、51bから出力される信号の総和と、複数の負側の出力バー52a、52bから出力される信号の総和との差分を算出するように構成される。
このような構成を採用したことにより、環境温度の変化に対して、クロスバー回路44に設けられる各メモリスタ53のコンダクタンス値の変化の割合にばらつきがあっても、そのばらつきの影響を低減することができるようになる。つまり、アナログ処理回路45が、1つの出力バーに流れ込む信号の総和を算出するだけでは、個々のメモリスタ53のコンダクタンス値の変化が、そのまま、算出される信号の総和に反映されてしまう。しかし、同じ入力信号に対して協働して所望の重みを付与する、別々の出力バー(51aと51b、52aと52b)の各々のメモリスタ53のコンダクタンス値がすべて相対的に大きなコンダクタンス値の変化を示したり、すべて相対的に小さなコンダクタンス値の変化を示したりする可能性は小さい。そのため、アナログ処理回路45が、別々の複数の出力バー(51aと51b、52aと52b)に流れ込む信号の総和を算出することにより、メモリスタ53の相対的に大きなコンダクタンス値の変化や、相対的に小さなコンダクタンス値の変化をより平均的な変化に近づけることと同等の効果を得ることができる。その結果、環境温度が変化したときに、各メモリスタ53のコンダクタンス値の変化のばらつきの影響を抑えることができ、人工NN回路の性能の劣化を抑制することが可能となる。
また、本実施形態では、アナログ処理回路45は、信号の総和として、複数の正側の出力バー51a、51bから出力される信号の総和と、複数の負側の出力バー52a、52bから出力される信号の総和との差分を算出するように構成される。このため、クロスバー回路44よって興奮性及び抑制性のシナプスを模擬しつつ、環境温度の変化に対する、クロスバー回路44に設けられる各メモリスタ53のコンダクタンス値の変化のばらつきの影響を低減することができるようになる。
さらに、本実施形態では、入力信号V1、V2に対して協働して所望の重みを付与する複数の出力バー(51aと51b、52aと52b)に接続される各メモリスタ53のコンダクタンス値は、相互に同一となるように設定される。このように、複数の出力バーに接続された各メモリスタ53に相互に同一のコンダクタンス値を設定すれば良いので、コンダクタンス値の設定作業を容易かつ短時間で行うことが可能となる。
次に、本実施形態におけるクロスバー回路44及びアナログ処理回路45を採用した場合に得られる効果について説明する。
まず、MNISTデータセットを用いて、クロスバー回路44の各メモリスタ53の重みと、クロスバー回路44の1つの入力バーへ入力されるバイアスとを学習させた、図1に示した構成を有する多層NN10を具現化した人工NN回路を準備した。入力画像は、28×28ピクセルの大きさを持つため、入力層11のニューロン数は、各ピクセルのピクセル値とバイアスの入力のために785(28×28+1)である。中間層12のニューロン数は、入力層11のニューロンからの入力を受けるニューロン数を300とし、バイアス入力分を加えて、合計で301とした。そして、出力層13のニューロン数は10である。このため、入力層11と中間層12との間のクロスバー回路44の入力バーの数は785であり、差動対出力バーの正側/負側の出力バーの本数(重複数)を2としたため、出力バーの数は1200である。また、中間層12と出力層13との間のクロスバー回路44の入力バーの本数は、中間層12のニューロン数(300)とバイアス入力に対応する301であり、差動対出力バーの重複数は2であるため、出力バーの本数は40である。
さらに、比較対象として、差動対出力バーの正側/負側の出力バーの本数を1としたクロスバー回路44を有し、その他は上述した人工NN回路と同様とした、比較対象人工NN回路も準備した。
そして、本実施形態による人工NN回路を実装した10個のチップと、比較対象人工NN回路を実装した10個のチップとを用いて、認識エラーの発生率を調べた。その結果を図9のグラフに示す。なお、図9のグラフには、温度変化に応じて各メモリスタ53の重みが変化しない理想重みの場合の認識エラーの発生率のばらつきと平均値を結んだ線分、本実施形態による、差動対出力バーの正側/負側の出力バーの本数を2とした場合の認識エラーの発生率のばらつきと平均値を結んだ線分、及び、比較対象人工NN回路による認識エラーの発生率のばらつきと平均値を結んだ線分が示されている。
比較対象人工NN回路では、上述したように、差動対出力バーの正側/負側の出力バーの本数を1としており、出力バーの重複はない。従って、差動対出力バーの正側/負側の出力バーに接続された各メモリスタのコンダクタンス値の変化の大きさのばらつきが、認識エラーの発生率に直接的に影響することになる。このため、環境温度が室温(約27℃)から上昇するにつれて、認識エラーの発生率も高くなり、100℃の時点では、10チップの平均値が2%を超えてしまう。
それに対して、本実施形態による人工NN回路によれば、差動対出力バーの正側/負側の出力バーとしてそれぞれ2本の出力バーが接続されているので、各メモリスタのコンダクタンス値の変化の大きさのばらつきの影響を抑制することができる。このため、本実施形態による人工NN回路では、10チップの平均の認識エラーの発生率(平均値)が、70°~100℃の環境温度において、比較対象人工NN回路よりも低減されており、改善されていることが分かる。
さらに、本実施形態による人工NN回路を実装した10個のチップに、それぞれ異なる20セットの学習値(重み及びバイアス)をそれぞれ設定して、認識エラーの発生率を調べた。同様に、比較対象人工NN回路を実装した10個のチップに、同様の20セットの学習値を設定して、認識エラーの発生率を調べた。その結果を図10のグラフに示す。図10に示すように、20セットの学習値をそれぞれ設定した場合における10チップの認識エラーの発生率の平均値に関して、本実施形態による人工NN回路と、比較対象人工NN回路とは、図9のグラフとほぼ同様の傾向を示し、本実施形態による人工NN回路では、認識エラーの発生率の平均値が、比較対象人工NN回路よりも改善されていることが分かる。
図2に示す構成を有する畳み込みNN20についても、同様の検証を行った。具体的には、本実施形態による畳み込みNN20を具現化した畳み込みNN回路として、第1~第7コンボリューション層のクロスバー回路44における差動対出力バーの正側/負側の出力バーの本数を「2」としたチップと、「4」としたチップをそれぞれ5個作成した。そして、それらのチップに、CIFAR10データセットを用いて学習した学習値(重み及びバイアス)を設定し、認識エラーの発生率を調べた。なお、CIFAR10は、飛行機、自動車、鳥、猫など、10種類に分類される画像のデータセットである。
また、比較対象として、各コンボリューション層のクロスバー回路における差動対出力バーの正側/負側の出力バーの本数を1とし、その他は上述した畳み込みNN回路と同様とした、比較対象畳み込みNN回路を実装したチップも5個準備した。
そして、本実施形態による、差動対出力バーの正側/負側の出力バーの本数を2とした畳み込みNN回路を実装した5個のチップと、差動対出力バーの正側/負側の出力バーの本数を4とした畳み込みNN回路を実装した5個のチップと、比較対象畳み込みNN回路を実装した5個のチップとを用いて、認識エラーの発生率を調べた。その結果を図11のグラフに示す。
図11に示すように、比較対象畳み込みNN回路では、環境温度の上昇とともに、認識エラーの発生率が上昇する。具体的には、環境温度が室温程度である場合、認識エラーの発生率の平均値は9%強であるが、環境温度が100℃まで上昇すると、認識エラーの発生率の平均値が15%超まで上昇する。
それに対して、本実施形態の畳み込みNN回路では、差動対出力バーの正側/負側の出力バーの本数を2とした場合、例えば100℃での認識エラーの発生率の平均値は11%程度に留まる。理想重みによる認識エラーの発生率とを基準として正規化した場合、差動対出力バーの正側/負側の出力バーの本数を2としたときの認識エラーの発生率の平均値は、比較対象人工NN回路による認識エラーの発生率の平均値の約1/2となっている。さらに、本実施形態の畳み込みNN回路において、差動対出力バーの正側/負側の出力バーの本数を4としたときには、差動対出力バーの正側/負側の出力バーの本数を2としたときと比較して、認識エラーの発生率の平均値をさらに低減することができる。図11に示す例では、理想重みによる認識エラー率を基準として正規化した場合、差動対出力バーの正側/負側の出力バーの本数を4としたときの認識エラーの発生率の平均値は、出力バーの本数を4としたときの認識エラーの発生率の平均値の約1/2となっている。
さらに、本実施形態による、差動対出力バーの正側/負側の出力バーの本数を2とした畳み込みNN回路を実装した5個のチップ、及び差動対出力バーの正側/負側の出力バーの本数を4とした畳み込みNN回路を実装した5個のチップに、異なる4セットの学習値(重み及びバイアス)をそれぞれ設定して、認識エラーの発生率を調べた。同様に、比較対象畳み込みNN回路を実装した5個のチップに、同様の4セットの学習値を設定して、認識エラーの発生率を調べた。その結果を図12のグラフに示す。図12に示すように、4セットの学習値をそれぞれ設定した場合における5チップの認識エラーの発生率の平均値についても、図9のグラフとほぼ同様の傾向を示し、本実施形態による、差動対出力バーの正側/負側の出力バーの本数を複数とした畳み込みNN回路では、認識エラーの発生率が、比較対象畳み込みNN回路よりも改善されていることが分かる。さらに、差動対出力バーの正側/負側の出力バーの本数を増やすことにより(2本→4本)、一層、認識エラーの発生率を低減できることが分かる。
ここで、図11及び図12は、図2に示す構成を有する畳み込みNN20のすべてのコンボリューション層のクロスバー回路において、差動対出力バーの正側/負側の出力バーの本数を複数とした場合の結果を示している。
しかしながら、すべてのコンボリューション層ではなく、一部のコンボリューション層のクロスバー回路において、差動対出力バーの正側/負側の出力バーの本数を複数とするだけでも、認識エラーの低減に関して一定の効果を得られる。
以下に、一部のコンボリューション層のクロスバー回路において、差動対出力バーの正側/負側の出力バーの本数を複数とする例、およびその場合に得られる効果について説明する。
まず、第1の例として、第1コンボリューション層についてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの本数を4とした畳み込みNN回路を実装した5個のチップを作成した。そして、これら5個のチップに、異なる4セットの学習値(重み及びバイアス)をそれぞれ設定して、認識エラーの発生率を調べた。すると、図13に示すように、僅かではあるが、比較対象畳み込みNN回路(各コンボリューション層のクロスバー回路における差動対出力バーの正側/負側の出力バーの本数を1としたもの)の認識エラーの発生率を改善できることを確認した。
次に、第2の例として、第1、第6、及び第7コンボリューション層についてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの本数を4とした畳み込みNN回路を実装した5個のチップを作成した。そして、これら5個のチップに、異なる4セットの学習値(重み及びバイアス)をそれぞれ設定して、認識エラーの発生率を調べた。すると、図13に示すように、すべてのコンボリューション層のクロスバー回路について、差動対出力バーの正側/負側の出力バーの本数を2とした畳み込みNN回路よりも、認識エラーの発生率を低減できることを確認した。そして、第1及び第2の例の結果から、例えば、出力側のコンボリューション層についてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの数を複数とした場合も、比較対象畳み込みNN回路よりも、認識エラーの発生率を低減できる可能性が高いといえる。
ここで、図2に示す構成の畳み込みNN20では、中間のコンボリューション層のクロスバー回路は、入力側及び出力側のコンボリューション層のクロスバー回路に比較して、入力バーと出力バーの本数が多くなる傾向がある。入力バーと出力バーの本数が多いクロスバー回路において、出力バーの本数を2倍以上に増やすと、クロスバー回路のサイズが大きくなり、その製造が困難になるとともに、コストの増加を招く虞がある。
その点、上述した第1の例や第2の例では、入力バーと出力バーの本数が相対的に少ない、入力側及び/又は出力側の一部のコンボリューション層においてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの本数を増加させている。このため、上述した問題を回避することができ、さらに、比較対象畳み込みNN回路よりも認識エラーの発生率を低減することができる。
ここで、比較対象畳み込みNN回路の認識エラーの発生率を基準とする、本実施形態の各種の畳み込みNN回路による認識エラーの発生率の低減率と、比較対象畳み込みNN回路におけるクロスバー回路の出力バーの本数を基準とする、本実施形態の各種の畳み込みNN回路におけるクロスバー回路の出力バーの本数の増加率をかけ合わせた数値を、効率積として定義する。この効率積が1未満であれば、出力バーの本数を増加しても、それ以上に認識エラーの発生率を低減できることを意味し、さらに、この効率積が小さいほど、認識エラーの発生率の低減を効率よく行いうることを意味する。
図14は、本実施形態の各種の畳み込みNN回路の効率積をプロットしたものである。図14に示すように、すべてのコンボリューション層のクロスバー回路の、差動対出力バーの正側/負側の出力バーの本数を2とした場合、差動対出力バーの正側/負側の出力バーの本数を4とした場合、及び第1コンボリューション層についてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの本数を4とした場合の効率積は、それほど大きな差はなく、0.92~0.95程度の範囲に収まっている。それに対して、第1、第6、及び第7コンボリューション層についてのみ、クロスバー回路の差動対出力バーの正側/負側の出力バーの本数を4とした場合には、効率積が0.67程度まで減少している。従って、上述した第2の例は、クロスバー回路の出力バーの本数をそれほど増やさず、効率的に、認識エラーの発生率を低減できるものであると言える。
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。
例えば、上述した実施形態では、伝達される信号に正又は負の重みを付与可能とするために、クロスバー回路44に差動対出力バーを設定する例について説明した。しかしながら、必ずしもクロスバー回路に44に差動対出力バーを設定しなくともよい。この場合、出力バーに接続される各メモリスタ53の重みはすべて正の符号を持つことになる。そして、アナログ処理回路45は、伝達される信号に対して協働して所望の重みを付与するように各メモリスタ53のコンダクタンス値が設定された、別々の複数の出力バーに流れ込む信号の総和を算出するように構成すればよい。
また、上述した実施形態では、差動対出力バーの正側の複数の出力バーの信号の総和を算出するとともに、負側の複数の出力バーの信号の総和を算出し、その後、それぞれの信号の総和の差分を算出する例について説明した。しかしながら、演算の順序は、これに限定されず、先に、差動対となる正側の出力バーの信号の総和と負側の出力バーの信号の操作の差分をそれぞれ算出し、その後、各差分信号を算出するようにしても良い。
さらに、上述した実施形態では、人工NNをコンピュータ上に構築して、教師あり学習により、各メモリスタ53の重み及びバイアスに関する学習値を算出する例について説明した。しかしながら、重み及びバイアスに関する学習値の算出は、チップに実装された人工NN回路に、実際に電圧信号を伝播させることで行ってもよい。
また、上述した実施形態では、差動対出力バーの正側及び負側の複数の出力バーにそれぞれ接続される各メモリスタ53に、学習により得られた本来の重みを設定しつつ、それら出力バーの信号の総和を算出する加算器の抵抗Rの値により、算出される総和を正側/負側の出力バーの数で正規化するように構成する例について説明した。しかしながら、算出される総和を正規化する手法はこれに限られない。例えば、差動対出力バーの複数の正側の出力バーに接続される各メモリスタと、複数の負側の出力バーに接続される各メモリスタとには、学習により得られた本来の重みを、複数の正側/負側の出力バーの数で正規化した重みが設定されてもよい。このようにしても、正規化した信号の総和を得ることができる。
さらに、上述した実施形態では、畳み込みNN回路において、コンボリューション層のクロスバー回路において、例について説明した。しかしながら、プーリング層がクロスバー回路を用いて平均プーリングを行うものである場合、プーリング層のクロスバー回路にも、正側/負側の出力バーの本数を複数とする差動対出力バーを設けてもよい。
10:多層ニューラルネットワーク、11:入力層、12:中間層、13:出力層、14:ニューロン、20:畳み込みニューラルネットワーク、21:第1コンボリューション層、22:第2コンボリューション層、23:第3コンボリューション層、24:第4コンボリューション層、25:第5コンボリューション層、26:第6コンボリューション層、27:第7コンボリューション層、28:第1プーリング層、29:第2プーリング層、30:出力層、40:マイクロコンピュータ、41:CPU、42:RAM、43:D/A変換回路、44:クロスバー回路、45:アナログ処理回路、46:A/D変換回路、50:入力バー、51a、51b、52a、52b:出力バー、53:メモリスタ、54:差動増幅器、55:入力ニューロン、56:出力ニューロン、57a、57b:加算器

Claims (7)

  1. 人工ニューラルネットワークの階層化されたニューロン間で信号の伝達を行うクロスバー回路(44)と、
    前記クロスバー回路は、複数の入力バー(50)と複数の出力バー(51a、51b、52a、52b)とが交差するように配列され、かつ、前記複数の入力バーと前記複数の出力バーとの各交点に、伝達される信号に対して重みを付与する抵抗変化型メモリであるメモリスタ(53)が設けられたものであり、
    前記ニューロンにおける信号処理として、少なくとも、前記メモリスタによってそれぞれ重みが付与されて、各々の前記出力バーに流れ込む信号の総和の算出を実行する処理回路(45)と、を備えた人工ニューラルネットワーク回路であって、
    前記複数の出力バーは、1対の出力バーが差動対出力バーとして用いられることで、各入力バーとの間において、差動対出力バーの正側の出力バーに接続されるメモリスタの重みと、負側の出力バーに接続されるメモリスタの重みとの差分に応じて、各入力バーに入力される信号に正又は負の重みを付与可能とされ、
    前記差動対出力バーの正側の出力バーは複数の出力バーを含み、前記差動対出力バーの負側の出力バーは、正側の出力バーと同数の複数の出力バーを含み、
    前記処理回路は、前記信号の総和として、複数の正側の出力バーから出力される信号の総和と、複数の負側の出力バーから出力される信号の総和との差分を算出するように構成される人工ニューラルネットワーク回路。
  2. 前記差動対出力バーは、前記複数の正側の出力バーが、接続される複数のメモリスタの重みが相互に同一となるように設定され、かつ、前記複数の負側の出力バーが、接続される複数のメモリスタの重みが相互に同一となるように設定される同一重み差動対出力バーである請求項に記載の人工ニューラルネットワーク回路。
  3. 前記処理回路は、前記差動対出力バーに含まれる複数の正側の出力バーから出力される信号の総和と、複数の負側の出力バーから出力される信号の総和との差分を、前記複数の正側の出力バーの数で正規化する請求項1又は2に記載の人工ニューラルネットワーク回路。
  4. 前記差動対出力バーの前記複数の正側の出力バーに接続されるメモリスタと、前記複数の負側の出力バーに接続されるメモリスタとには、学習により得られた重みを前記複数の正側の出力バーの数で正規化した重みが設定される請求項1又は2に記載の人工ニューラルネットワーク回路。
  5. 前記人工ニューラルネットワークは、少なくともニューロンが3層に階層化された多層ニューラルネットワークであって、
    前記差動対出力バーを含むクロスバー回路及び前記差動対出力バーの信号の総和の差分を算出する処理回路は、階層化されたニューロンのすべての層間に設けられる請求項1乃至4のいずれかに記載の人工ニューラルネットワーク回路。
  6. 前記人工ニューラルネットワークは、少なくともニューロンが3層に階層化された多層ニューラルネットワークであって、
    前記差動対出力バーを含むクロスバー回路及び前記差動対出力バーの信号の総和の差分を算出する処理回路は、階層化されたニューロンの一部の層間だけに設けられる請求項1乃至4のいずれかに記載の人工ニューラルネットワーク回路。
  7. 前記差動対出力バーを含むクロスバー回路及び前記差動対出力バーの信号の総和の差分を算出する処理回路は、前記多層ニューラルネットワークの階層化されたニューロンの各層間の中で、相対的に、前記クロスバー回路の入力バー及び/又は出力バーの本数が少ない、少なくとも1つの層間に設けられる請求項に記載の人工ニューラルネットワーク回路。
JP2018188437A 2018-10-03 2018-10-03 人工ニューラルネットワーク回路 Active JP7259253B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018188437A JP7259253B2 (ja) 2018-10-03 2018-10-03 人工ニューラルネットワーク回路
US16/589,415 US11562215B2 (en) 2018-10-03 2019-10-01 Artificial neural network circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018188437A JP7259253B2 (ja) 2018-10-03 2018-10-03 人工ニューラルネットワーク回路

Publications (2)

Publication Number Publication Date
JP2020057278A JP2020057278A (ja) 2020-04-09
JP7259253B2 true JP7259253B2 (ja) 2023-04-18

Family

ID=70052191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018188437A Active JP7259253B2 (ja) 2018-10-03 2018-10-03 人工ニューラルネットワーク回路

Country Status (2)

Country Link
US (1) US11562215B2 (ja)
JP (1) JP7259253B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020029079A1 (zh) * 2018-08-07 2020-02-13 中国科学院微电子研究所 一种神经元电路以及神经网络电路
US20240062053A1 (en) * 2021-01-08 2024-02-22 Agency For Science, Technology And Research Generating an output for a rectified linear unit (relu)-activated neuron of a neural network
EP4075342A1 (en) * 2021-04-15 2022-10-19 Nokia Technologies Oy Convolution engine for in-memory computing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122402A1 (en) 2011-06-30 2014-05-01 Commissariat A L'energie Atomique Et Aux Energies Alternatives Network of artificial neurons based on complementary memristive devices
JP2018147159A (ja) 2017-03-03 2018-09-20 株式会社デンソー ニューラルネットワーク回路
JP2019179499A (ja) 2018-03-30 2019-10-17 ソニー株式会社 半導体装置及び積和演算装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0276062A (ja) * 1988-09-12 1990-03-15 Nippon Telegr & Teleph Corp <Ntt> 神経回路網の構成方法および神経回路網
US8874498B2 (en) 2011-09-16 2014-10-28 International Business Machines Corporation Unsupervised, supervised, and reinforced learning via spiking computation
US9619749B2 (en) * 2014-03-06 2017-04-11 Progress, Inc. Neural network and method of neural network training
US10074050B2 (en) 2015-07-13 2018-09-11 Denso Corporation Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
US10332004B2 (en) 2015-07-13 2019-06-25 Denso Corporation Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
US10171084B2 (en) * 2017-04-24 2019-01-01 The Regents Of The University Of Michigan Sparse coding with Memristor networks
US11348002B2 (en) * 2017-10-24 2022-05-31 International Business Machines Corporation Training of artificial neural networks
US10970441B1 (en) * 2018-02-26 2021-04-06 Washington University System and method using neural networks for analog-to-information processors
US11157810B2 (en) * 2018-04-16 2021-10-26 International Business Machines Corporation Resistive processing unit architecture with separate weight update and inference circuitry
US11403518B2 (en) 2018-04-25 2022-08-02 Denso Corporation Neural network circuit
US10956814B2 (en) * 2018-08-27 2021-03-23 Silicon Storage Technology, Inc. Configurable analog neural memory system for deep learning neural network
US11928576B2 (en) * 2018-10-18 2024-03-12 Denso Corporation Artificial neural network circuit and method for switching trained weight in artificial neural network circuit
GB2583790A (en) * 2019-05-07 2020-11-11 Cirrus Logic Int Semiconductor Ltd Computing circuitry

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122402A1 (en) 2011-06-30 2014-05-01 Commissariat A L'energie Atomique Et Aux Energies Alternatives Network of artificial neurons based on complementary memristive devices
JP2018147159A (ja) 2017-03-03 2018-09-20 株式会社デンソー ニューラルネットワーク回路
JP2019179499A (ja) 2018-03-30 2019-10-17 ソニー株式会社 半導体装置及び積和演算装置

Also Published As

Publication number Publication date
US11562215B2 (en) 2023-01-24
US20200110985A1 (en) 2020-04-09
JP2020057278A (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
Gamboa Deep learning for time-series analysis
US20200110991A1 (en) Method for adjusting output level of multilayer neural network neuron
Yoo Deep convolution neural networks in computer vision: a review
JP7259253B2 (ja) 人工ニューラルネットワーク回路
JP7240657B2 (ja) ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
JP7196803B2 (ja) 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法
JP6724863B2 (ja) 畳み込みニューラルネットワーク
US11423287B2 (en) Computer for spiking neural network with maximum aggregation
JP2019016159A (ja) 畳み込みニューラルネットワーク
US11928576B2 (en) Artificial neural network circuit and method for switching trained weight in artificial neural network circuit
CN107223260B (zh) 用于动态地更新分类器复杂度的方法
Maan et al. Memristive threshold logic circuit design of fast moving object detection
JP7279921B2 (ja) ニューラルネットワーク回路装置、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
Malik et al. Operational vs convolutional neural networks for image denoising
Qin et al. Training recurrent neural networks against noisy computations during inference
CN110717374A (zh) 一种基于改进的多层感知机的高光谱遥感影像分类方法
Dorband A boltzmann machine implementation for the d-wave
EP3929822A1 (en) Neuromorphic apparatus and method with neural network
Yanguas-Gil et al. The insect brain as a model system for low power electronics and edge processing applications
US12086953B2 (en) Image processing device and operating method thereof
JP6741159B1 (ja) 推論装置及び推論方法
Wu et al. An introduction of deep learning methods for sensing applications
Jang et al. Neural Networks with Activation Networks
Lahmiri Intelligent ensemble systems for modeling NASDAQ microstructure: A comparative study
Sharma et al. Neural Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259253

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151