JP2004030624A - 半導体装置及びその学習方法 - Google Patents

半導体装置及びその学習方法 Download PDF

Info

Publication number
JP2004030624A
JP2004030624A JP2003132012A JP2003132012A JP2004030624A JP 2004030624 A JP2004030624 A JP 2004030624A JP 2003132012 A JP2003132012 A JP 2003132012A JP 2003132012 A JP2003132012 A JP 2003132012A JP 2004030624 A JP2004030624 A JP 2004030624A
Authority
JP
Japan
Prior art keywords
voltage
load
integrator
load voltage
semiconductor device
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.)
Pending
Application number
JP2003132012A
Other languages
English (en)
Other versions
JP2004030624A5 (ja
Inventor
Michihito Ueda
上田 路人
Kenji Toyoda
豊田 健治
Takashi Otsuka
大塚 隆
Kiyoyuki Morita
森田 清之
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003132012A priority Critical patent/JP2004030624A/ja
Publication of JP2004030624A publication Critical patent/JP2004030624A/ja
Publication of JP2004030624A5 publication Critical patent/JP2004030624A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Memories (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】学習の信頼性が高く、且つ実用に耐えうる演算速度を有するニューラルネットワーク装置として機能する半導体装置及びその学習方法を提供する。
【解決手段】本発明の半導体装置及びその学習方法は、入力される荷重電圧に応じて荷重が変化するシナプスとしての積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置又はその学習方法であって、前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を算出するステップAと、その後、前記積算器の荷重を変化させて前記誤差の変化量を算出するステップBと、前記誤差の変化量に基づいて前記積算器の荷重を変化させるステップCとを有し、前記ステップB及びCにおいて、前記積算器に対し、前記荷重を略一定値(Pres)に揃えるためのリセット電圧Vresを前記荷重電圧として入力した後、変化させようとする荷重に対応する荷重電圧VD2を入力することにより、前記荷重(P)を変化させる。
【選択図】    図13

Description

【0001】
【発明の属する技術分野】
本発明は、ニューラルネットワーク情報処理に用いられる半導体装置及びその学習方法に関する。
【0002】
【従来の技術】
半導体集積回路技術の進展はめまぐるしいものがあり、単なるメモリばかりでなく、様々な高機能論理集積回路が開発されている。しかし、これらの論理回路は、2値の信号を用いて演算を行なっており、単純な数値計算に対しては非常に高速な演算が可能であるが、パターン認識や画像の処理といったむしろ人間には容易な演算には膨大な時間を要してしまうという性質がある。
【0003】
このような、従来のLSIが不得手な演算処理を高速に行える装置として、生物の脳における情報処理方法を利用するコンピュータである、ニューラルネットワーク装置が研究されている。
【0004】
図18は、ニューラルネットワーク情報処理における最小単位の素子(パーセプトロン)を示す図であり、図19はニューラルネットワーク(以下、本明細書中では「ニューラルネットワーク」を「NN」と略記する)情報処理を説明するための図である。
【0005】
図18において、201はニューロユニットであり、NN情報処理の基本演算を行う最小単位である。ニューロユニットはパーセプトロンとも呼ばれる。ニューロユニットは、シナプス203とニューロ205の2つの部分から成り立っている。シナプス203は、入力Xk(kは自然数)にそれぞれ荷重と呼ばれる係数Wkを積算して出力する機能を有する。一方、ニューロ205は、複数のシナプス203から出力された入力信号を全て足し算する和算機能と、和算結果を閾値処理する閾値処理機能とを持つ。
【0006】
このニューロユニットの機能を数式で表すと、
y=f〔Σ(k=1〜n)(Wk・Xk)〕        (1)
となる(nは自然数)。ここに、fは閾値関数でありシグモイド関数などである。シグモイド関数は、下式(2)の形で表される。
【0007】
f(z)=1/(1+exp−Z)          (2)
図19は、図18に示すニューロユニットを用いて実際のNN演算を行うときの構成を模式的に示す図である。同図には、最も単純なNN演算である2入力1出力の場合を示している。
【0008】
図19に示すように、入力V1,V2と出力V0の間に中間層と呼ばれる層が設けられ、この中間層がニューロユニットを結合して構成される。
【0009】
なお、以下では簡単のため、2段構成のニューラルネットワーク装置について説明する。最終的な出力を送出する段を出力層、入力とこの出力層との間の段を中間層、と称する。
【0010】
入力と出力との相関は、各ニューロユニットで複数の演算が行われる積算において、入力に対して積算する係数(荷重)を最適に設定することで関連付けられる。なおこの荷重を最適に設定するための演算を学習と呼ぶ。
【0011】
このように、ニューラルネットワーク装置では特に非常に多くの積算を行う必要があることから、その演算時間は入力数とともに爆発的に増加してしまう。
しかも、中間層が3段以上の場合には、演算数はさらに多くなり、演算時間は長くなる。
【0012】
この課題に対し、積算、和算、閾値処理などの単純な演算をアナログ演算することで高速なNN演算処理を実行しようとするニューラルネットワーク装置の研究がなされている。
【0013】
このようなニューラルネットワーク装置の従来例としては、以下に説明する半導体装置(以下、第1の従来例という)が挙げられる(例えば特許文献1参照)。
【0014】
図20は、第1の従来例のニューラルネットワーク装置の構成を示す回路図である。同図に示すように、従来のニューラルネットワーク装置は、互いに接続されたPチャネル型MISトランジスタ(以下、「PMIS」と略記する)222と、Nチャネル型MISトランジスタ(以下「NMIS」と略記する)221と、PMIS222及びNMIS221に接続されたニューロン回路227とを備えている。このNMIS221は、フローティングゲート213を有しており、このフローティングゲート213は、電荷注入用電源216に接続されている。ここで、PMIS222、NMIS221、及び電荷注入用電源216が図18のシナプス203に相当し、ニューロン回路227が図18のニューロ205に相当する。
【0015】
従来のニューラルネットワーク装置では、MISトランジスタのゲート電極へ複数のキャパシタを介して電圧を入力することで和算をアナログ的に実行する一方で、閾値処理はMISのゲート電圧−ドレイン電流特性(VG−ID特性)を利用することで表現している。さらに、フローティングゲート213に注入された電荷の有無により、NMIS221の閾値が変化するので、NMIS221が導通状態になるゲート電圧を変化させることができる。これにより、演算時の重み付けが行われる。
【0016】
また、図21は、従来のニューロン回路であるニューロンMISFET(以下、本明細書中では、この素子をνMISと称する)を示す図である。図20に示す、ニューロン回路227の入力端子218a〜218dは、図21に示すνMIS227の入力端子ともなっており、和算処理及び閾値処理が行われる。
【0017】
一方、このようなNN演算の学習法については、例えばバックプロパゲーション法(以下、BP法という)が広く知られている。
BP法は、ある演算についての望ましい値(教師値Tk又は目標荷重)がある時に使用され、次のような手順で学習を行なう。
(a)NN演算を行って出力を得る(前向き演算)。
(b)出力値Okと教師値Tkとの間の誤差Epを算出する。
(c)誤差Epを小さくするように荷重を修正する(後ろ向き演算)。
【0018】
以上の手順(a)〜(c)を繰り返すことによって最適な演算を行うための荷重が導かれる。荷重の修正は各シナプスについて行われるが、誤差に影響するシナプスの荷重ほど大きく修正される。なお、ニューラルネットワーク装置では、シナプスの機能を有する装置として積算器が用いられる。
【0019】
このように、閾値関数や各ニューロの出力が分かる場合、BP法を用いることで効率的な演算が可能になる。
【0020】
BP法による演算をソフトウェアで行なう場合、これらの変数は容易に呼出して参照し計算に用いることが可能である。しかし、ハードウェアでこの演算を行なう場合、特に中間層の出力を得るには、中間層から配線を伸ばすなどしてその出力値を検出する必要が出てくる。中間層のニューロン数が多い場合にはこの配線の占有面積がコストの面から不利であるだけでなく、特にアナログ動作をさせる場合には不安定動作の一因として懸念される。
【0021】
また、閾値関数についても、ハードウェアを構成する素子の電気的特性が理論値からずれるため、ある程度近似的な関数として学習制御ルーチンを適用することになるが、このような近似が学習効率の低下や、最悪の場合、学習動作が発散するなどの悪影響を与える恐れが懸念される。
【0022】
この課題に対し、中間層の出力を得ずともBP法を実行する学習制御法(以下、
第2の従来例という)が提案されている(例えば特許文献2参照)。
【0023】
この第2の従来例では、荷重を実際に微小変化させ、その時の出力変化からBP法における荷重変更を行うことにより、中間層の出力が分からなくてもBP法を適用できるという利点を有する。また、閾値関数が不明でも(又は関数として記述できなくても)、出力変化によりBP法が適用でき、閾値素子のバラツキなどに柔軟に対応できるという長所を有している。
【0024】
以上の2つの従来例によれば、ニューラルネットワーク装置をアナログのハードウェアとして高速演算を実行することができる。さらに、学習についても、素子の閾値特性によらず、ニューラルネットワーク装置の出力のみから最適荷重への収束処理が可能となる。
【0025】
【特許文献1】
特許第3122756号公報
【特許文献2】
特開平3−226884号公報
【0026】
【発明が解決しようとする課題】
しかし、第1の従来例のニューラルネットワーク装置で用いられる積算器では、極薄の絶縁薄膜のトンネル電流を用いて荷重の変更を行うために、動作が遅いという不具合があった。フローティングゲートへの電荷注入には、数10msec程度の時間が必要であるが、BP法では学習時に荷重を微小変更するために膨大な回数の演算を行なうので、演算時間を実用に耐えられる程度に短縮することが難しかった。
【0027】
また、上述のニューラルネットワーク装置では、複数の荷重を制御性良く設定することが困難であった。
【0028】
図22は、従来の積算器のフローティングゲートにおける印加電圧とトンネル電流との関係を示す図である。同図に示すように、トンネル電流は、印加電圧に対して指数関数的に増加するため、積算器のフローティング電極へ注入する電荷量を制御することは難しかった。そのため、従来のニューラルネットワーク装置においては、積算する係数(荷重)の階調数が限られていた。
【0029】
一方、第2の従来例のニューラルネットワーク装置の学習動作方法によれば、荷重を微小変更したり、適切値に変更したりする際に、素子特性が理想的な場合には効率的な学習が可能であるが、実際の素子が非線形であったりヒステリシスを有する場合などについては学習の収束に信頼性が欠けていた。
【0030】
本発明は、上記のような課題を解決するためになされたもので、学習の信頼性が高く、且つ実用に耐えうる演算速度を有するニューラルネットワーク装置として機能する半導体装置及びその学習方法を提供することを目的としている。
【0031】
【課題を解決するための手段】
上記課題を解決すべく、本件発明者は、ニューラルネットワーク装置の実用化を図るために、積算器を改良することを考えた。これは、従来技術で用いられる積算器の演算速度が不十分であったことに加え、ニューラルネットワーク装置を構成する素子の中で積算器の素子数が最も多いため、積算器の性能を向上させることがニューラルネットワーク装置の性能向上に最も寄与すると考えられるからである。
【0032】
そして、本件発明者は、不揮発の多値メモリ技術を積算器に応用することにより、複数の荷重を加えることと、積算器の動作速度の向上とが併せて実現可能であることを見いだした。強誘電体メモリや相変化メモリは、2値以上のデータを記憶することができ、且つ書き込み時間は共に100nsec以下である。そのため、これらの多値メモリを積算器に応用することで、従来の積算器に比べて大幅に荷重変調の速度を向上させることが可能になる。
具体的には、本発明に係る半導体装置及びその学習方法は、入力される荷重電圧に応じて荷重が変化するシナプスとしての積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置又はその学習方法であって、前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を算出するステップAと、その後、前記積算器の荷重を変化させて前記誤差の変化量を算出するステップBと、前記誤差の変化量に基づいて前記積算器の荷重を変化させるステップCとを有し、前記ステップB及びCにおいて、前記積算器に対し、前記荷重を略一定値に揃えるためのリセット電圧を前記荷重電圧として入力した後、変化させようとする荷重に対応する荷重電圧を入力することにより、前記荷重を変化させる。このような構成とすると、積算器にリセット電圧を入力することにより、荷重が、一旦、略一定値に揃えられるので、積算器の荷重が荷重電圧に対し前歴の影響を受ける特性を有していても、適切に荷重を設定することができる。その結果、学習の信頼性を高めることができる。
前記変化させようとする荷重に対応する荷重電圧の絶対値は前記リセット電圧の絶対値より小さいことが好ましい。このような構成とすると、荷重が荷重電圧に対しヒステリシス特性を有する場合に、効率良く荷重を最適化することができる。
前記リセット電圧の波形がパルス状であってもよい。
前記積算器と異なる積算器について、前記ステップA乃至Cを遂行してもよい。前記誤差が所定値を下回るまで、各積算器について、順に繰り返すようにして、前記ステップA乃至Cを遂行してもよい。
前記荷重電圧に対する前記積算器の荷重の変化がヒステリシス特性を有してもよい。このような構成とすると、本発明が特に顕著な効果を奏する。
前記リセット電圧の絶対値が前記ヒステリシス特性における飽和電圧の絶対値より大きいことが好ましい。飽和電圧より絶対値の大きい荷重電圧を入力すると、荷重が一義的に定まるので、このような構成とすることにより、リセット電圧を適切に設定することができる。
前記積算器は前記荷重電圧が一方の電極に印加される強誘電体キャパシタを有し、該強誘電体キャパシタの他方の電極の電位に応じて前記荷重が定まってもよい。
前記積算器は、前記荷重電圧の印加により結晶状態が変化する抵抗変化材料を有し、該結晶状態の変化に応じて前記荷重が定まってもよい。
前記リセット電圧の印加により前記抵抗変化材料が略非晶質状態になってもよい。このような構成とすると、リセット電圧の印加後に印加した荷重電圧に対し、抵抗変化材料の結晶状態が一義的に定まるので、適切に荷重を設定することができる。
また、本発明に係る半導体装置又はその学習方法は、入力される荷重電圧に対しヒステリシス特性を有して荷重が変化するシナプスとしての複数の積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置又はその学習方法であって、前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を、前記積算器に前記荷重電圧として前記荷重を略一定値に揃えるためのリセット電圧を入力しないで、所定値以下にして学習を収束させるステップAと、前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記リセット電圧を所定電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップBとを有する。このような構成とすると、リセット電圧の印加回数を低減することができる。
前記ステップBにおける前記リセット電圧及び前記探索用荷重電圧がパルス状であり、前記ステップBで得られた前記誤差が前記ステップAで得られた最終的な誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップCとを有してもよい。
前記探索用荷重電圧をステップ毎に所定のルールに従って変化させながら、そのステップで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップCを繰り返してもよい。
前記探索用荷重電圧が、前記ステップB以降のステップの進行に連れてステップ状に変化してもよい。
前記リセット電圧が負であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ大きくなってもよい。
前記リセット電圧が正であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ小さくなってもよい。
前記ステップBは、前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、該荷重電圧を該リセット電圧からその極性が反転する方向に連続的に変化させて該荷重電圧が印加された状態で前記誤差が最小となる荷重電圧を取得するステップDと、次いで、前記選択された積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記誤差が最小となる荷重電圧からなるパルス状の探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップEとを有し、さらに、前記ステップEで得られた前記誤差が前記ステップDで得られた最小の誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップFとを有してもよい。このような構成とすると、さらにリセット電圧の印加回数を低減することができる。
前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前のステップにおける前記探索用荷重電圧を前記所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップGをさらに有し、該ステップGで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップGを繰り返してもよい。
前記探索用荷重電圧が、前記ステップE以降のステップの進行に連れて、前記ステップDにおける荷重電圧の連続的な変化方向にステップ状に変化してもよい。
【0033】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【0034】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
【0035】
図1に示すように、本実施形態のニューラルネットワーク装置1は、入出力パターンなどのNN情報処理に用いるデジタルデータからなる情報を格納するメモリ5と、メモリ5から読み出したデータを保持しかつ入力データとして出力する入力データ保持部7と、入力データ保持部7から出力されるデジタルデータをアナログデータに変換(以下、D/A変換という)してニューロ素子3に入力するためのD/Aコンバータ9と、D/Aコンバータ9から出力されるアナログの入力データをNN情報処理するニューロ素子3と、ニューロ素子3から出力されるアナログの出力データをデジタルデータに変換(以下、D/A変換という)するためのA/Dコンバータ13と、A/Dコンバータ13からデジタルで出力されるニューロ素子3の出力データを用いて、ニューロ素子3の学習動作の制御を含む各種の制御を行うための制御部15と、制御部15から出力される後述の誤差をD/A変換してニューロ素子3に入力するD/Aコンバータ11と、制御部15からの制御信号に基づいてニューロ素子3内の誤差を書き込むべきシナプスを選択するセル選択部17と、制御部15における演算結果などのデータを記憶するメモリ19と、制御部15による学習動作が完了した状態においてニューロ素子3から送出されるNN情報処理結果を出力するための出力部21とを有している。なお、制御部15は、CPUなどの演算素子で構成され、メモリ5、メモリ19などの記憶手段に格納された制御プログラムに従って上記制御を行う。
【0036】
本実施形態においては、入力データは、特徴量を0から1の間の数値で表したデジタルデータのベクトルとしてメモリ5に記憶されている。
また、メモリ5には教師値が記憶されている。
【0037】
以上のように構成されたニューラルネットワーク装置1では、学習動作時には、まず、制御部15から入出力パターンを選択するための信号がメモリ5に出力され、その選択された入出力パターンが入力データとしてメモリ5から入力データ保持部7に出力される。
【0038】
次いで、この入力データがD/Aコンバータ9によりアナログデータに変換されてニューロ素子3に入力される。ニューロ素子3はこの入力データをNN情報処理してその処理結果をA/Dコンバータ13を介して制御部15に出力する。
【0039】
制御部15は、ニューロ素子3からの出力とメモリ5から読み出した教師値との誤差を求め、その誤差に基づいて各シナプスにおける新規荷重を算出する。この結果に基づいて、セル選択部17がニューロ素子3内の所定のシナプスを選択して書き込み可能な状態とする。
次いで、所定のシナプスが書き込み可能な状態になると、制御部15から新規荷重がD/Aコンバータ11を介してニューロ素子3へ伝えられる。それにより、ニューロ素子3では所定のシナプスの荷重が新規過重に書き換えられる。
【0040】
次いで、制御部15から入出力パターンを選択するための信号がメモリ5に出力された後、メモリ5から入力データが入力データ保持部7に出力され、上記と同様にしてニューロ素子3で再度NN情報処理が行われる。
【0041】
そして、ニューロ素子3から処理結果が、A/Dコンバータ13を介して制御部15に入力される。制御部15は、この処理結果をメモリ19に送出する。メモリ19はこれを保持する。以上の動作を繰り返すことにより、ニューロ素子3の全てのシナプスの荷重が最適化される(上記誤差が所定値以下になる)と学習動作が完了する。
【0042】
一方、通常の制御動作においては、制御部15により選択されメモリ5から入力データ保持部7に出力された入力データが、D/Aコンバータ11を介してニューロ素子3に入力され、そこでNN情報処理される。そして、その処理結果が、A/Dコンバータ13及び制御部15を介して出力部21に送出され、出力部21から外部に出力される。
【0043】
次に、ニューロ素子3の構成について説明する。
【0044】
図2は、図1のニューラルネットワーク装置におけるニューロ素子3の構成の一例を示す模式図である。
【0045】
同図に示すように、ニューロ素子3は、大きく分けて入力層、中間層及び出力層の3層から構成されている。入力層は、多数の入力端子31から構成されており、各入力端子31は複数のニューロユニット33に接続されている。また、中間層は多数のニューロユニット33から構成されている。中間層を構成する各ニューロユニット33は、出力層に配置された複数のニューロユニット33に接続され、出力層内のニューロユニット33は、同じ出力層内の出力端子35に接続されている。
【0046】
図3は、本実施形態のニューラルネットワーク装置におけるニューロユニット33の構成を示す図である。同図に示すように、ニューロユニット33は、多数の積算器41と、その多数の積算器41からの出力を総和する(正確には総和に比例する値を得る)ための和算器43と、閾値処理器45とを有している。そして、積算器41がシナプスを構成し、和算器43及び閾値処理器45がニューロを構成している。閾値処理器45は、和算器43の出力を閾値処理するものであり、所定の閾値前後の入力に対し出力が急速に変化する入力−出力特性を有する。なお、本実施形態では和算器43及び閾値処理器45は、従来技術と同様に図21に示すようなνMISにより構成されている。また、積算器41は、入力信号に荷重を積算して出力する機能を有している。さらに、積算器41は、図示しない荷重保持部を有し、荷重の変更が可能になっている。
【0047】
このように構成されたニューロユニット33では、複数の入力データがそれぞれ積算器41において荷重を積算され、和算器43において和算され、閾値処理器45において閾値処理されて出力される。また、後述するように荷重保持部を通じて積算器41の荷重が変更される。
【0048】
本発明のニューラルネットワーク装置は、この積算器41に特徴を有するので、以下、積算器41について説明する。
【0049】
図4は、本実施形態のニューラルネットワーク装置に用いられる積算器41の構成を示す回路図である。
【0050】
同図に示すように、本実施形態の積算器41では、Nチャネル型MISトランジスタ(NMIS)49とPチャネル型MISトランジスタ(PMIS)47とから構成されたソースフォロワ回路の共通ゲート電極に強誘電体キャパシタ44が接続されている。ここで、ソースフォロワ回路とは、PMIS47とNMIS49とのソース同士を互いに接続し、NMIS49のドレイン電圧をPMIS47のドレイン電圧より高くして使用する回路である。また、本実施形態の積算器41において、PMIS47の基板領域はNMIS49のドレインと同電位にし、NMIS49の基板領域はPMIS47のドレインと同電位とする。
【0051】
本実施形態の積算器41では、強誘電体キャパシタ44の上部電極に荷重電圧Vがパルス状に印加され、その結果、強誘電体キャパシタ44の電極のうちPMIS47及びNMIS49のゲート電極に接続された側の電極(以下、フローティング電極又はFG電極と称する)に、強誘電体の分極に伴う電荷が保持され、電位(以下、FG電圧という)VFGを生じる。このとき、PMIS47のドレインを例えば接地し、NMIS49のドレインに入力電圧Vinを入力すると、FG電圧VFGと入力電圧Vinにより決定される出力電圧Voutが出力される。このFG電圧VFG、入力電圧Vin及び出力電圧Voutの関係については後で詳しく説明する。本実施形態の積算器においては、強誘電体の分極により荷重を設定することで、高速に荷重変調が可能な積算器を実現している。
【0052】
次に、本実施形態の積算器の構造について説明する。
【0053】
図5は、本実施形態の積算器41を上から見たときの平面図であり、図6は、図5のVI−VI線断面を示す図である。なお、図5、図6においては、図面を見やすくするため、一部の隠れ線を省略して示している。また、図5、図6において、図3、図4と同一又は相当する部分には同一符号を付しその説明を省略する。
【0054】
図5、図6に示すように、本実施形態の積算器にはSOI(Silicon On Insulator)基板が用いられている。SOI基板は、Siなどからなり活性領域を有する半導体基板51と、半導体基板51内に埋め込まれた、例えば酸化シリコンからなる埋め込み絶縁膜53と、埋め込み絶縁膜53上に設けられ、活性領域を囲む素子分離用絶縁膜57とを有している。
【0055】
また、PMIS47は、半導体基板51の活性領域に設けられたN型半導体領域55aと、N型半導体領域55a上に設けられた厚さ約9nmの酸化シリコンからなるゲート絶縁膜59と、ゲート絶縁膜59上に設けられ、ポリシリコンからなるゲート電極61と、N型半導体領域55aのうち、平面視においてゲート電極61の両側方に位置する領域に設けられ、P型不純物を含むP型ソース及びドレイン52aとを有している。
【0056】
そして、NMIS49は、半導体基板51の活性領域に設けられたP型半導体領域55bと、P型半導体領域55b上に設けられたゲート絶縁膜59と、ゲート絶縁膜59の上に設けられ、PMIS47と共通のゲート電極61と、P型半導体領域55bのうち、平面視においてゲート電極61の両側方に位置する領域に設けられ、N型不純物を含むN型ソース及びドレイン領域52bとを有している。
【0057】
また、素子分離用絶縁膜57、ゲート電極61及びゲート絶縁膜59の一部の上には層間絶縁膜63が設けられており、この層間絶縁膜63の上にはサイズが300nm×300nmで、厚みが50nmの白金(Pt)からなる強誘電体キャパシタ44の下部電極(すなわちFG電極)67が設けられている。ゲート電極61と下部電極67とは、層間絶縁膜63を貫通するプラグ配線66によって接続されている。なお、PMIS47及びNMIS49のゲート長及びゲート幅はそれぞれ、200nm、2000nmである。
【0058】
また、強誘電体キャパシタ44は、下部電極67と、層間絶縁膜63及び下部電極67の上に設けられた厚みが約400nmのチタン酸鉛−ランタン(PLT)からなる強誘電体膜65と、強誘電体膜65の上に設けられ、サイズが300nm×300nmで、厚みが100nmのPtからなる上部電極69とから構成されている。また、N型ソース及びドレイン領域52bは配線71bを介してN型半導体領域55aと接続され、P型ソース及びドレイン領域52aは配線71aを介してP型半導体領域55bと接続されている。そして、P型ソース及びドレイン領域52aのソース領域とN型ソース及びドレイン領域52bのソース領域とは、両ソース領域の上方に設けられた配線73とプラグ54とにより電気的に接続されている。
次に、以上のように構成された積算器の製造方法について簡単に説明する。なお、この積算器は公知の技術を用いて作製することができる。
【0059】
まず、Siからなる半導体基板(以下、単に基板という)51を準備し、この基板51内に埋め込み絶縁膜53を形成する。次いで、窒化シリコン膜をマスクとしたLOCOS法により素子分離用絶縁膜57を形成する。
【0060】
次いで、熱リン酸などを用いて窒化シリコン膜を除去した後、半導体基板51の活性領域の一部にリンなどの不純物イオンを注入し、N型半導体領域55aを形成する。これと同様に、活性領域の一部にはボロンなどの不純物イオンを注入してP型半導体領域55bを形成する。
続いて、基板51を熱酸化することによってN型半導体領域55a及びP型半導体領域55bの上にシリコン酸化膜からなるゲート絶縁膜59を形成する。次いで、公知技術により、ゲート絶縁膜59の上にポリシリコンからなるゲート電極61を形成する。
【0061】
次に、ゲート電極61をマスクとしてセルフアラインで不純物を注入してP型及びN型のソース及びドレイン領域52a、52bを形成する。
【0062】
続いて、CVD法により基板51の表面上に酸化シリコンからなる層間絶縁膜63を形成する。
【0063】
次に、エッチング等により層間絶縁膜63の一部を開口し、その後、スパッタ法によりタングステンで開口部を埋めることにより、プラグ配線66、プラグ54を形成する。次いで、配線71a,71b,73を形成する。
【0064】
続いて、スパッタ法により層間絶縁膜63上にPtを堆積した後、パターニングすることにより下部電極67を形成する。
【0065】
次に、例えば基板温度600℃で、酸素及びアルゴン混合雰囲気中でRFマグネトロンスパッタリングを行なうことにより、基板上にPLTからなる強誘電体膜65を形成する。その後、スパッタ法により強誘電体膜65上にPt膜を堆積し、パターニングすることにより、上部電極69を形成する。
【0066】
次に、以上のように構成され作製された積算器41の動作を説明する。
【0067】
図4及び図5において、この積算器41では、上部電極69へ荷重信号(荷重電圧V)が入力され、配線71aが接地される。また、配線71bへは信号が入力され、配線73から出力信号(Vout)が出力される。上部電極69に、電圧を印加した後にその電圧の印加を停止すると、FG電極には強誘電体の分極に伴い、電荷の過不足が生じる。この電荷の過不足によりFG電極の電位が変化し、出力電圧が変化する。なお、このソースフォロワ回路においては、FG電極の電位が一定の時には、入力電圧Vinと出力電圧Voutの比Vout/Vin(これを積算係数と称す)がほぼ一定となっている。
【0068】
このように、本実施形態の積算器41の優れている点は、出力電圧Voutの変動に対してフローティング電極の電位VFGの変動が小さい点である。これは、言い換えると、ソースフォロワ回路のゲート入力は、出力に対してハイインピーダンスである、ということである。
【0069】
つまり、NN演算時には、出力電圧VoutはνMISに伝達されるが、この出力電圧Voutは、他の積算器41からの出力電圧の影響を受けて変動することがある。本実施形態の積算器41は強誘電体キャパシタを有しているため、VFGが出力電圧Voutの変動によって変わってしまえば、予期しない分極が強誘電体に生じることになる。
【0070】
本実施形態の積算器41においては、ソースフォロワ回路を用いることでFG電圧VFGの変動が小さくなっているので、強誘電体キャパシタにおいて望ましくない分極が発生するのを抑えることができる。これにより、本実施形態の積算器41では、動作の信頼度が高くなっている。
【0071】
また、本実施形態の積算器41では、強誘電体の分極量を書き込み端子に印加する電圧パルス(荷重電圧V)の大きさや正負で制御することができるので、入力電圧と出力電圧の比を制御することが可能である。つまり、本実施形態の積算器によれば、積算における荷重係数(荷重)を変更することが可能である。
【0072】
以下、これを詳しく説明する。
図7は、本実施形態の積算器に用いられるソースフォロワ回路におけるFG電圧と積算係数との関係を示す図である。同図において、横軸はFG電圧であり、荷重電圧Vが除かれた時のFG電極の保持電位を意味している。縦軸は出力と入力の比である積算係数を示している。
【0073】
図7に示す測定結果から、本実施形態の積算器においては、FG電圧により積算係数(荷重)の値を0以上1以下の範囲で線形に制御できることが分かる。つまり、この範囲では、Kを比例定数とし、δを電圧シフトとするとき、
Vout/Vin=K(VFG−δ)
すなわち、Vout=K(VFG−δ)・Vinとなる。なお、電圧シフトδは、ソースフォロワ回路を構成するNMISやPMISの閾値の設定などにより決定される電圧である。図7を用いて説明すると、グラフの横軸と交差する電圧がδに相当し、図7ではおよそ−0.5[V]である。このように、Vout=K(VFG−δ)・Vinであるため、入力電圧Vinに対し、FG電圧VFGに比例する項(ひいてはVにより背制御可能な項)を積算した出力Voutを得ることができる。しかも、積算係数Vout/VinはFG電圧VFGにより線形制御できる。よって、荷重電圧Vを制御することにより荷重を容易に制御することができる。
本実施形態の例では、NN演算において荷重を設定する際には、荷重電圧Vを印加した後のFG電圧がほぼ−0.5〜1.5Vの範囲になるように荷重電圧の範囲を設定すればよい。
【0074】
また、本発明の積算器は、強誘電体により荷重係数を制御する方式であるため、従来の積算器に比べて著しく高速に荷重の調節を行なうことができる。例えば本実施形態の積算器は、10nsecのパルス電圧を用いた場合にも荷重値を調整することが可能であった。
【0075】
これに対し、絶縁薄膜の電荷トンネル現象を用いた従来の積算器では、数msec前後の書込時間が必要であったことから、本実施形態の積算器によれば、従来の積算器に比べておよそ5桁以上高速な荷重変調が可能であることが分かった。
【0076】
このように、本発明の第1の実施形態のニューラルネットワーク装置では、強誘電体キャパシタをソースフォロワ回路のゲート電極に接続することで、高速に荷重変調が可能な積算器が用いられていることにより、演算時間及び学習時間が大幅に短縮されている。
【0077】
なお、本実施形態のニューラルネットワーク装置では、基板としてSOI基板を用いる例について説明したが、ウェル分離を施した半導体基板を用いても同様の積算器が実現できる。
【0078】
また、本実施形態で説明した積算器では、強誘電体キャパシタを構成する強誘電体材料としてPLTを用いたが、チタン酸ビスマス(BIT)やタンタル酸ストロンチウム−ビスマス(SBT)などのペロブスカイト構造を有する強誘電体を用いても同様の積算器を作製できる。
【0079】
また、本実施形態の積算器においては、荷重を制御するために加える電圧範囲は図7から、ほぼ−0.5V以上1.5V以下であったが、この範囲はソースフォロワ回路を構成するMISトランジスタのゲート電極の面積やゲート絶縁膜の厚み又はソース及びドレイン領域中の不純物濃度を変更するなど、部材の設計を変更することにより調節することが可能である。
【0080】
また、本実施形態の積算器に含まれるソースフォロワ回路において、NMIS49のドレインとPMIS47の基板領域、PMIS47のドレインとNMIS49の基板領域とはそれぞれ互いに接続されているが、これは、動作の安定性を向上させるためである。しかし、本実施形態のように基板上の素子分離が図られている場合には、必ずしもこの構造をとらなくてもよい。
【0081】
また、本実施形態のソースフォロワ回路において、FG電圧に対して積算係数が直線的に増加する領域が存在したが、逆に直線的に減少する領域を有する回路であっても本実施形態の積算器に好ましく使用することができる。また、このような回路を有する積算器を本実施形態のソースフォロワ回路を有する積算器と混合して用いてもBP法に基づく学習は実行できる。また、制御はやや複雑になるが、FG電圧に対して積算係数が単調増加あるいは単調減少する回路であれば、積算器に用いることができる。なお、PMIS47を抵抗体に置き換えることもできるが、この場合の学習時間は長くなる。
【0082】
なお、本実施形態の積算器は、強誘電体膜を有していたが、これに代えて、後に説明する抵抗変化材料を用いてもよい。抵抗変化材料はその状態によって抵抗値が変化するので、荷重電圧Vにより抵抗値を変化させ、荷重電圧Vに対する出力電圧Voutの値を変化させることができる。
【0083】
なお、本実施形態の積算器において、PMIS47とNMIS49はそれぞれPMOSとNMOSであってもよい。また、PMIS47とNMIS49とを入れ替えたインバータであっても、デジタル的に出力を反転する積算器として機能する。
[第1の実施形態の変形例]
本発明の第1の実施形態に係るニューラルネットワーク装置に用いられる積算器の変形例について以下に説明する。
【0084】
図8は、本実施形態のニューラルネットワーク装置に用いられる積算器の変形例を示す回路図である。
【0085】
同図に示すように、本変形例に係る積算器は、第1の実施形態で説明した積算器において、強誘電体キャパシタ44の下部電極と接地線との間に分圧調節用キャパシタ48をさらに設けたものである。
【0086】
本変形例の積算器では、強誘電体キャパシタ44に対して分圧調節用キャパシタ48がPMIS47、NMIS49と並列に接続されているので、分圧調節用キャパシタ48の容量を調節することで、強誘電体キャパシタ44とPMIS47及びNMIS49に存在するMISキャパシタとに分配される電圧が最適になるように調節することが可能になっている。
【0087】
この分配電圧調整が必要な理由を説明する。ある状態の強誘電体キャパシタの容量をC1 、PMIS47,NMIS49及び分圧調整用キャパシタ48の容量をそれぞれC2,C3,C4 とし、強誘電体キャパシタ44に分配される電圧をV1 、PMIS47、NMIS49及び分圧調節用キャパシタ48に分配される電圧をV2とすると、V1/V2=(C2+C3+C4)/C1となる。この式から、分圧調節用キャパシタ48の面積を増やして容量C4 を大きくすることにより、強誘電体キャパシタ44に分配される電圧を増加させることができることが分かる。
一方、第1の実施形態で示した積算器において、現在の製造技術では、強誘電体キャパシタはMISトランジスタと同程度までには微細化されていない。そのため、積算器の面積を極力小さくする場合には、強誘電体キャパシタ44に分配される電圧が小さくなりすぎることがあり、荷重を設定通りに変化させにくいことがあった。これに対し、本変形例の積算器によれば、強誘電体キャパシタ44に分配される電圧を増加させて、各キャパシタに分配される電圧を最適化することができるので、荷重を設定通りに変化させることができる。
【0088】
(第2の実施形態)
本発明の第2の実施形態に係るニューラルネットワーク装置は、第1の実施形態に係るニューラルネットワーク装置と積算器の構造のみが異なるため、以下、積算器についてのみ説明する。
【0089】
図9は、本実施形態のニューラルネットワーク装置に用いられる積算器の構成を示す回路図である。同図から分かるように、本実施形態の積算器は、第1の実施形態に係る積算器と比べて、NMIS及びPMISの接続方法が異なっている。
すなわち、図9に示すように、本実施形態の積算器では、NMIS84とPMIS83とから構成されたソースフォロワ回路の共通ゲート電極に強誘電体キャパシタ81が接続されている。また、PMIS83とNMIS84とのソース同士は互いに接続され、PMIS83とNMIS84との基板領域同士も互いに接続されている。さらに、PMIS83及びNMIS84のソースと基板領域とは互いに接続されている。そして、PMIS83のドレインは接地線に接続される。
【0090】
図10は、本実施形態の積算器を上から見たときの平面図である。なお、図10においては、図面を見やすくするため、一部の隠れ線を省略して示し、第1の実施形態の積算器と同じ部材の詳しい説明は省略する。
【0091】
図10に示すように、本実施形態の積算器は、SOI基板(図示せず)と、SOI基板上に設けられたPMIS83、NMIS84、強誘電体キャパシタ81とを有している。PMIS83は基板領域と、P型ソース及びドレイン領域82aと、ゲート絶縁膜と、ゲート電極91とを有しており、NMIS84は、基板領域と、N型ソース及びドレイン領域82bと、ゲート絶縁膜と、PMIS83と共通のゲート電極91とを有している。
【0092】
また、P型ソース及びドレイン領域82aのソース領域とN型ソース及びドレイン領域82bのソース領域とは配線111及びプラグ113a、113bにより接続される。そして、P型ソース及びドレイン領域82aのソース側は、プラグ113a、配線111、プラグ115a及びN型半導体領域85aによりPMIS83の基板領域に接続され、N型ソース及びドレイン領域82bのソース側は、プラグ113b、配線111、プラグ115b及びP型半導体領域85bによりNMIS84の基板領域に接続されている。
【0093】
また、強誘電体キャパシタ81は、ゲート電極91に接続された下部電極97と、強誘電体膜(図10には示さず)と、上部電極99とから構成されている。
【0094】
図10と図5との比較から、本実施形態の積算器は、第1の実施形態の積算器に比べてセルの専有面積を小さくできることが理解される。これは、本実施形態の積算器において、MISトランジスタの基板電位を安定化させるための配線の長さが第1の実施形態の積算器に比べて短縮されているためである。
【0095】
このように、本実施形態の積算器では、複雑な配線の引き回しや多層配線を用いることなく第1の実施形態の積算器と同様の優れた性能を発揮することができる。すなわち、本実施形態の積算器は、第1の実施形態の積算器と同様の優れた性能を有し、且つセル面積をより縮小された積算器である。
【0096】
本件発明者が試作した積算器の面積を比較した結果、最小加工寸法をFとするとき、第1の実施形態に係る積算器のセル面積は289Fであるのに対し、本実施形態に係る積算器のセル面積は189Fであった。この結果から、本実施形態に係る積算器によれば、第1の実施形態に係る積算器に比べ、およそ35%のセル面積低減が可能であることが分かった。
【0097】
ニューラルネットワーク装置においては、積算器の占有面積が極めて大きいので、本実施形態2の積算器を用いることで、ニューラルネットワーク装置のチップ面積もおよそ20%削減でき、チップのさらなる低コスト化が実現できる。
【0098】
ただし、本実施形態の積算器では、電圧が変化する出力の配線が半導体領域と接続されているため、SOI基板を用いて、周辺の積算器の電位の影響を極力排除することが特に望ましい。
【0099】
なお、本実施形態の積算器の動作原理は、第1の実施形態の積算器と基本的に同様であり、強誘電体の分極に伴う電荷によりFG電極の電圧を変化させるものである。
【0100】
図11は、本実施形態の積算器に用いられるソースフォロワ回路におけるFG電圧と積算係数との関係を示す図である。
【0101】
同図に示すように、本実施形態のようなソースフォロワ回路の構成でも、第1の実施形態の積算器に用いられるソースフォロワ回路と同様に、FG電極の電位により積算係数が0以上1以下の範囲で線形に制御できることがわかる。
【0102】
さらに、図11と図7との比較により特筆すべき点として、積算係数が1付近での線形性が向上している点が挙げられる。これは第1の実施形態の積算器では、特にPMISの基板電位が入力電圧まで引き上げられるため、閾値電圧が実効的に上昇し、PMIS、NMISのいずれもが高抵抗になりやすい場合があるのに対し、本実施形態の積算器では、基板電極(基板領域)が出力と接続されていることで、PMISかNMISのいずれかが低抵抗になりやすく、結果として0〜1の積算係数の範囲でFG電圧に対して非常に良好な線形性が得られるだけでなく、高速動作も実現できる。
【0103】
以上のように、本実施形態のニューラルネットワーク装置は、第1の実施形態に係る積算器よりセル面積が小さく、且つ非常に良好な線形性の積算機能を有する積算器を有している。そのため、ニューラルネットワーク装置を載せた半導体チップの製造コストを下げることや、装置の集積度を上げてより高性能のニューロンコンピュータの実現を図ることができる。
【0104】
なお、本実施形態の積算器においても、PMIS83及びNMIS84と並列に接続された分圧調節用キャパシタをさらに設けることにより、強誘電体キャパシタ81とPMIS83及びNMIS84に存在するMISキャパシタに分配される電圧を最適化することができる。
【0105】
(第3の実施形態)
本発明の第3の実施形態に係るニューラルネットワーク装置は、相変化メモリの技術を利用した積算器を備えたものである。
【0106】
図12は、本実施形態のニューラルネットワーク装置が備える積算器の構成を示す図である。
【0107】
同図に示すように、本実施形態の積算器121は、第1の電極127aと、第2の電極127bと、第1の電極127aと第2の電極127bとの間に挟まれた抵抗変化材料123と、抵抗変化材料123に接続された抵抗体129とを備えている。また、第1の電極127aには荷重電圧V の印加をオン/オフ制御するためのスイッチ125dが接続され、抵抗変化材料123の一端には入力電圧Vinの印加をオン/オフ制御するためのスイッチ125aが接続され、抵抗体129と抵抗変化材料123とを接続する配線には、出力電圧Voutの出力を制御するためのスイッチ125cが接続されている。さらに、抵抗体129には接地線への接続をオン/オフ制御するためのスイッチ125cが接続され、第2の電極127bには接地線への接続をオン/オフ制御するためのスイッチ125eが接続されている。ここでのスイッチは、論理回路を組み合わせてなるスイッチでもよいし、機構スイッチでもよい。
【0108】
本実施形態においては、抵抗変化材料は、例えばゲルマニウム(Ge)、テルル(Te)、アンチモン(Sb)の3元素を主成分とする合金である。
【0109】
本実施形態の積算器は、抵抗変化材料123の電気抵抗を変化させることで、抵抗変化材料123と抵抗体129とに分配される電圧を変化させ、これにより入力電圧Vinに対する出力電圧Voutを変化させることにより積算を行なうものである。以下、本実施形態の積算器の動作について説明する。
【0110】
まず、本実施形態の積算器において、抵抗変化材料123の抵抗値を変化させるには、スイッチ125a,125b及び125cをオフの状態にし、スイッチ125d,125eをオンの状態にして荷重電圧V を印加する。こうすることで、第1の電極227aと第2の電極227bとの間に電流が流れ、抵抗変化材料123はこの電流により発熱する。このときの抵抗変化材料123の温度を例えばV の大きさで制御することで、抵抗変化材料123の状態を多結晶状態あるいは非晶質状態に制御することができる。本実施形態の積算器に用いられる抵抗変化材料123は、非晶質の状態の抵抗値を、多結晶状態の場合の抵抗値よりも最大で100倍まで大きくすることができる。抵抗変化材料の結晶性の制御は、例えば以下のようにして行なわれる。
【0111】
まず、抵抗変化材料123を非晶質にするためには、十分な荷重電圧V を印加し、抵抗変化材料123の融点以上に温度を上げて抵抗変化材料123を溶融状態とする。次に、荷重電圧V をオフにして、抵抗変化材料123の温度を急速に低下させることにより、非晶質状態にする。
【0112】
これに対し、抵抗変化材料123の結晶化を行うためには、抵抗変化材料123の温度がその融点以下となるように荷重電圧V を印加する。この操作により、抵抗変化材料123の結晶化は徐々に進行し、抵抗値が徐々に低下する。このときのV は一定幅のパルス状に印加する。
【0113】
このように、本実施形態の積算器においては、荷重電圧V の値や波形の形状を制御することにより、抵抗変化材料123の結晶性を制御することができる。
【0114】
なお、抵抗変化材料123の抵抗値を徐々に大きくするのは困難であるため、抵抗変化材料123の抵抗値を下げる必要がある場合には、一度抵抗変化材料123を加熱して非晶質化した後に荷重電圧V を印加する時間を調節することによって所望の抵抗値を得る。
【0115】
一方、本実施形態の積算器が演算を行なう際には、スイッチ125a,125b及び125cをオン状態にするとともにスイッチ125d,125eをオフ状態にする。これにより、抵抗変化材料123と抵抗体129とに分配される電圧に応じた出力電圧Voutが出力される。このとき、抵抗変化材料123の抵抗値は複数の値(およそ100階調)を取りうるので、所望の荷重を設定できる。
【0116】
以上のように、本実施形態の積算器によれば、第1及び第2の積算器と同様に、所望の荷重を設定することが可能である。加えて、抵抗変化材料123の書き込み時間は100nsec以下の短時間で済むため、本実施形態のニューラルネットワーク装置の学習動作は従来のニューラルネットワーク装置に比べて高速になっている。
【0117】
また、本実施形態の積算器は素子構造が比較的単純であるので、小型化しやすく、ニューラルネットワーク装置の集積化にも有利である。
【0118】
本実施形態の積算器は、第1及び第2の実施形態の積算器と同様に、アナログ信号に応じた複数の荷重を実現できるので、第1及び第2の実施形態の積算器と同様にBP法により学習させることが可能である。
【0119】
なお、本実施形態の積算器では、抵抗体129が抵抗変化材料123とスイッチ125cの間に設けられていたが、抵抗体129が抵抗変化材料123とスイッチ125aとの間に設けられていてもよい。この場合も、抵抗体129と抵抗変化材料123の間の中間点の電位は抵抗変化材料の結晶性により変わるので、該中間点から出力電圧を出力することができる。
【0120】
なお、図12に示す本実施形態の積算器に、第1又は第2の実施形態で説明した構造を用いることもできる。この際には、本実施形態の積算器の出力部(スイッチ125bの部分)を図4に示すPMIS47及びNMIS49のゲート電極に接続すればよい。これにより、出力部に接続される素子の抵抗が変動し、出力部の電位が変動した場合にも、抵抗変化材料に係る電圧が変動しにくくなるので、荷重値を変動しにくくすることができる。抵抗変化材料を用いた積算器は、強誘電体を用いた積算器に比べて出力部の電圧変動の影響を受けにくいが、ニューラルネットワーク装置においては積算器の出力部に接続される抵抗が大きく変わる可能性があるので、この構造によってより安定な動作が実現できる。また、これと同様にして、本実施形態の積算器に図9に示す第2の実施形態の構成を接続してもよい。
【0121】
なお、本実施形態において、抵抗変化材料123としては、Ge、Te、Sbを含む合金が用いられたが、この他のカルコゲナイド材料も好ましく用いられるほか、異なる抵抗値を保持できる材料であれば用いられる。
【0122】
(第4の実施形態)
本発明の第4の実施形態として、ニューラルネットワーク装置の学習方法について図面を参照しながら説明する。本実施形態の学習方法は、第1〜第3の実施形態で説明した積算器(シナプス)を有するニューラルネットワーク装置に共通に利用できる方法である。以下、本実施形態のニューラルネットワーク装置の学習方法の手順についてのみ説明する。
【0123】
本実施形態のニューラルネットワーク装置の学習方法は、BP法により実行され、出力と荷重を微小変更したときの出力変化のみから荷重値を変更するものである。さらに、強誘電体の分極情報を荷重とする場合など、ニューロ素子が非線形性やヒステリシス特性を示す場合にも有効な荷重設定手順を提供する方法である。
【0124】
最初に、BP法に用いるパラメーターについて説明する。
【0125】
図2を参照して、ある入力値がニューロ素子3に与えられたときの出力値をOk、目的値をTk(教師値)とする。ここでkは出力ベクトルの番号を示し、出力端子数がnの時、kは1以上n以下の自然数である。
【0126】
このとき、誤差Epを以下の式で定義する。
【0127】
Ep=Σ(k=1〜n)(Tk−Ok)         (3)
なお、添え字のpは入出力パターン番号を表す。
【0128】
中間層の荷重の変更量をΔVkj、出力層の荷重変更量をΔWjiとするとBP法では、ΔVkj及びΔWjiは次の式で計算される。
【0129】
ΔVkj=−α・δEp/δVkj           (4)
ΔWji=−α・δEp/δWji           (5)
なお、jは中間層のニューロユニット33の番号であり、iは入力の番号である。
【0130】
ここで、αは学習係数であり、荷重の変更量を決める係数である。これが大きすぎると、誤差が極小になる点を飛び越えてしまい、小さすぎると学習に時間がかかるので、演算ごとに学習を効率的に実行できる数値に設定する。本実施形態では例えばα=0.8としている。
【0131】
式(4)及び式(5)を用いて、新しい荷重Vkj(new)、Wji(new)は次式で与えられる。
【0132】
Vkj(new)=Wji(old)+ΔVkj          (6)
Wji(new)=Wji(old)+ΔWji          (7)
式(3)〜(7)から、荷重を微小変更したときの誤差の変化を取得及び算出することでBP法による学習動作を実行することができる。
【0133】
次に、本実施形態に係るニューラルネットワーク装置の学習動作について説明する。ここでは、ニューラルネットワーク装置が強誘電体キャパシタを有する積算器を備えた実施の形態1及び2のニューラルネットワーク装置1である場合の手順について説明する。
図1乃至図4を参照して、学習動作は、以下の(a)〜(s)の手順で行なう。(a)全ての荷重を初期化する。初期化は乱数などを用いることが望ましい。
(b)制御部15がメモリ5中の入出力パターンのいずれかを選択する。
(c)入力データ保持部7が選択された入出力パターンの入力データをメモリ5から読み出してニューロ素子3へ入力する。
(d)過渡応答時間が経過し出力が安定した時点で、制御部15が出力値のベクトルOokをメモリ19へ格納する。
(e)制御部15がメモリ5から読み出した選択パターンの教師値Tkと出力値Ookから誤差Epoを算出し、その算出値をメモリ19へ格納する。
(f)荷重変更するシナプス41を、制御部15からの信号を受けたセル選択部17が選択する。この選択対象となるのは、中間層及び出力層の全てのシナプス41である。
(g)選択されたシナプス41の現在の荷重値WnowをΔWだけ微小変化させた微小変更荷重Wtmpを制御部15が算出する。変化量は荷重の分解能によるが、極力小さい値とするのが望ましい。本実施形態では、ΔW=50[mV]としている。
(h)制御部15が、強誘電体が十分飽和する正又は負の電圧をシナプスの荷重電極(強誘電体キャパシタ44の上部電極69)に印加し分極状態をリセットする。本実施形態では、リセットは負電圧で実行しており、例えば−15[V]を印加することで、分極方向を一方向にそろえている。
(i)制御部15が微小変更荷重Wtmpに対応する荷重電圧Vをシナプス41に印加する。これにより、そのシナプス41の荷重が微小変更荷重Wtmpに書き換えられる(設定される)。
(j)過渡応答時間が経過し出力が安定した時点で、制御部15が出力値のベクトルO1kを取得する。
(k)教師値Tkと出力値O1kから制御部15が誤差Ep1を算出する。
(l)制御部15が誤差Ep1と先にメモリ19に格納した誤差Ep0の差ΔEpを算出する。
(m)制御部15が式(4)又は式(5)に従い、次式で誤差変更量を算出する。
【0134】
ΔVkj=−α・ΔEp/ΔW            (8)
ΔWji=−α・ΔEp/ΔW            (9)
(n)制御部15が式(8)又は(9)の算出結果を式(6)又は式(7)へ代入することにより新しい荷重を算出する。
(o)制御部15がシナプス41の荷重電極にリセット電圧を印加する。
(p)制御部15がシナプス41の荷重電極に新しく算出された荷重に対応する荷重電圧Vを印加する。それにより、そのシナプス41の荷重が新しく算出された荷重に書き換えられる。
(q)制御部15が、異なるシナプスについて同様に(b)〜(p)の手順を繰り返す。
(r)制御部15が、異なる入出力パターンについて同様に(b)〜(q)の手順を繰り返す。
(s)全ての入出力パターンに対する誤差Epのいずれもが所望の値より小さくなれば、学習動作を終了する。
【0135】
以上の手順により、本実施の形態5のニューラルネットワーク装置の学習動作が実行される。
【0136】
本実施形態の学習動作は、特に手順(h)及び手順(o)に示すリセット電圧を印加した後に荷重変更を行う点に特徴を有する。
【0137】
このようなリセット動作が必要となる理由について以下、説明する。
【0138】
本実施形態のニューラルネットワーク装置ではシナプスの荷重制御に強誘電体を用いており、強誘電体は電圧の印加履歴によりその分極値がヒステリシスを示す。
【0139】
図13は、強誘電体における印加電圧と分極との関係(P−V特性)を示す図である。同図において、横軸は強誘電体キャパシタに分配される電圧を示す。
【0140】
本実施形態では、厚さ400nmのチタン酸鉛−ランタンを強誘電体キャパシタの強誘電体層として用いているため、飽和電圧はおよそ15[V]、残留分極値はおよそ10[μC/cm]である。
【0141】
強誘電体のP−V特性は、分極が印加電圧に対し半時計回りのヒステリシス特性を示す上、飽和ループLsの内部を電圧の印加履歴に従って動く特徴を示す(マイナーループ)。すなわち、図13にハッチングで示した部分を分極が電圧の印加履歴に従って動くことになる。このため、従来例のように、BP法に従って単純に数式で算出した荷重に対応する荷重電圧Vを印加すると、目的の荷重値とは全く異なる荷重が設定されてしまう。このため、学習が完了した時の荷重ベクトルを、再度、ニューラルネットワーク装置へ入力する際に致命的な誤りを生じてしまう。
【0142】
すなわち、分極を、マイナーループ上を動かすようにして収束させたときに、制御部が持っている最終の荷重マトリクスを再入力しても、強誘電体のヒステリシスが前歴に左右されるため、以前と同じ分極値にならなくなってしまい、以前と同じ荷重を入力したつもりでもニューラルネットワーク装置は全く誤った出力結果を出してしまうのである。
【0143】
このような課題に対し、本件発明者は、強誘電体を負電圧か正電圧のいずれかの飽和点まで一旦リセットすることにより、出力を安定して再現できることを見出した。
【0144】
すなわち、図13に示すように、強誘電体に印加される電圧を所定の電圧(以下、リセット電圧という)Vresまで増加(Vresが正の場合)又は減少(Vresが負の場合)させ、その後、リセット電圧Vresを基準にして、積算すべき荷重値を再計算し、その荷重値に対応する荷重電圧を印加する。そして、このリセット電圧を、印加電圧の絶対値の増加に対し強誘電体の分極が飽和する飽和電圧以上の絶対値を有する電圧に設定する。このように設定すると、飽和電圧以上の絶対値を有する電圧に対しては、強誘電体の分極が1対1で対応するのでリセット電圧Vresの印加により、強誘電体の分極が、一旦、一定値に揃えられる。そして、そのリセット電圧からその極性が反転する方向に印加電圧を変化させると、強誘電体の分極は、前歴に関わらず、常に飽和ループLs上を移動するように変化するので、ニューラルネットワーク装置1における入力に対する出力の再現性を確保することができる。
図1、図4、及び図13を参照して、具体的には、本実施形態では、リセット電圧Vresを負の飽和電圧に設定する。つまり、最初の荷重値を、強誘電体キャパシタ44に分配される電圧が負の飽和電圧になるように設定する。そして、そこから荷重値を上げていく。ここで、強誘電体キャパシタ44にその分配電圧(荷重電圧V−FG電圧VFG)VD1を印加した状態から、微小荷重を変更する場合の強誘電体キャパシタ44の強誘電体(以下、単に強誘電体という)の印加電圧及び分極の変化を例にとって説明する。制御部15は、実際には、強誘電体キャパシタ44の上部電極69に、強誘電体キャパシタ44の分配電圧が所要の電圧となるように荷重電圧Vを印加するのであるが、ここでは、便宜上、制御部15が分配電圧Vを印加するものとして説明する。この場合、制御部15は、分配電圧Vを所定倍した荷重電圧Vを印加し、それにより、荷重電圧Vに対応する荷重がシナプス41に設定されることになる。
まず、制御部15は、分配電圧VD1を強誘電体に印加した後、その電圧印加を停止する。これにより、強誘電体の残留分極はPr1となり、このPr1に対応する荷重値がシナプス41に設定される。
【0145】
次に、制御部15は、分配電圧VD1に微小荷重ΔWに対応する微小分配電圧ΔVを足した新しい分配電圧VD2を計算し、かつ、一旦、リセット電圧Vresを強誘電体に印加する。すると、強誘電体の分極は所定の分極Presに変化する。その後、制御部15は、新しい分配電圧VD2を強誘電体に印加した後、その電圧印加を停止する。すると、強誘電体の分極は、Presから飽和ループLsを辿って分配電圧VD2に対応する分極Pr2’に到達した後、分配電圧VD2に対応する残留分極Pr2となる。これにより、新しい荷重値がシナプス41に設定される。本実施形態の学習方法では、この動作を、誤差が極小になる値に荷重電圧Vが到達するまで繰り返す。また、以上の学習をすべてのシナプス41について行なう。なお、リセット電圧の波形はパルス状及びステップ状のいずれであっても構わない。
【0146】
このように、本実施形態の学習方法においては、新しく変更した荷重電圧Vを印加する直前にリセット電圧Vresを印加することにより、強誘電体のようにヒステリシスやマイナーループといった非線形な特性を示す素子を有するシナプス41を用いても、BP法により荷重の制御及び収束を良好に実行できる。
【0147】
また、本実施形態の学習方法において、荷重値は電圧の印加履歴に左右されないため、学習が収束した時点の荷重ベクトルを別のメモリに格納しておけば、これを再度呼出すことで、ニューラルネットワーク装置1の動作を再現することが可能になる。この方法により、1つのシナプス41において得られた学習結果を別のシナプスが利用できることになり、ニューラルネットワーク装置全体の学習時間を大幅に短縮することができる。例えば、本発明のニューラルネットワーク装置41をユーザーに出荷する前にあらかじめ多数の演算に対する学習収束時のデータを記憶させておくことにより、初期状態で出荷する場合よりもユーザーの利便性を高めることができる。
【0148】
本実施形態の学習方法により、強誘電体の持つ高速動作性及び荷重情報の保持性能を十分に生かしつつ、安定に学習および学習完了状態の復元を行なうことができるようになる。
【0149】
このように、本実施形態の学習方法は、従来にない極めて高機能なニューラルネットワーク装置の実用化に大きく寄与するものである。
【0150】
一方、以上では、シナプスである積算器が強誘電体キャパシタを有する場合について説明したが、本実施の形態の変形例として、ニューラルネットワーク装置が抵抗変化材料を有する積算器を備えた第3の実施形態のニューラルネットワーク装置である場合にも、上述の学習方法を適用することができる。
【0151】
つまり、学習動作時に十分高い電圧値のリセットパルス(本変形例では電圧波形がパルス状であることが好ましい)をシナプスに印加して抵抗変化材料を溶融、非晶質化し、次いで、結晶化が進行する範囲の荷重電圧をシナプスに印加する。この時のニューロ素子の出力を教師値と比較して誤差を算出する。
【0152】
その後、シナプスに対し、リセットパルスを再度印加してから先の荷重電圧を微小量変更した電圧を印加する。
【0153】
これにより、最適な出力値となるときの荷重電圧のデータ(荷重ベクトル)が、積算器に強誘電体キャパシタを用いる場合と同様に得られる。なお、抵抗変化材料(相変化材料)では電流による発熱を利用するので、印加する電圧の極性は単極性でよい。
【0154】
なお、本変形例では、抵抗変化材料をリセットパルスにより非晶質化し、徐々に結晶化させる制御について説明したが、この逆に、多結晶状態から非常に短い高電圧パルスを入れることで、徐々に非晶質化させてもよい。ただし、この場合には制御が難しくなる。
【0155】
なお、本実施形態では強誘電体を用いる場合のリセット電圧が負である場合について説明したが、強誘電体の分極が正電圧側に飽和するようにリセットパルスを印加しても、同様の動作が可能である。その際には、荷重電圧V は負電圧とし、そこからより低い電圧の荷重電圧を加えていくようにする。
【0156】
なお、本実施形態の学習方法は、第1及び第2の実施形態のニューラルネットワーク装置に限らず、積算係数がFG電圧に対して一意的に決まる単調増加あるいは単調減少などの特性を示すシナプスを備えるニューラルネットワーク装置に対して用いることができる。また、異なる特性を有するシナプスが混在していても、学習はそれぞれのシナプスについて行なうので、問題は生じない。
【0157】
なお、ニューラルネットワーク装置の設計によっては、シナプス中の強誘電体の分極が飽和するだけのリセットパルスを加えることができない場合がある。
このような場合には、可能な範囲の低電圧又は高電圧をリセットパルスとして用いることで、可能な限り正確な荷重値ベクトルを取得することができる。このような場合、リセットパルスを複数回印加することでより正確なリセット動作が得られる。
【0158】
なお、本実施形態では、上記の学習動作で説明した手順(p)において、誤差変更量を取得、算出するごとに新しく算出された荷重に対応する荷重電圧を印加するとしているが、一通りのシナプスの修正荷重を演算して記憶し、修正は全シナプスに対して一括で行なうこともできる。つまり、新しい荷重として算出された値を記憶素子に格納しておき、素子上では、荷重を元に戻し、1つの入力パターンに対して全てのシナプスの新規荷重を算出した後、一括して荷重を修正してもよい。
【0159】
具体的には、手順(b)〜(n)を繰り返して全ての新規重値を算出した後、全てのシナプスの荷重を、順次、手順(o)、(p)に従い変更する。そして、手順(r)に示すように、入出力パターンを変更して以上の動作を繰り返す、という方法によっても学習を収束させることが可能である。
【0160】
(第5の実施形態)
第4の実施形態で説明したニューラルネットワーク装置の学習方法は、ニューラルネットワーク装置が非線形性やヒステリシス特性を有する素子を備える場合、非常に有効な方法である。しかし、現在の技術においては、強誘電体の許容される分極反転回数に限界があるため、リセット電圧による分極反転回数を減らすことができれば、強誘電体の寿命を延ばすことができると考えられる。
【0161】
そこで、本件発明者は、ニューラルネットワーク装置が長期に亘って使用される可能性も考慮に入れ、リセットパルスの回数を減らすことのできるニューラルネットワーク装置の学習方法を模索した。
【0162】
図14は、本発明のニューラルネットワーク装置において、リセット電圧を印加せずに荷重を変更した場合の、強誘電体キャパシタへの印加電圧及び分極の履歴を示す図である。
【0163】
図14において、まず、初期の残留分極をPr0とすると、微小量荷重を変化する手法で算出した分配電圧VD1を印加することで残留分極はPr1に変化する。次に、同様に算出した分配電圧VD2を印加すると残留分極はPr2に変化する。算出結果が逆極性になった場合の分配電圧VD3を印加すると残留分極は減少しPr3に変化する。リセット電圧を印加しない場合には、強誘電体の分極は以上のように変化する。
【0164】
しかしながら、ニューラルネットワーク装置の学習が完了した時点で荷重データとして残っているのは最終の荷重(最終的な残留分極に対応する荷重)であり、これは印加履歴を反映したものであるため、このときの正確な分極値や、その値を復元する方法がない。
【0165】
そこで、本件発明者は検討を重ね、リセット電圧を印加せずに連続的に荷重値を印加して一旦学習を収束させた後、個々のシナプス(積算器)の荷重を、リセットパルスを加える方法で変化させることに想到した。また、本件発明者は、リセット電圧を印加することなしに学習を収束させた後で、いずれか1つのシナプスを選択し、その荷重電圧Vを変化させると、誤差の総和が最も小さくなる時の荷重電圧Vが最適な荷重電圧として一意的に決定できることを見いだした。
【0166】
この知見に基づいて、全てのシナプスにリセット電圧を加える回数を減らしながら、学習が最終的に収束するときの荷重電圧を再現することを可能にする以下の学習方法が考案された。
【0167】
図15は、本実施形態のニューラルネットワーク装置の学習方法を説明するための図であり、図16は、図15に示す学習方法における誤差総和の変化を示す図である。
【0168】
図15は、ニューラルネットワーク装置の学習動作が収束した後に、最適な荷重値を再現するためのデータを取得する際の操作を示している。本実施形態の学習方法においては、まずリセットパルスを印加せずに学習を収束させる。
【0169】
すなわち、式(8)、(9)で算出される荷重に対応する荷重電圧Vをリセットパルスなしで印加する。強誘電体はヒステリシス特性を有するため、実際には狙ったVFGとは異なる値が保持されることになるが、学習の方向(荷重の増減)は一致しているため、繰り返しによりやがて収束する。これにより、保持されたVFG群は、学習の完了した電圧値群となっている。しかし、VFGの値は外部から検出できない。
【0170】
そこで、図15に示すように、学習が完了して収束した状態で、シナプスを1つのみ選択し、リセットパルス(分配電圧Vがリセット電圧Vresとなるパルス)を加えた後に荷重電圧V(探索用荷重電圧、ひいては分配電圧V)を印加する。このとき、リセットパルスが負電圧である場合には、印加する荷重電圧Vはリセットパルスの電圧値から徐々に大きくしていく。この微小に変化(ここでは増加)させる電圧は、例えば、第4の実施形態の微小加重ΔWに対応する荷重電圧とする。なお、選択しないシナプスに印加する電圧は0Vであるが、各シナプスのFG電極には、強誘電体の残留分極による電圧が保持されている。
【0171】
この手順においては、荷重電圧Vを印加するたびに入出力のパターンを全て変更してそれぞれの誤差の総和ΣEpを算出する。印加した荷重電圧Vと誤差総和の対をメモリに格納しておき、最も誤差総和が小さくなる時の荷重電圧Vの値を取得する。この値が、このシナプスに対し、リセット後に印加すべき最適な荷重電圧値となる。その後、このシナプスに対し、リセット後にこの最適な荷重電圧値を印加する。
【0172】
次いで、以上に説明した学習終了後の動作をすべてのシナプスに対して実行することで、リセット後に印加すべき最適な荷重電圧値ベクトル(換言すれば、リセット後に書き込むべき最適な荷重値ベクトル)が得られる。
【0173】
このようにして得られた荷重電圧値は、シナプスにリセットパルスを印加した後に印加すれば、正確に復元できる荷重電圧値であるため、良好に再現することが可能である。
【0174】
以上に示す本実施形態の学習方法は、学習の収束動作時にリセット動作を行わないため、学習時間を短くできるという利点を有する。荷重電圧値を再現可能に変換する動作は学習後であるため、全てのシナプスに対して1度のスキャンで済み、第3の実施形態の学習方法よりもリセット回数をより少なくすることができる。
すなわち、第4の実施形態においては、学習時にリセット動作を行なうため、1つのシナプスにリセットと荷重電圧印加の2回の電圧印加が必要となる。これに対し、本実施形態の学習方法によれば、学習時にはリセットしないため、電圧印加回数を1/2にすることができる。その後、1つのシナプスごとに最適な荷重値の取得動作を行なうが、これは1回のスキャンでよいため、リセット回数をより少なくすることができ、学習動作の高速化を図ることができる。なお、特にニューロユニットが多い場合には、リセット動作を著しく減らすことができる。
【0175】
また、強誘電体の許容される分極反転回数が現状では1015回程度と有限であるため、リセット回数を少なくできることにより、装置の寿命をより伸ばすことも可能となる。
【0176】
なお、第4の実施形態と同様に、リセットパルスが正電圧である場合には、荷重値の取得の際に加える荷重電圧を正電圧側から徐々に減らしていけばよい。
【0177】
(第6の実施形態)
本発明の第6の実施形態に係るニューラルネットワーク装置の学習方法は、第5の実施形態に係る学習方法を改善して、リセット動作の回数をさらに減らすことを可能にしたものである。そのため、以下では、第5の実施形態と異なる点について説明する。
【0178】
シナプスに対するリセット動作は、上述のように強誘電体を劣化させる上に時間も要するため、できるだけ回数を少なくすることが好ましい。 そこで、本件発明者は、第5の実施形態の学習方法に基づいて、さらにリセット動作を少なくするための検討を行った。その過程で、本件発明者は、本発明のニューラルネットワーク装置はアナログ回路で構成されているため、荷重をアナログ的に変化させると、出力もアナログ的に変化するという特性に着目した。
【0179】
図17は、本発明のニューラルネットワーク装置において、リセットパルスとして−15[V]を印加した後に荷重電圧をスイープさせたときの積算係数の変化を測定した結果を示す図である。
【0180】
同図に示すように、本発明のニューラルネットワーク装置において、荷重電圧を徐々に上昇させて行くと、積算係数は0から1へと上昇していく。しかし、その後に荷重電圧を除いていくと、主に強誘電体の常誘電成分の分だけFG電極に誘起された電荷が減るために、積算係数も減少する。
【0181】
このため、荷重電圧をアナログ的(連続的)に上昇させていき、ある点で荷重電圧を除く(荷重電圧の印加を停止する)と、保持される荷重(及び積算係数)は、最大荷重電圧を印加している時の荷重より必ず小さくなることを本件発明者は発見した。実際にはMISトランジスタにおける空乏層の厚さの変化に伴うキャパシタンスの変化などにより、複雑な挙動を示す場合もあるが、その場合でも荷重電圧を除いた後には積算係数が小さくなる。
【0182】
さらに、本件発明者は、このような強誘電体の特性を応用することで、大幅に荷重復元手順を削減する手法を考案した。
【0183】
本実施形態の荷重復元動作の手順は以下のようにして実行される。なお、以下に示す手順(t)〜(x)は、第5の実施形態で説明した学習動作を収束させた後に行なう。
(t)荷重値のデータを取得するシナプスを1つ選択し、そのシナプスにリセットパルスを加える。
(u)荷重電圧をリセットパルスの電圧から連続的に上昇させていくと同時に誤差総和の値を連続的に測定及び算出する。実際には入出力パターンも切替えて誤差の総和を計算するため、荷重電圧を印加してからある程度の過渡応答時間、例えば100nsecの待ち時間の後、出力を取得することが望ましい。
(v)手順(u)の荷重電圧を印加した状態で誤差が最小となるときの荷重電圧VW0の値を取得する。
(w)荷重電圧VW0を始点として第5の実施形態と同様に、リセット動作を挟んでステップ状に荷重電圧Vを印加し、保持点(荷重電圧Vを印加しない状態)で誤差総和が最小となる荷重電圧Vの値を取得する。この誤差総和が最小となる荷重電圧値を取得した時点で荷重電圧Vの印加を終了し、別のシナプスについての荷重データの取得動作に移ることで、演算時間の短縮を図ることができる。
(x)上述の(t)〜(w)の手順を全てのシナプスに対して実行する。
【0184】
第5の実施形態の学習方法では、荷重として設定しうる最小値から最大値までを段階的に変化させていた。これに対し、以上に示す本実施形態の学習方法によれば、誤差が最小となる付近で、しかも必ず最小の誤差が得られる荷重より小さい荷重値からステップ的に最適値を追いこむことができるため、リセット動作を行なう回数を大幅に減らすことができる。
【0185】
このため、本実施形態の学習方法によれば、強誘電体の寿命を大幅に延長することができると共に、ニューラルネットワーク装置の学習時間を大きく短縮することができる。
【0186】
なお、本実施形態の学習方法において、リセットパルスが負電圧の場合を説明したが、リセットパルスが正電圧である場合には、そこから低電圧側に荷重値を変更していくことで、同様の効果が得られる。
【0187】
【発明の効果】
本発明は、以上に説明したような形態で実施され、学習の信頼性が高く、且つ実用に耐えうる演算速度を有するニューラルネットワーク装置として機能する半導体装置及びその学習方法を提供できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
【図2】本発明のニューラルネットワーク装置におけるニューロ素子の構成を示す模式図である。
【図3】本発明の第1の実施形態に係るニューラルネットワーク装置におけるニューロユニットの構成を示す図である。
【図4】第1の実施形態に係るニューラルネットワーク装置に用いられる積算器の構成を示す回路図である。
【図5】第1の実施形態に係る積算器を上から見たときの平面図である。
【図6】図5におけるVI−VI線断面を示す断面図である。
【図7】第1の実施形態に係る積算器に用いられるソースフォロワ回路におけるFG電圧と積算係数との関係を示す図である。
【図8】本発明の第1の実施形態に係る積算器の変形例を示す回路図である。
【図9】本発明の第2の実施形態に係るニューラルネットワーク装置に用いられる積算器の構成を示す回路図である。
【図10】図9の積算器を上から見たときの平面図である。
【図11】図9の積算器に用いられるソースフォロワ回路におけるFG電圧と積算係数との関係を示す図である。
【図12】本発明の第3の実施形態に係るニューラルネットワーク装置に用いられる積算器の構成を示す図である。
【図13】強誘電体における印加電圧と分極との関係(P−V特性)を示す図である。
【図14】本発明のニューラルネットワーク装置において、リセット電圧を印加せずに荷重を変更した場合の、強誘電体キャパシタへの印加電圧及び分極の履歴を示す図である。
【図15】本発明の第5の実施形態に係るニューラルネットワーク装置の学習方法を説明するための図である。
【図16】図15に示す学習方法における誤差総和の変化を示す図である。
【図17】本発明のニューラルネットワーク装置において、リセットパルスを印加した後に荷重電圧をスイープさせたときの積算係数の変化を示す図である。
【図18】ニューラルネットワーク情報処理における最小単位の素子を示す図である。
【図19】ニューラルネットワーク情報処理を説明するための図である。
【図20】従来のニューラルネットワーク装置を示す回路図である。
【図21】従来のニューロン回路中のニューロンMISFETを示す図である。
【図22】従来の積算器のフローティングゲートにおける印加電圧とトンネル電流との関係を示す図である。
【符号の説明】
1         ニューラルネットワーク装置
3         ニューロ素子
5         メモリ
7         入力データ保持部
9,11      D/Aコンバータ
13        A/Dコンバータ
15        制御部
17        セル選択部
19        メモリ
21        出力部
31        入力端子
33        ニューロユニット
35        出力端子
41        積算器
43        和算器
44,81     強誘電体キャパシタ
45        閾値処理器
47,83     PMIS
48        分圧調節用キャパシタ
49,84     NMIS
51        半導体基板
52a,52b   ソース及びドレイン領域
53        埋め込み絶縁膜
54,113a,113b,115a,115b プラグ
55a       N型半導体領域
55b       P型半導体領域
57        素子分離用絶縁膜
59        ゲート絶縁膜
61        ゲート電極
63        層間絶縁膜
65        強誘電体膜
66        プラグ配線
67        下部電極
69        上部電極
71a,71b,73 配線
82a        P型ソース及びドレイン領域
82b        N型ソース及びドレイン領域
85a        N型半導体領域
85b        P型半導体領域
91         ゲート電極
97         下部電極
99         上部電極
121        積算器
123        抵抗変化材料
125a,125b,126c,126d スイッチ
127a       第1の電極
127b       第2の電極
129        抵抗体
r0〜Pr3     残留分極
D1〜VD3     分配電圧
FG        FG電圧
Vin        入力電圧
Vout       出力電圧
Vres       リセット電圧
         荷重電圧

Claims (42)

  1. 入力される荷重電圧に応じて荷重が変化するシナプスとしての積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置の学習方法であって、
    前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を算出するステップAと、
    その後、前記積算器の荷重を変化させて前記誤差の変化量を算出するステップBと、
    前記誤差の変化量に基づいて前記積算器の荷重を変化させるステップCとを有し、
    前記ステップB及びCにおいて、前記積算器に対し、前記荷重を略一定値に揃えるためのリセット電圧を前記荷重電圧として入力した後、変化させようとする荷重に対応する荷重電圧を入力することにより、前記荷重を変化させる、半導体装置の学習方法。
  2. 前記変化させようとする荷重に対応する荷重電圧の絶対値が前記リセット電圧の絶対値より小さい、請求項1記載の半導体装置の学習方法。
  3. 前記リセット電圧の波形がパルス状である、請求項1記載の半導体装置の学習方法。
  4. 前記積算器と異なる積算器について、前記ステップA乃至Cを遂行する、請求項1記載の半導体装置の学習方法。
  5. 前記誤差が所定値を下回るまで、各積算器について、順に繰り返すようにして、前記ステップA乃至Cを遂行する、請求項4記載の半導体装置の学習方法。
  6. 前記荷重電圧に対する前記積算器の荷重の変化がヒステリシス特性を有する、請求項1記載の半導体装置の学習方法。
  7. 前記リセット電圧の絶対値が前記ヒステリシス特性における飽和電圧の絶対値より大きい、請求項6記載の半導体装置の学習方法。
  8. 前記積算器は前記荷重電圧が一方の電極に印加される強誘電体キャパシタを有し、該強誘電体キャパシタの他方の電極の電位に応じて前記荷重が定まる、請求項6記載の半導体装置の学習方法。
  9. 前記積算器は、前記荷重電圧の印加により結晶状態が変化する抵抗変化材料を有し、該結晶状態の変化に応じて前記荷重が定まる、請求項1記載の半導体装置の学習方法。
  10. 前記リセット電圧の印加により前記抵抗変化材料が略非晶質状態になる、請求項9記載の半導体装置の学習方法。
  11. 入力される荷重電圧に対しヒステリシス特性を有して荷重が変化するシナプスとしての複数の積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置の学習方法であって、
    前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を、前記積算器に前記荷重電圧として前記荷重を略一定値に揃えるためのリセット電圧を入力しないで、所定値以下にして学習を収束させるステップAと、
    前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記リセット電圧を所定電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップBとを有する、半導体装置の学習方法。
  12. 前記リセット電圧の絶対値が前記ヒステリシス特性における飽和電圧の絶対値より大きい、請求項11記載の半導体装置の学習方法。
  13. 前記積算器は前記荷重電圧が一方の電極に印加される強誘電体キャパシタを有し、該強誘電体キャパシタの他方の電極の電位に応じて前記荷重が定まる、請求項12記載の半導体装置の学習方法。
  14. 前記ステップBにおける前記リセット電圧及び前記探索用荷重電圧がパルス状であり、
    前記ステップBで得られた前記誤差が前記ステップAで得られた最終的な誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップCとを有する、請求項12記載の半導体装置の学習方法。
  15. 前記探索用荷重電圧をステップ毎に所定のルールに従って変化させながら、そのステップで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップCを繰り返す、請求項14記載の半導体装置の学習方法。
  16. 前記探索用荷重電圧が、前記ステップB以降のステップの進行に連れてステップ状に変化する、請求項15記載の半導体装置の学習方法。
  17. 前記リセット電圧が負であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ大きくなる、請求項16記載の半導体装置の学習方法。
  18. 前記リセット電圧が正であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ小さくなる、請求項16記載の半導体装置の学習方法。
  19. 前記ステップBは、前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、該荷重電圧を該リセット電圧からその極性が反転する方向に連続的に変化させて該荷重電圧が印加された状態で前記誤差が最小となる荷重電圧を取得するステップDと、次いで、前記選択された積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記誤差が最小となる荷重電圧からなるパルス状の探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップEとを有し、
    さらに、前記ステップEで得られた前記誤差が前記ステップDで得られた最小の誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップFとを有する、請求項12記載の半導体装置の学習方法。
  20. 前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前のステップにおける前記探索用荷重電圧を前記所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップGをさらに有し、該ステップGで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップGを繰り返す、請求項19記載の半導体装置の学習方法。
  21. 前記探索用荷重電圧が、前記ステップE以降のステップの進行に連れて、前記ステップDにおける荷重電圧の連続的な変化方向にステップ状に変化する、請求項20記載の半導体装置の学習方法。
  22. 入力される荷重電圧に応じて荷重が変化するシナプスとしての積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置であって、
    前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を算出するステップAと、
    その後、前記積算器の荷重を変化させて前記誤差の変化量を算出するステップBと、
    前記誤差の変化量に基づいて前記積算器の荷重を変化させるステップCとを有し、
    前記ステップB及びCにおいて、前記積算器に対し、前記荷重を略一定値に揃えるためのリセット電圧を前記荷重電圧として入力した後、変化させようとする荷重に対応する荷重電圧を入力することにより、前記荷重を変化させるよう学習動作する、半導体装置。
  23. 前記変化させようとする荷重に対応する荷重電圧の絶対値が前記リセット電圧の絶対値より小さい、請求項22記載の半導体装置。
  24. 前記リセット電圧の波形がパルス状である、請求項22記載の半導体装置。
  25. 前記積算器と異なる積算器について、前記ステップA乃至Cを遂行する、請求項22記載の半導体装置。
  26. 前記誤差が所定値を下回るまで、各積算器について、順に繰り返すようにして、前記ステップA乃至Cを遂行する、請求項25記載の半導体装置。
  27. 前記荷重電圧に対する前記積算器の荷重の変化がヒステリシス特性を有する、請求項22記載の半導体装置。
  28. 前記リセット電圧の絶対値が前記ヒステリシス特性における飽和電圧の絶対値より大きい、請求項27記載の半導体装置。
  29. 前記積算器は前記荷重電圧が一方の電極に印加される強誘電体キャパシタを有し、該強誘電体キャパシタの他方の電極の電位に応じて前記荷重が定まる、請求項27記載の半導体装置。
  30. 前記積算器は、前記荷重電圧の印加により結晶状態が変化する抵抗変化材料を有し、該結晶状態の変化に応じて前記荷重が定まる、請求項22記載の半導体装置。
  31. 前記リセット電圧の印加により前記抵抗変化材料が略非晶質状態になる、請求項30記載の半導体装置。
  32. 入力される荷重電圧に対しヒステリシス特性を有して荷重が変化するシナプスとしての複数の積算器を有するニューロ素子を備え、アナログデータを処理するニューラルネットワーク装置として機能する半導体装置であって、
    前記ニューロ素子に所定の入力データを入力し、該入力データに対する該ニューロ素子の出力の目標値と実際の出力との誤差を、前記積算器に前記荷重電圧として前記荷重を略一定値に揃えるためのリセット電圧を入力しないで、所定値以下にして学習を収束させるステップAと、
    前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記リセット電圧を所定電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップBとを有するように学習動作する、半導体装置。
  33. 前記リセット電圧の絶対値が前記ヒステリシス特性における飽和電圧の絶対値より大きい、請求項32記載の半導体装置。
  34. 前記積算器は前記荷重電圧が一方の電極に印加される強誘電体キャパシタを有し、該強誘電体キャパシタの他方の電極の電位に応じて前記荷重が定まる、請求項33記載の半導体装置。
  35. 前記ステップBにおける前記リセット電圧及び前記探索用荷重電圧がパルス状であり、
    前記ステップBで得られた前記誤差が前記ステップAで得られた最終的な誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップCとを有する、請求項33記載の半導体装置。
  36. 前記探索用荷重電圧をステップ毎に所定のルールに従って変化させながら、そのステップで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップCを繰り返す、請求項35記載の半導体装置。
  37. 前記探索用荷重電圧が、前記ステップB以降のステップの進行に連れてステップ状に変化する、請求項36記載の半導体装置。
  38. 前記リセット電圧が負であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ大きくなる、請求項37記載の半導体装置。
  39. 前記リセット電圧が正であり、前記探索用荷重電圧がステップ毎に前記所定範囲内の電圧だけ小さくなる、請求項37記載の半導体装置。
  40. 前記ステップBは、前記ステップAの後に、前記複数の積算器のうちから1つのみを選択し、選択されない前記積算器の荷重を維持したまま、該選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、該荷重電圧を該リセット電圧からその極性が反転する方向に連続的に変化させて該荷重電圧が印加された状態で前記誤差が最小となる荷重電圧を取得するステップDと、次いで、前記選択された積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記誤差が最小となる荷重電圧からなるパルス状の探索用荷重電圧を入力し、そのときの前記誤差と前記探索用荷重電圧との対を取得するステップEとを有し、
    さらに、前記ステップEで得られた前記誤差が前記ステップDで得られた最小の誤差を超える場合に、前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前記探索用荷重電圧を所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップFとを有する、請求項33記載の半導体装置。
  41. 前記選択された前記積算器に対し、前記リセット電圧を前記荷重電圧として入力した後、前のステップにおける前記探索用荷重電圧を前記所定範囲内の電圧だけ変化させた探索用荷重電圧を入力し、そのときの前記誤差と前記変化させた探索用荷重電圧との対を取得するステップGをさらに有し、該ステップGで得られた前記誤差が前記ステップAで得られた最終的な誤差を下回るまで前記ステップGを繰り返す、請求項30記載の半導体装置。
  42. 前記探索用荷重電圧が、前記ステップE以降のステップの進行に連れて、前記ステップDにおける荷重電圧の連続的な変化方向にステップ状に変化する、請求項41記載の半導体装置。
JP2003132012A 2002-05-10 2003-05-09 半導体装置及びその学習方法 Pending JP2004030624A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003132012A JP2004030624A (ja) 2002-05-10 2003-05-09 半導体装置及びその学習方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002134877 2002-05-10
JP2003132012A JP2004030624A (ja) 2002-05-10 2003-05-09 半導体装置及びその学習方法

Publications (2)

Publication Number Publication Date
JP2004030624A true JP2004030624A (ja) 2004-01-29
JP2004030624A5 JP2004030624A5 (ja) 2005-08-04

Family

ID=31190202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003132012A Pending JP2004030624A (ja) 2002-05-10 2003-05-09 半導体装置及びその学習方法

Country Status (1)

Country Link
JP (1) JP2004030624A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505108B2 (en) 2016-09-20 2019-12-10 Kabushiki Kaisha Toshiba Memcapacitor, neuro device, and neural network device
JP2021140805A (ja) * 2016-03-18 2021-09-16 株式会社半導体エネルギー研究所 人口ニューラルネットワーク
WO2022138463A1 (ja) * 2020-12-25 2022-06-30 ソニーセミコンダクタソリューションズ株式会社 積和演算装置およびニューラルネットワーク

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140805A (ja) * 2016-03-18 2021-09-16 株式会社半導体エネルギー研究所 人口ニューラルネットワーク
US11636883B2 (en) 2016-03-18 2023-04-25 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
US10505108B2 (en) 2016-09-20 2019-12-10 Kabushiki Kaisha Toshiba Memcapacitor, neuro device, and neural network device
WO2022138463A1 (ja) * 2020-12-25 2022-06-30 ソニーセミコンダクタソリューションズ株式会社 積和演算装置およびニューラルネットワーク

Similar Documents

Publication Publication Date Title
US6844582B2 (en) Semiconductor device and learning method thereof
CN110275694B (zh) 用于产生积项和的装置及其操作方法
CN111433792B (zh) 可编程可重置人工神经网络的基于计数器的电阻处理单元
US5268320A (en) Method of increasing the accuracy of an analog circuit employing floating gate memory devices
US7388771B2 (en) Methods of operating a bistable resistance random access memory with multiple memory layers and multilevel memory states
TW548825B (en) Semiconductor device
US6956280B2 (en) Integrated circuit apparatus and neuro element
Hasler et al. Adaptive circuits using pFET floating-gate devices
US5146602A (en) Method of increasing the accuracy of an analog neural network and the like
US5818081A (en) Semiconductor device
US11727977B2 (en) Non-volatile analog resistive memory cells implementing ferroelectric select transistors
US10134472B1 (en) Floating gate architecture for deep neural network application
US20110075469A1 (en) Resistance variable nonvolatile memory device
JPH06139380A (ja) 半導体神経回路装置
US11121259B2 (en) Metal-oxide-based neuromorphic device
US11586899B2 (en) Neuromorphic device with oxygen scavenging gate
JP2004030624A (ja) 半導体装置及びその学習方法
CN114067884A (zh) 用于存储器中卷积计算的方法和对应的集成电路
CN112215344A (zh) 神经网络电路的校正方法以及设计方法
KR101988112B1 (ko) 가중치 회로 및 그 동작 방법
JP3578749B2 (ja) 半導体装置
US11521678B2 (en) Synapse and synaptic array, and computing system using the same and driving method thereof
Youn et al. Threshold learning algorithm for memristive neural network with binary switching behavior
임수환 Hardware-based Neural Networks using gated Schottky diodes
JP2024504290A (ja) Rram抵抗の上限設定

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071023