JPWO2020144761A1 - 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法 - Google Patents

積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法 Download PDF

Info

Publication number
JPWO2020144761A1
JPWO2020144761A1 JP2020565066A JP2020565066A JPWO2020144761A1 JP WO2020144761 A1 JPWO2020144761 A1 JP WO2020144761A1 JP 2020565066 A JP2020565066 A JP 2020565066A JP 2020565066 A JP2020565066 A JP 2020565066A JP WO2020144761 A1 JPWO2020144761 A1 JP WO2020144761A1
Authority
JP
Japan
Prior art keywords
product
input
current detection
sum
input signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020565066A
Other languages
English (en)
Other versions
JP6904491B2 (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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Publication of JPWO2020144761A1 publication Critical patent/JPWO2020144761A1/ja
Application granted granted Critical
Publication of JP6904491B2 publication Critical patent/JP6904491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Amplifiers (AREA)
  • Measurement Of Current Or Voltage (AREA)

Abstract

積和演算器は、入力値に対応する入力信号に重みを乗算して出力信号を生成し、前記出力信号を出力する複数の積演算部と、前記入力信号の入力による前記積演算部の寄生容量への充電に起因する第一過渡応答が収束し定常状態になる時間から、前記入力信号の入力による前記積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの時間において、前記入力信号から所定の時間遅れで複数の前記積演算部が出力する電流を検出し、以後一定時間間隔で複数の前記積演算部が出力する電流を検出する電流検出処理を実行する電流検出部と、前記電流検出部が前記一定時間間隔ごとに検出した電流に基づいて前記出力信号の総和に関連する値を演算する和演算部と、を備える。

Description

本発明は、積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法に関する。
従来のニューラルネットワークでは、入力信号に重みを積算し、それら全ての総和の値を活性化関数へ入力して、出力を得る。そこで、連続的に抵抗が変化するメモリスタを2つ以上組み合わせ、そこから出力される電流値の総和を読むことで、積和演算をアナログ回路で実現する試みがなされている。
ニューラルネットワークの学習過程において、各シナプスに割り当てられたメモリスタは所定の重みとなるように抵抗値が変化し、電源が切られてもその値を保持する。推論過程では、情報が保持されたメモリスタの値を利用し、入力データのレベルに応じて電圧パルスの長さが変化するパルス幅変調制御(Pulse Width Modulation:PWM)が用いられる。
例えば、特許文献1には、データ線及びビット線から抵抗変化型可変抵抗素子に書き込まれた情報を電荷量としてコンデンサに記憶される積和演算装置が開示されている。
特許第5160304号公報
メモリスタは、等価回路として寄生容量と寄生抵抗とが並列接続された回路構成を有する。このため、メモリスタに電圧パルスである入力信号が入力した場合、寄生容量への充電に起因する過渡応答及び寄生容量からの放電に起因する過渡応答が発生する。したがって、上述した積和演算装置では、これらの過渡応答が発生していない定常状態における電荷に加え、これらの過渡応答による電荷がコンデンサに記憶されてしまうため、コンデンサが飽和してしまい、積和演算を実行することができなくなってしまうことがある。
そこで、本発明は、コンデンサの飽和により積和演算を実行することができなくなる事態を回避することができる積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法を提供することを目的とする。
本発明の一態様は、入力値に対応する入力信号に重みを乗算して出力信号を生成し、前記出力信号を出力する複数の積演算部と、前記入力信号の入力による前記積演算部の寄生容量への充電に起因する第一過渡応答が収束し定常状態になる時間から、前記入力信号の入力による前記積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの時間において、前記入力信号から所定の時間遅れで複数の前記積演算部が出力する電流を検出し、以後一定時間間隔で複数の前記積演算部が出力する電流を検出する電流検出処理を実行する電流検出部と、前記電流検出部が前記一定時間間隔ごとに検出した電流に基づいて前記出力信号の総和に関連する値を演算する和演算部と、を備える積和演算器である。
また、本発明の一態様において、複数の前記積演算部各々は、磁気抵抗効果を示す磁気抵抗効果素子を含む。
また、本発明の一態様において、前記和演算部は、前記電流検出部が前記一定時間間隔ごとに検出した電流の合計である合計電流と係数時間との積を前記出力信号の総和に関連する値として演算する。
また、本発明の一態様において、前記係数時間は、前記入力信号がとり得る最短の長さであり、前記入力信号は、前記係数時間の整数倍の長さを有し、複数の前記積演算部に同時に入力され、前記電流検出部は、前記係数時間に等しい周期で前記電流検出処理を実行する。
また、本発明の一態様において、前記電流検出部は、最初に前記電流検出処理が実行されてから前記入力信号がとり得る最長の長さに等しい時間が経過した時点で前記電流検出処理を終了させる。
また、本発明の一態様において、前記電流検出部は、前記電流検出処理により検出された電流が複数の前記積演算部に前記入力信号が入力されていない場合における電流と等しい場合、前記電流検出処理を終了させる。
また、本発明の一態様は、上述した積和演算器のいずれか一つを備える論理演算デバイスである。
また、本発明の一態様は、上述した積和演算器のいずれか一つを備えるニューロモーフィックデバイスである。
また、本発明の一態様は、上述した積和演算器のいずれか一つによる積和演算方法であって、複数の積演算部を使用することにより、入力値に対応する入力信号に重みを乗算して出力信号を生成し、前記出力信号を出力する積演算工程と、前記入力信号の入力による前記積演算部の寄生容量への充電に起因する第一過渡応答が収束し定常状態になる時間から、前記入力信号の入力による前記積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの時間において、前記入力信号から所定の時間遅れで複数の前記積演算部が出力する電流を検出し、以後一定時間間隔で複数の前記積演算部が出力する電流を検出する電流検出処理を実行する電流検出工程と、前記電流検出工程において前記一定時間間隔ごとに検出された電流に基づいて前記出力信号の総和に関連する値を演算する和演算工程と、を含む積和演算方法である。
上述した積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法によれば、コンデンサの飽和により積和演算を実行することができなくなる事態を回避することができる積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法を提供することができる。
実施形態に係る積和演算器の一部の構成の一例を示す図である。 実施形態に係る抵抗変化素子の一例を示す図である。 実施形態に係る積和演算器の一部の構成の等価回路の一例を示す図である。 実施形態に係る積演算部に入力される入力信号の一例を示す図である。 実施形態に係る積演算部から出力される出力信号の一例を示す図である。 実施形態に係る電流検出部に入力される電流の一例を示す図である。 実施形態に係る電流検出部が電流検出処理を実行するタイミングを説明するための図である。 実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例を説明するための図である。
[実施形態]
図1及び図2を参照しながら、実施形態に係る積和演算器の構成の一例について説明する。
図1は、実施形態に係る積和演算器の一部の構成の一例を示す図である。図1に示すように、積和演算器1は、積演算部111、121、211、221、311、321、…、k11、k21と、入力部101E、201E、301E、…、k01Eと、電流検出部10D、20Dと、和演算部10S、20Sとを備える。
図2は、実施形態に係る抵抗変化素子の一例を示す図である。積演算部111は、抵抗変化素子、例えば、図2に示した磁気抵抗効果素子である。図1及び図2に示すように、積演算部111は、可変抵抗111R、読み出し端子111X、共通端子111Y及び書き込み端子111Zを備える。また、図1に示す積演算部121、211、221、311、321、…、k11、k21は抵抗変化素子、例えば、図2に示したものと同様の磁気抵抗効果素子であり、それぞれ可変抵抗121R、211R、221R、311R、321R、…、k11R、k21Rと、読み出し端子121X、211X、221X、311X、321X、…、k11X、k21Xと、共通端子121Y、211Y、221Y、311Y、321Y、…、k11Y、k21Yと、書き込み端子121Z、211Z、221Z、311Z、321Z、…、k11Z、k21Zとを備える。以下の説明では、適宜、積演算部111を例に挙げて説明するが、他の積演算部121、211、221、311、321、…、k11、k21についても同様である。
ここで、積演算部111が備える可変抵抗111Rは、例えば、図2に示すように、磁化固定層1111と、非磁性層1112と、第1領域1113と、磁壁1114と、第2領域1115と、第1磁化供給層1116と、第2磁化供給層1117とを備える。以下、図2を使用した説明では、図2に示したx軸、y軸及びz軸を使用する。x軸、y軸及びz軸は、右手系の三次元直交座標を形成している。磁化固定層1111、非磁性層1112、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117は、z軸方向に薄い直方体状に形成されており、最も面積が大きな面がxy平面と平行で第1領域1113と第2領域1115と電気的、磁気的に接続されている。+z方向から−z方向に向かって磁化固定層1111、非磁性層1112、第1領域1113及び第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の順に積層されているが、積層される方向が逆になっていてもよい。これらが積層される方向が逆になっている場合、読み出し端子111Xが−z方向側に設けられ、共通端子111Y及び書き込み端子111Zが+z方向側に設けられる。
磁化固定層1111は、磁化方向が+z方向又は−z方向に固定されている。ここで、磁化が固定されるとは、磁壁1114導入するための初期化時及び書き込み電流を使用した書き込み前後で磁化方向が変化しないことを意味する。また、磁化固定層1111は、例えば、面内磁気異方性を有する面内磁化膜、垂直磁気異方性を有する垂直磁化膜であってもよい。
非磁性層1112は、+z方向を向いている面が磁化固定層1111のうち−z方向を向いている面と接しており、−z方向を向いている面が第1領域1113及び第2領域1115と接している。図2に示すように、磁化固定層1111の−z方向側を向いている面と非磁性層1112の+z方向側を向いている面とは、互いに形状及び面積が等しくなっている。ただし、非磁性層1112は、第1領域1113の+z方向を向いている面及び第2領域1115+z方向を向いている面を図2に示した場合よりも広く覆うように広がっていてもよい。また、非磁性層1112は、積演算部111が磁化固定層1111に対する磁化自由層の磁化状態の変化を抵抗値の変化として読み出すために使用される。
第1領域1113、磁壁1114及び第2領域1115は、磁化自由層を形成している。磁化自由層は、強磁性材料により作製されている。第1領域1113の磁化方向と第2領域1115の磁化方向は、z軸に平行な方向において互いに反対になっている。磁壁1114は、y軸に平行な方向において、第1領域1113と第2領域1115とで挟まれている。
第1磁化供給層1116は、z軸に平行な方向において磁化固定層1111と重なっていないことが望ましく、+z方向を向いている面が第1領域1113の−z方向を向いている面と接している。また、第1磁化供給層1116は、第1領域1113のうちz軸に平行な方向において第1磁化供給層1116と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第1磁化供給層1116の−z方向を向いている面には、書き込み端子111Zが接続されている。なお、第1磁化供給層1116は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体、非磁性体及び強磁性体を含む合成反強磁性構造(Synthecic antiferromagnetic)を有する材料により作製されている。
第2磁化供給層1117は、z軸に平行な方向において磁化固定層1111と重なっていないことが望ましく、+z方向を向いている面が第2領域1115の−z方向を向いている面と接している。また、第2磁化供給層1117は、第2領域1115のうちz軸に平行な方向において第2磁化供給層1117と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第2磁化供給層1117の−z方向を向いている面には、共通端子111Yが接続されている。なお、第1磁化供給層1116は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体、非磁性体及び強磁性体を含む合成反強磁性構造(Synthecic antiferromagnetic)を有する材料により作製されている。
可変抵抗111Rにおいて、磁化固定層1111、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の磁化方向は、それぞれz軸に平行な方向だけでなく、x軸に平行な方向又はy軸に平行な方向であってもよい。この場合でも、磁化固定層1111の磁化方向と、第1領域1113、第2領域1115、第1磁化供給層1116及び第2磁化供給層1117の磁化方向とは、平行であることが望ましい。例えば、磁化固定層1111の磁化方向が+y方向であった場合、第1領域の磁化方向は+y方向、第2領域の磁化方向は−y方向、第1磁化供給層1116の磁化方向は+y方向、第2磁化供給層1117の磁化方向は−y方向である。
積演算部111は、共通端子111Yと書き込み端子111Zとの間に流す書き込み電流の大きさ及び時間を調整することにより、y軸に平行な方向における磁壁1114の位置を変化させる。これにより、積演算部111は、磁化方向が平行な領域と磁化方向が反平行な領域との面積の比率を連続的に変化させ、可変抵抗111Rの抵抗値を略線形に変化させることができる。ここで、磁化方向が平行な領域とは、第1領域1113のうちz軸に平行な方向において磁化固定層1111と重なっている部分の面積である。また、磁化方向が反平行な領域とは、第2領域1115のうちz軸に平行な方向において磁化固定層1111と重なっている部分の面積である。また、書き込み電流は、書き込み端子111Zに入力される。書き込み電流の大きさ及び時間は、電流パルスの数及び時間の少なくとも一方により調整される。
なお、積演算部111,121、211、221、311、321、…、k11、k21は、トンネル磁気抵抗効果素子であってもよい。トンネル磁気抵抗効果素子は、磁化固定層と、磁化自由層と、非磁性層としてのトンネルバリア層とを備える。磁化固定層及び磁化自由層は、強磁性材料で作製されており、磁化を有する。トンネルバリア層は、磁化固定層と磁化自由層との間に挟まれている。トンネル磁気抵抗効果素子は、磁化固定層が有する磁化と磁化自由層が有する磁化との関係を変化させることにより、抵抗値を変化させることができる。
図1に戻って、読み出し端子111X、121Xには、入力部101Eが接続されている。同様に、図1に示した読み出し端子211X、221Xには、入力部201Eが接続されており、読み出し端子311X、321Xには、入力部301Eが接続されており、読み出し端子k11X、k21Xには、入力部k01Eが接続されている。
入力部101Eは、入力値に対応する入力信号を読み出し端子111X、121Xに入力する。同様に、入力部201Eは、入力値に対応する入力信号を読み出し端子211X、221Xに入力する。入力部301Eは、入力値に対応する入力信号を読み出し端子311X、321Xに入力する。入力部k01Eは、入力値に対応する入力信号を読み出し端子k11X、k21Xに入力する。これらの入力信号は、いずれも入力値に応じたパルス幅変調(Pulse Width Modulation:PWM)が施されている電圧信号である。
積演算部111は、入力値に対応する入力信号に重みを乗算して出力信号を生成し、出力信号を出力する。すなわち、積演算部111は、可変抵抗111Rの抵抗値を重みとして読み出し、読み出し端子111Xに入力された入力信号に対する積演算を実行して出力信号を生成し、共通端子111Yから出力信号を出力する。同様に、積演算部121、211、221、311、321、…、k11、k21は、それぞれ入力値に対応する入力信号に重みを乗算して出力信号を生成し、出力信号を出力する。
電流検出部10Dは、第一過渡応答が収束し定常状態になる時間から、入力信号の入力による積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの間において、入力信号から所定の時間遅れで複数の積演算部が出力する電流を検出し、以後一定間隔時間で積演算部111、211、311、…、k11が出力する電流を検出する電流検出処理を実行する。同様に、電流検出部20Dは、第一過渡応答が収束し定常状態になる時間から、入力信号の入力による積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの間において、入力信号から所定の時間遅れで複数の積演算部が出力する電流を検出し、以後一定間隔時間で積演算部121、221、321、…、k21が出力する電流を検出する電流検出処理を実行する。電流検出部10D、20Dの詳細は、後述する。
和演算部10Sは、電流検出部10Dが一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算する。同様に、和演算部20Sは、電流検出部20Dが一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算する。和演算部10S、20Sの詳細は、後述する。
次に、図3から図6を参照しながら、実施形態に係る積和演算器が実行する処理の一例について説明する。
図3は、実施形態に係る積和演算器の一部の構成の等価回路の一例を示す図である。図3に示すように、積演算部111は、磁気抵抗効果素子の等価回路として寄生容量111C及び寄生抵抗111Pを備え、寄生容量111Cが可変抵抗111Rに並列接続されており、寄生抵抗111Pが可変抵抗111Rに直列接続されていると考えることができる。同様に、積演算部121、211、221、311、321、…、k11、k21は、それぞれ寄生容量121C、211C、221C、311C、321C、…、k11C、k21Cと、寄生抵抗121P、211P、221P、311P、321P、…、k11P、k21Pとを備える。さらに、積演算部111、121、211、221、311、321、…、k11、k21には、それぞれ配線抵抗111W、121W、211W、221W、311W、321W、…、k11W、k21Wが直列接続されていると考えることができる。
図4は、実施形態に係る積演算部に入力される入力信号の一例を示す図である。入力部101Eは、例えば、図4(a)に示した入力信号V1を出力する。同様に、入力部201Eは、例えば、図4(b)に示した入力信号V2を出力する。また、入力部301Eは、例えば、図4(c)に示した入力信号V3を出力する。
入力信号V1は、係数時間、例えば、20[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。この20[ns]は、入力信号がとり得る最短の長さの一例である。入力信号V2は、この係数時間の二倍の40[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。入力信号V3は、この係数時間の長さの四倍の80[ns]の長さを有するパルス高さ0.1mVの電圧パルスである。また、入力信号V1が積演算部111に入力される時刻、入力信号V2が積演算部211に入力される時刻及び入力信号V3が積演算部311に入力される時刻は、図4に示すように、いずれも時刻t0である。すなわち、入力信号V1、入力信号V2及び入力信号V3は、それぞれ積演算部111、211、321に同時に入力される。
図5は、実施形態に係る積演算部から出力される出力信号の一例を示す図である。図4(a)に示した入力信号V1が積演算部111に入力した場合、図5(a)に示した出力信号A1が電流検出部10Dに入力される。同様に、図4(b)に示した入力信号V2が積演算部211に入力した場合、図5(b)に示した出力信号A2が電流検出部10Dに入力される。また、図4(c)に示した入力信号V3が積演算部311に入力した場合、図5(c)に示した出力信号A3が電流検出部10Dに入力される。以下の説明では、寄生容量111C、211C、311C各々の静電容量の差がほとんど無視できる場合を例に挙げて説明する。
図5(a)に示した出力信号A1は、第一過渡応答T11と、定常部S1と、第二過渡応答T12とを含む電流信号である。第一過渡応答T11は、入力信号V1の入力による積演算部111の寄生容量111Cへの充電に起因する過渡応答である。定常部S1は、出力信号A1のうち第一過渡応答T11の発生が終了した時点から次の第二過渡応答T12の発生が開始した時点までの間に定常的な電流C[nA]が流れている部分である。第二過渡応答T12は、入力信号V1の入力による積演算部111の寄生容量111Cからの放電に起因する過渡応答である。第一過渡応答T11の長さ及び第二過渡応答T12の長さは、定常部S1の長さに比べてほとんど無視し得る程に短い。また、出力信号A1の長さは、入力信号V1の長さである20[ns]に寄生容量111Cからの放電に起因する過渡応答を加えた時間と同程度である。
図5(b)に示した出力信号A2は、第一過渡応答T21と、定常部S2と、第二過渡応答T22とを含む電流信号である。第一過渡応答T21は、入力信号V1の入力による積演算部211の寄生容量211Cへの充電に起因する過渡応答である。定常部S2は、出力信号A2のうち第一過渡応答T21の発生が終了した時点から次の第二過渡応答T22の発生が開始した時点までの間に定常的な電流[nA]が流れている部分である。第二過渡応答T22は、入力信号V2の入力による積演算部211の寄生容量211Cからの放電に起因する過渡応答である。第一過渡応答T21の長さ及び第二過渡応答T22の長さは、定常部S2の長さに比べてほとんど無視し得る程に短い。また、出力信号A2の長さは、入力信号V2の長さである40[ns]に寄生容量211Cからの放電に起因する過渡応答を加えた時間と同程度である。
図5(c)に示した出力信号A3は、第一過渡応答T31と、定常部S3と、第二過渡応答T32とを含む電流信号である。第一過渡応答T31は、入力信号V3の入力による積演算部311の寄生容量311Cへの充電に起因する過渡応答である。定常部S3は、出力信号A3のうち第一過渡応答T31の発生が終了した時点から次の第二過渡応答T32の発生が開始した時点までの間に定常的な電流C[nA]が流れている部分である。第二過渡応答T32は、入力信号V3の入力による積演算部311の寄生容量311Cからの放電に起因する過渡応答である。第一過渡応答T31の長さ及び第二過渡応答T32の長さは、定常部S3の長さに比べてほとんど無視し得る程に短い。また、出力信号A3の長さは、入力信号V3の長さである80[ns]に寄生容量311Cからの放電に起因する過渡応答を加えた時間と同程度である。
また、寄生容量111C、211C、311C各々の静電容量の差がほとんど無視できる場合、第一過渡応答T11、第一過渡応答T21及び第一過渡応答T31は、互いに長さ及び高さがほとんど等しい過渡応答となり、第二過渡応答T12、第二過渡応答T22及び第二過渡応答T32は、互いに長さ及び高さがほとんど等しい過渡応答となる。
図6は、実施形態に係る電流検出部に入力される電流の一例を示す図である。図4に示した入力信号V1、入力信号V2及び入力信号V3それぞれが積演算部111、211、311に同時に入力された場合、電流検出部10Dには、電流信号Aが入力される。図6に示すように、電流信号Aは、第一過渡応答T4と、定常部S41と、第二過渡応答T41と、定常部S42と、第二過渡応答T42と、定常部S43と、第二過渡応答T43とを含む。
第一過渡応答T4は、図5に示した第一過渡応答T11と、第一過渡応答T21と、第一過渡応答T31とが足し合わされることにより発生している過渡応答である。定常部S41は、図5に示した定常部S1と、定常部S2と、定常部S3とが足し合わされることにより、定常的な電流3C[nA]が流れている部分である。
第二過渡応答T41は、図5に示した第二過渡応答T12に、定常部S2及び定常部S3が足し合わされることにより発生している過渡応答である。定常部S42は、図5に示した定常部S2と、定常部S3とが足し合わされることにより、定常的な電流2C[nA]が流れている部分である。第二過渡応答T42は、図5に示した第二過渡応答T22に、定常部S3が足し合わされることにより発生している過渡応答である。定常部S43は、定常部S3と同じく、定常的な電流1C[nA]が流れている部分である。第二過渡応答T43は、図5に示した第二過渡応答T32である。
電流検出部10Dは、上述した第一過渡応答又は第二過渡応答の発生が終了した時点から次の第一過渡応答又は第二過渡応答の発生が開始した時点までの係数時間ごとに積演算部111、211、311が出力する電流を検出する電流検出処理を実行する。ここで言う係数時間は、例えば、図6に示した定常部S41、定常部S42及び定常部S43に相当する期間である。
例えば、図6に点D1で示すように、電流検出部10Dは、最初に時刻t0から一定時間、例えば、10[ns]だけ遅れた時点における電流3C[nA]を検出する。そして、図6に点D2、点D2、点D3、点D4、点D5及び点D6で示すように、電流検出部10Dは、上述した係数時間、例えば、20[ns]周期で電流2C[nA]、1C[nA]、1[nA]、0[nA]及び0[nA]を検出する。
また、電流検出部10Dは、電流検出処理により検出された電流が積演算部111、211、311、…、k11に入力信号が入力されていない場合における電流と等しい場合、電流検出処理を終了させる。例えば、電流検出部10Dは、図6に点D5で示すように、五周期目で電流0[nA]を検出した場合、六周期目の点D6及び七周期目以降では電流検出処理を停止する。
或いは、電流検出部10Dは、最初に電流検出処理が実行されてから入力信号がとり得る最長の長さに等しい時間が経過した時点で電流検出処理を終了させる。例えば、電流検出部10Dは、入力信号の長さが最短の長さの1倍、2倍、3倍、…、254倍、255倍、256倍のいずれかをとり得る場合、257周期目以降で電流検出処理を停止する。
また、図3から図6を参照しながら説明した例では、各周期の開始時点から10[ns]が経過した時点で電流検出処理が実行されているが、電流検出処理は、他のタイミングで実行されてもよい。図7は、実施形態に係る電流検出部が電流検出処理を実行するタイミングを説明するための図である。
例えば、時刻t0において、積演算部111に入力信号V1が入力し、積演算部211に入力信号V2が入力し、積演算部311に入力信号V3が入力した場合について考える。この場合、図6を参照しながら説明したように、第一過渡応答T4が発生する。第一過渡応答T4は、図7に示すように、電流3C[nA]よりも大きな電流まで到達した後、電流3C[nA]に収束していく。
電流の大きさが3C−Δ[nA]から3C+Δ[nA]の範囲に収まった状態が定常的な電流が流れる定常状態である。Δ[nA]の大きさは、例えば、電流3[nA]の10%p−pが望ましく、電流3[nA]の5%p−pが更に望ましい。
例えば、図7に示すように、電流の大きさは、時刻t1で当該範囲に収まる。時刻t0から時刻t1までの時間は、収束時間とも呼ばれる。収束時間は、例えば、時定数τ=RC(R:上述した積演算部の寄生抵抗の抵抗値、C:上述した積演算部の寄生容量の静電容量)の5倍である。寄生抵抗の抵抗値R及び静電容量Cは、積演算部111、211、311、…、k11の少なくとも一つに異なるパルス長さを有する複数の矩形の電圧パルスを入力し、過渡応答特性を評価することにより算出することができる。
また、上述した第一過渡応答の収束時間は、寄生容量からの放電に要する時間に等しく、次の式(1)を使用して算出することもできる。
Figure 2020144761
また、上述した第二過渡応答の収束時間は、寄生容量からの放電に要する時間に等しく、次の式(2)を使用して算出することもできる。
Figure 2020144761
一方、第二過渡応答T41は、時刻20[ns]で発生し始める。したがって、上述した定常部41は、時刻t1から時刻20[ns]までの期間で発生する。電流検出部10Dは、定常部41、すなわち時刻t1から時刻20[ns]までの期間の任意のタイミングで電流検出処理を実行する。また、時刻t1から時刻20[ns]までの期間が上述した時定数τにより算出された収束時間よりも長くなるように時刻を決定することにより、電流検出部10Dは、確実に定常部41で電流検出処理を実行することができる。
なお、電流検出部10Dが実行した電流検出処理により得られた電流は、アナログ‐デジタル変換によりデジタルデータに変換され、記憶媒体に格納されてもよい。また、電流検出部10Dは、第一過渡応答が収束し定常状態になる時間から第二過渡応答が発生する前までの時間における所定の時刻の電流を検出してもよいし、所定の期間の間に電流を検出してもよい。さらに、電流検出部10Dは、所定の期間の間に電流を検出する場合、検出した電流の統計値、例えば、平均値、中央値を電流検出処理の結果としてもよい。
和演算部10Sは、電流検出部10Dが一定時間間隔ごとに検出した電流の合計である合計電流と係数時間との積を出力信号の総和に関連する値として演算する。
例えば、和演算部10Sは、図6の点D1、点D2、点D2、点D3、点D4、点D5及び点D6それぞれが示す時刻に検出された電流3C[nA]、2C[nA]、C[nA]、C[nA]、0[nA]及び0[nA]の合計電流7[nA]を算出する。そして、和演算部10Sは、合計電流7[nA]と係数時間の一例である20[ns]との積を出力信号の総和に関連する値として演算する。或いは、和演算部10Sは、電流3C[nA]、2C[nA]、C[nA]、C[nA]、0[nA]及び0[nA]それぞれに係数時間の一例である20[ns]を掛けた後、六つの積の総和を演算することにより、出力信号の総和に関連する値を演算する。これら二つの方法で演算された出力信号の総和に関連する値は、図6に斜線で示した領域の面積に相当し、出力信号の総和と比例関係にある。
なお、図3から図7を参照しながら説明した内容は、積演算部121、221、321、電流検出部20D及び和演算部20Sについても同様である。
次に、図8を参照しながら、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例について説明する。図8は、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例を説明するための図である。
ノード101、201、301、…、k01は、入力層を形成している。パーセプトロン10、20は、隠れ層又は出力層を形成している。ノード101は、図1及び図3に示した入力部101Eに対応しており、入力信号に対応する入力値をパーセプトロン10、20に対して出力する。同様に、ノード201、301、…、k01は、それぞれ入力部201E、301E、…、k01Eに対応しており、入力信号に対応する入力値をパーセプトロン10、20に対して出力する。
矢印111Aは、積演算部111に対応しており、ノード101が出力した入力値に重みが乗算され、出力信号に対応する値がパーセプトロン10に入力されることを表している。同様に、矢印121Aは、積演算部121に対応しており、ノード101が出力した入力値に重みが乗算され、出力信号に対応する値がパーセプトロン20に入力されることを表している。これらは、矢印211A、221A、311A、321A、…、k11A、k21Aについても同様である。
パーセプトロン10は、図1及び図3に示した電流検出部10D及び和演算部10Sに対応しており、矢印111A、211A、311A、…、k11Aから出力された出力信号が足し合わされた信号に対して上述した電流検出処理を実行し、出力信号の総和に関連する値を演算する。そして、パーセプトロン10は、当該値に活性化関数処理を施して出力する。
以上、実施形態に係る積和演算器1について説明した。積和演算器1は、一定時間間隔ごとに検出した電流に基づいて出力信号の総和に関連する値を演算するため、電荷を蓄積するコンデンサを備えている必要が無い。したがって、積和演算器1は、コンデンサが飽和してしまい、積和演算を実行することができなくなってしまうことを回避し得る。また、積和演算器1は、コンデンサを省略し得るため、回路規模を削減することにより、省スペース、省コストを実現することができる。
また、積和演算器1が備える積演算部111、121、211、221、311、321、…、k11、k21の少なくとも一つは、磁気抵抗効果を示す磁気抵抗効果素子を含む。磁気抵抗効果素子は、他の可変抵抗素子と比較して寄生容量が大きいため、他の可変抵抗素子よりも過渡応答によるコンデンサの飽和を引き起こし易い。したがって、上述した積演算部として磁気抵抗効果素子が含まれている場合、上述した効果が特に有用となる。
また、積和演算器1では、入力信号がとり得る最短の長さが係数時間であり、係数時間の整数倍の長さを有し、積演算部111、121、211、221、311、321、…、k11、k21に同時に入力される。そして、積和演算器1は、係数時間に等しい周期で電流検出処理を実行する。したがって、積和演算器1は、第一過渡応答及び第二過渡応答が確実に収束して定常状態となっている場合の電流を確実に検出し、正確な積和演算を実行することができる。
また、積和演算器1は、最初に電流検出処理が実行されてから入力信号がとり得る最長の長さに等しい時間が経過した時点で電流検出処理を終了させる。このため、積和演算器1は、電流検出処理実行する時間を一定にし、処理を単純にすることができる。
また、積和演算器1は、電流検出処理により検出された電流が複数の積演算部111、121、211、221、311、321、…、k11、k21に入力信号が入力されていない場合における電流と等しい場合、電流検出処理を終了させる。このため、積和演算器1は、早期に電流検出処理を終了させることができる。
なお、上述した実施形態では、入力信号V1が積演算部111に入力される時刻、入力信号V2が積演算部211に入力される時刻及び入力信号V3が積演算部311に入力される時刻がいずれも時刻t0である場合を例に挙げたが、これに限定されない。すなわち、これら三つの入力信号が入力される時刻が互いに異なっていてもよい。この場合、係数時間は、第一過渡応答又は第二過渡応答の発生が終了した時点から次の第一過渡応答の発生が開始した時点までの期間となることもある。
なお、上述した積和演算器1は、論理演算デバイス又はニューロモーフィックデバイスに含まれていてもよい。ここで言う論理演算デバイスは、複数の積和演算器1を組み合わせることにより形成された論理回路、例えば、AND回路、ОR回路である。また、ここで言う論理演算は、ディープラーニングを含む概念である。また、ここで言うニューロモーフィックデバイスは、脳の構造及びニューロンと呼ばれる神経細胞が発火する仕組みを応用したデバイスであり、機械学習等に使用される。
また、上述した実施形態に係る積和演算器1等の各装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録させ、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより、処理を行ってもよい。
ここで言うコンピュータシステムとは、オペレーティング・システム(Operating System:OS)又は周辺機器等のハードウェアを含むものであってもよい。また、コンピュータ読み取り可能な記録媒体とは、例えば、フロッピーディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、ネットワーク又は通信回線を介してプログラムが送信される場合におけるサーバ又はクライアントとなるコンピュータシステム内部の揮発性メモリのように一定時間プログラムを保持しているものも含む。
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、又は、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体とは、インターネット等のネットワーク又は電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上述したプログラムは、上述した機能の一部を実現するためのものであってもよく、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分プログラムであってもよい。上述したプログラムは、例えば、コンピュータが備えるCPU(Central Processing Unit)等のプロセッサにより読み出されて実行される。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。上述した各実施形態に記載の構成を組み合わせてもよい。
1…積和演算器、111,121,211,221,311,321,k11,k21…積演算部、10D,20D…電流検出部、10S,20S…和演算部

Claims (9)

  1. 入力値に対応する入力信号に重みを乗算して出力信号を生成し、前記出力信号を出力する複数の積演算部と、
    前記入力信号の入力による前記積演算部の寄生容量への充電に起因する第一過渡応答が収束し定常状態になる時間から、前記入力信号の入力による前記積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの時間において、前記入力信号から所定の時間遅れで複数の前記積演算部が出力する電流を検出し、以後一定時間間隔で複数の前記積演算部が出力する電流を検出する電流検出処理を実行する電流検出部と、
    前記電流検出部が前記一定時間間隔ごとに検出した電流に基づいて前記出力信号の総和に関連する値を演算する和演算部と、
    を備える積和演算器。
  2. 複数の前記積演算部各々は、磁気抵抗効果を示す磁気抵抗効果素子を含む、
    請求項1に記載の積和演算器。
  3. 前記和演算部は、前記電流検出部が前記一定時間間隔ごとに検出した電流の合計である合計電流と係数時間との積を前記出力信号の総和に関連する値として演算する、
    請求項1又は請求項2に記載の積和演算器。
  4. 前記係数時間は、前記入力信号がとり得る最短の長さであり、
    前記入力信号は、前記係数時間の整数倍の長さを有し、複数の前記積演算部に同時に入力され、
    前記電流検出部は、前記係数時間に等しい周期で前記電流検出処理を実行する、
    請求項3に記載の積和演算器。
  5. 前記電流検出部は、最初に前記電流検出処理が実行されてから前記入力信号がとり得る最長の長さに等しい時間が経過した時点で前記電流検出処理を終了させる、
    請求項1から請求項4のいずれか一つに記載の積和演算器。
  6. 前記電流検出部は、前記電流検出処理により検出された電流が複数の前記積演算部に前記入力信号が入力されていない場合における電流と等しい場合、前記電流検出処理を終了させる、
    請求項1から請求項5のいずれか一つに記載の積和演算器。
  7. 請求項1から請求項6のいずれか一つに記載の積和演算器を備える論理演算デバイス。
  8. 請求項1から請求項6のいずれか一つに記載の積和演算器を備えるニューロモーフィックデバイス。
  9. 請求項1から請求項6のいずれか一つに記載の積和演算器による積和演算方法であって、
    複数の積演算部を使用することにより、入力値に対応する入力信号に重みを乗算して出力信号を生成し、前記出力信号を出力する積演算工程と、
    前記入力信号の入力による前記積演算部の寄生容量への充電に起因する第一過渡応答が収束し定常状態になる時間から、前記入力信号の入力による前記積演算部の寄生容量からの放電に起因する第二過渡応答が発生する前までの時間において、前記入力信号から所定の時間遅れで複数の前記積演算部が出力する電流を検出し、以後一定時間間隔で複数の前記積演算部が出力する電流を検出する電流検出処理を実行する電流検出工程と、
    前記電流検出工程において前記一定時間間隔ごとに検出された電流に基づいて前記出力信号の総和に関連する値を演算する和演算工程と、
    を含む積和演算方法。
JP2020565066A 2019-01-09 2019-01-09 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法 Active JP6904491B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/000317 WO2020144761A1 (ja) 2019-01-09 2019-01-09 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法

Publications (2)

Publication Number Publication Date
JPWO2020144761A1 true JPWO2020144761A1 (ja) 2021-06-10
JP6904491B2 JP6904491B2 (ja) 2021-07-14

Family

ID=71521550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020565066A Active JP6904491B2 (ja) 2019-01-09 2019-01-09 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法

Country Status (4)

Country Link
US (1) US20220092396A1 (ja)
JP (1) JP6904491B2 (ja)
CN (1) CN113261005A (ja)
WO (1) WO2020144761A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102595529B1 (ko) 2021-11-04 2023-10-27 서울대학교산학협력단 시간 커널 소자, 시간 커널 컴퓨팅 시스템 및 그들의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11142489A (ja) * 1997-11-12 1999-05-28 Matsushita Electric Ind Co Ltd Lsi検査方法
JP4272967B2 (ja) * 2003-10-16 2009-06-03 キヤノン株式会社 演算回路およびその動作制御方法
JP4908386B2 (ja) * 2007-11-30 2012-04-04 コーセル株式会社 スイッチング電源装置及びその駆動方法
JP2013031082A (ja) * 2011-07-29 2013-02-07 Denso Corp V−f変換回路および電流検出装置
JP6333477B2 (ja) * 2014-10-23 2018-05-30 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP ドット積を求めるためのメムリスティブクロスバーアレイ

Also Published As

Publication number Publication date
JP6904491B2 (ja) 2021-07-14
US20220092396A1 (en) 2022-03-24
CN113261005A (zh) 2021-08-13
WO2020144761A1 (ja) 2020-07-16

Similar Documents

Publication Publication Date Title
US10528643B1 (en) Vector-matrix multiplication using non-volatile memory cells
JP6477924B2 (ja) メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法
Hu et al. Dot-product engine for neuromorphic computing: Programming 1T1M crossbar to accelerate matrix-vector multiplication
US10896242B2 (en) Resistive memory device for matrix-vector multiplications
Shim et al. Stochastic spin-orbit torque devices as elements for bayesian inference
KR102542532B1 (ko) 혼합-신호 연산 시스템 및 방법
US20150269480A1 (en) Implementing a neural-network processor
CN112445456A (zh) 使用乘法器-累加器电路的系统、计算装置和方法
JP6540931B1 (ja) 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法
US20180336470A1 (en) Deep learning in bipartite memristive networks
JP6536765B1 (ja) 積和演算器、ニューロモーフィックデバイス及び積和演算方法
JP6904491B2 (ja) 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法
US11226763B2 (en) Device for high dimensional computing comprising an associative memory module
US11430524B2 (en) Method for designing an initialization function for programming a memory element
Ahmed et al. Compact functional test generation for memristive deep learning implementations using approximate gradient ranking
US11816447B2 (en) Method and apparatus performing operations using circuits
KR101679081B1 (ko) 다차원 메모리 상태에 의해 특성화되는 저장된 다중비트 데이터
WO2020008869A1 (ja) 演算処理システム、センサシステム、演算処理方法、及びプログラム
US20220171603A1 (en) Multiply-accumulate calculation device, logical calculation device, neuromorphic device, and multiply-accumulate calculation method
US20200013462A1 (en) Resistive memory device for matrix-vector multiplications
US11935590B2 (en) Device for matrix-vector multiplications
TWI845270B (zh) 記憶體內計算記憶體裝置及記憶體內計算方法
CN112270949B (zh) 一种阻变随机存储器瞬态稳定性的测试方法
CN117321591A (zh) 用于矩阵向量乘法的电阻式存储器件
James Guidelines for benchmarking non-ideal analog memristive crossbars for neural networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210210

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6904491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250