JP2009282782A - 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 - Google Patents
抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 Download PDFInfo
- Publication number
- JP2009282782A JP2009282782A JP2008134682A JP2008134682A JP2009282782A JP 2009282782 A JP2009282782 A JP 2009282782A JP 2008134682 A JP2008134682 A JP 2008134682A JP 2008134682 A JP2008134682 A JP 2008134682A JP 2009282782 A JP2009282782 A JP 2009282782A
- Authority
- JP
- Japan
- Prior art keywords
- product
- variable resistance
- value
- output
- input
- 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
- Semiconductor Memories (AREA)
Abstract
【課題】積演算装置及び積和演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置及び積和演算装置の占有面積を小さくする。
【解決手段】端子A・Bを有する抵抗変化型可変抵抗素子1の、端子Aに被乗数に対応するパルス幅Tiの単一電圧パルスを入力し、端子Bに乗数に対応するパルス周波数Fiの電圧パルス列を入力することにより、被乗数と乗数との積演算の結果に対応するFi・Tiに応じたPWM(Pulse Width Modulation)信号が出力される。
【選択図】図1
【解決手段】端子A・Bを有する抵抗変化型可変抵抗素子1の、端子Aに被乗数に対応するパルス幅Tiの単一電圧パルスを入力し、端子Bに乗数に対応するパルス周波数Fiの電圧パルス列を入力することにより、被乗数と乗数との積演算の結果に対応するFi・Tiに応じたPWM(Pulse Width Modulation)信号が出力される。
【選択図】図1
Description
本発明は、電気的ストレスの印加によって電気抵抗を変化させることで情報を記憶することが可能な抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などに関するものである。
現在、いわゆるノイマン型のコンピュータは、大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、これらノイマン型と呼ばれるコンピュータは、その処理方法自体の特性により、人が容易に行うことができる処理(リアルタイムでの人の顔の認識等)を非常に不得手としている。
これに対して、脳の情報処理様式を真似た演算処理モデルである、ニューラルネットワークの研究が行われている。
ニューラルネットワークを構成するニューロン素子(以下、「ニューロン」という)のモデルとしては、ニューロンに相当するユニットに対して、他の複数のユニットの出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値をさらに非線形変換した値を出力値(内部状態値)とするものが一般的である。
すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換とにより、所望の処理が実現される。
このニューロンモデルを用いたニューラルネットワークアーキテクチャ(ニューラルネットワークモデル)としては、これまでに、積和演算を実行するユニットを相互に結合した連想メモリや、同じく積和演算を実行するユニットを階層的に結合したパターン認識モデル等が提案されている。
ここでニューラルネットワークの実用化を狙い、集積回路化を図る際には、前記の積和演算をより効率的に実行することが必要となり、特に演算の実行速度や消費電力の面での必要性が顕著になる。
前記のように積和演算を実行するニューロンモデル、及びニューラルネットワークアーキテクチャに関する発明が、各種提案されており、積和演算を行い階層的なニューロコンピュータを構成する方法も提案されている。(例えば、特許文献1、2を参照)。図14(a)に、PWM(Pulse Width Modulation:パルス幅変調)信号を用いた積和演算装置1000の構成を示す。
パルス幅Ti(i=1,2,3,…)を有するそれぞれのPWM入力信号に対応する電流Iiに関する各スイッチト電流源(SCS)の電流源1012〜1032・・・のそれぞれのスイッチ1012〜1032・・・をONすると、データ線1001を介して電流IiがキャパシタC1004に時間Tiだけ流れる。キャパシタC1004に蓄積される電荷量Qoutと端子電圧Voutとは、それぞれ、
Qout=ΣIiTi
Vout=Qout/C=ΣIiTi/C
と表記される。
Qout=ΣIiTi
Vout=Qout/C=ΣIiTi/C
と表記される。
こうして、電流源1012〜1032・・・のそれぞれの電流量で重み付けされたPWM信号(IiTi)の加算結果がキャパシタ1004の電荷量Qout又は端子電圧Voutとして得られる。端子電圧Voutは、図14(b)に示すように線形に変化する参照ランプ電圧Vrefとコンパレータ1005で比較することにより、パルス幅Toutを有するPWM信号に変換されて出力される。
次に、積和演算回路ユニット3000を用いた演算処理工程について説明する。図15は、特許文献1及び2における積和演算方法を実施するための処理ブロックの構成図を示す。
特許文献1及び2における積和演算方法は、複数個の演算ブロック1000a、1000b、1000c、・・・を備える演算ユニット3006と、演算値Xiを保持する入力値(演算値)保持ブロック3001と、被演算値Wiを保持する荷重値(被演算値)保持ブロック3004と、演算値Xiのラベルiに対応する演算ブロックへ演算値Xi、及び被演算値Wiを入力するためのスイッチングブロック(1)3003及びスイッチングブロック(2)3005から構成される。
特許文献1においては、演算値XiがPWM(Pulse Width Modulation)信号として入力される場合を想定している。なお、演算値Xiと被演算値Wiのiは、それぞれ異なるXとWを示す添え字であり、1,2,3・・・の自然数をとる。
図16は、1つの演算ブロックをアナログ回路で構成したアナログ演算回路2000を示す。図16に示すように、特許文献1におけるアナログ演算回路2000は、アナログ乗算器2001と、キャパシタ2002と、出力バッファ2003とから構成される。
アナログ乗算器2000は、図14(a)に示した積和演算装置1000で構成されている。
図17は、入力値保持ブロック3001をアナログメモリ回路で構成したものを示す。ここでは、アナログメモリ回路をキャパシタ2002と出力バッファ2003とで構成することを想定している。
図15に示すように、複数の演算値Xiが入力保持ブロック3001に保持される。入力保持ブロック3001は、キャパシタ2002と出力バッファ2003により構成されており、演算値Xiの値をキャパシタ2002に蓄積された電圧値として保持している。
続いて、演算値Xiが有するラベルiがスイッチングブロック(1)3003に入力され、そのラベルiに応じてスイッチングブロック(1)3003がスイッチングを行い、入力保持ブロック3001から出力された演算値Xiをそのラベルiに対応する演算ブロックに入力する。
一方、荷重保持ブロック3004からから出力される複数の被演算値Wiは、それぞれ所定の演算ブロックに入力される。ここで特許文献1においては、被演算値Wiについても、演算値Xiと同様に、演算値Xiが有するラベルiに応じてスイッチングブロック(2)3005においてスイッチングが行われ、ラベルiによって決定される所定の演算ブロックに入力される。以上の処理を実行することにより、所定の演算ブロックに演算値Xiと被演算値Wiが入力される。
続いて、演算値Xiと被演算値Wiとの両者が入力された前記所定の演算ブロックにおいて行われる演算処理について説明する。なお、演算値Xiが入力されない演算ブロックでは演算処理は実行されない。
図16の演算ブロック(アナログ乗算器2001内の演算ブロック)において、演算値Xiと被演算値Wiとは、アナログ乗算器2001によってXi×Wiが演算される。なお、各演算ブロックに入力される演算値及び被演算値の値は、演算毎に同一の場合も異なる場合もある。
つづいて、Xi×Wiの乗算結果は、電荷量で表現され、キャパシタ2002に追加蓄積される。ここで、特許文献1ではアナログ乗算器2001による乗算結果は、電荷量として出力されることを想定している。
以上の処理を繰り返すことにより、複数のXiとWiとの乗算結果の累積値がキャパシタ2002に保持され、所定の累算が完了すると出力バッファ2003を介して累積値が出力される。なお、ここでは、XiはPWM信号であり、Wiは、ある周期を持つパルス列、又は電圧パルスになる。
次に、積和演算装置1000をニューラルネットワークに応用したケースについて説明する。一般に説明されているニューラルネットワークモデルを図18に示す。また、ニューラルネットワークに対して図15で説明した積和演算方法を適用する際の演算処理ブロックの構成を図19に示す。
まず、図18に示すようにニューラルネットワークにおけるニューロン素子のモデルとしては、ニューロン素子において、前段の複数のニューロン素子の出力値をシナプス荷重で重み付けした値の総和をとり、ニューロン素子の内部状態値を決定するものが一般的である。
特許文献1で説明されたニューロン素子回路(ユニット)は、ニューロン素子のモデルとして、図16で説明した演算処理ブロックを用いている。すなわち、図16で説明した演算値Xiが前段ニューロン素子の出力値に相当し、また被演算値Wiがシナプス荷重値に相当し、ニューロン素子の内部状態値を決定する。続いて図20に示すように、各演算ブロックで算出された累算値は所定の関数処理を行う関数処理ブロック4001Aに入力される。関数処理ブロック4001Aは、目的に応じて非線形関数処理を行っても良いし、線形関数処理を行っても良い。
特開2005−122465号公報(平成17年5月12日公開)
特開2005−122466号公報(平成17年5月12日公開)
Liu, S. Q. 他、"Electric-pulse-induced reversible Resistance change effect in magnetoresistive films" ,Applied Physics Letter, Vol. 76, pp. 2749-2751, 2000年
しかしながら、前記の積和演算装置1000においては以下の問題点がある。図21に、図14(a)で説明したスイッチト電流源(SCS)の回路構成を示す。
従来のスイッチト電流源(SCS)は、スイッチ部分にCMOS(complementary metal-oxide semiconductor)インバータ回路、及び定電流源にMOS(metal-oxide semiconductor)トランジスタを使用している。
このため、構成が複雑になり、積和演算装置1000の部分の占有面積が大きくなってしまうという問題点がある。
なお、定電流源のトランジスタには、アナログとしての性能を高めるため、デザインルールに依存せず、通常、2μm程度のチャネル長のものが使用される。結果として、スイッチト電流源(SCS)の単位素子のサイズは、数μm〜数十μm程度の大きさとなってしまう。
また、図14(a)に示すように、積和演算装置1000に対して同時に複数の演算値・被演算値を入力するためには、前記スイッチト電流源(SCS)を複数設ける必要があるため、前記占有面積は、さらに増大してしまう問題点もある。
本発明は、前記従来の問題点に鑑みなされたものであって、その目的は、積演算装置及び積和演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置及び積和演算装置の占有面積を小さくすることが可能な積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などを提供することにある。
本発明の積演算装置は、前記課題を解決するために、被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置であって、電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、該抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力し、他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値が出力されるように構成されていることを特徴としている。
本発明の積演算方法は、前記課題を解決するために、電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置により実行される積演算方法であって、前記抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力する第1信号入力ステップと、前記2つの端子の他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力する第2信号入力ステップと、前記被乗数と前記乗数との積演算の結果に対応する出力値を出力する演算結果出力ステップと実行することを特徴としている。
前記構成によれば、少なくとも2つの端子を有する抵抗変化型可変抵抗素子の一方の端子に被乗数に対応する第1入力信号を入力し、他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値が出力されるようになっている。
また、前記方法によれば、少なくとも2つの端子を有する前記抵抗変化型可変抵抗素子の一方の端子に被乗数に対応する第1入力信号を入力する第1信号入力ステップと、前記2つの端子の他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力する第2信号入力ステップと、前記被乗数と前記乗数との積演算の結果に対応する出力値を出力する演算結果出力ステップとが実行される。
以上の構成又は方法における大きなポイントは、抵抗変化型可変抵抗素子における電圧パルスを印加することによって可逆的に電気抵抗が変化するという物理的特性を利用する点にある。
すなわち、被乗数、乗数、及び積演算の結果と、第1信号、第2信号、及び抵抗変化型可変抵抗素子の出力値(電流値など)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
これにより、一方の端子から被乗数に対応する信号を入力し、他方の端子から前記被乗数に乗算される乗数に対応する信号を入力することによって、被乗数と乗数との積演算の結果に対応する出力値を出力する積演算装置を、前記従来技術のように、定電流源とスイッチ回路とを有するスイッチト電流源(SCS)で構成する必要がない。
これにより、例えば、デザインルールを0.1μmとした場合、本発明の積演算装置の基本素子サイズは、0.04μm2となり、上述した従来技術に比べ、2桁〜3桁程度、素子面積が縮小できる。
ここで、「電圧パルス」とは、所定の振幅値(絶対値が最大の電圧値:以下「パルス電圧」又は「パルス電圧値」という)と、所定のパルス幅(以下、「電圧パルス幅」という)とを有するPWM(Pulse Width Modulation)信号の他、NRZ(None-Return-to-Zero)及びRZ(Return-to-Zero)信号も含まれる。また、「電圧パルス」には、1周期単位の単一電圧パルス、及び所定の周波数(以下、「パルス周波数」という)を有する「電圧パルス列」が含まれる。
また、「抵抗変化型可変抵抗素子」とは、電圧パルスを印可する事によって可逆的に電気抵抗が変化する素子のことである。なお、「抵抗変化型可変抵抗素子」は、近年、フラッシュメモリに代わる高速動作可能な次世代不揮発性ランダムアクセスメモリ(NVRAM:Nonvolatile Random Access Memory)として応用が期待されているものである。また、「抵抗変化型可変抵抗素子」としては、例えば、非特許文献1に記載されている様なRRAM(Resistance RAM)やPCRAM(Phase Change RAM)などが挙げられる。
前記第1信号の例としては、PWM(Pulse Width Modulation)信号があり、前記第2信号の例としては、所定の周期(所定の周波数)を持つ電圧パルス列や、電圧パルスが考えられる。
以上より、積演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置の占有面積を小さくすることが可能な積演算装置を提供することができる。
本発明の積演算装置は、前記構成に加えて、前記第1入力信号及び前記第2入力信号は、電圧パルスであり、前記第1入力信号の電圧パルス幅と、前記第2入力信号のパルス周波数とにより前記出力値を制御するように構成されていても良い。
「抵抗変化型可変抵抗素子」は、所定時間間隔の電圧パルスの印加回数に応じて素子に流れる電流を制御できる。よって、素子の一方の端子に入力される被乗数に対応する第1入力信号の電圧パルス幅の大きさと、素子の他方の端子に入力される乗数に対応する第2入力信号のパルス周波数との積として得られる素子への電圧パルスの印加回数に応じて素子に流れる電流値が決まる。すなわち、被乗数、乗数、及び積演算の結果と、第1信号の電圧パルス幅、第2信号のパルス周波数、及び抵抗変化型可変抵抗素子への電圧パルスの印加回数(電流値)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
本発明の積演算装置は、前記構成に加えて、前記第1入力信号及び前記第2入力信号は、電圧パルスであり、前記第1入力信号の電圧パルス幅と、前記第2入力信号のパルス電圧とにより前記出力値を制御するように構成されていても良い。
「抵抗変化型可変抵抗素子」は、電圧パルス幅(又は所定パルス電圧の印加時間)及びパルス電圧値に応じて素子に流れる電流が制御できる。よって、素子の一方の端子に入力される被乗数に対応する第1入力信号の電圧パルス幅の大きさと、素子の他方の端子に入力される乗数に対応する第2入力信号のパルス電圧との積として得られる素子への電圧パルス幅及びパルス電圧値に応じて素子に流れる電流値が決まる。すなわち、被乗数、乗数、及び積演算の結果と、第1信号の電圧パルス幅、第2信号のパルス電圧、及び抵抗変化型可変抵抗素子への電圧パルス幅及びパルス電圧値(電流値)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
本発明の積演算装置は、前記構成に加えて、前記抵抗変化型可変抵抗素子は、前記第1入力信号及び前記第2入力信号の入力による前記積演算の結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶するものである。
ここで、前記特許文献1及び2に記載された従来技術の上述した問題点とは、別の問題点について説明する。前記従来技術では、スイッチト電流源(SCS)のそれぞれが、情報を記録したり消去したりする機能がないため、個々のスイッチト電流源(SCS)の出力値(積演算の結果)のそれぞれを再利用等することができないといった問題点がある。
しかしながら、上述したように、「抵抗変化型可変抵抗素子」は、電圧パルスの印加回数に応じて素子に流れる電流を制御でき、また、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流が制御できる。
言い換えれば、「抵抗変化型可変抵抗素子」は、電圧パルスの印加回数に応じて、或いは、電圧パルス幅及びパルス電圧値に応じて素子の電気抵抗が変化する。
すなわち、「抵抗変化型可変抵抗素子」は、前記第1入力信号及び前記第2入力信号の入力による前記積演算の結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶する。これにより、本発明の積演算装置(抵抗変化型可変抵抗素子)自体による前記積演算の結果の記憶が可能となる。
本発明の積演算装置は、前記構成に加えて、前記電気抵抗の変化によって記憶された前記積演算の結果は、前記抵抗変化型可変抵抗素子に所定の電圧パルスを印加することにより、消去可能となっている。
例えば、抵抗変化型可変抵抗素子をバイポーラー動作させた場合は、書き込み時のパルスと時間・電圧が同じで、極性の異なる電圧パルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。また、抵抗変化型可変抵抗素子をモノポーラ動作させた場合は、極性が同じで時間が長いパルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。
また、本発明の積和演算装置は、前記積演算装置を少なくとも1つ備えており、複数セットの前記第1信号及び前記第2信号の入力により、該積演算装置から出力される前記セット毎の前記出力値の累積値に対応する第2出力値が出力されるように構成されていても良い。
ここで、従来の積和演算装置では、処理速度の短縮を考慮しなければ、単一のスイッチト電流源(SCS)に複数セットの入力を与えて、キャパシタに順次蓄えるという構成を採用する例もある。
しかしながら、スイッチト電流源は、スイッチ回路と定電流源とを備えるものであり、本発明の単体の抵抗変化型可変抵抗素子で構成された積演算装置に比べて、素子サイズはかなり大きい。
したがって、本発明の積和演算装置を、単一の積演算装置に複数セットの入力を与えて、キャパシタに順次蓄える構成とした場合でも、従来の単一のスイッチト電流源を用いる積和演算装置に比べて、これらの装置を含む回路全体の面積に対する積演算装置の占有面積を小さくすることができる。
また、本発明の積和演算装置は、前記構成に加えて、前記抵抗変化型可変抵抗素子は、複数セットの前記第1入力信号及び前記第2入力信号の入力による前記セット毎の前記積演算の累積結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶するものである。
上述したように、「抵抗変化型可変抵抗素子」は、電圧パルスの印加回数に応じて素子に流れる電流を制御でき、また、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流を制御できる。
言い換えれば、「抵抗変化型可変抵抗素子」は、電圧パルスの印加回数に応じて、或いは、電圧パルス幅及びパルス電圧値に応じて素子の電気抵抗が変化する。
すなわち、「抵抗変化型可変抵抗素子」は、前記抵抗変化型可変抵抗素子は、複数セットの前記第1入力信号及び前記第2入力信号の入力による前記セット毎の前記積演算の累積結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶する。これにより、本発明の積和演算装置(抵抗変化型可変抵抗素子)自体による前記積演算の累積結果の記憶が可能となる。
また、本発明の積和演算装置は、前記構成に加えて、前記電気抵抗の変化によって記憶された前記積演算の累積結果は、前記抵抗変化型可変抵抗素子に所定の電圧パルスを印加することにより、消去可能となっている。
例えば、抵抗変化型可変抵抗素子をバイポーラ動作させた場合は、書き込み時のパルスと時間・電圧が同じで、極性の異なる電圧パルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。また、抵抗変化型可変抵抗素子をモノポーラ動作させた場合は、極性が同じで時間が長いパルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。
また、本発明の積和演算装置は、前記構成に加えて、前記積演算装置を複数備えており、該複数の積演算装置のそれぞれから出力される出力値の累積値に対応する第2出力値が出力されるように構成されていても良い。
以上によれば、複数の積演算装置への書き込み、読み出しが同時に処理できるため、単体の抵抗変化型可変抵抗素子で積和演算装置を構成した場合に比較して、前記積演算の累積結果の書き込み読み出しの処理速度が速くなる。
また、本発明の積和演算装置は、前記構成に加えて、前記複数の積演算装置のうちの、所定数の積演算装置のそれぞれから出力される出力値の累積値に対応する第3出力値が出力されるように構成されていても良い。
前記構成によれば、所定数の積演算装置のそれぞれから出力される出力値の累積値に対応する第3出力値(部分和)が出力される、すなわち、部分的な積和演算(部分和の算出)が可能となる。
また、本発明の積和演算装置は、前記構成に加えて、前記複数の積演算装置のうち、所定数の積演算装置のそれぞれから出力される出力値の累積値を記憶する記憶部を備えていることが好ましい。
以上によれば、適宜記憶部を設けることにより、複数の積演算装置を、複数のブロック部分に分割して、当該ブロック部分毎に、前記複数の積演算装置のうち、所定数の積演算装置のそれぞれから出力される出力値の累積値を記憶させることができる。また、記憶部に記録されていれば、前記積演算の累積結果を直ぐに引き出すことができるので、当該ブロック部分毎に記憶部に記憶されている部分和の算出処理が速くなる。
また、本発明のニューラルネットワークは、前記構成に加えて、複数段のニューロン素子を有しており、特定段における所定数のニューロン素子の出力値に対してシナプス荷重値で重み付けした値のそれぞれを、一意対応で、該特定段に隣接する次段のニューロン素子に入力することにより、該ニューロン素子の内部状態を示す内部状態値が決定されるニューラルネットワークであって、前記各ニューロン素子は、請求項6から11までのいずれか1項に記載の積和演算装置を備えており、前記特定段におけるニューロン素子の出力値は、前記被乗数として前記次段のニューロン素子に備えられた積和演算装置へ入力されると共に、前記シナプス荷重値は、前記乗数として前記次段のニューロン素子に備えられた積和演算装置に入力され、前記次段のニューロン素子の内部状態を示す内部状態値は、前記積演算の累積結果に対応する出力値として前記次段のニューロン素子に備えられた積和演算装置から出力されるように構成されていることが好ましい。
前記構成によれば、前記各ニューロン素子は、前記積和演算装置を備えており、これらのニューロン素子の出力値、シナプス荷重値及び内部状態値のそれぞれを、前記積和演算装置に入・出力される、被乗数、乗数、及び被乗数及び乗数の積演算の累積結果で、ニューラルネットワークが構成されるため、従来のニューラルネットワークにおいて各ニューロン素子毎の内部状態値を算出する演算処理ブロックのそれぞれの縮小が可能になる。
なお、「一意対応」とは、「1対1対応」及び「他対1対応」を含む概念である。
より具体的には、「1対1対応」とは、特定段における1つのニューロン素子の出力値に対してシナプス荷重値で重み付けした値を、該特定段に隣接する次段の1つのニューロン素子に入力する場合の対応関係のことである。
また、「他対1対応」とは、特定段における複数のニューロン素子のそれぞれの出力値に対してシナプス荷重値で重み付けした値の総和を、該特定段に隣接する次段の1つのニューロン素子に入力する場合の対応関係のことである。
以上説明した様に、本発明によれば、回路が簡素化された素子サイズの小さい積演算装置及び積和演算装置が実現できる。また、抵抗変化型可変抵抗素子に書き込んだ入力信号の積又は積和演算の結果を記憶することができ、必要に応じて、全体和又は部分和を出力することが可能になる。
よって、積演算装置及び積和演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置及び積和演算装置の占有面積を小さくすることが可能な積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などを提供することができる。
本発明の積演算装置は、以上のように、被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置であって、電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、該抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力し、他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値が出力されるように構成されているものである。
また、本発明の積演算方法は、以上のように、電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置により実行される積演算方法であって、前記抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力する第1信号入力ステップと、前記2つの端子の他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力する第2信号入力ステップと、前記被乗数と前記乗数との積演算の結果に対応する出力値を出力する演算結果出力ステップと実行する方法である。
それゆえ、積演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置の占有面積を小さくすることが可能な積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などを提供するという効果を奏する。
本発明の一実施形態について図1〜図13に基づいて説明すれば、以下の通りである。
〔実施の形態1〕
まず、図1に基づき、本発明の一実施形態である積和演算装置(積演算装置)10の構成について説明する。
まず、図1に基づき、本発明の一実施形態である積和演算装置(積演算装置)10の構成について説明する。
図1は、本発明の一実施形態である抵抗変化型可変抵抗素子(積演算装置)1をユニットセルとする単一セルにより構成された積和演算装置10の書き込みの際の構成を示す回路図である。
本実施形態の積和演算装置10は、被乗数と乗数とを入力することにより、これらの積演算の結果を出力するものであり、図1に示すように、抵抗変化型可変抵抗素子1,データ線2,ビット線3,スイッチングトランジスタ4,コンデンサ(記憶部)5,及びオペアンプ6を備える構成である。
抵抗変化型可変抵抗素子1は、電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子(一方の端子)A・端子(他方の端子)Bを有するものである。
また、抵抗変化型可変抵抗素子1の端子Aに被乗数に対応する第1入力信号を入力し、端子Bに前記被乗数に乗算される乗数に対応する第2入力信号を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値(電流値)が出力されるように構成されている。
データ線2には、パルス周波数Fiで定義される電圧パルス列(第2入力信号)が印可される。
ビット線3には、パルス幅(電圧パルス幅)Tiで定義される単一電圧パルス(第1入力信号)が印加される。
ここで、「電圧パルス」とは、所定の振幅値(絶対値が最大の電圧値:以下「パルス電圧」又は「パルス電圧値」という)と、所定のパルス幅(以下、「電圧パルス幅又は所定パルス電圧の印加時間」という)とを有するPWM(Pulse Width Modulation)信号の他、NRZ(None-Return-to-Zero)及びRZ(Return-to-Zero)信号も含まれる。また、「電圧パルス」には、1周期単位の単一電圧パルス、及び所定の周波数(以下、「パルス周波数」という)を有する「電圧パルス列」が含まれる。
スイッチングトランジスタ4は、抵抗変化型可変抵抗素子1と、コンデンサ5及びオペアンプ6との間を導通状態又は非導通状態とするためのスイッチの役割を果たす。なお、図1では、非導通状態であるため「OFF」と記載されている。
コンデンサ5は、スイッチングトランジスタ4との間で導通状態にある場合、以下で説明するように、データ線2及びビット線3から抵抗変化型可変抵抗素子1に書き込まれた情報を電荷量として記憶するものである。
オペアンプ6は、負極性入力端子(−)と、出力端子との間にコンデンサ5を設けることで、フィードバックをかけ、積分回路を構成するものである。なお、この場合、Vrefには、一定のバイアス電圧が印加される。
これにより、オペアンプ6のフィードバック機能により、負極性入力端子(−)への入力が仮想接地になるので、コンデンサ5に電荷が溜まることによる電位変動が抑制されるという効果が得られる。
ここで、図4の基づき、抵抗変化型可変抵抗素子1の電圧パルスを印加することによって可逆的に電気抵抗が変化する物理的特性について説明する。
図4は、抵抗変化型可変抵抗素子1の構造及び測定時の等価回路を示す。例えば、RRAM(Resistance RAM:抵抗変化型可変抵抗素子)は、図4に示すように、上部電極(一方の端子,他方の端子)11A,下部電極(一方の端子,他方の端子)11B,及び抵抗体12を備えるものである。
抵抗体12は、金属酸化物が材料となっており、上部電極11A及び下部電極11Bに挟まれた構造をしている。
RRAMに、パルス電圧を印可することにより、電気抵抗が変化し、電源をオフにしてもその抵抗値が保持され、不揮発性メモリとして働く。通常、高抵抗状態から低抵抗状態に遷移する動作を「SET(セット)動作」、低抵抗状態から高抵抗状態に遷移する動作を「RESET(リセット)動作」と定義している。
SET動作及びRESET動作ともに同極性の電圧パルスを印可する方式を「ユニポーラースイッチング方式(モノポーラ動作)」、逆極性のパルスを印可する方式を「バイポーラースイッチング方式(バイポーラ動作)」と呼ぶ。
図5(a)に、抵抗変化型可変抵抗素子1(PRAM)にパルス電圧(振幅値2.6V)を35nsec間隔で印加した回数(SETパルス回数)と、その時の抵抗変化型可変抵抗素子1に流れる電流との関係を示す。
図5(a)に示すように、SETパルス回数に応じて抵抗変化型可変抵抗素子1に流れる電流が制御可能となっていることがわかる。
すなわち、積和演算装置10は、第1入力信号及び第2入力信号は、それぞれ、単一電圧パルス及び電圧パルス列であり、単一電圧パルスの電圧パルス幅と、電圧パルス列のパルス周波数とにより、演算結果としてのSETパルス回数(出力値)を制御するように構成することができる。
抵抗変化型可変抵抗素子1は、SETパルス回数に応じて素子に流れる電流を制御できる。よって、素子の端子Aに入力される被乗数に対応する単一電圧パルスの電圧パルス幅の大きさと、素子の端子Bに入力される乗数に対応する電圧パルス列のパルス周波数との積として得られる素子へのSETパルス回数に応じて素子に流れる電流値が決まる。すなわち、被乗数、乗数、及び積演算の結果と、単一電圧パルスの電圧パルス幅、電圧パルス列のパルス周波数、及び抵抗変化型可変抵抗素子へのSETパルス回数(電流値)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
次に、図5(b)に、抵抗変化型可変抵抗素子1(PRAM)へ印加したパルス電圧の電圧パルス幅(振幅値2.6Vのパルス電圧を印加した時間:単位はns)と、その時の抵抗変化型可変抵抗素子1に流れる電流との関係を示す。
すなわち、第1入力信号及び第2入力信号は、それぞれ、単一パルスであり、第1入力信号の単一電圧パルスの電圧パルス幅と、第2入力信号の単一電圧パルスのパルス電圧値との積として得られる素子への、パルス電圧値及び電圧パルス幅を制御するように構成することもできる。
抵抗変化型可変抵抗素子1は、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流が制御できる。よって、端子Bに入力される被乗数に対応する電圧パルス幅の大きさ(電圧パルスの印加時間に対応)と、端子Aに入力される乗数に対応するパルス電圧値との積として得られる素子への電圧パルス幅及びパルス電圧値に応じて素子に流れる電流値が決まる。すなわち、被乗数、乗数、及び積演算の結果と、電圧パルス幅、パルス電圧、及び抵抗変化型可変抵抗素子1への電圧パルス幅及びパルス電圧値(電流値)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
さらに、図5(c)に、抵抗変化型可変抵抗素子1に所定のパルス電圧を印加した場合のパルス電圧値と、その時の抵抗変化型可変抵抗素子1に流れる電流との関係を示す。
図5(c)に示すように、0.5V程度までは、変化が無いが、それ以上の電圧で、パルス電圧値に応じて抵抗変化型可変抵抗素子1に流れる電流が制御可能となっていることがわかる。
次に、図1〜図3(b)に基づき、単体の抵抗変化型可変抵抗素子1にて積和演算装置10を構成した場合の動作について説明する。
図1には、積和演算装置10の書き込み動作を示しているが、書き込み時は、抵抗変化型可変抵抗素子1と演算結果を蓄積するコンデンサ5の間は、導通されていない状態になっている。
このような状態において、まず、抵抗変化型可変抵抗素子1に接続されたビット線3とデータ線2に電圧パルスを印加する。
図2(a)は、抵抗変化型可変抵抗素子1の端子A(ビット線)に入力される電圧パルス(パルス幅Ti)の様子を示す波形図であり、図2(b)は、端子B(データ線)に入力される電圧パルス(パルス周波数Fi)の様子を示す波形図であり、図2(c)は、端子A・B間の電位差と閾値電位Vthとの関係を示す波形図である。
この時、ビット線3には、図2(a)に示すパルス幅=Tiで定義される単一電圧パルスを印加する。一方、データ線2には、図2(b)に示すパルス周波数=Fiで定義される電圧パルス列を印可する。
図1には、可変抵抗素子間に印加される単一電圧パルス及び電圧パルス列が記載されているが、図2(c)に示すように、閾値電位Vthで表される閾値以上の電圧値が加わった場合に、抵抗変化型可変抵抗素子1には、コンダクタンスσii∝Fi・Tiで示される情報が書き込まれることになる(コンダクタンスσiiは抵抗変化型可変抵抗素子1の抵抗値Riiの逆数である。)。なお、抵抗変化型可変抵抗素子1には、電源を切っても、書き込まれた情報としてのコンダクタンスσiiを保持(被乗数と乗数との積演算の結果を保持)する機能があるため、書き込まれた情報が消失することは無い。
すなわち、抵抗変化型可変抵抗素子1は、単一電圧パルス及び電圧パルス列の入力による積演算の結果を、抵抗変化型可変抵抗素子1の電気抵抗(コンダクタンスσiiに対応)の変化によって記憶するものである。
ここで、特許文献1及び2に記載された従来技術の上述した問題点とは、別の問題点について説明する。従来技術では、スイッチト電流源(SCS)のそれぞれが、情報を記録したり消去したりする機能がないため、個々のスイッチト電流源(SCS)の出力値(積演算の結果)のそれぞれを再利用等することができないといった問題点がある。
しかしながら、上述したように、抵抗変化型可変抵抗素子1は、電圧パルスの印加回数(SETパルス回数)に応じて素子に流れる電流を制御でき、また、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流が制御できる。
言い換えれば、抵抗変化型可変抵抗素子1は、電圧パルスの印加回数に応じて、或いは、電圧パルス幅及びパルス電圧値に応じて素子の電気抵抗が変化する。
すなわち、抵抗変化型可変抵抗素子1は、単一電圧パルス及び電圧パルス列(又は、パルス電圧)の入力による積演算の結果を、抵抗変化型可変抵抗素子1の電気抵抗の変化によって記憶する。これにより、抵抗変化型可変抵抗素子1自体による積演算の結果の記憶が可能となる。
次に、図3(a)及び図3(b)に示すように、積和演算装置10の読み出し動作について説明する。読み出し時は、抵抗変化型可変抵抗素子1と積演算の結果を電荷量として蓄積するコンデンサ5の間は、導通された状態になっている。
図3(a)は、抵抗変化型可変抵抗素子1をユニットセルとする単一セルにより構成された積和演算装置10の読み出しの際の構成を示す回路図であり、図3(b)は、積和演算装置10の動作を示すシーケンス図である。
データ線2を0Vに固定し、ビット線3にパルス電圧値=Vo,電圧パルス幅=Toで定義される電圧パルスを印加する事により、抵抗変化型可変抵抗素子1には、σii・Vo∝Fi・Ti・Voで示される電流が流れ、コンデンサ5には、電荷量Q=σii・Vo・To∝Fi・Ti・Vo・Toで定義される電荷量が蓄積されることになる。
以上で説明した書き込みと読み出しを交互に繰り返す事により、電荷量Q=(Σσii)・Vo・To∝(ΣFi・Ti)・Vo・Toで定義される積和演算結果がキャパシタ内に蓄積されたことになる。
また、図3(a)及び図3(b)に示すように、(書き込み→読み出し)処理後には、リセット動作を行い、初期化する必要がある。
すなわち、積和演算装置10は、電気抵抗の変化によって記憶された積演算の結果は、抵抗変化型可変抵抗素子1に所定の電圧パルスを印加することにより、消去可能となっている。
例えば、抵抗変化型可変抵抗素子1をバイポーラー動作させた場合は、書き込み時の電圧パルスと時間(パルス幅)・電圧(パルス電圧値)が同じで、極性の異なる電圧パルスを再度印加することにより、電気抵抗の変化によって記憶された積演算の結果を消去することができる。また、抵抗変化型可変抵抗素子1をモノポーラ動作させた場合は、極性が同じで時間(パルス幅)が長い電圧パルスを再度印加することにより、電気抵抗の変化によって記憶された積演算の結果を消去することができる。
本実施形態において、抵抗変化型可変抵抗素子1のサイズは、4F2(F:デザインルール)で示されるサイズである。例えば、デザインルールを0.1μmとした場合、積和演算装置10の基本素子サイズは、0.04μm2となり、図14(a)で示した従来技術に比べ、2桁〜3桁程度、素子面積が縮小できる。なお、従来技術においてはスイッチト電流源が複数個あり、それにより積和演算装置を形成したが、本実施形態においては、単体の抵抗変化型可変抵抗素子1で素子構成が可能になり、更に素子サイズを縮小することができる。
以上、説明したように、抵抗変化型可変抵抗素子1を備えた積和演算装置10によれば、抵抗変化型可変抵抗素子1の端子Aに被乗数に対応する第1入力信号(ここでは、パルス幅Tiの単一電圧パルス信号)を入力し、端子Bに前記被乗数に乗算される乗数に対応する第2入力信号(ここでは、パルス周波数Fiの電圧パルス列)を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値が出力されるようになっている。
以上の構成における大きなポイントは、抵抗変化型可変抵抗素子1における、電圧パルスを印加することによって可逆的に電気抵抗(又はコンダクタンスσii)が変化するという物理的特性を利用する点にある。
すなわち、被乗数、乗数、及び積演算の結果と、電圧パルス幅、パルス周波数、及び抵抗変化型可変抵抗素子1の出力値(電流値など)との対応関係をあらかじめ決めておけば、積演算を実行することが可能である。
これにより、一方の端子から被乗数に対応する信号を入力し、他方の端子から前記被乗数に乗算される乗数に対応する信号を入力することによって、被乗数と乗数との積演算の結果に対応する出力値を出力する積演算装置を、前記従来技術のように、定電流源とスイッチ回路とを有するスイッチト電流源(SCS)で構成する必要がない。
ここで、抵抗変化型可変抵抗素子1は、電圧パルスを印可することによって可逆的に電気抵抗が変化する素子のことである。なお、抵抗変化型可変抵抗素子1は、近年、フラッシュメモリに代わる高速動作可能な次世代不揮発性ランダムアクセスメモリ(NVRAM:Nonvolatile Random Access Memory)として応用が期待されているものである。また、抵抗変化型可変抵抗素子1としては、例えば、非特許文献1に記載されている様なRRAM(Resistance RAM)やPCRAM(Phase Change RAM)などが挙げられる。
また、第1信号の例としては、PWM(Pulse Width Modulation)信号があり、第2信号の例としては、所定の周期を持つパルス列や、電圧パルスが考えられる。
以上より、積和演算装置10における構成を簡素化し、これらの装置を含む回路全体の面積に対する積和演算装置10の占有面積を小さくすることが可能な積和演算装置10を提供することができる。
〔実施の形態2〕
本発明の他の実施の形態について図6(a)及び図6(b)に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態1と同じである。また、説明の便宜上、前記の実施の形態1の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
本発明の他の実施の形態について図6(a)及び図6(b)に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態1と同じである。また、説明の便宜上、前記の実施の形態1の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
図6(a)は、単一セルにより構成された積和演算装置10の構成と書き込み動作とを示す回路図であり、(b)は、読み出し動作を示す回路図である。なお、本実施の形態2では、積和演算装置の構成は、実施の形態1と構成は共通しているが、図1,図2(a)〜図2(c)及び図3(a)・図3(b)とは、別の動作方法である。
すなわち、本実施形態では、積和演算装置10を少なくとも1つ備えており、複数セットの単一電圧パルス及び電圧パルス列の入力により、積和演算装置10から出力される前記セット毎の前記出力値の累積値に対応する出力値(第2出力値)が出力されるように構成されていても良い。
ここで、従来の積和演算装置では、処理速度の短縮を考慮しなければ、単一のスイッチト電流源に複数セットの入力を与えて、キャパシタに順次蓄えるという構成を採用する例もある。
しかしながら、スイッチト電流源は、スイッチ回路と定電流源とを備えるものであり、本実施形態の単体の抵抗変化型可変抵抗素子1で構成された積演算装置に比べて、素子サイズはかなり大きい。
したがって、抵抗変化型可変抵抗素子1の単一セルで構成された積和演算装置10に複数セットの入力を与えて、コンデンサ5に順次蓄える構成とした場合でも、従来の単一のスイッチト電流源を用いる積和演算装置に比べて、これらの装置を含む回路全体の面積に対する積演算装置の占有面積を小さくすることができる。
本実施形態では、結局構成自体は、実施の形態1と同一の構成を考慮すれば良いので、以下では、実施の形態2における積和演算装置10の動作について説明する。
ここでは、実施の形態1の動作シーケンスを変更し、更に処理ステップを削減した場合について説明する。
図6(a)に示す書き込み動作であるが、まず、ビット線3にパルス幅T1で定義される単一電圧パルスを印加し、データ線2には、パルス周波数=F1で定義される電圧パルス列を印加する。
この場合、コンダクタンスσ11∝F1・T1で示される情報が抵抗変化型可変抵抗素子1に書き込まれたことになる。
次に、ビット線3にパルス幅T2で定義される単一電圧パルスを印加し、データ線2には、パルス周波数=F2で定義される電圧パルス列を印加する。
この場合、コンダクタンス(σ11+σ22)∝(F1・T1+F2・T2)で示される情報が抵抗変化型可変抵抗素子1に書き込まれたことになる。
同様な書き込み処理を繰り返す事により、最終的に抵抗変化型可変抵抗素子1には、Σσii=Σ(Fi・Ti)で示される情報が書き込まれたことになる。
すなわち、本実施形態の積和演算装置10は、抵抗変化型可変抵抗素子1は、複数セットの単一電圧パルス及び電圧パルス列の入力による前記セット毎の積演算の累積結果を、抵抗変化型可変抵抗素子1の電気抵抗の変化によって記憶するものである。
上述したように、抵抗変化型可変抵抗素子1は、電圧パルスの印加回数に応じて素子に流れる電流を制御でき、また、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流を制御できる。
言い換えれば、抵抗変化型可変抵抗素子1は、電圧パルスの印加回数に応じて、或いは、電圧パルス幅及びパルス電圧値に応じて素子の電気抵抗が変化する。
すなわち、抵抗変化型可変抵抗素子1は、複数セットの単一電圧パルス及び電圧パルス列の入力による前記セット毎の積演算の累積結果を、抵抗変化型可変抵抗素子1の電気抵抗の変化によって記憶する。これにより、本実施形態の積和演算装置10(抵抗変化型可変抵抗素子1)自体による前記積演算の累積結果の記憶が可能となる。
次に、読み出し動作であるが、図6(b)に示すように、データ線2を0Vに固定し、ビット線3にパルス電圧値=Vo、電圧パルス幅=Toで定義される電圧パルスを印加する。この場合、抵抗変化型可変抵抗素子1には、(Σσii)・Vo=Σ(Fi・Ti)・Voで示される電流が流れ、コンデンサ5には、電荷量Q=Σσii・Vo・To∝ΣFi・Ti・Vo・Toで定義される積和演算の結果(積演算の累積結果)が蓄積されたことになる。
なお、新たに積和演算処理を行うには、データ読みだし後に一旦リセット処理を行い、初期化する必要がある。
すなわち、本実施形態の積和演算装置10は、前記電気抵抗の変化によって記憶された前記積演算の累積結果は、抵抗変化型可変抵抗素子1に所定の電圧パルスを印加することにより、消去可能となっている。
例えば、抵抗変化型可変抵抗素子1をバイポーラ動作させた場合は、書き込み時のパルスと時間・電圧が同じで、極性の異なる電圧パルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。また、抵抗変化型可変抵抗素子1をモノポーラ動作させた場合は、極性が同じで時間が長いパルスを再度印加することにより、前記電気抵抗の変化によって記憶された前記積演算の結果を消去することができる。
〔実施の形態3〕
本発明のさらに他の実施の形態について図7(a)〜図8に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態1及び2と同じである。また、説明の便宜上、前記の実施の形態1及び2の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。なお、以下の〔実施の形態4〕以降は、同様の説明は省略する。
本発明のさらに他の実施の形態について図7(a)〜図8に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態1及び2と同じである。また、説明の便宜上、前記の実施の形態1及び2の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。なお、以下の〔実施の形態4〕以降は、同様の説明は省略する。
本実施形態では、実施の形態1及び2で説明した抵抗変化型可変抵抗素子1をユニットセルとして、複数のビット線とデータ線の交点にユニットセルを配置したアレイ構成(マトリクス状配置)の場合の積和演算装置100について説明する。
図7(a)は、抵抗変化型可変抵抗素子1をユニットセルする複数個のセル(抵抗変化型可変抵抗素子(積演算装置)111,抵抗変化型可変抵抗素子(積演算装置)121,抵抗変化型可変抵抗素子(積演算装置)211,抵抗変化型可変抵抗素子(積演算装置)221・・・)により構成された積和演算装置100の書き込みの際の構成を示す回路図であり、図7(b)は、抵抗変化型可変抵抗素子1(抵抗変化型可変抵抗素子111)の端子A(ビット線)に入力される電圧パルス(パルス幅Tj:jは、自然数)の様子を示す波形図であり、(c)は、端子B(データ線)に入力される電圧パルス(パルス周波数Fi)の様子を示す波形図であり、(d)は、端子A・B間の電位差と閾値電位Vthとの関係を示す波形図である。
図8は、抵抗変化型可変抵抗素子1をユニットセルとする複数個のセル(抵抗変化型可変抵抗素子111,抵抗変化型可変抵抗素子121,抵抗変化型可変抵抗素子211,抵抗変化型可変抵抗素子221・・・)により構成された積和演算装置の読み出しの際の構成を示す回路図である。
図7(a)〜図8に示すように、本実施形態の積和演算装置100は、抵抗変化型可変抵抗素子1を複数(抵抗変化型可変抵抗素子111,抵抗変化型可変抵抗素子121,抵抗変化型可変抵抗素子211,抵抗変化型可変抵抗素子221・・・)備えており、該複数の抵抗変化型可変抵抗素子1のそれぞれから出力される出力値の累積値に対応する出力値(第2出力値)が出力されるように構成されていても良い。
以上によれば、複数の抵抗変化型可変抵抗素子への書き込み、読み出しが同時に処理できるため、単体の抵抗変化型可変抵抗素子で積和演算装置を構成した場合に比較して、前記積演算の累積結果の書き込み読み出しの処理速度が速くなる。
図7(a)及び図8に示すように、本実施形態の積和演算装置100は、データ線1i2(データ線112,122・・・:iは自然数)、ビット線1j3(ビット線113,123・・・:jは自然数)、抵抗変化型可変抵抗素子(積演算装置)ij1(抵抗変化型可変抵抗素子111,121,211,221・・・:i,jは、自然数)、スイッチングトランジスタ1i4(スイッチングトランジスタ114,124・・・:iは自然数)、コンデンサ1i5(コンデンサ115,コンデンサ125・・・:iは、自然数)、オペアンプ1i6(オペアンプ116,126・・・:iは自然数)、スイッチングトランジスタ1j7(スイッチングトランジスタ117,127・・・:iは自然数)からなる構成である。
図7(a)に示すように、積和演算装置100では、データ線1i2(データ線112,122・・・:iは、自然数)には、読み出し回路が接続されている。なお、図7(a)では、書き込み動作を示しているが、書き込み時は、抵抗変化型可変抵抗素子と演算結果を蓄積するキャパシタの間は、導通されていない状態になっている。
この時、ビット線1j3(ビット線113、ビット線123・・・:jは、自然数)には、パルス幅=Tjで定義される単一電圧パルスを印加する。
なお、ビット線1j3に接続されているトランジスタは導通状態になっている。データ線1i2には、パルス周波数=Fiで定義される複数パルス電圧を印可する。
図7(a)には、各抵抗変化型可変抵抗素子間に印加される電圧が記述されているが、閾値電位Vthで表される閾値以上の電圧値が加わった場合に、ビット線1j3及びデータ線1i2で選択された抵抗変化型可変抵抗素子(積演算装置)ij1(抵抗変化型可変抵抗素子111,抵抗変化型可変抵抗素子121,抵抗変化型可変抵抗素子211,抵抗変化型可変抵抗素子221・・・:i,jは、自然数)には、コンダクタンスσij∝Fi・Tjで示される情報が書き込まれることになる。(コンダクタンスσijは素子抵抗値Rijの逆数。)
なお、抵抗変化型可変抵抗素子ij1には、データを保持する機能があるため、電源を切っても、書き込まれた情報が消失することは無い。
なお、抵抗変化型可変抵抗素子ij1には、データを保持する機能があるため、電源を切っても、書き込まれた情報が消失することは無い。
すなわち、抵抗変化型可変抵抗素子ij1は、単一電圧パルス及び電圧パルス列の入力による積演算の結果を、抵抗変化型可変抵抗素子ij1の電気抵抗(コンダクタンスσijに対応)の変化によって記憶するものである。
ここで、特許文献1及び2に記載された従来技術の上述した問題点とは、別の問題点について説明する。従来技術では、スイッチト電流源(SCS)のそれぞれが、情報を記録したり消去したりする機能がないため、個々のスイッチト電流源(SCS)の出力値(積演算の結果)のそれぞれを再利用等することができないといった問題点がある。
しかしながら、上述したように、抵抗変化型可変抵抗素子ij1は、電圧パルスの印加回数(SETパルス回数)に応じて素子に流れる電流を制御でき、また、電圧パルス幅及びパルス電圧値に応じて素子に流れる電流が制御できる。
言い換えれば、抵抗変化型可変抵抗素子ij1は、電圧パルスの印加回数に応じて、或いは、電圧パルス幅及びパルス電圧値に応じて素子の電気抵抗が変化する。
すなわち、抵抗変化型可変抵抗素子ij1は、単一電圧パルス及び電圧パルス列(又は、パルス電圧)の入力による積演算の結果を、抵抗変化型可変抵抗素子ij1の電気抵抗の変化によって記憶する。これにより、抵抗変化型可変抵抗素子ij1自体による積演算の結果の記憶が可能となる。
次に、図8に基づき、積和演算装置100の読み出し動作について説明する。
読み出し時は、抵抗変化型可変抵抗素子ij1と電荷量として演算結果を蓄積するコンデンサ1i5(コンデンサ115,コンデンサ125・・・:iは、自然数)との間は、導通された状態になっている。
データ線1i2を0Vに固定し、ビット線1j3にパルス電圧値=Vo、電圧パルス幅=Toで定義される電圧パルスを印加する事により、データ線1i2上に接続された抵抗変化型可変抵抗素子ij1には、(Σσij)・Vo∝(ΣFi・Tj)・Voで示される電流が流れ、コンデンサ1i5には、電荷量Q=(Σσij)・Vo・To∝(ΣFi・Tj)・Vo・Toで定義される電荷量が蓄積されることになる。
また、データを加算するのに、電流を検出する方法も可能である。例えば、本実施形態では、複数個の抵抗変化型可変抵抗素子ij1の積演算の結果を総和するだけであるから、電流を検出する方法では、単に線を繋いで抵抗器で電流を見れば良いことになる。なお、直接抵抗器を繋ぐと共通線の電位が変化するので、コンデンサ1i5に蓄積される電荷量Qによる方法の時と同様に、オペアンプを使った加算回路を用いれば良い。
なお、読み出し完了後、新しい積和演算処理を行うには、リセット動作を行い、初期化するする必要がある。
例えば、抵抗変化型可変抵抗素子ij1をバイポーラー動作させた場合は、書き込み時の電圧パルスと時間(パルス幅)・電圧(パルス電圧値)が同じで、極性の異なる電圧パルスを再度印加することにより、電気抵抗の変化によって記憶された積演算の結果を消去することができる。また、抵抗変化型可変抵抗素子ij1をモノポーラ動作させた場合は、極性が同じで時間(パルス幅)が長い電圧パルスを再度印加することにより、電気抵抗の変化によって記憶された積演算の結果を消去することができる。
本実施形態においては、複数のセルへの書き込み、読み出しが同時に処理できるため、実施の形態1及び実施の形態2の積和演算装置10に比べ、データの処理速度が速い。また抵抗変化型可変抵抗素子ij1内に書き込まれた情報を読み出ししたくない場合は、そのセルにつながったビット線1j3のスイッチングトランジスタ1j7(スイッチングトランジスタ117,スイッチングトランジスタ127・・・:jは、自然数)をOFFにすることにより読み出しができなくなり、結果として部分的な積和演算が可能となる。
また、素子面積に関しては、実施の形態1及び実施の形態2の積和演算装置10のように、ユニットセルの大きさは4F2(F:デザインルール)で表される。ただし、複数個のセルで構成されているため、積和演算装置100全体としての面積は、実施の形態1及び実施の形態2の積和演算装置10に較べて大きい。
以上のように、本実施形態の積和演算装置100は、複数の抵抗変化型可変抵抗素子ij1のうち、所定数の抵抗変化型可変抵抗素子ij1のそれぞれから出力される出力値の累積値に対応する出力値(第3出力値)が出力されるように構成されていても良い。
前記構成によれば、所定数の抵抗変化型可変抵抗素子ij1のそれぞれから出力される出力値の累積値に対応する第3出力値(部分和)が出力される、すなわち、部分的な積和演算(部分和の算出)が可能となる。
また、本発明の積和演算装置は、前記構成に加えて、前記複数の抵抗変化型可変抵抗素子ij1のうち、所定数の抵抗変化型可変抵抗素子ij1のそれぞれから出力される出力値の累積値を記憶するコンデンサ1i5(記憶部)を備えていることが好ましい。
以上によれば、適宜コンデンサ1i5などを設けることにより、複数の抵抗変化型可変抵抗素子ij1を、複数のブロック部分に分割して、当該ブロック部分毎に、前記複数の抵抗変化型可変抵抗素子ij1のうち、所定数の抵抗変化型可変抵抗素子ij1のそれぞれから出力される出力値の累積値を記憶させることができる。また、コンデンサ1i5に記録されていれば、積演算の累積結果を直ぐに引き出すことができるので、当該ブロック部分毎にコンデンサ1i5に記憶されている部分和の算出処理が速くなる。
〔実施の形態4〕
本発明のさらに他の実施の形態である積和演算装置20について図9(a)〜図10(b)に基づいて説明すれば、以下の通りである。
本発明のさらに他の実施の形態である積和演算装置20について図9(a)〜図10(b)に基づいて説明すれば、以下の通りである。
図9(a)は、抵抗変化型可変抵抗素子21をユニットセルにし、単一セルにより構成された積和演算装置20の構成を示す回路図であり、図9(b)は、抵抗変化型可変抵抗素子21の端子A(ビット線)に入力される電圧パルス(パルス幅Ti)の様子を示す波形図であり、図9(c)は、端子A・B間の電位差と閾値電位Vthとの関係を示す波形図である。
図10(a)は、積和演算装置20の構成と、電圧パルス時間(電圧パルス幅に相当)及び電圧パルス振幅(パルス電圧)を、それぞれ乗数、及び被乗数に用いた読み出し動作方法を示す回路図であり、図10(b)は、読み出し動作方法を示すシーケンス図である。
本実施形態の積和演算装置20は、被乗数と乗数とを入力することにより、これらの積演算の結果を出力するものであり、図9(a)に示すように、抵抗変化型可変抵抗素子21,データ線22,ビット線23,スイッチングトランジスタ24,コンデンサ(記憶部)25,及びコンパレータ26,スイッチングトランジスタ27を備える構成である。
積和演算装置10と違いは、コンデンサ25は、コンパレータ26の入出力端子間に接続されていない(フィードバック回路を構成していない)点と、データ線22上に、新たにスイッチングトランジスタ27が設けられている点である。
本実施形態では、図9(a)に示すように、単体の抵抗変化型可変抵抗素子21をユニットセルとして単一セルにより積和演算装置20を構成し、電圧パルス振幅(Vi:パルス電圧値に相当)及び電圧パルス時間(Ti:電圧パルス幅に相当)を、それぞれ、乗数及び被乗数に用いた動作について説明する。
図9(a)に示すように、書き込み時は、抵抗変化型可変抵抗素子21と演算結果を電荷量として蓄積するコンデンサ25の間は、導通されていない状態になっている。
まず、抵抗変化型可変抵抗素子21に接続されたビット線23とデータ線22とに電圧パルスを印加する。この時、ビット線23には、電圧パルス振幅=Viで定義される単一電圧パルスを印加する。
データ線22は、グランドに接続されているが、通常はデータ線23とセル間のスイッチングトランジスタ(選択トランジスタ)27がOFFになっている(ハイインピーダンス状態)。
データの書き込みを行いたい時間(Ti:単一電圧パルスの電圧パルス幅に相当)のみスイッチングトランジスタ27をON状態にする。図16(a)には、抵抗変化型可変抵抗素子21の端子A・Bに印加される電圧が記載されているが、閾値電位Vthで表される閾値以上の電圧値が加わった場合に、抵抗変化型可変抵抗素子21には、コンダクタンスσii∝Ti・Viで示される情報が書き込まれることになる。(コンダクタンスσiiは素子抵抗値Riiの逆数である。)
なお、抵抗変化型可変抵抗素子21には、上述した抵抗変化型可変抵抗素子1などと同様にデータを保持する機能があるため、電源を切っても、書き込まれた情報が消失することは無い。
なお、抵抗変化型可変抵抗素子21には、上述した抵抗変化型可変抵抗素子1などと同様にデータを保持する機能があるため、電源を切っても、書き込まれた情報が消失することは無い。
次に、図17(a)に基づき、積和演算装置20の読み出し動作について説明する。読み出し時は、抵抗変化型可変抵抗素子21及び積演算の結果を電荷量として蓄積するコンデンサ25間は、導通された状態になっている。
データ線22を0Vに固定し、ビット線23にパルス電圧値=Vo、電圧パルス幅=Toで定義されるパルス電圧を印加することにより、抵抗変化型可変抵抗素子21には、σii・Vo∝Ti・Vi・Voで示される電流が流れ、コンデンサ25には、電荷量Q=σii・Vo・To∝Ti・Vi・Vo・Toで定義される電荷量が蓄積されることになる。
以上で説明した書き込みと読み出しを交互に繰り返す事により、電荷量Q=(Σσii)・Vo・To∝(ΣTi・Vi)・Vo・To、で定義される積演算の累積結果がコンデンサ25に蓄積されたことになる。
なお、図17(b)に示しているが、書き込み読み出し処理後には、上述したように、リセット動作を行い、初期化する必要が有る。本実施形態の積和演算装置20における抵抗変化型可変抵抗素子21の素子サイズは、4F2(F:デザインルール)で示される。
例えば、デザインルールを0.1μmとした場合、積和演算装置20の基本素子サイズは、0.04μm2となり、図14(a)〜図15で示した従来技術に比べ、2桁〜3桁程度、素子面積が縮小できる。
また、電圧パルス振幅、電圧パルス時間を乗数、被乗数に用いた動作手法において本実施形態に示した他、実施の形態2に示した処理シーケンスの変更、実施の形態3で示した複数のセル構成についても、上記と同様に構成することが可能である。
〔実施の形態5〕
本発明のさらに他の実施の形態である積和演算回路(積演算装置,積和演算装置)30について図11に基づいて説明すれば、以下の通りである。
本発明のさらに他の実施の形態である積和演算回路(積演算装置,積和演算装置)30について図11に基づいて説明すれば、以下の通りである。
積和演算回路30は、積和演算における被演算値の演算順序や演算範囲を制御することで、低消費電力かつ高速な積和演算回路を提供するものである。すなわち、被演算値を降順または昇順に出力するソーティングにより、無駄な電位変化を抑え、低消費電力化と高速化を実現する。
図11は、本発明の一実施形態である積和演算回路30の各処理ブロックの構成を示すブロック図である。本実施形態においては、実施の形態3における積和演算装置100を用いた場合の具体例について説明する。
図11に示すように、積和演算回路30は、入力値保持ブロック(演算値保持ブロック)31,ソーティングブロック32,スイッチングブロック(1)33,荷重値保持ブロック(被演算値保持ブロック)34,スイッチングブロック(2)35,及び演算処理ブロック36を備える構成である。
図11に示すように、積和演算回路30は、演算処理ブロック36を、単一の積和演算装置100で構成することができる点が、図15に示す従来の積和演算回路3000と異なっている。
すなわち、従来技術においては、複数個(n個:nは、自然数)の積和演算処理を行うには、複数個(n個)の演算ブロックを必要とした。積和演算回路30においては、ビット線とデータ線で交差された位置の所定領域のそれぞれに抵抗変化型可変抵抗素子1を配置したアレイ構造を適用しているため、一つの演算処理ブロック36にて複数の積和演算処理が可能になる。また、演算処理ブロック36のユニットセル部が小さくなるため、従来技術に較べて、2桁〜3桁程度、演算処理ブロック36が縮小できる。
入力値保持ブロック(演算値保持ブロック)31は、演算値(乗数)Xiを保持するものである。
ソーティングブロック32は、演算値Xiを値の大きい順若しくは小さい順に出力するものである。
スイッチングブロック(1)33は、演算処理ブロック36の演算値Xiのラベルiに対応する端子へ演算値Xiを入力するものである。
荷重値保持ブロック(被演算値保持ブロック)34は、被演算値(被乗数)Wiを保持するものである。
スイッチングブロック(2)35は、演算処理ブロック36の被演算値Wiのラベルiに対応する端子へ被演算値Wiを入力するものである。
なお、演算値Xiと被演算値Wiのiは、それぞれ異なるXとWを表す添え字であり、1,2,3・・・の自然数をとる(以下同様)。
次ぎに、本実施形態における積和演算回路30による演算処理工程を説明する。
まず、図11に示すように、複数の演算値Xiは入力値保持ブロック31に保持され、さらにソーティングブロック32により、値の大きいもの順若しくは小さい順にソートされ出力される。
ここで本実施形態においては、値が等しい演算値Xiがある場合には、値が等しい演算値間での出力の順番は任意としているが、事前に適当な順番を設定しておいても良い。
続いて、演算値Xiが有するラベルiが,ソーティングブロック32からスイッチングブロック(1)33に入力され、そのラベルiに応じて,スイッチングブロック(1)33がスイッチングを行い、ソーティングブロック32から出力された演算値Xiをそのラベルiに対応する端子に入力する。
ここで、本実施形態においては、以上の入力値保持ブロック31とソーティングブロック32で実行される処理は、連想メモリ回路(不図示)を用いて実現する。
この連想メモリ回路には、演算値Xiの値と、それぞれの演算値Xiが有するラベルiと検出フラグとが保持されている。
連想メモリ回路は、入力された検索値と、保持しているデータを比較し、両者の値が一致するものを出力する機能を有する。この連想メモリ回路の一般的な機能を利用し、検出フラグが立っていない演算値Xiの中から値の大きな順に、1つずつその値とラベルを読み出し、読み出した値に検出フラグを立てることにより、前記の入力値保持ブロック31とソーティングブロック32で実行される処理を実現することが可能となる。
すなわち連想メモリ回路に対して、検索値として演算値Xiの最大値に相当する値から大きいもの順に一つずつ入力し、値が一致するデータを順に読み出すことにより、ソーティング機能を実現することが可能となる(逆に、演算値Xiの値の小さなもの順に読み出すことも可能である)。
なお本実施形態では、前記の通り、入力値保持ブロック31とソーティングブロック32の機能を連想メモリ回路で実現したが、具体的な回路構成は本発明の主眼とするところではなく、同様の処理が可能なものであれば、その他の処理構成を用いても良い。
一方、荷重値保持ブロック34から出力される複数の被演算値Wiは、それぞれ演算処理ブロック36の所定の端子に入力される。ここで本実施形態においては、被演算値Wiについても、演算値Xiと同様に、演算値Xiが有するラベルiに応じてスイッチングブロック(2)35においてスイッチングが行なわれ、ラベルiによって決定される所定の端子に入力される。
なお、本実施形態とは異なり、被演算値Wiが入力される演算ブロックが、演算値Xiのラベルiにはよらずに、事前に設定されている手法を用いることも可能である。また、各端子に入力される被演算値Wiの値は、演算毎に同一の場合も異なる場合もある。
本実施形態においては、荷重値保持ブロック34は一般的なSRAM(static random access memory)回路によって構成しても良いが、同様の処理が可能なものであれば、その他の処理構成を用いても良い。以上の処理を実行することにより、所定の演算ブロックに演算値Xiと被演算値Wiが入力される。
これ以降の処理は、実施の形態3と同様であるので、説明は省略する。
〔実施の形態6〕
本発明のさらに他の実施の形態であるニューラルネットワーク40について図12〜図13に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態5と同じである。また、説明の便宜上、前記の実施の形態5の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
本発明のさらに他の実施の形態であるニューラルネットワーク40について図12〜図13に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態5と同じである。また、説明の便宜上、前記の実施の形態5の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
図12は、本発明の一実施形態であるニューラルネットワーク40に対して積和演算方法を適用する際の演算処理ブロックの構成図である。
図13は、ニューラルネットワーク40に対して積和演算方法を適用する際の演算処理における各ステップのフローチャートである。
図12に示すように、ニューラルネットワーク40は、積和演算回路30A,積和演算回路30B,関数処理ブロック41A,及び関数処理ブロック41Bを備えるものである。
積和演算回路30A及び積和演算回路30Bは、実施の形態5で説明した積和演算回路30と同様の構成である。
よって、本実施形態では、積和演算回路30A,積和演算回路30Bなどが、関数処理ブロック41A,及び関数処理ブロック41Bなどを介して接続されてニューラルネットワークを構成している点が実施の形態5と異なっている。
すなわち、図11で説明した演算値Xiが前段ニューロ素子の出力値に相当し、また被演算値Wiがシナプス荷重値に相当し、ニューロン素子の内部状態値を決定する。
次ぎに、図13のフローチャートに基づき、ニューラルネットワーク40の動作について説明する。
ステップS1(以下、「ステップ」は省略する)では、ニューラルネットワーク40の前段のニューロン素子のそれぞれの出力値が演算値Xiとして、1意対応で、次段の1つのニューロン素子内の積和演算回路30Aの入力値保持ブロック31Aに入力され、S2に進む。
なお、「一意対応」とは、「1対1対応」及び「他対1対応」を含む概念である。
より具体的には、「1対1対応」とは、前段における1つのニューロン素子の出力値に対してシナプス荷重値で重み付けした値を、次段の1つのニューロン素子に入力する場合の対応関係のことである。
また、「他対1対応」とは、前段における複数のニューロン素子のそれぞれの出力値に対してシナプス荷重値で重み付けした値の総和を、次段の1つのニューロン素子に入力する場合の対応関係のことである。
S2では、入力値保持ブロック31Aが、入力された演算値Xiをラベルiに応じて、ソーティングブロック32Aに渡してS3に進む。
なお、「ラベルi」は、前記出力先のニューロン素子を識別する情報である。
S3では、ソーティングブロック32Aが、演算値Xiを値が大きいもの順又は小さいもの順に並べて、S4に進む。
S4では、ソーティングブロック32Aが、S3で大きいもの順又は小さいもの順に並べられた演算値Xiが記憶されるメモリ(不図示)内の所定の記憶領域を指定するためのフラグを決定し、決定されたフラグとラベルi若しくは演算値Xiとをスイッチングブロック(1)33Aに送信してS5に進む。
S5では、スイッチングブロック(1)33Aが、前記メモリに記憶された演算値Xiとラベルiとを読み出し、演算処理ブロック36Aの所定の端子に、入力する。
なお、S1からS5までと並行して、S6からS9までが進行する。
S6では、演算値Xiに対応する被演算値Wiを、シナプス荷重値として前記次段の1つのニューロン素子の荷重値保持ブロック34Aに入力し、S7に進む。なお、被演算値Wiは、ラベルiと対応づけられている。
S7では、荷重値保持ブロック34Aが、被演算値Wiが記憶されるメモリ(不図示)内の所定の記憶領域を指定するためのフラグを決定し、S8に進む。
S8では、荷重値保持ブロック34Aが、ソーティングブロック32Aから被演算値Wiに対応するラベルiを受け取り、決定したフラグに基づき、被演算値Wiとラベルiとをメモリ内の所定領域に記憶させ、S9に進む。
S9では、スイッチングブロック(2)35Aが、S7で決定されたフラグに基づき、S8でメモリに保持した被演算値Wiとラベルiとを、演算処理ブロック36Aの所定の端子に入力して、S10に進む。
S10では、演算処理ブロック36Aで演算値Xiと被演算値Wiとの積演算の結果のi=1から前記前段のニューロン素子の所定数までの、累積値が算出され関数処理ブロック41Aに入力されてS11に進む。
S11では、前記累積値が、関数処理ブロック41Aによって関数処理しS12に進む。
S12では、関数処理ブロック41Aが、関数処理後の出力値を後段(次段)の積和演算回路30Bに入力する。
本実施形態のニューラルネットワーク40では、S1〜S12までの各処理が繰り返される。
以上のように、ニューラルネットワーク40は、複数段のニューロン素子を有しており、特定段における所定数のニューロン素子の出力値に対してシナプス荷重値で重み付けした値のそれぞれを、一意対応で、該特定段に隣接する次段のニューロン素子に入力することにより、該ニューロン素子の内部状態を示す内部状態値が決定されるニューラルネットワークであって、前記各ニューロン素子は、前記積和演算装置を備えており、前記特定段におけるニューロン素子の出力値は、前記被乗数として前記次段のニューロン素子に備えられた積和演算装置へ入力されると共に、前記シナプス荷重値は、前記乗数として前記次段のニューロン素子に備えられた積和演算装置に入力され、前記次段のニューロン素子の内部状態を示す内部状態値は、前記積演算の累積結果に対応する出力値として前記次段のニューロン素子に備えられた積和演算装置から出力されるように構成されている。
前記構成によれば、前記各ニューロン素子は、前記積和演算装置を備えており、これらのニューロン素子の出力値、シナプス荷重値及び内部状態値のそれぞれを、前記積和演算装置に入・出力される、被乗数、乗数、及び被乗数及び乗数の積演算の累積結果で、ニューラルネットワークが構成されるため、従来のニューラルネットワークにおいて各ニューロン素子毎の内部状態値を算出する演算処理ブロックのそれぞれの縮小が可能になる。
以上説明した様に、本発明によれば、回路が簡素化された素子サイズの小さい積演算装置及び積和演算装置が実現できる。また、抵抗変化型可変抵抗素子に書き込んだ入力信号の積又は積和演算の結果を記憶することができ、必要に応じて、全体和又は部分和を出力することが可能になる。
よって、積演算装置及び積和演算装置における構成を簡素化し、これらの装置を含む回路全体の面積に対する積演算装置及び積和演算装置の占有面積を小さくすることが可能な積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などを提供することができる。
なお、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
なお、本発明の積和演算装置は、抵抗変化型可変抵抗素子の一方の端子に被乗数、他方の端子に乗数を入力し、入力信号の積を出力値として利用しても良い。
本発明の大きなポイントは、積和演算装置に抵抗変化型可変抵抗素子を用いる事にある。抵抗変化型可変抵抗素子とは、電圧パルスを印可する事によって可逆的に電気抵抗が変化する素子であり、近年、フラッシュメモリに代わる高速動作可能な次世代不揮発性ランダムアクセスメモリ(NVRAM:Nonvolatile Random Access Memory)として応用が期待されている。尚、抵抗変化型可変抵抗素子としては、非特許文献1に記載されている様なRRAM(Resistance RAM)やPCRAM(Phase Change RAM)が挙げられる。
即ち、本発明の積和演算装置においては、抵抗変化型可変抵抗素子の一方の端子に被乗数、他方の端子に乗数を入力し、入力信号の積を出力値として利用するようになっている。
また、本発明の積和演算装置は、前記積和演算装置の入力値において、乗数である電圧パルス幅及び被乗数であるパルス周波数により出力値が制御できても良い。
また、本発明の積和演算装置は、前記積和演算装置の入力値において、乗数である電圧パルス幅及び被乗数であるパルス電圧により出力値が制御できても良い。
また、本発明の積和演算装置は、前記積和演算装置において、単体の抵抗変化型可変抵抗素子により素子を形成しても良い。
また、本発明の積和演算装置は、前記積和演算装置において、行線と列線に接続された複数の抵抗変化型可変抵抗素子により素子を形成しても良い。
また、本発明の積和演算装置は、前記積和演算装置において、抵抗変化型可変抵抗素子に書き込んだ積和演算結果を記憶できても良い。
なお、抵抗変化型可変抵抗素子は、電源を切って素子に電圧がかからなくても、書き込みにより記憶した情報を保持することが可能である。
また、本発明の積和演算装置は、前記積和演算装置において、各行線と列線により指定される抵抗変化型可変抵抗素子に書き込んだ入力信号の積を記憶できても良い。
また、本発明の積和演算装置は、前記積和演算装置において、各行線と列線により指定される抵抗変化型可変抵抗素子に書き込んだ入力信号の積の部分和が出力できても良い。
また、本発明のニューラルネットワークは、複数段のニューロン素子を有するニューラルネットワークであって、各ニューロン素子が前記積和演算回路を備え、当該積和演算回路が前段のニューロン素子の出力値を前段複数の被演算値として入力し、前記乗算手段により各被演算値としてシナプス荷重を乗じ、前記乗算和として内部状態を算出しても良い。
本発明は、電気的ストレスの印加によって電気抵抗を変化させることで情報を記憶することが可能な抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法などに適用することができる。なお、本発明は、積演算及び積和演算を行なう演算回路を必要とする電子機器、及び電気機器であれば、どのような機器であっても適用可能である。
1 抵抗変化型可変抵抗素子(積演算装置)
2 データ線
3 ビット線
4 スイッチングトランジスタ
5 コンデンサ(記憶部)
6 オペアンプ
10 積和演算装置(積演算装置)
11A 上部電極(一方の端子,他方の端子)
11B 下部電極(一方の端子,他方の端子)
12 抵抗体
20 積和演算装置(積演算装置)
21 抵抗変化型可変抵抗素子
22 データ線
23 ビット線
24,27 スイッチングトランジスタ
25 コンデンサ(記憶部)
26 コンパレータ
100 積和演算装置(積演算装置)
ij1(111,121,211,221・・・:i,jは、自然数) 抵抗変化型可変抵抗素子
1i2(112,122・・・:iは、自然数) データ線
1j3(113,123・・・:jは、自然数) ビット線
1i4(114,124・・・:iは、自然数) スイッチングトランジスタ
1j7(117,127・・・:jは、自然数) スイッチングトランジスタ
1i5(115,125・・・:jは、自然数) コンデンサ(記憶部)
1i6(116,126・・・:jは、自然数) オペアンプ
30,30A,30B 積和演算回路(積演算装置,積和演算装置)
31,31A,31B 入力値保持ブロック(演算値保持ブロック)
32,32A,32B ソーティングブロック
33,33A,33B スイッチングブロック(1)
34,34A,34B 荷重値保持ブロック(被演算値保持ブロック)
35,35A,35B スイッチングブロック(2)
36,36A,36B 演算処理ブロック
40 ニューラルネットワーク
41A,41B 関数処理ブロック
A 端子(一方の端子)
B 端子(他方の端子)
σii コンダクタンス(iは、自然数)
Fi パルス周波数(電圧パルス周波数:iは、自然数)
Q 電荷量(出力値の累積値)
Ti パルス幅(電圧パルス幅:iは、自然数)
Vref 参照電圧
Vth 閾値電位
Wi 被演算値(被乗数:iは、自然数)
Xi 演算値(乗数:iは、自然数)
2 データ線
3 ビット線
4 スイッチングトランジスタ
5 コンデンサ(記憶部)
6 オペアンプ
10 積和演算装置(積演算装置)
11A 上部電極(一方の端子,他方の端子)
11B 下部電極(一方の端子,他方の端子)
12 抵抗体
20 積和演算装置(積演算装置)
21 抵抗変化型可変抵抗素子
22 データ線
23 ビット線
24,27 スイッチングトランジスタ
25 コンデンサ(記憶部)
26 コンパレータ
100 積和演算装置(積演算装置)
ij1(111,121,211,221・・・:i,jは、自然数) 抵抗変化型可変抵抗素子
1i2(112,122・・・:iは、自然数) データ線
1j3(113,123・・・:jは、自然数) ビット線
1i4(114,124・・・:iは、自然数) スイッチングトランジスタ
1j7(117,127・・・:jは、自然数) スイッチングトランジスタ
1i5(115,125・・・:jは、自然数) コンデンサ(記憶部)
1i6(116,126・・・:jは、自然数) オペアンプ
30,30A,30B 積和演算回路(積演算装置,積和演算装置)
31,31A,31B 入力値保持ブロック(演算値保持ブロック)
32,32A,32B ソーティングブロック
33,33A,33B スイッチングブロック(1)
34,34A,34B 荷重値保持ブロック(被演算値保持ブロック)
35,35A,35B スイッチングブロック(2)
36,36A,36B 演算処理ブロック
40 ニューラルネットワーク
41A,41B 関数処理ブロック
A 端子(一方の端子)
B 端子(他方の端子)
σii コンダクタンス(iは、自然数)
Fi パルス周波数(電圧パルス周波数:iは、自然数)
Q 電荷量(出力値の累積値)
Ti パルス幅(電圧パルス幅:iは、自然数)
Vref 参照電圧
Vth 閾値電位
Wi 被演算値(被乗数:iは、自然数)
Xi 演算値(乗数:iは、自然数)
Claims (13)
- 被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置であって、
電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、
該抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力し、他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力することにより、前記被乗数と前記乗数との積演算の結果に対応する出力値が出力されるように構成されていることを特徴とする積演算装置。 - 前記第1入力信号及び前記第2入力信号は、電圧パルスであり、
前記第1入力信号の電圧パルス幅と、前記第2入力信号のパルス周波数とにより前記出力値を制御するように構成されていることを特徴とする請求項1に記載の積演算装置。 - 前記第1入力信号及び前記第2入力信号は、電圧パルスであり、
前記第1入力信号の電圧パルス幅と、前記第2入力信号のパルス電圧とにより前記出力値を制御するように構成されていることを特徴とする請求項1に記載の積演算装置。 - 前記抵抗変化型可変抵抗素子は、前記第1入力信号及び前記第2入力信号の入力による前記積演算の結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶することを特徴とする請求項1から3までのいずれか1項に記載の積演算装置。
- 前記電気抵抗の変化によって記憶された前記積演算の結果は、前記抵抗変化型可変抵抗素子に所定の電圧パルスを印加することにより、消去可能となっていることを特徴とする請求項4に記載の積演算装置。
- 請求項1から5までのいずれか1項に記載の積演算装置を少なくとも1つ備えており、
複数セットの前記第1信号及び前記第2信号の入力により、該積演算装置から出力される前記セット毎の前記出力値の累積値に対応する第2出力値が出力されるように構成されていることを特徴とする積和演算装置。 - 前記抵抗変化型可変抵抗素子は、複数セットの前記第1入力信号及び前記第2入力信号の入力による前記セット毎の前記積演算の累積結果を、該抵抗変化型可変抵抗素子の電気抵抗の変化によって記憶することを特徴とする請求項6に記載の積和演算装置。
- 前記電気抵抗の変化によって記憶された前記積演算の累積結果は、前記抵抗変化型可変抵抗素子に所定の電圧パルスを印加することにより、消去可能となっていることを特徴とする請求項7に記載の積和演算装置。
- 請求項1から5までのいずれか1項に記載の積演算装置を複数備えており、
該複数の積演算装置のそれぞれから出力される出力値の累積値に対応する第2出力値が出力されるように構成されていることを特徴とする積和演算装置。 - 前記複数の積演算装置のうちの、所定数の積演算装置のそれぞれから出力される出力値の累積値に対応する第3出力値が出力されるように構成されていることを特徴とする請求項9に記載の積和演算装置。
- 前記複数の積演算装置のうち、所定数の積演算装置のそれぞれから出力される出力値の累積値を記憶する記憶部を備えていることを特徴とする請求項10に記載の積和演算装置。
- 複数段のニューロン素子を有しており、特定段における所定数のニューロン素子の出力値に対してシナプス荷重値で重み付けした値のそれぞれを、一意対応で、該特定段に隣接する次段のニューロン素子に入力することにより、該ニューロン素子の内部状態を示す内部状態値が決定されるニューラルネットワークであって、
前記各ニューロン素子は、請求項6から11までのいずれか1項に記載の積和演算装置を備えており、
前記特定段におけるニューロン素子の出力値は、前記被乗数として前記次段のニューロン素子に備えられた積和演算装置へ入力されると共に、
前記シナプス荷重値は、前記乗数として前記次段のニューロン素子に備えられた積和演算装置に入力され、
前記次段のニューロン素子の内部状態を示す内部状態値は、前記積演算の累積結果に対応する出力値として前記次段のニューロン素子に備えられた積和演算装置から出力されるように構成されていることを特徴とするニューラルネットワーク。 - 電圧パルスを印加することによって可逆的に電気抵抗が変化し、少なくとも2つの端子を有する抵抗変化型可変抵抗素子を備えており、被乗数と乗数とを入力することにより、これらの積演算の結果を出力する積演算装置により実行される積演算方法であって、
前記抵抗変化型可変抵抗素子の前記2つの端子の一方の端子に被乗数に対応する第1入力信号を入力する第1信号入力ステップと、
前記2つの端子の他方の端子に前記被乗数に乗算される乗数に対応する第2入力信号を入力する第2信号入力ステップと、
前記被乗数と前記乗数との積演算の結果に対応する出力値を出力する演算結果出力ステップと実行することを特徴とする積演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008134682A JP5160304B2 (ja) | 2008-05-22 | 2008-05-22 | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008134682A JP5160304B2 (ja) | 2008-05-22 | 2008-05-22 | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009282782A true JP2009282782A (ja) | 2009-12-03 |
JP5160304B2 JP5160304B2 (ja) | 2013-03-13 |
Family
ID=41453169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008134682A Expired - Fee Related JP5160304B2 (ja) | 2008-05-22 | 2008-05-22 | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5160304B2 (ja) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013108299A1 (ja) * | 2012-01-20 | 2013-07-25 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
WO2013111200A1 (ja) * | 2012-01-23 | 2013-08-01 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
US9818057B2 (en) | 2013-07-04 | 2017-11-14 | Panasonic Intellectual Property Management Co., Ltd. | Neural network circuit and learning method thereof |
JP2018501536A (ja) * | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
JP2018501537A (ja) * | 2014-10-23 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ドット積を求めるためのメムリスティブクロスバーアレイ |
JP2018014152A (ja) * | 2016-07-20 | 2018-01-25 | 株式会社デンソー | ニューラルネットワーク回路 |
JP2018120433A (ja) * | 2017-01-25 | 2018-08-02 | 株式会社東芝 | 積和演算器、ネットワークユニットおよびネットワーク装置 |
JP2018156575A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | 半導体記憶装置 |
JP6536765B1 (ja) * | 2018-09-27 | 2019-07-03 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイス及び積和演算方法 |
WO2019131141A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
WO2019131147A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
WO2019131137A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 |
WO2019176540A1 (ja) * | 2018-03-16 | 2019-09-19 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
WO2019188457A1 (ja) * | 2018-03-30 | 2019-10-03 | ソニー株式会社 | 半導体装置及び積和演算装置 |
JP2020013350A (ja) * | 2018-07-18 | 2020-01-23 | 国立研究開発法人産業技術総合研究所 | ボルツマンマシン |
WO2020075272A1 (ja) * | 2018-10-11 | 2020-04-16 | Tdk株式会社 | 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法 |
JP6841393B1 (ja) * | 2020-02-27 | 2021-03-10 | Tdk株式会社 | 演算回路及びニューロモーフィックデバイス |
JP6892026B1 (ja) * | 2020-02-27 | 2021-06-23 | Tdk株式会社 | 演算回路、及びニューロモーフィックデバイス |
US11615299B2 (en) | 2017-09-07 | 2023-03-28 | Panasonic Holdings Corporation | Neural network computation circuit including non-volatile semiconductor memory element |
US11625593B2 (en) | 2017-03-14 | 2023-04-11 | National University Corporation Hokkaido University | Fixed-weighting-code learning device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111512313B (zh) | 2017-12-28 | 2023-07-18 | Tdk株式会社 | 积和运算器、神经形态器件及积和运算器的使用方法 |
US10635398B2 (en) * | 2018-03-15 | 2020-04-28 | Macronix International Co., Ltd. | Voltage sensing type of matrix multiplication method for neuromorphic computing system |
JP7127454B2 (ja) | 2018-09-26 | 2022-08-30 | Tdk株式会社 | メモリスタ回路、メモリスタ制御システム、アナログ積和演算器、及びニューロモーフィックデバイス |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57120178A (en) * | 1981-01-16 | 1982-07-27 | Yamatake Honeywell Co Ltd | Multiplying circuit |
JPH01161585A (ja) * | 1987-12-18 | 1989-06-26 | Toshiba Corp | 乗算器 |
JPH11161730A (ja) * | 1997-12-01 | 1999-06-18 | Sharp Corp | アナログ乗算回路 |
JP2000035878A (ja) * | 1998-07-17 | 2000-02-02 | Texas Instr Japan Ltd | 加算演算装置及び加算演算機能付き半導体メモリ装置 |
JP2005122466A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
JP2005122465A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
JP2006048298A (ja) * | 2004-08-03 | 2006-02-16 | Sony Corp | 演算回路 |
JP2007004514A (ja) * | 2005-06-24 | 2007-01-11 | Elpida Memory Inc | 人工神経回路 |
JP2007066258A (ja) * | 2005-09-02 | 2007-03-15 | Canon Inc | 演算装置 |
JP2007115116A (ja) * | 2005-10-21 | 2007-05-10 | Hiroshima Industrial Promotion Organization | ニューロン素子およびそれを用いた情報処理方法 |
JP2007241475A (ja) * | 2006-03-06 | 2007-09-20 | Canon Inc | 差動乗算回路及び積和演算回路 |
-
2008
- 2008-05-22 JP JP2008134682A patent/JP5160304B2/ja not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57120178A (en) * | 1981-01-16 | 1982-07-27 | Yamatake Honeywell Co Ltd | Multiplying circuit |
JPH01161585A (ja) * | 1987-12-18 | 1989-06-26 | Toshiba Corp | 乗算器 |
JPH11161730A (ja) * | 1997-12-01 | 1999-06-18 | Sharp Corp | アナログ乗算回路 |
JP2000035878A (ja) * | 1998-07-17 | 2000-02-02 | Texas Instr Japan Ltd | 加算演算装置及び加算演算機能付き半導体メモリ装置 |
JP2005122466A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
JP2005122465A (ja) * | 2003-10-16 | 2005-05-12 | Canon Inc | 積和演算回路及びその方法 |
JP2006048298A (ja) * | 2004-08-03 | 2006-02-16 | Sony Corp | 演算回路 |
JP2007004514A (ja) * | 2005-06-24 | 2007-01-11 | Elpida Memory Inc | 人工神経回路 |
JP2007066258A (ja) * | 2005-09-02 | 2007-03-15 | Canon Inc | 演算装置 |
JP2007115116A (ja) * | 2005-10-21 | 2007-05-10 | Hiroshima Industrial Promotion Organization | ニューロン素子およびそれを用いた情報処理方法 |
JP2007241475A (ja) * | 2006-03-06 | 2007-09-20 | Canon Inc | 差動乗算回路及び積和演算回路 |
Non-Patent Citations (2)
Title |
---|
S. Q. LIU, N. J. WU, A. IGNATIEV: "Electric-pulse-induced reversible resistance change effect in magnetoresistive films", APPLIED PHYSICS LETTERS, vol. 76, no. 19, JPN7012004801, 2000, pages 2749 - 2751, XP012025238, ISSN: 0002392609, DOI: 10.1063/1.126464 * |
木村啓明 羽生貴弘 亀山充隆: "不揮発性デバイスを用いたロジックインメモリVLSIの構成", 電子情報通信学会技術研究報告, vol. 103, no. 2, JPN6009058614, 10 April 2003 (2003-04-10), JP, pages 23 - 27, ISSN: 0002392608 * |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013108299A1 (ja) * | 2012-01-20 | 2013-07-25 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
JP5289646B1 (ja) * | 2012-01-20 | 2013-09-11 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
US8775346B2 (en) | 2012-01-20 | 2014-07-08 | Panasonic Corporation | Learning method of neural network circuit |
WO2013111200A1 (ja) * | 2012-01-23 | 2013-08-01 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
JP5289647B1 (ja) * | 2012-01-23 | 2013-09-11 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
US8965821B2 (en) | 2012-01-23 | 2015-02-24 | Panasonic Intellectual Property Management Co., Ltd. | Learning method of neural network circuit |
US9818057B2 (en) | 2013-07-04 | 2017-11-14 | Panasonic Intellectual Property Management Co., Ltd. | Neural network circuit and learning method thereof |
JP2018501537A (ja) * | 2014-10-23 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ドット積を求めるためのメムリスティブクロスバーアレイ |
US10008264B2 (en) | 2014-10-23 | 2018-06-26 | Hewlett Packard Enterprise Development Lp | Memristive cross-bar array for determining a dot product |
JP2018501536A (ja) * | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
US10643697B2 (en) | 2014-10-30 | 2020-05-05 | Hewlett Packard Enterprise Development Lp | Double bias memristive dot product engine for vector processing |
JP2018014152A (ja) * | 2016-07-20 | 2018-01-25 | 株式会社デンソー | ニューラルネットワーク回路 |
JP2018120433A (ja) * | 2017-01-25 | 2018-08-02 | 株式会社東芝 | 積和演算器、ネットワークユニットおよびネットワーク装置 |
US11625593B2 (en) | 2017-03-14 | 2023-04-11 | National University Corporation Hokkaido University | Fixed-weighting-code learning device |
JP2018156575A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | 半導体記憶装置 |
US11615299B2 (en) | 2017-09-07 | 2023-03-28 | Panasonic Holdings Corporation | Neural network computation circuit including non-volatile semiconductor memory element |
WO2019131137A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 |
JPWO2019131137A1 (ja) * | 2017-12-28 | 2020-09-24 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 |
WO2019131141A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
CN111512311B (zh) * | 2017-12-28 | 2023-10-13 | Tdk株式会社 | 积和运算器、神经形态器件以及积和运算器的故障判断方法 |
JPWO2019131141A1 (ja) * | 2017-12-28 | 2020-11-19 | Tdk株式会社 | 積和演算器の使用方法 |
CN111512311A (zh) * | 2017-12-28 | 2020-08-07 | Tdk株式会社 | 积和运算器、神经形态器件以及积和运算器的故障判断方法 |
US11797829B2 (en) | 2017-12-28 | 2023-10-24 | Tdk Corporation | Product-sum operation device, neuromorphic device, and method for using product-sum operation device |
WO2019131147A1 (ja) * | 2017-12-28 | 2019-07-04 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
CN111279351A (zh) * | 2018-03-16 | 2020-06-12 | Tdk株式会社 | 积和运算器、神经形态器件以及积和运算器的使用方法 |
JPWO2019176540A1 (ja) * | 2018-03-16 | 2020-04-16 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
WO2019176540A1 (ja) * | 2018-03-16 | 2019-09-19 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
CN111279351B (zh) * | 2018-03-16 | 2023-08-25 | Tdk株式会社 | 积和运算器、神经形态器件以及积和运算器的使用方法 |
WO2019188457A1 (ja) * | 2018-03-30 | 2019-10-03 | ソニー株式会社 | 半導体装置及び積和演算装置 |
US11972229B2 (en) | 2018-03-30 | 2024-04-30 | Sony Group Corporation | Semiconductor device and multiply-accumulate operation device |
JP7089750B2 (ja) | 2018-07-18 | 2022-06-23 | 国立研究開発法人産業技術総合研究所 | ボルツマンマシン |
JP2020013350A (ja) * | 2018-07-18 | 2020-01-23 | 国立研究開発法人産業技術総合研究所 | ボルツマンマシン |
WO2020065881A1 (ja) * | 2018-09-27 | 2020-04-02 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイス及び積和演算方法 |
CN112654996A (zh) * | 2018-09-27 | 2021-04-13 | Tdk株式会社 | 积和运算器、神经形态器件以及积和运算方法 |
JP6536765B1 (ja) * | 2018-09-27 | 2019-07-03 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイス及び積和演算方法 |
CN112639797A (zh) * | 2018-10-11 | 2021-04-09 | Tdk株式会社 | 积和运算器、逻辑运算器件、神经形态器件及积和运算方法 |
WO2020075272A1 (ja) * | 2018-10-11 | 2020-04-16 | Tdk株式会社 | 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法 |
WO2021171480A1 (ja) * | 2020-02-27 | 2021-09-02 | Tdk株式会社 | 演算回路及びニューロモーフィックデバイス |
WO2021171454A1 (ja) * | 2020-02-27 | 2021-09-02 | Tdk株式会社 | 演算回路、及びニューロモーフィックデバイス |
JP6892026B1 (ja) * | 2020-02-27 | 2021-06-23 | Tdk株式会社 | 演算回路、及びニューロモーフィックデバイス |
JP6841393B1 (ja) * | 2020-02-27 | 2021-03-10 | Tdk株式会社 | 演算回路及びニューロモーフィックデバイス |
Also Published As
Publication number | Publication date |
---|---|
JP5160304B2 (ja) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5160304B2 (ja) | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 | |
Oh et al. | Energy-efficient Mott activation neuron for full-hardware implementation of neural networks | |
JP6477924B2 (ja) | メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法 | |
Yang et al. | Transiently chaotic simulated annealing based on intrinsic nonlinearity of memristors for efficient solution of optimization problems | |
JP4620943B2 (ja) | 積和演算回路及びその方法 | |
US20180114569A1 (en) | Hardware accelerators for calculating node values of neural networks | |
US20230082240A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
Covi et al. | Ferroelectric-based synapses and neurons for neuromorphic computing | |
US20200279012A1 (en) | Resistive Memory Device For Matrix-Vector Multiplications | |
KR102542532B1 (ko) | 혼합-신호 연산 시스템 및 방법 | |
US11544540B2 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
US11055611B2 (en) | Circuit for CMOS based resistive processing unit | |
CN110007895B (zh) | 一种模拟乘法电路、模拟乘法方法及其应用 | |
Dong et al. | Neuromorphic extreme learning machines with bimodal memristive synapses | |
Lin et al. | Analysis and simulation of capacitor-less ReRAM-based stochastic neurons for the in-memory spiking neural network | |
Dong et al. | Hybrid dual‐complementary metal–oxide–semiconductor/memristor synapse‐based neural network with its applications in image super‐resolution | |
KR102105936B1 (ko) | 웨이트 행렬 입력 회로 및 웨이트 행렬 회로 | |
CN113643175A (zh) | 数据处理方法及电子装置 | |
JP4579798B2 (ja) | 演算装置 | |
Daoud et al. | A high precision write/read circuits for memristors using digital input/output interfaces | |
Antolini et al. | Combined hw/sw drift and variability mitigation for pcm-based analog in-memory computing for neural network applications | |
Molahasani Majdabadi et al. | Hybrid CMOS/memristor crossbar structure for implementing hopfield neural network | |
Wang et al. | Mapping the BCPNN learning rule to a memristor model | |
Gnawali et al. | Low power artificial neural network architecture | |
US20200379673A1 (en) | Device for high dimensional computing comprising an associative memory module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101215 |
|
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: 20121127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121212 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |