特許第6536765号(P6536765)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ TDK株式会社の特許一覧

特許6536765積和演算器、ニューロモーフィックデバイス及び積和演算方法
<>
  • 特許6536765-積和演算器、ニューロモーフィックデバイス及び積和演算方法 図000002
  • 特許6536765-積和演算器、ニューロモーフィックデバイス及び積和演算方法 図000003
  • 特許6536765-積和演算器、ニューロモーフィックデバイス及び積和演算方法 図000004
  • 特許6536765-積和演算器、ニューロモーフィックデバイス及び積和演算方法 図000005
  • 特許6536765-積和演算器、ニューロモーフィックデバイス及び積和演算方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6536765
(24)【登録日】2019年6月14日
(45)【発行日】2019年7月3日
(54)【発明の名称】積和演算器、ニューロモーフィックデバイス及び積和演算方法
(51)【国際特許分類】
   G06G 7/60 20060101AFI20190625BHJP
【FI】
   G06G7/60
【請求項の数】8
【全頁数】16
(21)【出願番号】特願2019-511673(P2019-511673)
(86)(22)【出願日】2018年9月27日
(86)【国際出願番号】JP2018036118
【審査請求日】2019年2月26日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003067
【氏名又は名称】TDK株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100163496
【弁理士】
【氏名又は名称】荒 則彦
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100169694
【弁理士】
【氏名又は名称】荻野 彰広
(72)【発明者】
【氏名】柴田 竜雄
【審査官】 白石 圭吾
(56)【参考文献】
【文献】 特開2009−282782(JP,A)
【文献】 特表2016−538632(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06G 1/00 − 99/00
G06N 3/063
(57)【特許請求の範囲】
【請求項1】
入力値に対応する第1入力信号に重みを乗算して第1出力信号を生成し、前記第1出力信号を出力する複数の第1積演算素子と、
前記第1入力信号の入力による複数の前記第1積演算素子各々の寄生容量への充電に起因する過渡応答後に定常状態となっている時点から、前記第1入力信号の入力による複数の前記第1積演算素子各々の前記寄生容量からの放電に起因する過渡応答が発生し始めた後の時点までの演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号の総和を演算する和演算部と、
を備える積和演算器。
【請求項2】
複数の前記第1積演算素子各々は、書き込み端子と、共通端子と、読み出し端子とを有する抵抗変化素子である、
請求項1に記載の積和演算器。
【請求項3】
複数の前記第1積演算素子各々は、トンネル磁気抵抗効果素子である、
請求項1に記載の積和演算器。
【請求項4】
正のバイアスの発生に使用される第2入力信号に重みを乗算して第2出力信号を生成し、前記第2出力信号を出力する少なくとも一つの第2積演算素子を更に備え、
前記和演算部は、複数の前記第1積演算素子各々が出力した前記第1出力信号及び少なくとも一つの前記第2積演算素子各々が出力した前記第2出力信号の総和を演算する、
請求項1から3のいずれか一つに記載の積和演算器。
【請求項5】
第3入力信号が入力され、前記第3入力信号に基づいて第3出力信号を前記和演算部に出力する抵抗器を更に備え、
前記和演算部は、前記演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号及び前記抵抗器が出力した前記第3出力信号の総和を演算する、
請求項1から3のいずれか一つに記載の積和演算器。
【請求項6】
第2入力信号に重みを乗算して第2出力信号を生成し、前記第2出力信号を出力する少なくとも一つの第2積演算素子と、
第3入力信号が入力され、前記第3入力信号に基づいて第3出力信号を前記和演算部に出力する抵抗器と、
を更に備え、
前記和演算部は、前記演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号、複数の前記第2積演算素子各々が出力した前記第2出力信号及び少なくとも一つの前記第2積演算素子各々が出力した前記第2出力信号の総和を演算する、
請求項1から3のいずれか一つに記載の積和演算器。
【請求項7】
請求項1から請求項6のいずれか一つに記載の積和演算器を備えるニューロモーフィックデバイス。
【請求項8】
請求項1から請求項6のいずれか一つに記載の積和演算器による積和演算方法であって、
複数の前記第1積演算素子各々が、前記第1入力信号に重みを乗算して前記第1出力信号を生成し、前記第1出力信号を出力する積演算工程と、
前記第1入力信号の入力による複数の前記第1積演算素子各々の前記寄生容量への充電に起因する過渡応答後に定常状態となっている時点から、前記第1入力信号の入力による複数の前記第1積演算素子各々の寄生容量からの放電に起因する過渡応答が発生し始めた後の時点までの前記演算期間において、前記和演算部が、複数の前記第1積演算素子各々が出力した前記第1出力信号の総和を演算する和演算工程と、
を含む積和演算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、積和演算器、ニューロモーフィックデバイス及び積和演算方法に関する。
【背景技術】
【0002】
現在、人口知能(Artificial Intelligence:AI)、モノのインターネット(Internet of Things:IoT)、深層学習(Deep Learning)等を実現させるためにニューラルネットワークの演算を実行するデバイスとして積和演算器及びニューロモーフィックデバイスが注目を集めている。
【0003】
例えば、非特許文献1には、メモリスタを使用してニューラルネットワークの演算を実行する手法が開示されている。ニューラルネットワークの演算にはパーセプトロンを用いた手法が広く用いられる。パーセプトロンを用いたニューラルネットワークの演算においては、Σax+b(b:バイアス項)の計算が行なわれる。ここで、バイアス項は、正から負の広い範囲で調整可能であることが望ましい。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Geoffrey W. Burr, Robert M. Shelby, Abu Sebastian, Sangbum Kim, Seyoung Kim, Severin Sidler, Kumar Virwani, Masatoshi Ishii, Pritish Narayanan, Alessandro Fumarola, Lucas L. Sanches, Irem Boybat, Manuel Le Gallo, Kibong Moon, Jiyoo Woo, Hyunsang Hwang & Yusuf Leblebici, Advances in Physics: X, 2, 89(2017)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ニューラルネットワークの演算を実行する上で負のバイアスを発生させようとした場合、積和演算器及びニューロモーフィックデバイスの回路構成が複雑になってしまうことがあった。
【0006】
そこで、本発明は、回路構成を複雑にすること無く、バイアスを正から負の広い範囲で調整可能な積和演算器、ニューロモーフィックデバイス及び積和演算方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様は、入力値に対応する第1入力信号に重みを乗算して第1出力信号を生成し、前記第1出力信号を出力する複数の第1積演算素子と、前記第1入力信号の入力による複数の前記第1積演算素子各々の寄生容量への充電に起因する過渡応答後に定常状態となっている時点から、前記第1入力信号の入力による複数の前記第1積演算素子各々の前記寄生容量からの放電に起因する過渡応答が発生し始めた後の時点までの演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号の総和を演算する和演算部と、を備える積和演算器である。
【0008】
また、本発明の一態様において、複数の前記第1積演算素子各々は、書き込み端子と、共通端子と、読み出し端子とを有する抵抗変化素子である。
【0009】
また、本発明の一態様において、複数の前記第1積演算素子各々は、トンネル磁気抵抗効果素子である。
【0010】
また、本発明の一態様は、第2入力信号に重みを乗算して第2出力信号を生成し、前記第2出力信号を出力する少なくとも一つの第2積演算素子を更に備え、前記和演算部は、前記演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号及び少なくとも一つの前記第2積演算素子各々が出力した前記第2出力信号の総和を演算する積和演算器である。
【0011】
また、本発明の一態様は、第3入力信号が入力され、前記第3入力信号に基づいて第3出力信号を前記和演算部に出力する抵抗器を更に備え、前記和演算部は、前記演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号、少なくとも一つの前記第2積演算素子各々が出力した前記第2出力信号及び前記抵抗器が出力した前記第3出力信号の総和を演算する積和演算器である。
【0012】
また、本発明の一態様は、正のバイアスの発生に使用される第2入力信号に重みを乗算して第2出力信号を生成し、前記第2出力信号を出力する少なくとも一つの第2積演算素子と、第3入力信号が入力され、前記第3入力信号に基づいて第3出力信号を前記和演算部に出力する抵抗器と、を更に備え、前記和演算部は、複数の前記第1積演算素子各々が出力した前記第1出力信号、複数の前記第2積演算素子各々が出力した前記第2出力信号及び少なくとも一つの前記第2積演算素子各々が出力した前記第2出力信号の総和を演算する積和演算器である。
【0013】
また、本発明の一態様は、上述した積和演算器のいずれか一つを備えるニューロモーフィックデバイスである。
【0014】
また、本発明の一態様は、上述した積和演算器のいずれか一つの積和演算器による積和演算方法であって、複数の前記第1積演算素子各々が、前記第1入力信号に重みを乗算して前記第1出力信号を生成し、前記第1出力信号を出力する積演算工程と、前記第1入力信号の入力による複数の前記第1積演算素子各々の前記寄生容量への充電に起因する過渡応答後に定常状態となっている時点から、前記第1入力信号の入力による複数の前記第1積演算素子各々の寄生容量からの放電に起因する過渡応答が発生し始めた後の時点までの前記演算期間において、前記和演算部が、複数の前記第1積演算素子各々が出力した前記第1出力信号の総和を演算する和演算工程と、を含む積和演算方法である。
【発明の効果】
【0015】
上述した積和演算器、ニューロモーフィックデバイス及び積和演算方法によれば、回路構成を複雑にすること無く、バイアスを正から負の広い範囲で調整可能な積和演算器、ニューロモーフィックデバイス及び積和演算方法を提供することができる。
【図面の簡単な説明】
【0016】
図1】実施形態に係る積和演算器の一部の構成の一例を示す図である。
図2】実施形態に係る抵抗変化素子の一例を示す図である。
図3】実施形態に係る積和演算器の一部の構成の等価回路の一例を示す図である。
図4】実施形態に係る入力値に対応する第1入力信号の入力に応じて第1積演算素子が出力する第1出力信号の一例を示す図である。
図5】実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例を説明するための図である。
【発明を実施するための形態】
【0017】
図1及び図2を参照しながら、実施形態に係る積和演算器の構成の一例について説明する。図1は、実施形態に係る積和演算器の一部の構成の一例を示す図である。図2は、実施形態に係る抵抗変化素子の一例を示す図である。
【0018】
図1に示すように、積和演算器1は、第1入力部101E、201E、…、k01Eと、第1積演算素子111、121、211、221、…、k11、k21と、第2入力部102E、202E、…、n02Eと、第2積演算素子112、122、212、222、…、n12、n22と、第3入力部103Eと、抵抗器113W、123Wと、和演算部10S、20Sとを備える。
【0019】
第1積演算素子111は、寄生容量を有する抵抗変化素子、例えば、相変化型メモリ(Phase-Change Memory:PCM)、抵抗変化型メモリ(Resistive Random Access Memory:ReRAM、図2に示した磁気抵抗効果素子であっても良い。図1及び図2に示すように、第1積演算素子111は、可変抵抗111R、読み出し端子111X、共通端子111Y及び書き込み端子111Zを備える。また、第1積演算素子121、211、221、…、k11、k21は、抵抗変化素子、例えば、図2に示したものと同様の磁気抵抗効果素子であり、それぞれ可変抵抗121R、211R、221R、…、k11R、k21Rと、読み出し端子121X、211X、221X、…、k11X、k21Xと、共通端子121Y、211Y、221Y、…、k11Y、k21Yと、書き込み端子121Z、211Z、221Z、…、k11Z、k21Zとを備える。
【0020】
ここで、第1積演算素子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は、薄い直方体状に形成されており、最も面積が大きな面がxy平面と平行となっている。
【0021】
磁化固定層1111は、磁化方向が+y方向に固定されている。ここで、磁化が固定されるとは、書き込み電流を使用した書き込み前後において磁化方向が変化しないことを意味する。また、磁化固定層1111は、例えば、面内磁気異方性を有する面内磁化膜、あるいは垂直磁気異方性を有する垂直磁化膜であっても良い。
【0022】
非磁性層1112は、+z方向側を向いている最も面積が大きな面が磁化固定層1111の−z方向側を向いている面と接している。磁化固定層1111のz方向側を向いている面と非磁性層1112z方向側を向いている面とは、互いに形状及び面積が等しくなっていても良いが、非磁性層1112が、第1領域1113、第2領域1115を覆うように広がっていて、磁化固定層1111よりも大きくても良い。また、非磁性層1112は、第1積演算素子111が磁化固定層1111に対する磁化自由層の磁化状態の変化を抵抗値の変化として読み出すために使用される。
【0023】
第1領域1113、磁壁1114及び第2領域1115は、磁化自由層を形成している。磁化自由層は、強磁性材料により作製されており、磁化方向を反転させることができる。第1領域1113は、磁化方向が+y方向に固定されており、+z方向側の向いている面のうち−y方向側の一定の領域が非磁性層1112の−z方向側を向いている面と接している。一方、第2領域1115は、磁化方向が−y方向に固定されており、+z方向側を向いている面のうち+y方向側の一定の領域が非磁性層1112の−z方向側を向いている面と接している。磁壁1114は、y方向において第1領域1113と第2領域1115とに挟まれている。
【0024】
第1磁化供給層1116は、z方向において磁化固定層1111と重なっていないことが望ましく、+z方向側を向いている面が第1領域1113の−z方向側を向いている面と接している。また、第1磁化供給層1116は、第1領域1113のうち第1磁化供給層1116と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第1磁化供給層1116の−z方向側を向いている面には、書き込み端子111Zが接続されている。なお、第1磁化供給層1116は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体により作製されており、非磁性体及び強磁性体を含む合成反強磁性(Synthecic Antiferromagnetic)構造を有していても良い。
【0025】
第2磁化供給層1117は、z方向において磁化固定層1111と重なっておらず、+z方向側を向いている面が第2領域1115の−z方向側を向いている面と接している。また、第2磁化供給層1117は、第2領域1115の第2磁化供給層1117と重なる範囲の磁化方向を所望の方向に固定する機能を有する。さらに、第2磁化供給層1117の−z方向側を向いている面には、共通端子111Yが接続されている。なお、第2磁化供給層1117は、例えば、磁化固定層1111に使用可能な強磁性材料と同じ材料、IrMn等の反強磁性体、Ru、Ir等の非磁性中間層を挟んだ強磁性体により作製されており、非磁性体及び強磁性体を含む合成反強磁性(Synthecic Antiferromagnetic)構造を有していても良い。
【0026】
第1積演算素子111は、共通端子111Yと書き込み端子111Zとの間に流す書き込み電流の大きさ及び時間を調整することにより、y方向における磁壁1114の位置を変化させる。これにより、第1積演算素子111は、磁化方向が平行な領域と磁化方向が反平行な領域との面積の比率を連続的に変化させ、可変抵抗111Rの抵抗値を略線形に変化させることができる。ここで、磁化方向が平行な領域とは、第1領域1113のうちz方向において磁化固定層1111と重なっている部分の面積である。また、磁化方向が反平行な領域とは、第2領域1115のうちz方向において磁化固定層1111と重なっている部分の面積である。さらに、書き込み電流の大きさ及び時間は、電流パルスの数及び幅の少なくとも一方により調整される。
【0027】
なお、第1積演算素子111は、トンネル磁気抵抗効果素子であってもよい。トンネル磁気抵抗効果素子は、磁化固定層と、磁化自由層と、非磁性層としてのトンネルバリア層とを備える。磁化固定層及び磁化自由層は、強磁性材料で作製されており、磁化を有する。トンネルバリア層は、磁化固定層と磁化自由層との間に挟まれている。トンネル磁気抵抗効果素子は、磁化固定層が有する磁化と磁化自由層が有する磁化との関係を変化させることにより、抵抗値を変化させることができる。トンネルバリア層には、公知の材料を用いることができる。例えば、その材料としては、Al2O3、SiO2、MgO、及び、MgAl2O4等を用いることができる。なお、トンネルバリア層には、Al、Si、Mgの一部が、Zn、Be等に置換された材料等が用いられてもよい。
【0028】
図1に戻って、読み出し端子111X、121Xには、第1入力部101Eから入力値に対応する第1入力信号が入力される。同様に、図1に示した読み出し端子211X、221Xには、第1入力部201Eから入力値に対応する第1入力信号が入力され、読み出し端子k11X、k21Xには、第1入力部k01Eから入力値に対応する第1入力信号が入力される。これらの第1入力信号は、入力値に応じたパルス幅変調(Pulse Width Modulation:PWM)が施されている。
【0029】
また、書き込み端子111Z、121Zには、可変抵抗111R、121Rの抵抗値を調整するための書き込み電流が入力される。同様に、図1に示した書き込み端子211Z、221Zには、可変抵抗211R、221Rの抵抗値を調整するための書き込み電流が入力され、書き込み端子k11Z、k21Zには、可変抵抗k11R、k21Rの抵抗値を調整するための書き込み電流が入力される。
【0030】
第1積演算素子111は、入力値に対応する第1入力信号に重みを乗算して第1出力信号を生成し、第1出力信号を出力する。すなわち、第1積演算素子111は、可変抵抗111Rの抵抗値を重みとして読み出し端子111Xに入力された第1入力信号に対する積演算を実行して第1出力信号を生成し、共通端子111Yから第1出力信号を出力する。同様に、第1積演算素子121、211、221、…、k11、k21は、それぞれ入力値に対応する第1入力信号に重みを乗算して第1出力信号を生成し、第1出力信号を出力する。
【0031】
第2積演算素子112は、第1積演算素子111、121、211、221、…、k11、k21と同じ抵抗変化素子であり、可変抵抗112R、読み出し端子112X、共通端子112Y及び書き込み端子112Zを備える。また、第2積演算素子122、212、222、…、n12、n22は、第2積演算素子112と同じ抵抗変化素子であり、それぞれ可変抵抗122R、212R、222R、…、n12R、n22R、読み出し端子122X、212X、222X、…、n12X、n22X、共通端子122Y、212Y、222Y、…、n12Y、n22Y及び書き込み端子122Z、212Z、222Z、…、n12Z、n22Zを備える。
【0032】
読み出し端子112X、122Xには、第2入力部102Eから設定値に対応する第2入力信号が入力される。同様に、図1に示した読み出し端子212X、222Xには、第2入力部202Eから設定値に対応する第2入力信号が入力され、読み出し端子n12X、n22Xには、第2入力部n02Eから設定値に対応する第2入力信号が入力される。これらの第2入力信号は、第2積演算素子112、122、212、222、…、n12、n22各々が所望の正のバイアスを発生させるために必要な波形を有する信号を含む。
【0033】
第2積演算素子112は、第2入力信号に重みを乗算して第2出力信号を生成し、第2出力信号を出力する。すなわち、第2積演算素子112は、可変抵抗112Rの抵抗値を重みとして読み出し端子112Xに入力された第2入力信号に対する積演算を実行して第2出力信号を生成し、共通端子112Yから第2出力信号を出力する。第2入力信号は、入力値に対応している第1入力信号と異なり、正のバイアスの発生に使用されるため、一定の波形を有する信号となっている。同様に、第2積演算素子122、212、222、…、n12、n22は、第2入力信号に重みを乗算して第2出力信号を生成し、第2出力信号を出力する。
【0034】
抵抗器113Wは、第3入力信号が入力され、第3入力信号に基づいて第3出力信号を和演算部10Sに出力する。同様に、抵抗器123Wは、第3入力信号が入力され、第3入力信号に基づいて第3出力信号を和演算部20Sに出力する。また、これらの第3入力信号は、抵抗器113W及び抵抗器123W各々が所望の正のバイアスを発生させるために必要な波形を有する信号を含んでおり、第3入力部103Eにより入力される。
【0035】
また、抵抗器113W及び抵抗器123Wは、第2積演算素子112、122、212、222、…、n12、n22と異なり寄生容量を有しないため、寄生容量からの放電に起因する過渡応答を発生させ得ない。このため、抵抗器113Wは、所望の第3入力信号を入力させることにより、第2積演算素子112、212、…、n12が発生させる正のバイアスの合計よりも絶対値が大きな正のバイアスを発生させることができる。また、これは、抵抗器123Wについても同様である。
【0036】
和演算部10Sは、第1積演算素子111、211、…、k11各々が出力する第1出力信号、第2積演算素子112、212、…、n12各々が出力する第2出力信号及び抵抗器113Wが出力する第3出力信号の総和を演算する。同様に、和演算部20Sは、第1積演算素子121、221、…、k21各々が出力する第1出力信号、第2積演算素子122、222、…、n22各々が出力する第2出力信号及び抵抗器123Wが出力する第3出力信号の総和を演算する。ただし、和演算部10S、20Sは、第1入力信号と第2入力信号の総和又は第1入力信号と第3入力信号の総和を演算してもよい。
【0037】
次に、図3及び図4を参照しながら、実施形態に係る積和演算器による総和の演算方法の一例について説明する。図3は、実施形態に係る積和演算器の一部の構成の等価回路の一例を示す図である。
【0038】
図3に示すように、第1積演算素子111は、寄生容量111C及び寄生抵抗111Pを備え、寄生容量111Cが可変抵抗111Rに並列接続されており、寄生抵抗111Pが可変抵抗111Rに直列接続されていると考えることができる。同様に、第1積演算素子121、211、221、…、k11、k21は、それぞれ寄生容量121C、211C、221C、…、k11C、k21Cと、寄生抵抗121P、211P、221P、…、k11P、k21Pとを備える。さらに、第1積演算素子111、121、211、221、…、k11、k21には、それぞれ配線抵抗111W、121W、211W、221W、…、k11W、k21Wが直列接続されていると考えることができる。
【0039】
図4は、実施形態に係る入力値に対応する第1入力信号の入力に応じて第1積演算素子が出力する第1出力信号の一例を示す図である。以下、図4を使用した説明では、第1積演算素子111を例に挙げて説明するが、第1積演算素子121、211、221、…、k11、k21についても同様である。
【0040】
図4(a)は、入力値「2」に対応する第1入力信号が入力された場合における第1出力信号T2の一例を示している。第1出力信号T2は、過渡応答TF2及び過渡応答TS2を含む。
【0041】
過渡応答TF2は、寄生容量111Cへの充電に起因しており、第1積演算素子111への第1入力信号の入力が開始した時点で発生し始め、所定の時間が経過した後に定常状態へ移行する。ここで言う第1入力信号の入力が開始した時点とは、例えば、図4に示した時刻t0である。また、過渡応答TF2は、例えば、図4に示した時刻t1において定常状態へ移行している。さらに、過渡応答TF2のピーク高さ及び過渡応答TF2が発生している期間は、寄生容量111Cの静電容量に依存している。
【0042】
一方、過渡応答TS2は、寄生容量111Cからの放電に起因しており、第1積演算素子111への第1入力信号の入力が終了した時点で発生し始め、所定の時間が経過した後に定常状態へ移行する。ここで言う第1入力信号の入力が終了した時点とは、例えば、図4(a)に示した時刻t21である。また、過渡応答TS2は、例えば、図4(a)に示した時刻t22において定常状態へ移行している。さらに、過渡応答TS2のピーク高さ及び過渡応答TS2が発生している期間は、寄生容量111Cの静電容量に依存している。また、時刻t1から時刻t21までの期間は、入力値「2」に対応した長さとなっている。
【0043】
同様に、図4(b)、図4(c)及び図4(d)は、それぞれ入力値「1」、「3」及び「0」に対応する第1入力信号が入力された場合における第1出力信号T1、T3及びT0の一例を示している。第1出力信号T1、T3及びT0は、それぞれ寄生容量111Cへの充電に起因する過渡応答TF1、TF3及びTF0と、寄生容量111Cからの放電に起因している過渡応答TS1、TS3及びTS0とを含む。また、過渡応答TF1、TF3及びTF0は、いずれも図4に示した時刻t0で発生し始め、図4に示した時刻t1において定常状態へ移行している。さらに、過渡応答TF1、TF3、TF0のピーク高さ及び過渡応答TF1、TF3、TF0が発生している期間は、寄生容量111Cの静電容量に依存している。
【0044】
一方、過渡応答TS1、TS3及びTS0は、それぞれ第1入力信号の入力の終了により、図4(b)に示した時刻t11、図4(c)に示した時刻t31及び図4(d)に示した時刻t01で発生し始めている。また、過渡応答TS1、TS3及びTS0は、それぞれ図4(b)に示した時刻t12、図4(c)に示した時刻t32及び図4(d)に示した時刻t02において定常状態へ移行している。さらに、過渡応答TS1、TS3及びTS0のピーク高さ及び過渡応答TS1、TS3及びTS0が発生している期間は、寄生容量111Cの静電容量に依存している。また、時刻t1から時刻t11までの期間、時刻t1から時刻t31までの期間及び時刻t1から時刻t01までの期間は、それぞれ入力値「1」、「3」及び「0」に対応した長さとなっている。
【0045】
また、図4に示すように、過渡応答TS2、TS1、TS3及びTS0は、いずれも時刻t2において既に定常状態への移行が完了している。
【0046】
和演算部10Sは、第1入力信号の入力による第1積演算素子111、211、…、k11各々の寄生容量111C、211C、…、k11Cへの充電に起因する過渡応答後に定常状態となっている時点から、第1入力信号の入力による第1積演算素子111、211、…、k11各々の寄生容量111C、211C、…、k11Cからの放電に起因する過渡応答が発生し始めた後の時点までの演算期間において、第1積演算素子111が出力した第1出力信号の総和を演算する。また、これは、和演算部20Sについても同様である。
【0047】
ここで言う充電に起因する過渡応答後に定常状態となっている時点とは、例えば、図4に示した時刻t1である。また、ここで言う放電に起因する過渡応答が発生し始めた後の時点とは、当該過渡応答が発生している期間中の時点又は当該過渡応答後に定常状態となっている時点である。例えば、放電に起因する過渡応答TS2が発生している期間中とは、時刻t21から時刻t22の間の期間である。また、例えば、放電に起因する過渡応答TS2後に定常状態となっている時点とは、時刻t22以降における時点である。
【0048】
また、ここで言う演算期間とは、複数の入力値に対応する第1入力信号各々の入力により発生した放電に起因する全ての過渡応答が定常状態となっている時点、例えば、時刻t1から時刻t2までの区間をいう。積和演算器1は、例えば、スイッチを使用することにより、演算期間の間だけ和演算部10Sに第1出力信号T2、T1、T3及びT0を供給し、演算期間における第1出力信号の総和を演算する。
【0049】
積和演算器1は、和演算部10S及び和演算部20Sが演算期間に放電に起因する過渡応答TS2、TS1、TS3及びTS0の少なくとも一部を含めているため、負のバイアスに対応する負の電荷を発生させることができる。特に、第1入力部101E、201E、…、k01Eは、入力値「0」に対応する第1入力信号が入力された場合でも充電に起因する過渡応答TF0及び放電に起因する過渡応答TS0が発生するような第1入力信号を入力している。したがって、積和演算器1は、第1積演算素子111、121、211、221、…、k11、k21に入力値「0」に対応する第1入力信号が入力された場合でも、常に一定の値の負のバイアスを発生させることができる。
【0050】
図3に戻って、第2積演算素子112は、寄生容量112C及び寄生抵抗112Pを有し、寄生容量112Cが可変抵抗112Rに並列接続されており、寄生抵抗112Pが可変抵抗112Rに直列接続されていると考えることができる。同様に、第2積演算素子122、212、222、…、n12、n22は、それぞれ寄生容量122C、212C、222C、…、n12C、n22Cと、寄生抵抗122P、212P、222P、…、n12P、n22Pとを有する。さらに、第2積演算素子112、122、212、222、…、n12、n22には、それぞれ配線抵抗112W、122W、212W、222W、…、n12W、n22Wが直列接続されていると考えることができる。
【0051】
第2積演算素子112、122、212、222、…、n12、n22は、第2入力信号に基づいて正のバイアスに対応する正の電荷を発生させるために用いられる。これらの正のバイアスは、第1積演算素子111、121、211、221、…、k11、k21及び第2積演算素子112、122、212、222、…、n12、n22が発生させた負のバイアスと足し合わされ、バイアスを調整するために使用される。
【0052】
抵抗器113W及び抵抗器123Wは、第3入力信号に基づいて正のバイアスに対応する正の電荷を発生するために用いられる。これらの正のバイアスは、第1積演算素子111、121、211、221、…、k11、k21及び第2積演算素子112、122、212、222、…、n12、n22が発生させた負のバイアスと足し合わされ、バイアスを調整するために使用される。
【0053】
和演算部10Sは、演算期間において、第1積演算素子111、211、…、k11が出力した第1出力信号、第2積演算素子112、212、…、n12が出力した第2出力信号及び抵抗器113Wが出力した第3出力信号の総和を演算する。同様に、和演算部20Sは、演算期間において、第1積演算素子121、221、…、k21が出力した第1出力信号、第2積演算素子122、222、…、n22が出力した第2出力信号及び抵抗器123Wが出力した第3出力信号の総和を演算する。
【0054】
ただし、和演算部10Sは、抵抗器113W及び抵抗器123Wに第3入力信号が入力されなかった場合又は積演算素子1が抵抗器113W及び抵抗器123Wを備えていない場合、演算期間において、第1積演算素子111、211、…、k11が出力した第1出力信号及び第2積演算素子112、212、…、n12が出力した第2出力信号の総和を演算する。これは、和演算部20Sについても同様である。
【0055】
次に、図5を参照しながら、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例について説明する。図5は、実施形態に係る積和演算器が実行するニューラルネットワーク演算の一例を説明するための図である。
【0056】
ノード101、201、…、k01、102、202、…、n02、103は、入力層を形成している。パーセプトロン10、20は、隠れ層又は出力層を形成している。
【0057】
ノード101は、図1及び図3に示した第1入力部101Eに対応しており、第1入力信号に対応する入力値をパーセプトロン10、20に対して出力する。同様に、ノード201、…、k01は、それぞれ第1入力部201E、…、k01Eに対応しており、第1入力信号に対応する入力値をパーセプトロン10、20に対して出力する。
【0058】
ノード102は、図1及び図3に示した第2入力部102Eに対応しており、第2入力信号に対応する入力値をパーセプトロン10、20に対して出力する。同様に、ノード202、…、k02は、それぞれ第2入力部202E、…、n02Eに対応しており、第2入力信号に対応する入力値をパーセプトロン10、20に対して出力する。
【0059】
ノード103は、図1及び図3に示した第3入力部103Eに対応しており、第3入力信号に対応する入力値をパーセプトロン10、20に対して出力する。
【0060】
矢印111Aは、第1積演算素子111に対応しており、ノード101が出力した入力値に重みが乗算され、第1出力信号に対応する値がパーセプトロン10に入力されることを表している。同様に、矢印121Aは、第1積演算素子121に対応しており、ノード101が出力した入力値に重みが乗算され、第1出力信号に対応する値がパーセプトロン20に入力されることを表している。これらは、矢印211A、221A、…、k11A、k21Aについても同様である。
【0061】
矢印112Aは、第2積演算素子112に対応しており、ノード102が出力した入力値に重みが乗算され、第2出力信号に対応する値がパーセプトロン10に入力されることを表している。同様に、矢印122Aは、第2積演算素子122に対応しており、ノード102が出力した入力値に重みが乗算され、第2出力信号に対応する値がパーセプトロン20に入力されることを表している。これらは、矢印212A、222A、…、n12A、n22Aについても同様である。
【0062】
矢印113Aは、抵抗器113に対応しており、ノード103が出力した入力値に抵抗値により定まっている重みが乗算され、第3出力信号に対応する値がパーセプトロン10に入力されることを表している。同様に、矢印123Aは、抵抗器123に対応しており、ノード103が出力した入力値に抵抗値により定まっている重みが乗算され、第3出力信号に対応する値がパーセプトロン20に入力されることを表している
【0063】
パーセプトロン10は、矢印111A、211A、…k11A、矢印112A、212A、…n12A及び矢印113Aから入力された値の総和に、図5に示したバイアス「−b1」が足された値を出力する。同様に、パーセプトロン20は、矢印121A、221A、…k21A、矢印122A、222A、…n22A及び矢印123Aから入力された値の総和に、図5に示したバイアス「−b2」が足された値を出力する。
【0064】
また、バイアス「−b1」は、第1積演算素子111、211、…、k11の少なくとも一つが発生させた負のバイアスを含んでおり、第2積演算素子112、212、…、n02及び抵抗器113Wの少なくとも一つが発生させた正のバイアスを含んでいてもよい。これは、バイアス「−b2」についても同様である。
【0065】
以上、実施形態に係る積和演算器1について説明した。積和演算器1は、寄生容量111C、121C、211C、221C、…、k11C、k21C各々からの放電に起因する過渡応答の少なくとも一部を含む演算期間において、第1出力信号の総和を演算する。このため、積和演算器1は、構成要素を別途追加して回路構成を複雑にすること無く、負のバイアスに対応する負の電荷を発生させることができる。また、積和演算器1は、第1積演算素子を多数使用したり、放電に起因する過渡応答を出来るだけ多く演算期間に含めたりすることにより、絶対値が大きな負のバイアスを発生させ、広い範囲で負のバイアスを発生させることができる。
【0066】
また、第1積演算素子111、121、211、221、…、k11、k21は、書き込み端子と、共通端子と、読み出し端子とを有する抵抗変化素子又はトンネル磁気抵抗効果素子であってもよい。これにより、積和演算器1は、抵抗変化素子及びトンネル磁気抵抗効果素子の寄生容量の静電容量が大きいため、絶対値が大きな負のバイアスを発生させ、広い範囲で負のバイアスを発生させることができる。
【0067】
また、積和演算器1は、第2積演算素子112、122、212、222、…、n12、n22各々が所望の正のバイアスに対応する正の電荷を発生させるため、上述した負のバイアスとの総和を演算し、バイアスを正から負の広い範囲で調整することができる。
【0068】
さらに、積和演算器1は、抵抗器113W及び抵抗器123W各々が所望の正のバイアスに対応する正の電荷を発生させるため、上述した負のバイアスとの総和を演算し、バイアスを正から負の広い範囲で調整することができる。また、抵抗器113Wは、第2積演算素子112、212、…、n12が発生させる正のバイアスの合計よりも絶対値が大きな正のバイアスを発生させることができる。同様に、抵抗器123Wは、第2積演算素子122、222、…、n22が発生させる正のバイアスの合計よりも絶対値が大きな正のバイアスを発生させることができる。このため、積和演算器1は、上述した負のバイアスを抵抗器113W及び抵抗器123Wの少なくとも一つが発生させた正のバイアスで素早く打ち消し、バイアスを正から負の広い範囲で調整することができる。
【0069】
また、上述した積和演算器1は、ニューロモーフィックデバイスの構成要素として使用され得る。
【0070】
なお、上述した実施形態に係る積和演算器1等の各装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録させ、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより、処理を行ってもよい。
【0071】
なお、ここで言うコンピュータシステムとは、オペレーティング・システム(Operating System:OS)又は周辺機器等のハードウェアを含むものであってもよい。また、コンピュータ読み取り可能な記録媒体とは、例えば、フロッピーディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、ネットワーク又は通信回線を介してプログラムが送信される場合におけるサーバ又はクライアントとなるコンピュータシステム内部の揮発性メモリのように一定時間プログラムを保持しているものも含む。
【0072】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、又は、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体とは、インターネット等のネットワーク又は電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
【0073】
また、上述したプログラムは、上述した機能の一部を実現するためのものであってもよく、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分プログラムであってもよい。上述したプログラムは、例えば、コンピュータが備えるCPU(Central Processing Unit)等のプロセッサにより読み出されて実行される。
【0074】
以上のような積和演算器、あるいはそれを用いたニューロモーフィックデバイスは、各種センサやロボットの脳として機能させることができる。このニューロモーフィックデバイスを用いた制御装置にセンサから出力された信号を入力すると、Edge素子として機能させることができる。センサ信号には一般的に多くのノイズが存在し、一般的なセンサモジュールでは得たいセンサ信号をノイズから取り出すことができない。したがって、センサ信号の時系列信号から、例えば信号処理技術を用いてノイズを除去し、得たい信号を取り出すなどの方法が取られる。この場合、得た信号以外はエネルギーの消費だけであり、情報を生まない。このニューロモーフィックデバイスを用いた制御装置にセンサ信号を入力することにより、高精度の認識を行うことができる。従来は源信号にノイズが重畳した観測信号を源信号とノイズに分離することで、初めて意味のある情報として抽出されるが、本制御装置を用いるとノイズを含む時系列信号から得たい源信号を予測することができ、源信号の出力強度や統計値が小さくても意味のある信号として取り出すことができる。これはセンサと制御装置が一体となったモジュールであり、AI Edgeセンサモジュールとすることができる。本制御装置を用いると、認識精度が高くなるために従来よりも小さな演算機能で情報を取り出すことができ、低コスト、省電力及び省体積化を実現することができる。
【0075】
本制御装置に複数のセンサの信号を同時に入力することも好ましい。複数のセンサの信号が同時に入力することによって、互いのセンサの関連性に関する認識を得ることができる。例えば、ロボットにおいて手、足、胴体にセンサが設置され、そのセンサからの信号が同時に本制御装置に入力されると、その信号によってロボットが歩いているか、転んだのかなどの情報を複合的に判断することができる。さらに、AI Edge センサモジュールが複数設置されたロボットや車などにおいて、本制御装置に同時に信号が入力されることによってより省電力化と高機能化が期待できる。複数のセンサが異なる種類のセンサであった場合には、それぞれのセンサに対応できる電圧や電流に対応した制御装置を設置する必要がある。この場合、制御装置のインタフェースに変圧器やアナログ‐デジタル変換器などが必要となり、エネルギー変換によってエネルギーが消費される。AI Edgeセンサモジュールでも同様にエネルギーが消費されるが、AI Edgeセンサモジュールから中央の制御装置に出力された信号はAI Edgeセンサモジュールで一定の認識と識別がされたものであり、必要な情報のみを送ることができる。これらの機能によりAI Edgeセンサモジュールと中央の制御装置の間の通信を削減することができるため、システム全体としてのエネルギー消費を減少できる。
【0076】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。上述した各実施形態に記載の構成を組み合わせてもよい。
【産業上の利用可能性】
【0077】
本発明によれば、積和演算をニューロモーフィック素子を使用する場合に、結果の精度を向上させることができる。
【符号の説明】
【0078】
1…積和演算器、101E,201E,k01E…第1入力部、111,121,211,221,k11,k21…第1積演算素子、111C,121C,211C,221C,k11C,k21C…寄生容量、111P,121P,211P,221P,k11P,k21P…寄生抵抗、111R,121R,211R,221R,k11R,k21R…可変抵抗、111W,121W,211W,221W,k11W,k21W…配線抵抗、111X,121X,211X,221X,k11X,k21X…読み出し端子、111Y,121Y,211Y,221Y,k11Y,k21Y…共通端子、111Z,121Z,211Z,221Z,k11Z,k21Z…書き込み端子、102E,202E,n02E…第2入力部、112,122,212,222,n12,n22…第2積演算素子、112C,122C,212C,222C,n12C,n22C…寄生容量、112P,122P,212P,222P,n12P,n22P…寄生抵抗、112R,122R,212R,222R,n12R,n22R…可変抵抗、112W,122W,212W,222W,n12W,n22W…配線抵抗、112X,122X,212X,222X,n12X,n22X…読み出し端子、112Y,122Y,212Y,222Y,n12Y,n22Y…共通端子、112Z,122Z,212Z,222Z,n12Z,n22Z…書き込み端子、103E…第3入力部、113W,123W…抵抗器、10S,20S…和演算部、1111…磁化固定層、1112…非磁性層、1113…第1領域、1114…磁壁、1115…第2領域、1116…第1磁化供給層、1117…第2磁化供給層、4…トンネル磁気抵抗効果素子、41…第1強磁性層、42…第2強磁性層、43…トンネルバリア層、T,T0,T1,T2,T3…第1出力信号、TF0,TF1,TF2,TF3,TS0,TS1,TS2,TS3…過渡応答、10,20…パーセプトロン、101,102,103,201,202,k01,n02…ノード、111A,112A,113A,121A,122A,123A,211A,212A,221A,222A,k11A,k21A,n12A,n22A…矢印
【要約】
積和演算器は、入力値に対応する第1入力信号に重みを乗算して第1出力信号を生成し、前記第1出力信号を出力する複数の第1積演算素子と、前記第1入力信号の入力による複数の前記第1積演算素子各々の寄生容量への充電に起因する過渡応答後に定常状態となっている時点から、前記第1入力信号の入力による複数の前記第1積演算素子各々の前記寄生容量からの放電に起因する過渡応答が発生し始めた後の時点までの演算期間において、複数の前記第1積演算素子各々が出力した前記第1出力信号の総和を演算する和演算部と、を備える。
図1
図2
図3
図4
図5