JP3708113B2 - 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 - Google Patents
確率的演算素子、その駆動方法及びこれを用いた認識処理装置 Download PDFInfo
- Publication number
- JP3708113B2 JP3708113B2 JP2004522760A JP2004522760A JP3708113B2 JP 3708113 B2 JP3708113 B2 JP 3708113B2 JP 2004522760 A JP2004522760 A JP 2004522760A JP 2004522760 A JP2004522760 A JP 2004522760A JP 3708113 B2 JP3708113 B2 JP 3708113B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- vector
- fluctuation
- stochastic
- data
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Analogue/Digital Conversion (AREA)
- Non-Volatile Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Description
【0001】
本発明は、新規動作原理に基づく確率的演算素子に関し、特に認識処理で必須の演算であるベクトルマッチングを高速に演算することができる確率的演算素子と、これを用いた認識処理装置を提供するものである。
【背景技術】
【0002】
近年のパーソナルコンピュータ(PC)の普及に見られるように、演算素子も家庭内での使用が大幅に増加して、単なる数値演算のみならず、インターネット、メール、及び画像処理など、個人的な用途での使用分野が増加しつつある。
【0003】
しかしながら、これほど高速に演算できるようになったPCにおいても、全ての演算に対して十分な速度が得られているわけではない。例えば、人の発する声や言語を認識したり、カメラに写った人が誰であるかを認識するといった処理は、膨大な量の演算を行う必要があるため、実時間(リアルタイム)での処理は困難である。
【0004】
このような認識処理の基本は、記憶されている音声や顔などの情報をベクトル化して記憶しておき、入力情報を同様にベクトル化してこれらの近似を検出し、どれに最も近いかという演算を行うことである。このようなベクトル比較処理は、連想メモリや、ベクトル量子化、動き予測等のパターン認識や、データ圧縮等の幅広い情報処理に利用され得る基本的な処理である。
【0005】
このようなベクトル比較はいずれの用途においても膨大な演算量を要し、また従来のPCに代表されるノイマン型コンピュータでは、その原理上、全てのベクトル比較演算を一旦終了しないと、どれが一番近いかを抽出できず、結果として非常に時間を要してしまう。
【0006】
一方、人間はこれらの認識処理を何の苦もなく直ちに行うことができる。このことから、従来のコンピュータと異なる処理原理のコンピュータの創出により、これらの処理を高速に実行し、従来のコンピュータを補完する必要があると考えられる。
【0007】
このような新規な演算原理に基づく演算素子の一例として、公知の「情報処理構造体」(例えば、特許文献1参照)が挙げられる。
【0008】
図40はこの従来の演算素子の構造を模式的に示す斜視図である。図40に示すように、この従来の演算素子220では、微細なMISFET211のゲート電極212に対向するように電源電極214が配置され、両電極212,214の間にナノメータスケールの大きさの複数個の量子ドット213,221が形成されている。具体的には、ゲート電極212の幅方向(ゲート幅方向)に一定のピッチで一対の情報電極222が配置され、各対の情報電極222の間に複数の量子ドット221が列状に配置されている。符号301は情報電極222及び量子ドット221が配置されている仮想平面を示す。この列状に配置された量子ドット221とゲート電極212との間に、さらに量子ドット213が配置されている。これにより、各量子ドット221とゲート電極212との間に電子が直接トンネルできるエネルギー障壁が形成されている。
【0009】
図41(a),(b)はこの従来の演算素子220の演算原理を等価回路で示した模式図である。
【0010】
図41(a),(b)において、各対の情報電極222には入力パターン(入力ベクトル)と参照パターン(参照ベクトル)とにそれぞれ対応する電圧が入力される。これらの電圧は、1及び0の2値のいずれかを取るデジタル電圧である。このような電圧が、量子ドット221を挟む各対の情報電極222にそれぞれ入力されると、各対の情報電極222で決定される電位によって、電子が中央付近にとどまる(図41(a))か、又は移動するか(図41(b))が確率的に生じ、これによりMISFET(Metal Insulator Field Effect Transistor)のドレイン電流が変化する。
【0011】
そして、ドレイン電流を観測しつづけることで、確率が時間とともに向上するため、厳密な演算の結果に近い解を得ることができるものである。
【特許文献1】
特開2001−313386公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかしながら、上記従来の演算素子220は、第1に、量子ドット213,221を用いるため、まず量子ドット213,221の製造プロセスの確立を待たなければならず、現状の半導体プロセス技術以外の技術を必要とするという点で煩雑である。
【0013】
また、ベクトルの比較においても、いわゆる2値情報の比較であったため、ハミング距離を求めるには有効ではあるが、実際の情報処理で頻繁に用いられるマンハッタン距離(差の絶対値)などを演算するのが難しいという課題を有している。
【0014】
さらに、上記従来の演算素子220では、各対の情報電極222に、比較する2つのベクトル(入力ベクトル及び参照ベクトル)の各要素(元)に対応する電圧が入力され、各対の情報電極222において各要素の差分の演算がアナログ的かつ確率的に遂行されて、その各要素の差分の総和がMISFET211のドレイン電流として現れる。そして、そのドレイン電流の大きさによって2つのベクトルの相違、換言すれば近似度が判定される。従って、比較しようとするベクトルの要素が多くなるに従って、ドレイン電流を高い精度で検出することが必要とされ、近似度の判定が困難になるという課題を有している。
【0015】
本発明は上記のような課題を解決するためになされたもので、現状の半導体プロセス技術で作製可能な確率的演算素子、その駆動方法、及びこれを用いた認識処理装置を提供することを第1の目的としている。
【0016】
また、本発明はマンハッタン距離を演算可能な確率的演算素子、その駆動方法、及びこれを用いた認識処理装置を提供することを第2の目的としている。
【0017】
また、本発明は比較しようとするベクトルの要素が多くても、容易に近似度を判定することが可能な確率的演算素子、その駆動方法、及びこれを用いた認識処理装置を提供することを第3の目的としている。
【課題を解決するための手段】
【0018】
上記目的を達成するために、本発明に係る確率的演算素子は、揺らぎを有するアナログ量を出力する揺らぎ発生器と、2つのデータのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段と、前記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力する閾値処理器と、前記閾値処理器から出力されるパルスを検出するパルス検出手段とを備え、前記2つのデータは、2つのベクトルのそれぞれの要素を表す要素データであり、前記2つのベクトルが外部から入力される参照ベクトル及び入力ベクトルであり、前記参照ベクトル及び入力ベクトルの要素に対応する複数の確率的演算回路を有し、それぞれの前記確率的演算回路が、前記入力される参照ベクトルの要素データを記憶するためのメモリと、前記メモリに記憶された参照ベクトルの要素データと前記入力される入力ベクトルの要素データとのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する前記揺らぎ差分演算手段と、前記閾値処理器とを有し、前記パルス検出手段は、前記複数の前記確率的演算回路から出力されるパルスを検出する。
このような構成とすると、2つのデータのアナログの差分を演算するので、マンハッタン距離を演算することができる。また、2つのデータのアナログの差分に揺らぎが加わった揺らぎ差分データを閾値処理してパルスを出力するので、2つのデータの差を高速に演算することができる。また、在来の回路素子で構成可能であるので、現状の半導体プロセス技術で作製可能である。
このような構成とすると、ベクトルの要素間の差の演算が並列に遂行されるので、入力ベクトルと参照ベクトルとの距離すなわち近似度を高速に検出することができる。しかも、入力ベクトル及び参照ベクトルの要素間の差がパルスで出力され、入力ベクトル及び参照ベクトルの近似度がそのパルスの総和として検出されるので、比較対象のベクトルの要素が多くても、容易に近似度を判定することができる。
【0019】
前記揺らぎ差分演算手段は、アナログの前記2つのデータの差分を演算する距離演算器と、前記距離演算器の出力と前記揺らぎ発生器の出力とを和算する和算器とを備えていてもよい。
【0020】
前記揺らぎ差分演算手段は、アナログの前記2つのデータの一方と前記揺らぎ発生器の出力とを和算する和算器と、前記和算器の出力とアナログの前記2つのデータの他方との差分を演算する距離演算器とを備えていてもよい。
【0021】
前記パルス検出手段が、前記パルスをカウントするカウンタを備えていてもよい。このような構成とすると、パルスの数によって2つのデータの差を精度よく検出することができる。
【0022】
前記パルス検出手段が、前記パルスの幅を積分する積分器を備えていてもよい。このような構成とすると、パルスの数のみならすその幅をも検出できるので、2つのデータの差をより高精度で検出することができる。
【0025】
前記複数の確率的演算回路のパルス出力端は、一端が前記パルス検出手段に接続された共通の配線に互いに並列に接続され、前記共通の配線の、前記複数の確率的演算回路のパルス出力端との接続部の間の部分に遅延回路がそれぞれ設けられていてもよい。このような構成とすると、各確率的演算回路からパルスが同じタイミングで出力されても、精度よくパルスの総和を検出することができる。
【0026】
前記複数の確率的演算回路と前記パルス検出手段とを有するベクトル列比較回路を複数備えていてもよい。このような構成とすると、入力ベクトルを一度に複数の参照ベクトルと比較することができる。
【0027】
前記メモリがアナログメモリであり、アナログの前記参照ベクトルの要素データが前記アナログメモリに記憶されてもよい。このような構成とすると、参照ベクトルを予め書き込んでおいて、入力ベクトルをこれと比較することができる。
【0028】
前記アナログメモリは、ゲート電極に強誘電体キャパシタが接続されたソースフォロワ回路を備え、前記強誘電体キャパシタにアナログの前記参照ベクトルの要素データが入力されかつ記憶されてもよい。
【0029】
前記ソースフォロワ回路のゲート電極に、さらに常誘電体キャパシタが接続されていてもよい。このような構成とすると、ソースフォロワ回路のサイズを周辺回路のサイズと同等にできるため、製造しやすくなる。
【0030】
前記揺らぎ差分演算手段は前記2つのデータのアナログの差分又はアナログの前記2つのデータの一方と前記揺らぎ発生回路の出力とを和算する和算器を備え、前記和算器がゲート電極に第1及び第2のキャパシタが並列に接続されたソースフォロワ回路を備え、前記第1のキャパシタに前記揺らぎ発生回路の出力が入力され、前記第2のキャパシタに前記2つのデータのアナログの差分又はアナログの前記2つのデータの一方が入力されてもよい。
【0031】
前記和算器のソースフォロワ回路のゲート電極が、スイッチ素子を介して接地端子へ接続されていてもよい。このような構成とすると、ソースフォロワ回路のゲート電極の電荷を除去することができる。
【0032】
前記カウンタが、リプルカウンタであってもよい。このような構成とすると、簡便にパルス数をカウントできるだけでなく、リプルカウンタの上位ビットをフラグとすることで、先にフラグが立ったベクトル列を容易に特定することが可能になる。
【0033】
前記揺らぎが、カオス揺らぎであってもよい。
【0034】
前記揺らぎが、雑音を増幅して得られる揺らぎであってもよい。
【0035】
前記揺らぎ発生器は、揺らぎを有する出力として、周期的な出力を発生し、かつ前記周期的出力の1周期間の出力のヒストグラム値がほぼ同等であってもよい。
【0036】
前記距離演算器は減算素子を備え、前記減算素子は、ゲート電極に並列に2つのキャパシタが接続されたソースフォロワ回路を備え、かつ前記2つキャパシタのキャパシタンスが等しくC1であるとし、前記ソースフォロワ回路を構成するNMIS及びPMISのキャパシタンスをそれぞれCN、CPとし、前記ソースフォロワ回路へ電圧を入力したときに低電圧側の電圧源の電位より電位が上昇を開始する電圧をVLowとするとき、 電圧VZをVZ=VLow/[2C1/(2C1+CN+CP)]の式で演算し、かつ前記2つのデータはそれぞれ電圧で表されかつその電圧をVaとVbとするとき、V1=VZ-Vaなる電圧とV2=VZ+Vbなる電圧とを前記2つのキャパシタのソースフォロワ回路のゲート電極に接続されていない方の電極にそれぞれ印加することにより、Va-Vbの演算においてVa≧Vbの場合の減算を実行してもよい。
【0037】
前記距離演算器は、前記減算素子を2つ備え、前記2つのデータをそれぞれVin、Vrefとするとき、前記2つの減算素子の一方にはVa=Vin、Vb=Vrefとして出力VM1を得、前記2つの減算素子の他方にはVa=Vref、Vb=Vinとして出力VM2を得、かつ電圧VM1とVM2を前記和算器へ入力することにより、VinとVrefの差の絶対値を演算してもよい。
【0038】
前記閾値処理器が、CMISインバータで構成されていてもよい。
【0039】
前記閾値処理器の直前にスイッチ素子が設けられていてもよい。
【0040】
前記閾値処理器の電源供給配線の電流を検出する電流検出器と、前記電流検出器の出力に基づいて前記揺らぎ発生器の出力を制御する揺らぎ発生器制御回路とをさらに備えていてもよい。このような構成とすると、パルスが発生しているか否かをチェックし、その結果に応じて揺らぎを調整することにより、効率的かつ高精度に確率演算を実行することができる。
【0041】
前記揺らぎ発生器制御回路は、前記電流検出器により検出される電流が所定値より小さい場合に、前記揺らぎ発生器の揺らぎ幅を増加させてもよい。
【0042】
前記揺らぎ発生器制御回路は、前記電流検出器により検出される電流が所定値より小さい場合に、前記揺らぎ発生器の出力に、その平均値が前記閾値処理器の閾値に近づくよう正又は負のバイアスを付加してもよい。
【0043】
また、本発明に係る確率的演算素子の駆動方法は、外部から入力される参照ベクトル及び入力ベクトルの要素に対応する複数の確率的演算回路と、パルス検出手段と、前記複数の確率的演算回路及び前記パルス検出手段を有する所定数のベクトル列比較回路とを備え、それぞれの前記確率的演算回路が、揺らぎを有するアナログ量を出力する揺らぎ発生器と、前記入力される参照ベクトルの要素データを記憶するためのメモリと、前記メモリに記憶された参照ベクトルの要素データと前記入力される入力ベクトルの要素データとのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段と、前記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力する閾値処理器とを有し、前記パルス検出手段が、前記複数の確率的演算回路の閾値処理器から出力されるパルスを検出し、それにより、前記入力ベクトルと前記参照ベクトルとの距離を検出する確率的演算素子の駆動方法であって、前記ベクトル列比較回路の列数が参照ベクトルの列数より少ない場合に、前記入力ベクトルとの距離が近い前記参照ベクトルをk個(kは自然数)抽出するとき、前記ベクトル列比較回路の列数以下の数の前記参照ベクトルを前記ベクトル列比較回路の複数の確率的演算回路のメモリに書き込み、この書き込んだ参照ベクトルから前記上位k個の参照ベクトルを抽出し、次いで、この参照ベクトルが抽出されたベクトル列比較回路以外のベクトル列比較回路に残りの前記参照ベクトルの少なくとも一部を書き込んで前記抽出を行う。このような構成とすると、ベクトル列比較回路の列数が参照ベクトルの列数より少ない場合でも、入力ベクトルとの距離が近い参照ベクトルを、高速に所定数抽出することができるので、それにより、素子数の有限性を補完することができる。
【0044】
前記参照ベクトルの書き込み及び前記抽出動作をさらに繰り返してもよい。
【0045】
また、本発明に係る認識処理装置は、請求項1記載の確率的演算素子と、外部から入力される認識対象情報の特徴を抽出し、該抽出された特徴を前記入力ベクトルとして前記確率的演算素子に入力する特徴抽出回路と、前記認識対象情報の特徴をベクトル化した参照ベクトル群を格納するメモリとを備え、前記確率的演算素子が、前記メモリに格納された参照ベクトル群のうちから前記入力ベクトルに対応する参照ベクトルを特定することにより、認識対象情報を認識する。このような構成とすると、確率的演算素子が高速にベクトルの比較演算を遂行するので、高速に認識処理を行うことができる。
【0046】
前記認識対象情報が音声であってもよい。
【0047】
前記参照ベクトル群は、音声の特徴量が時系列的に配置されたベクトル群からなり、かつ人間にとって同じであると認識される音声の特徴量が互いに時系列的にずれて配置された複数列のベクトルを有していてもよい。
【0048】
前記認識対象情報が画像であってもよい。
【0049】
前記参照ベクトル群は、人間にとって同じものと認識されるが数値的には異なる画像の特徴量がベクトル化されたベクトル群からなっていてもよい。
【0050】
前記人間にとって同じものと認識される画像が人間の部位であり、前記数値的に異なる画像の特徴量が前記人間の部位間の距離であってもよい。
【0051】
前記認識対象情報が人間の行動であり、前記認識された行動を出力してもよい。
【0052】
前記参照ベクトル群は、人間の活動情報を数値化したデータがベクトル化されたベクトル群からなっていてもよい。
【0053】
前記出力された行動に対する反応が好意的な場合には、前記出力された行動に対応する参照ベクトルが選択されやすくなるよう該参照ベクトルの値の少なくとも一部を変更し、前記反応が否定的な場合には前記出力された行動に対応する参照ベクトルが選択されにくくなるように該参照ベクトルの値の少なくとも一部を変更してもよい。
【0054】
前記活動情報は、電気機器の操作履歴、赤外線センサ出力、室温センサ出力、湿度センサ出力、体温センサ出力、脳波センサ出力、脈拍センサ出力、視線センサ出力、発汗センサ出力、筋電位センサ出力、日時情報、曜日情報、及び認識処理装置の出力の少なくともいずれかを含んでいてもよい。
【発明の効果】
【0055】
本発明は、以上に説明したような構成を有し、現状の半導体プロセス技術で作製可能な確率的演算素子を提供できるという効果を奏する。
【0056】
また、本発明はマンハッタン距離を演算可能な確率的演算素子を提供できるという効果を奏する。
【0057】
また、本発明は比較しようとするベクトルの要素が多くても、容易に近似度を判定することが可能な確率的演算素子を提供できるという効果を奏する。
【発明を実施するための最良の形態】
【0058】
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施形態1)
図1は本発明の実施形態1に係る確率的演算素子の構成を示す回路図である。
【0059】
本実施形態の確率的演算素子1は、入力ベクトルと参照ベクトルの2つのベクトルの対応する要素間の距離に応じて発生するパルス数又はパルス幅を変化できるベクトル列比較回路Cnを基本セルとし、同じベクトル列について、基本セルからのパルス出力をカウントすることで、ベクトル間の距離を並列的に高速に演算する素子である。
【0060】
特に本実施形態においては、基本セルからのパルス出力を得るために、例えばカオスなどに見られるランダムな信号を重畳する場合を例示している。なお、本実施形態では、ベクトルデータを表す物理量として電圧を用いる場合について説明する。また、ベクトル間の違いである距離については、マンハッタン距離の場合について説明する。すなわち、ベクトル要素の差の絶対値を距離として演算する場合について説明する。
【0061】
図1において、確率的演算素子1は、ベクトル列比較回路Cpと、入力電圧出力器13と、揺らぎ発生器15と、カウント数取得器19と、フラグ検出器17とを有している。
【0062】
ベクトル列比較回路Cpはm列(本実施形態では、例えば1000列)設けられている。以下では、y(yは1〜mの自然数)列のベクトル列比較回路Cpを特定して指す場合には添え字yを付してCpyと表記し、任意のベクトル列比較回路Cpを指す場合には添え字を付さずにCpと表記する。
【0063】
各ベクトル列比較回路Cpは、n個(本実施形態では、例えば14個)の確率的演算回路Ccと、遅延回路7と、スイッチSと、カウンタCtとを有している。1つのベクトル列比較回路Cpにおける確率的演算回路Ccは、比較すべきベクトルの要素に対応して設けられている。従って、この確率的演算素子1では2以上n個以下の要素を有するベクトルを比較することができる。そして、後述するように、ベクトル列比較回路Cp1〜Cpmの全体にはm個の入力ベクトルが書き込まれるが、あるベクトル列比較回路Cpに書き込まれた入力ベクトルをベクトル列と呼ぶ。
【0064】
確率的演算回路Ccは、m列のベクトル列比較回路Cpの全体においては、n行m列のマトリクス状に配置されているので、図1に示すように、1つのベクトル列比較回路Cpにおいては行で特定し、x(xは1〜nの自然数)行の確率的演算回路Ccを特定して指す場合には添え字xを付してCcxと表記し、任意の確率的演算回路Ccを指す場合には添え字を付さずにCcと表記する。また、y列のスイッチS及びカウンタCtを特定して指す場合には、それぞれ、添え字yを付してSty及びCtyと表記し、任意のスイッチS及びカウンタCtを指す場合には添え字を付さずにS及びCtと表記する。
【0065】
遅延回路7は、例えば、インバータで構成される。そして、隣り合う確率的演算回路Ccの出力端子が遅延回路7を介して相互に接続され、最終行の確率的演算回路Ccn出力端子がスイッチSを介してカウンタCtに接続されている。
【0066】
入力電圧出力器13は、入力ベクトル及び参照ベクトルの要素からなる入力データをそれぞれ電圧に変換して、これを、ベクトルの要素毎に、その要素に対応する確率的演算回路Cc1〜Ccnにそれぞれ出力する。入力電圧出力器13は、入力データを後述する式で計算して出力する。
【0067】
揺らぎ発生器15は、揺らぎを有する電圧(以下、揺らぎ電圧という)を出力する機能を有し、これを全列のベクトル列比較回路Cp1〜Cpmの全行の確率的演算回路Cc1〜Ccnにそれぞれ出力する。
【0068】
各ベクトル列比較回路Cpでは、確率的演算回路Cc1〜Ccnが後述するパルスをそれぞれ出力する。この確率的演算回路Cc1〜Ccnから出力されるパルスは、遅延回路7により、互いに重複しないように調整されている。すなわち、スイッチSがOn状態の時、ある揺らぎ電圧がベクトル列比較回路Cpへ入力され、それより、全行の確率的演算回路Cc1〜Ccnがパルスを出力した場合でも、カウンタCtには所定の間隔でパルス列が、n個(本実施形態では14個)入力することになる。
【0069】
カウンタCtはこのパルス数をカウントする。本実施形態では、カウンタCtとして、例えば後述するようなDフリップフロップを用いた非同期式リプルカウンタを用いている。
【0070】
カウンタCtは、例えば、その最上位ビットをフラグ検出器17へ出力する。これにより、フラグ検出器17は、全てのベクトル列比較回路Cp1〜Cpmに属するカウンタCt1〜Ctmのうち、最初に所定のカウント数に達したカウンタCt1〜Ctm、ひいてはベクトル列比較回路Cp1〜Cpmを検出することができる。これにより、入力ベクトルのうち、参照ベクトルとの近似度が所定程度以上高い入力ベクトルを高速に抽出することができる。
【0071】
一方、カウンタCtのカウント数はカウント数取得器19に出力されており、カウント数取得器19は、全てのベクトル列比較回路Cp1〜Cpmの出力を取得する。
【0072】
精度よりもむしろ解の出力までの時間が短いことが要求される場合には、例えば、カウント数取得器19により取得した各ベクトル列比較回路Cp1〜Cpmのカウント数を図示しない比較器で比較し、それにより、参照ベクトルとの近似度が高い入力ベクトルをその順に抽出するようにしてもよい。確率的演算回路Ccに比してベクトル列比較回路Cpの数は圧倒的に少ないため、このような比較は従来のコンピュータでも十分高速に実行することができる。
【0073】
次に、本実施形態の確率的演算素子を構成する個別素子の構成例を説明する。
【0074】
図2は図1の揺らぎ発生器15の構成例を示すブロック図である。
【0075】
図2に示すように、揺らぎ発生器15は、演算器21と遅延回路23とを有している。本発明における揺らぎとはアナログ量(物理量)の不規則又は規則的な変動であって以下の条件を満たすものをいう。不規則な変動の場合は、その変動するアナログ量の平均値に時間軸上における偏りが実質的に存在しないことが必要である。規則的な変動の場合は、周期的な変動の変動幅が所定の周期で変動し、その周期的に変動するアナログ量のその所定の周期内における平均値に時間軸上における偏りが実質的に存在しないことが必要である。以下では、不規則な揺らぎを説明し、規則的な揺らぎについては実施形態8で説明する。
【0076】
このような揺らぎを発生する回路は、近年、乱数発生回路やカオス発生回路などにおいて広く研究がなされており、例えばIEEE Transactions on Circuits and Systems−I:Fundamental theory and applications, Vol.47, No.11, November 2000, pp.1652−1657, ”CMOS circuits generating arbitrary chaos by using pulsewidth modulation techniques”に記載のMorieらのカオス発生回路などを用いることができる。
【0077】
カオスにはいくつかの種類が報告されているが、図2にはロジスティックカオスを発生する構成例を示している。図2の演算器21は入力ベクトルデータx(t)に対して次の式で演算を実行する。
【0078】
【数1】
【0079】
ここにaは定数であり、例えば3.96などである。ある時点での入力電圧Vをx(t)とし、これを式(1)に従い演算した結果を出力電圧x(t+1)とする。さらにこのx(t+1)を遅延回路23により次のステップの入力とすることで、カオス揺らぎの電圧を発生することができる。
【0080】
なお、図示しないが、このようなカオス発生回路を用いずとも、例えば半導体基板に生ずる熱雑音を増幅しても同様にランダムな電圧を得ることができる。
【0081】
図3は図1のカウンタCtの構成例を示す回路図である。
【0082】
図3において、符号25はDフリップフロップを示す。本実施の形態では、カウンタCtは、いわゆるDフリップフロップを用いた、非同期式カウンタにより構成されている。電圧パルスVpulがカウンタCtに入力されると、2進的にD0、D1……DnのHigh出力が切り替わっていく。ここで、例えば最大カウント数に達したベクトル列を検出したいのであれば、Dnの出力をフラグ検出器17へ接続しておき、最初にDnがHighとなったベクトル列を検出すればよいことになる。また、全てのベクトル列の中から参照ベクトルに近いものを複数抽出したい場合には、フラグ検出器17において、Highとなったフラグ数を常時カウントしておけばよい。
【0083】
また最上位ビット(桁)をフラグとせずにさらに下位ビットの出力を検出すれば、確率的にフラグはより早くHighとなるので、演算速度を優先することができる。
【0084】
なお、前述のように、このようなフラグ検出17を用いずとも、カウント数そのものをカウント数取得器19により取得し、図示しない比較器で比較してもよい。
【0085】
図4は図1の確率的演算回路Ccの構造をより詳細に示すブロック図である。
【0086】
図4において、確率的演算回路Ccは、データ記憶部41と、距離演算器43と、和算器45と、閾値処理器47とを有している。そして、距離演算器43と和算器45とが揺らぎ差分演算手段401を構成している。データ記憶部41には、図示されない配線により、1つの参照ベクトルデータ(正確には参照ベクトルの要素のデータ)が書き込まれる。距離演算器43は、入力電圧出力器13から出力される入力ベクトルデータ(正確には入力ベクトルの要素のデータ)とデータ記憶部41に記憶された参照ベクトルデータの差の絶対値に比例した電圧を出力する。和算器45は、距離演算器43の出力と揺らぎ発生器15の出力の和の大きさに比例した電圧を出力、すなわち重畳電圧を出力する。
【0087】
ここで、本発明において和算とは、このように、複数のアナログ量の和に比例したアナログ量を演算することをいう。
【0088】
閾値処理器47は、和算器45の出力に対し閾値処理を実行する。閾値処理器47の出力は図1に示すように、直接又は遅延回路7を介してスイッチ9へ出力される。
【0089】
図5は図4のデータ記憶部41の構成例を示すブロック図である。図5において、データ記憶部41は、演算・D/A変換器53、スイッチ55、及びアナログメモリ57を有している。符号51はデジタルの参照ベクトルデータ(正確には参照ベクトルの要素のデータ)を示す。この参照ベクトルデータは、例えばDRAMやフラッシュメモリ、さらにはハードディスクなどの外部記憶装置などに格納されている。
【0090】
データ記憶部41は、デジタルの参照ベクトルデータ51を、演算・D/A変換器53において後述する簡単な演算をデジタルで実行するとともにこれを物理量(本実施形態では電圧)で表されたアナログの参照ベクトルデータに変換し、このアナログの参照ベクトルデータをスイッチ55によりパルス的にアナログメモリ57へ入力することで、アナログの参照ベクトルデータを記憶している。ここでアナログメモリ57はリセット信号を入力する手段も具備している。本発明においては、アナログとは、データ(例えば数値)を連続する物理量(例えば電圧)を用いて表すことをいう。
【0091】
図6は、本実施形態のアナログメモリセルアレイの構成の一例を示す回路図である。
【0092】
図6において、符号59(1)、59(2)・・・は配線を示す。
図5のアナログメモリ57は、マトリクス状に配置された図1の確率的演算回路Ccが、それぞれ1つづつ備えている。従って、アナログメモリ57も、確率的演算回路Ccに対応してマトリクス状に配置されており、このマトリクス状に配置されたアナログメモリ57によって、図6のメモリセルアレイが構成されている。
【0093】
図6は、ベクトル列数がi、ベクトル要素数がjの場合におけるメモリセルアレイを示している。この場合、メモリセルアレイは、i行j列のアナログメモリ57を有する。図6にはその一部、4行4列の部分のみを示している。またリセットを行う配線も省略している。
【0094】
このメモリセルアレイでは、アナログメモリ57の列(ベクトル列)に対応して、スイッチ55をOn/Offするための配線59(1)、59(2)・・・がそれぞれ設けられている。また、アナログメモリ57の行(ベクトル要素)毎に、演算・D/A変換器53が設けられている。
【0095】
このように構成されたアナログセルアレイでは、配線59(1)、59(2)・・・のいずれか一つを選択して例えばHighにすると、その列の全てのスイッチ55がOn状態となり、それにより、デジタルの参照ベクトルデータ51が、演算・D/A変換器53でデジタルの参照ベクトルデータに変換されて、その選択された列のアナログメモリ57へ並列的に書きまれる。そして、全てのアナログメモリ57の列について、順次、この列選択及び書き込み動作を遂行することにより、参照ベクトルデータを高速に書き込むことができる。
【0096】
このようなマトリクス的な書込は、アナログメモリ57が、後述する構成例のように、不揮発性を有することによって可能となる。
【0097】
なお、図6では、j個の要素を有するi列のベクトル群をベクトルの列毎に、順次、メモリセルアレイに書き込むように構成したが、このベクトル群をベクトルの要素毎に、順次、メモリセルアレイに書き込むように構成してもよい。この場合には、アナログメモリ57の行(ベクトル要素)に対応して、配線59(1)、59(2)・・・をそれぞれ設け、かつ、アナログメモリ57の列(ベクトル列)毎に、演算・D/A変換器53を設ければよい。
【0098】
図7は図5のアナログメモリ57の第1の構成例を示す回路図、図8は図5のアナログメモリに57に用いられるソースフォロワ回路の入力−出力特性を示すグラフである。
【0099】
図7に示すように、本例のアナログメモリ57は、ソースフォロワ回路63と、このソースフォロワ回路63を構成するCMISFET(Complementary MISFET、以下、CMISと略記する)のゲート電極(以下、フローティングゲート電極という)63aに接続された強誘電体キャパシタ65とを有している。
【0100】
ソースフォロワ回路63は、図8に示すように、電源電圧VDDの範囲内である範囲に渡って入力電圧VFGに比例した電圧Vout1を出力する特性を有する。
【0101】
次に、このよう構成されたアナログメモリ57の動作を説明する。
【0102】
書込み電圧VW(アナログの参照ベクトルデータに対応する電圧)が強誘電体キャパシタ65に印加されると、その強誘電体に分極が生じて、フローティングゲート電極63aの電位VFGが変化する。すると、ソースフォロワ回路63は、その特性に従って、その変化した電位VFGに応じた電圧Vout1を出力する。ここで、強誘電体キャパシタ65の強誘電体の残留分極は不揮発に保持される。これにより、電圧VWが、アナログメモリ57に不揮発に記憶される、つまり、書き込まれたことになる。また、それと同時に、その書き込まれた電圧VWに応じた電圧Vout1がソースフォロワ回路63を通じて出力される。また、アナログメモリ57が、不揮発性を有するので、演算・D/A変換器53の出力を適宜切り替えて書込み動作を行うことができ、かつ演算・D/A変換器53の占有面積や書込みのための配線を大幅に低減することができる。
【0103】
このように、強誘電体キャパシタ65の強誘電体の分極値は書き込み電圧VWの大きさや履歴により多値を得ることができるので、強誘電体キャパシタ65はアナログメモリとして機能する。特にこの構造は、2トランジスタ−1キャパシタの構成であるため、セル占有面積が小さい点で有利である。
【0104】
図9は図5のアナログメモリ57の第2の構成例を示す回路図である。
【0105】
図9に示すように、本例のアナログメモリ57は、ソースフォロワ回路63と、このソースフォロワ回路63を構成するCMISのフローティングゲート電極63aに互いに並列にそれぞれ接続された強誘電体キャパシタ65及び常誘電体キャパシタ73とを有している。
【0106】
このように構成された本例のアナログメモリ57では、強誘電体キャパシタ65の上部電極N1と常誘電体キャパシタ73の上部電極N2との間に書き込み電圧VWを印加することで、第1の構成例と同様に、フローティングゲート電極の電位VFGの値が変化し、それにより、アナログメモリとして機能する。
【0107】
一般に強誘電体は比誘電率が大きいため、図7のような強誘電体キャパシタ65とソースフォロワ回路63を構成するMISFETのゲート容量との直列構造では、強誘電体側に電圧が分配されにくいため、ソースフォロワ63を構成するMISFETを大きくする必要がある。一方、本例の構造では、強誘電体キャパシタ65と常誘電体キャパシタ73とのキャパシタンスのバランスで電位VFGを決定できることから、当該MISFETのサイズを周辺回路と同等にできるため、製造がしやすくなる。特に、常誘電体キャパシタ73も高誘電率の材料を用いることが望ましく、例えばチタン酸バリウム・ストロンチウム(BST)などを用いれば、強誘電体キャパシタと同等のサイズのキャパシタにすることができる。
【0108】
図10は、図7及び図9の強誘電体キャパシタのヒステリシス特性を示すグラフである。
【0109】
図10において、横軸は強誘電体の分配電圧を示している。この分配電圧は、図7のアナログメモリ57の場合には、[VW]−[VFG]で計算される、強誘電体への分配電圧を示している。また、図9のアナログメモリ57の場合には、書込電圧VWを印加したときに強誘電体へ分配される電圧を示している。
【0110】
図10に示すように、強誘電体はヒステリシス特性を有していることから、同じ電圧を印加しても、それまでの電圧印加履歴によって、異なった残留分極値を取る。このため、本実施形態では、一旦、リセットパルスVresを印加し、分極を負及び正のいずれか一方に飽和させてから書込み電圧VWを印加することで、書込み電圧VWに良好に対応したVFGを得ている。すなわち、リセットパルスVresを印加した後に、Vw1を印加すると、強誘電体の分極は飽和曲線上を移動して、残留分極がPr1となり、リセットパルスVresを印加後にVw2を印加したときには、同様に残留分極はPr2となる。つまり、書き込み電圧Vw1,Vw2に対し一義的に残留分極Pr1 ,Pr2が定まる。この残留分極値によりフローティング電極の電位VFGが決定され、ソースフォロワ回路63の特性により、アナログ電圧Vout1が出力される。このように、本実施形態に用いたアナログメモリ57は、素子数が少なくかつ不揮発であるという特徴を有するため、本実施形態の確率的演算素子には極めて有効なアナログメモリである。
【0111】
図11は、図1の距離演算器43を構成する減算素子の構成の一例を示す回路図である。
【0112】
図11において、減算素子72は、ソースフォロワ回路63と、このソースフォロワ回路63を構成するCMISのゲート電極(フローティングゲート電極)73aに互いに並列にそれぞれ接続された第1のキャパシタ75及び第2のキャパシタ77とを有している。第1のキャパシタ75には、電圧V1が入力される。第2のキャパシタ77には、電圧V2が入力される。電圧V1、V2の定義については後述する。
【0113】
次に、以上のように構成された減算素子72の動作を説明する。
【0114】
ソースフォロワ回路73のフローティングゲート電極73aの電位をVFG2とし、第1のキャパシタのキャパシタンスをC1、第2のキャパシタのキャパシタンスをC2とし、PチャネルCMIS(以下、PCMISと略記する)73P及びNチャネルCMIS(以下、NCMISと略記する)73NのキャパシタンスをそれぞれCP、CNとすると、電荷の保存則より次式が成立する。
【0115】
【数2】
【0116】
ここにC1=C2とし、αを次式で定義する。
【0117】
【数3】
【0118】
式(2)と式(3)から次式を得る。
【0119】
【数4】
【0120】
この電位VFG2に対応した電圧VM1がソースフォロワ回路の特性により出力される。すなわち、V1とV2との和に比例した出力が得られる。ここで式(3)において、(CN+CP)に対してC1が大きい場合、すなわちMISFETのゲート容量が十分に小さい場合には、αの値は0.5に近づき、本減算素子72は入力された電圧の平均値に近い値を出力する特性を示す。
【0121】
ここで、例えば、V1とV2に次の式で与えられる電圧を入力するとする。
【0122】
【数5】
【0123】
【数6】
【0124】
ここにVZは補正電圧であり後述する式で演算する。またVinは入力ベクトルデータに対応し、図4の入力電圧出力器13は式(6)の演算結果を電圧として出力している。また、Vrefは参照ベクトルデータに対応し、同様に図4の確率的演算回路Ccのデータ記憶部41の出力は式(5)の演算結果に相当する電圧を出力する。
【0125】
これらの式と式(4)とから次式が成り立つ。
【0126】
【数7】
【0127】
すなわち参照ベクトルデータに対応する電圧(以下、参照ベクトル電圧という)Vrefと入力ベクトルデータに対応する電圧(以下、入力ベクトル電圧という)Vinの差にバイアス2・VZ分シフトした電圧がVFG2に得られ、実効的に差演算を行うことができる。
【0128】
図12は図11の減算素子72を構成するソースフォロワ回路73の入力−出力特性を示すグラフである。
【0129】
図12に示すように、ソースフォロワ回路73は、VLowからVHighの範囲の入力電圧VFG2対し、VssからVDDの範囲の電圧VMを出力する。
【0130】
ここで、ソースフォロワ回路73の出力が線形に増加し始める始点であるVLowを用いて、上述のVZを以下の式を満たすように決定する。
【0131】
【数8】
【0132】
するとVrefとVinの差について以下のような出力特性をもつこととなる。
【0133】
【数9】
【0134】
図13は、参照ベクトル電圧Vref=1[V]の場合についてVSS=0[V]、VDD=1[V]、かつα=0.45の時における減算素子72の入力−出力特性を示している。参照ベクトル電圧Vrefと入力ベクトル電圧Vinとの差が正のときに比例的に出力電圧が増加し、正のみの差演算を実行できていることが理解できる。
【0135】
同様にV1、V2を次式のようにすれば、逆方向の差演算が実行できる。
【0136】
【数10】
【0137】
【数11】
【0138】
この場合の減算素子73の入力−出力特性を図14に示す。この場合は、入力ベクトル電圧Vinと参照ベクトル電圧Vrefの差が正のときに比例的に出力電圧が増加する。
【0139】
以上の特性を応用して絶対値演算を行う回路を図15に示す。図15において、符号81は減算器を示す。この減算器81は、一対の減算素子82a,82bを並列に配置し、その出力を和算器83へ入力するよう構成されている。減算素子82a及び82bは、共に、図11の減算素子72で構成されている。
【0140】
ここで、減算素子82aへの入力をV11,V21,減算素子82bへの入力をV12,V22とし、V11、V12を式(5)、(6)に従い決定し、V21、V22を式(10)、(11)に従って決定すると、減算素子82a及び減算素子82bの入力−出力特性は、それぞれ、図13及び図14に示す特性となる。和算器83は、式(4)及びソースフォロワ回路83aの特性に従ってその入力電圧VM1及びVM2の和に比例した電圧Vout3を出力する。図4の距離演算器43はこの減算器81で構成されている。
【0141】
図16は図4の距離演算器43の入力−出力特性を示すグラフである。図16に示すように、この距離演算器43は、参照ベクトル電圧と入力ベクトル電圧との差の絶対値に比例した電圧を出力することができる。
【0142】
なお、この距離演算器43では、図4に示す入力電圧出力器13とデータ記憶部41とからの出力は、減算素子82a及び減算素子82bへそれぞれ入力するために2系統必要となるが、図4ではこれらを省略して示している。
【0143】
図17は図4の和算器45の構成例を示す回路図である。
【0144】
図17に示すように、和算器45は、ソースフォロワ回路93と、このソースフォロワ回路93を構成するCMISのゲート電極(フローティングゲート電極)93aに互いに並列にそれぞれ接続された第1のキャパシタ95及び第2のキャパシタ97とを有している。第1のキャパシタ95には、距離演算器43の出力(以下、距離電圧という)Vout3が入力される。第2のキャパシタ97には、揺らぎ発生器15の出力電圧(以下、揺らぎ電圧という)Vcaoが入力される。
【0145】
和算器45の動作は図15の和算器83と同様であるが、特に揺らぎ電圧Vcaoと距離電圧Vout3との和算をアナログ的に実行できるため、その出力Vout4として、距離電圧Vout3に揺らぎが重畳した出力が得られる。
【0146】
図18は図4の閾値処理器47の構成例を示す回路図である。
【0147】
図18に示すように、閾値処理器47として、本実施形態では、例えばCMISインバータを用いている。
【0148】
この閾値処理器47では、CMISインバータのゲート47aに和算器23の出力Vout4が入力される。CMISインバータは、和算器45の出力Vout4が、その閾値電圧以上である間、これを反転及び増幅して出力する。和算器45の出力電圧Vout4は、平坦な波形を有する距離電圧Vout3に揺らぎ波形を有する揺らぎ電圧Vcaoが重畳されたものであるので、CMISインバータは、パルス状の電圧Vpulを出力する。
【0149】
次に、以上のように構成された確率的演算素子1の動作を説明する。
【0150】
図1、図4、及び図6において、所定列数(ここでは1000列)のデジタルの参照ベクトルデータが、要素毎に、順次、演算・D/A変換器53でアナログデータに変換されて各ベクトル列比較回路Cp1〜Cpの各確率的演算回路Cc1〜Ccnのデータ記憶部41に参照ベクトル電圧Vrefとしてそれぞれ書き込まれ、データ記憶41で所定の演算が施されて距離演算器43に出力される。一方、デジタルの入力ベクトルデータが図示されないD/A変換器でアナログの入力ベクトル電圧Vinに変換され、入力電圧出力回路13で所定の演算を施されて距離演算器43に出力される。
【0151】
距離演算器43は、これらの入力電圧に基づいて参照ベクトル電圧Vrefと入力ベクトル電圧Vinとの差の絶対値(参照ベクトルの要素と入力ベクトルの要素とのマンハッタン距離)を演算し、これを距離電圧Vout3として和算器45に出力する。
【0152】
和算器45は、この距離電圧Vout3と揺らぎ発生器15から入力される揺らぎ電圧Vcaoとを和算して、距離電圧Vout3に揺らぎ電圧Vcaoが重畳された電圧Vout4を閾値処理器47に出力する。
【0153】
閾値処理器47は、和算器45の出力電圧Vout4を閾値処理して、パルス状の電圧Vpulを出力する。
【0154】
各確率的演算回路Ccから出力されるこのパルス状の電圧VpulはカウンタCtによってベクトル列比較回路Cp毎にカウントされ、このカウント数がカウント数取得器19又はフラグ検出器で検出され、この検出結果に基づいて、各参照ベクトルデータと入力ベクトルデータとの近似度が判定される。
【0155】
次に、閾値処理器47から出力されるパルス数と参照ベクトルデータ及び入力ベクトルデータ相互間の近似度との関係を詳しく説明する。
【0156】
参照ベクトル電圧Vrefと入力ベクトル電圧Vinの値が近いとき、距離演算器43の出力は小さい電圧となる。その結果、和算器45の揺らぎが重畳された出力電圧Vout4も小さい電圧範囲で振動することとなる。その結果、閾値処理器47であるインバータの出力はHighレベル(=VDD)が出やすくなる。すなわち、以上のような回路構成とすることで、参照ベクトルデータと入力ベクトルデータの値が近いほどHigh、すなわちパルスが出力されやすくなるのである。
【0157】
図19は、図1の揺らぎ発生器15の出力を示すグラフである。横軸は揺らぎ発生回数を示す。
【0158】
図19に示すように、揺らぎ発生器15の出力は、一見、ランダムなカオス的な揺らぎを発生している。
【0159】
図20は、参照ベクトル電圧と入力ベクトル電圧との差が比較的大きい場合(およそ1.5[V])における和算器45の出力の一部を示すグラフである。
【0160】
この場合における和算器45の出力を、さらに閾値処理器47で、例えば2値化(この場合閾値電圧=0.5[V])すると、図21に示すような出力が得られる。すなわち、閾値を越える毎にパルスが発生する。
【0161】
図22は、参照ベクトル電圧と入力ベクトル電圧との差が小さい場合(およそ0.8[V])における和算器45からの出力の一部を示すグラフである。図23にはこの場合における閾値処理器47からの出力を示している。図21と図23の比較から、閾値処理器47は、参照ベクトル電圧と入力ベクトル電圧の差の絶対値が小さい場合ほど、多くのパルスを発生する特性を有することが判る。
【0162】
この特性をさらに詳細に検討した結果を図24に示す。
【0163】
図24は揺らぎ電圧Vcaoにおける揺らぎ回数に対するパルス発生数を、参照ベクトルデータと入力ベクトルデータとの近似度をパラメータとして示すグラフである。
【0164】
図24において、近似度とは、電源電圧で正規化した参照ベクトル電圧と入力ベクトル電圧の差の絶対値を、1から減じた値として定義したものである。すなわち近似度が高いほど、2つのベクトルは似通っていることを示す。
【0165】
図24に示すように、例えば、近似度が0の時は、閾値を越えないため、100回の揺らぎに対してパルス発生数はゼロである。しかし、近似度が大きくなるにつれて、パルスの発生確率が上昇することが理解される。これらのパルス発生は確率的に発生するため、直線的な増加は示さないが、揺らぎ回数が増すほど、近似度による差は安定してくることが理解される。
【0166】
この揺らぎと閾値処理による確率的なパルス発生が、本発明の確率的演算素子の本質であり、従来のコンピュータのような厳密性には欠けるが、揺らぎの回数が増すほど、確率的に精度が向上してくる。このことは、精度は低くとも至急に演算結果を欲する情報処理や、演算時間が延びても精度を重視する場合などにおいて、非常に柔軟にベクトルの差演算を実行できる、全く従来にない新概念の素子を提供できることを意味している。
【0167】
次に、本実施形態の確率的演算素子1において、ベクトル列比較回路Ctの列数が、演算しようとするベクトルの列数に足りない場合の駆動方法を説明する。確率的演算素子1の面積は有限であり、一方で、ソフトウェア上でのマトリクスの宣言が仮想的であることを考えれば、このような事態は多く発生すると考える。
【0168】
例えば、本実施形態ではベクトル列数は1000であるが、比較対照の列数が5000の場合について、入力ベクトルに対して、参照ベクトル列の中から最も似たものを100列抽出する場合を例に説明する。
【0169】
図1、図4、及び図6において、まず、確率的演算素子1上で1000列の参照ベクトルを図6の説明で述べたようにして記憶させる。この場合は、例えば、演算・D/A53を通じて順に参照ベクトルデータを書き込めばよい。
【0170】
次に、入力ベクトルを入力し、その後、揺らぎ発生器15から揺らぎ電圧を入力することで、閾値処理器47から順次パルスが出力される。パルス数はカウンタCt1〜Ctmにより順次カウントされ、例えば図3のD8からの出力に着目していた場合、256(=28)のパルスが入力されると、D8ラインがHighを出力する。このHighとなるベクトル列の数をフラグ検出器17で監視しておき、この場合100列に到達したら揺らぎ発生器15からの揺らぎ電圧の出力を停止する。次に、このHighが出力されたベクトル列を飛ばすようにして参照ベクトルを900列書き込む。
【0171】
以上の動作を繰り返せば、最終的には参照ベクトル全体の中で最も似通ったベクトル列を抽出することができる。
【0172】
以上に説明したように、本実施形態の確率的演算素子1はベクトル比較の演算を多数並列的に実行できるため、その比較速度は、特にベクトル数が増加するに従って、従来のコンピュータより格段に高速に演算できる。
【0173】
また、一般的なアナログ回路では、厳密な演算を行うことは難しいが、本確率的演算素子1は演算原理がそもそも確率的であることを前提にしているため、その製造にあたっては設計に自由度を持たせることができ、製造が容易という特徴を有する。
【0174】
また、本実施形態によれば、確率的演算素子1をトランジスタやキャパシタ等の在来の回路素子で構成することができるので、これを半導体プロセス技術によって製造することができる。
【0175】
また、マンハッタン距離を演算することができる。
【0176】
さらに、参照ベクトルと入力ベクトルとの要素毎の差分(距離)がパルスとして出力され、そのパルスの総和に基づいて参照ベクトルと入力ベクトルとの近似度が判定されるので、比較しようとするベクトルの要素が多くなっても、容易に近似度を判定することができる。
【0177】
総括すると、本実施形態の確率的演算素子1は、従来のデジタル演算でもアナログ演算でもない、第3の演算手法の演算素子を提供できるものである。
【0178】
この発明は、厳密な論理演算には適さないが、特に認識処理などで多発するベクトルマッチングを非常に高速に行え、従来の半導体素子を補助する極めて有用な素子を提供できるものである。
【0179】
なお、本実施形態では、各構成回路を、ソースフォロワのゲートにキャパシタを複数配した構造の素子の場合について説明したが、同様な演算を実行できる素子であれば、所望の動作が得られることは言うまでもない。
【0180】
また、繰り返しになるが、揺らぎについては特にカオスを用いる必要もなければ、またカオスについても特にロジスティックカオスに限定されるものではなく、長期的に均等な確率を得られる手法であれば同様の効果が期待できる。
【0181】
カウンタについても、本実施形態ではDフリップフロップの場合について述べたが、他のカウンタを用いても何ら問題ない。
【0182】
また、アナログメモリとして強誘電体を用いる場合について説明したが、アナログ量を物性として有するものを用いれば同様の効果を得ることができる。例えば相変化材料の抵抗変化を用いたり、キャパシタへの充電を利用するなどの手法を用いてもよい。
【0183】
閾値処理についても、簡便なインバータの場合について説明したが、これが別の回路であっても同様であることは言うまでもない。
【0184】
また、参照ベクトル及び入力ベクトルのデータを表すアナログの物理量として、電圧を用いたが、これに限定されるものではなく、他の物理量、例えば電流を用いてもよい。
(実施形態2)
図25は本発明の実施形態2に係る確率的演算素子の確率的演算回路を示すブロック図である。図25において図4と同一又は相当する部分には同一符号を付してその説明を省略する。
【0185】
図25に示すように、本実施形態の確率的演算素子は、ベクトル要素間の距離演算までをデジタル回路で実行する点が実施形態1と異なる。確率的演算回路301は、実施形態1の確率的演算回路Ccに相当する。その他の点は、実施形態1と同様である。
【0186】
具体的には、デジタルの入力ベクトルデータ303がデジタル距離演算回路305に入力される。デジタル距離演算回路305は、入力されたデジタルの入力ベクトルデータ303とデジタルの参照ベクトルデータ51とを用いて、例えば、参照ベクトル及び入力ベクトルの要素間の距離の絶対値を演算する。この演算結果がD/A変換器307でアナログデータに変換されて、アナログメモリ57に記憶される。アナログメモリ57のアナログ出力は揺らぎ発生器15の出力と和算器45により重畳され、その出力が閾値処理器47により閾値処理されてパルスとして出力される。これにより、実施形態1と同様の演算が実行される。
【0187】
本実施形態の確率的演算素子は、差演算までをデジタルで実行するためその演算時間が必要となるが、図4の距離演算器43が不要になる。図6から距離演算器43はマトリクス的に配置されるのに対し、本実施形態のデジタル距離演算回路305は行毎に配置すれば済むので、その分、チップ面積を小さくすることが可能となる。
【0188】
また、図6の演算・D/A変換器53に、本実施形態2のデジタル距離演算回路305とD/A変換器307の機能を具備させれば、ベクトル要素方向に多数並列にこれらの距離演算を実行し、かつマトリクス的にアナログメモリ57に距離のアナログ情報を書き込むことができるため、極めて面積効率の高い確率的演算素子を実現できる。
(実施形態3)
図26は本発明の実施形態3に係る確率的演算素子の確率的演算回路を示すブロック図である。図26において図4と同一又は相当する部分には同一符号を付してその説明を省略する。
【0189】
図26に示すとおり、本実施形態3の確率的演算回路99では、実施形態1とは異なり、入力ベクトル電圧に揺らぎ電圧を重畳した後に、参照ベクトル電圧との距離を演算する。その他の点は実施形態1と同様である。
【0190】
このような演算順序であっても実施形態1と同様に、確率的にパルスを発生する確率的演算素子を実現できる。
(実施形態4)
図27には本発明の実施形態4に係る確率的演算素子の減算素子の構成例を示す回路図である。
【0191】
図27において、符号100はスイッチ素子を示す。本実施形態4では減算素子72が、実施形態1の減算素子72を構成するソースフォロワ回路のゲート電極にさらにスイッチ素子100を設け、スイッチ素子100の他端を例えば接地した構成を有している。また、これと同様に、本実施形態4では、和算器及びアナログメモリが、実施形態1の和算器45及びアナログメモリ57のソースフォロワ回路のゲート電極にさらにスイッチ素子を設け、スイッチ素子の他端を例えば接地した構成を有している。このような構成とすることにより、実施形態1のソースフォロワ回路のゲート電極が、配線と結線されていないフローティング状態にあるのに対し、本実施形態4では、スイッチ素子100にリセット電圧Vres1を印加することで、フローティング電極の電位を一旦、例えば接地することができる。
【0192】
これにより、素子を製造する際のドライエッチング工程などで残留した電荷を除去することができる。また、本実施形態の確率的演算素子を長期的に使用した場合に、例えばソースフォロワ回路を構成するMISFETのゲートから流入する電荷を除去することができる。
【0193】
なお、この構造の場合、リセット用のスイッチ素子100にMISFETを用いると、いわゆるジャンクションリークにより、演算時にフローティング電極に保持された電位は長期的には減衰するが、本発明の確率演算素子の演算時間は長くても1秒程度であるため、全く問題なく演算を行うことができる。
(実施形態5)
図28は本発明の実施形態5に係る確率的演算素子の確率的演算回路を示すブロック図である。図28において、図4及び図26と同一又は相当する部分には同一符号を付してその説明を省略する。
【0194】
図28に示すとおり、本実施形態3の確率的演算回路111では、閾値処理器47の直前にスイッチ113が設けられている。その他の点は、実施の形態3と同様である。
【0195】
例えば、図22の動作説明から理解されるように、本発明の確率的演算素子は、揺らぎを有する電圧が閾値を跨ぐときのみパルスを発生するため、例えば、圧倒的にベクトルの絶対差が小さい場合などには、閾値を跨がない場合が発生する恐れがある。
【0196】
そこで本実施形態では、スイッチ113に出力信号113aが入っていないときは、例えばHighが出力され、出力信号113aが入力されると、そのときの距離演算器43からの出力を出力するようにすることで、距離演算器43からの出力が連続的に低く閾値を跨がない場合でも強制的に閾値を跨がせることによりパルスを発生することができる。
(実施形態6)
図29は本発明の実施形態6に係る確率的演算素子の構成を示す回路図である。第29同図において、図1と同一又は相当する部分には同一符号を付してその説明を省略する。
【0197】
図29に示すように、本実施形態では、実施形態1のカウンタCt、フラグ検出器17、及びカウント数取得器19に代えて、積分器It及び比較器153が設けられている。積分器It1〜Itmは、確率的演算回路Ccから出力されるパルスに含まれる電荷量を蓄積して、この蓄積された電荷量に応じた電圧をそれぞれ比較器153に出力する。比較器153は、積分器It1〜Itm1の出力電圧の大小を比較し、その上位の積分器It(ひいてはベクトル列)を抽出する。その他の点は実施形態1と同様である。
【0198】
このような構成によれば、実施形態1と同様に、参照ベクトルのうち、入力ベクトルと近似するベクトル列を高速に抽出することができるだけでななく、確率的演算回路Ccから出力されるパルスを、その数だけではなくその幅をも含めて評価し、それに基づいて参照ベクトルと入力ベクトルとの近似度を判定するので、より好適に近似度を判定することができる。
【0199】
このような積分器Itの構成例を図30に示す。
【0200】
図30に示すように、積分器ItはFET160を有している。FET160のゲートは図29のスイッチSに接続されている。一方、FET160のソースにはキャパシタ159が接続され、FET160のソースとキャパシタ159の接続点が第2のスイッチ157を介して比較器153に接続されている。
【0201】
このように構成された積分器Itでは、スイッチSをON状態にしかつスイッチ157をOFF状態にしているとき、配線にパルスが伝達されると、FET160のOn/Offが切り替わり、FET160がOnになった時間だけキャパシタ159に電荷が蓄積される。次に、スイッチSをOFFにしかつスイッチ157をONにすると、先に蓄積された電荷に相当する電圧が比較器153に出力される。すなわち、パルスの幅とその数に相当する電圧が出力される。この場合、蓄積電荷量が増加すると徐々に蓄積される電位は線形でなくなってくるが、大小の違いは明確に検出できるため、ベクトル列間の比較には十分適用できる。
【0202】
本実施形態の確率的演算素子は、実施形態5で述べたように、閾値を跨ぐ揺らぎが長期的に発生した場合に、パルスの幅としての情報も蓄積できるため、より高精度にベクトル列の比較を実行することができる。
(実施形態7)
以下、本発明の第7の実施形態について説明する。
【0203】
図31は本発明の実施形態7に係る確率的演算素子の閾値処理器の構成を示す回路図である。図31において、図1と同一又は相当する部分には同一符号を付してその説明を省略する。
【0204】
図31において、符号101は電流検出器を、符号102は揺らぎ発生器制御回路をそれぞれ示す。
【0205】
実施形態5で述べたように、本発明の確率的演算素子は、ベクトル間の差が小さく、連続的に閾値を跨がない状態が生じると、パルスが発生しなくなってしまい、ベクトルが近いのにカウントが増加しない事態となる。
【0206】
本実施形態の確率的演算素子は、これを防止するため、揺らぎ発生器15の電圧の揺らぎ幅又は平均電圧を徐々に大きくすることを特徴とする。
【0207】
揺らぎ発生器制御回路102は揺らぎ発生器15の出力電圧の揺らぎを少しずつ大きくする。やがて、揺らぎが閾値に達してくると、頻繁にパルスが発生することとなる。このとき、本実施形態の閾値処理器47はインバータで構成されているため、High/Lowが反転する瞬間にPMIS47PからNMIS47Nへ向けて貫通電流が流れることとなる。この貫通電流を電流検出器101が検出すると、揺らぎ発生器制御回路102は、パルスが発生し始めたと判定し、揺らぎ発生器15の電圧の揺らぎ幅又は平均電圧をその時点における値に維持する。これにより、極端に揺らぎが大きくなることを防止することができる。
【0208】
図32、図33にはこの動作をより詳細に示している。図32は揺らぎ発生器15に高いバイアス電圧(約1[V])を付加したときの閾値処理器47への入力電圧を示したものである。この場合、閾値である1[V]より高い電圧範囲で電圧が揺らぐため、閾値に到達することがなく、閾値処理器47はパルスを発生しない。すなわち、インバータ47はずっとLowレベルを出力しつづけ、反転時に観察される貫通電流は変化がない。
【0209】
次に図33は図32の状態からバイアス電圧を徐々に低下させ約0.5[V]とした時の閾値処理器27への入力電圧を示している。この場合には、閾値を跨ぐ電圧揺らぎが多発するため、前述のようにパルスが多く出力されることとなる。このようにインバータのOn/Offが繰り返されることで、インバータの貫通電流が増加し、これが電流検出器101で観察されることとなる。
【0210】
なお、このような調整は、バイアス電圧を揺らぎ発生器15の揺らぎに加えることで平均出力電圧を変化させる、今回の説明のように行っても良いが、揺らぎの振幅を大きくしても同様の機能が得られることは言うまでもない。
(実施形態8)
本発明の実施形態8に係る確率的演算素子は、揺らぎ発生回路15において発生される揺らぎに特徴を有するため、以下、その揺らぎの特性についてのみ説明する。
【0211】
図34は本実施形態に係る確率的演算素子の揺らぎ発生器の出力を示すグラフである。
【0212】
実施形態1〜7の確率的演算素子においては、揺らぎ発生器の出力は、カオスや熱雑音を用い、ランダムな振る舞いを見せる出力を用いて演算を実行していた。
【0213】
本実施形態8の揺らぎ発生器15の出力は図34に示すように、規則的な出力を発生することを特徴とする。ここで、特に出力のヒストグラムができるだけ同等になるように、発生出力の大きさを制御している。図34のような徐々に増加するパルス列は、ランプ波形の電圧を一定時間間隔でサンプリングするようにすれば得ることができる。
【0214】
このような揺らぎ電圧を用いても、実施形態1〜7と同様の効果を得ることができる。
【0215】
なお、本実施形態では、規則的に電圧が増加するパルス列としたが、このような特性でなくとも、出力値のヒストグラムに偏りがなければ、同様の効果が期待できることはいうまでもない。
(実施形態9)
本発明の実施形態9は実施の形態1〜8の確率的演算素子を用いた認識処理装置としての音声認識装置を例示している。
【0216】
図35は本実施形態に係る音声認識装置の構成を模式的に示すブロック図である。図35において、図1と同一又は相当する部分には同一符号を付してその説明を省略する。
【0217】
図35に示すように、音声認識装置は、マイクロフォン123と、マイクロフォン123から入力される音声データの特徴を抽出する特徴抽出処理部121と、参照ベクトル群を格納するメモリ122と、特徴抽出処理部121で抽出した特徴データとメモリ122に格納された参照ベクトルデータ群とを比較して音声を認識する確率的演算素子1とを備えている。
【0218】
このように構成された音声認識装置では、メモリ122に、参照ベクトルデータ群が例えばデジタル情報として格納されている。参照ベクトルデータ群には、音声の基本的な特徴データが予め格納されており、また、必要な場合には特徴抽出処理部121で得られた特徴データを格納できるようになっている。特徴抽出処理部121は、マイクロフォン123から入力されたアナログの音声情報に対して、例えば、スペクトル分布や、その時間変化などの処理を行うことにより、その特徴データを抽出する。
【0219】
この特徴データが入力ベクトルとして確率的演算素子1に入力される。確率的演算素子1は、この特徴データを参照ベクトルデータ群と比較してその中から最も近似する参照ベクトルデータを特定(ベクトルマッチング)し、入力された特徴データに対応する音声をこの特定した参照ベクトルデータに対応する音声であると認識する。
【0220】
これにより、マイクロフォン123に入力された音声を、非常に高速に認識することができる。例えば、マイクロフォン123に入力される音声が日本語であれば、五十音の認識を行うことができる。
(実施形態10)
本発明の実施形態10は、実施形態9の音声認識装置の改良例を示している。
【0221】
図36は本実施形態に係る音声認識装置のメモリに格納された参照ベクトルデータ群の特徴を説明する図である。図36において、図6又は図35と同一又は相当する部分には同一符号を付してその説明を省略する。
【0222】
本実施形態の音声認識装置は、実施形態9の音声認識装置において、参照ベクトルデータ群に工夫を凝らしたものである。
【0223】
具体的には、図36に示すように、本実施形態の参照ベクトルデータ51は、音声のスペクトル情報を時系列的に前から配置したデータ構造を有している。図36においては、デジタルの参照ベクトルデータ51の一部にアルファベットのA〜Dが示されているが、これらは同じ声に対する特徴情報を表している。
【0224】
本実施形態の音声認識装置は、参照ベクトルデータ群で、同一のデータを相互にずらして配置していることを特徴とする。
【0225】
人間が話をする場合、文字で書けば同じことを、時間的に同じタイミングで話すとは限らず、また個人差がある。
【0226】
本発明の確率的演算素子は、非常に高速に大量のベクトルのマッチングをとることが可能であるため、このような声の伸び縮みを考慮して、予め時間的にずらしてデータを準備しておけば、時間の伸び縮みがあっても、それに対応したベクトル列が最も近いこととなり、入力された声がどの文字に相当するかを判断することができる。
(実施形態11)
本発明の実施形態11は、実施形態1〜8の確率的演算素子を用いた認識処理装置としての画像認識装置を例示している。
【0227】
図37は実施形態11に係る画像認識装置の構成を模式的に示すブロック図である。図37において、図35と同一又は相当する部分には同一符号を付してその説明を省略する。
【0228】
図37に示すように、画像認識装置は、CCDなどの撮像素子からなるカメラ143と、カメラ143から入力される画像データの特徴を抽出する特徴抽出処理部141と、参照ベクトル群を格納するメモリ122と、特徴抽出処理部141で抽出した特徴データとメモリ122に格納された参照ベクトルデータ群とを比較して画像を認識する確率的演算素子1とを備えている。
【0229】
このように構成された画像認識装置では、メモリ122には参照ベクトルデータ群として、画像から得られる特徴量と、それに対応するラベル、例えばその対象の名前などがデータとして格納されている。
【0230】
このような画像認識においては、種々の手法があるが、図38には、特に人の顔を認識する場合の例を示している。
【0231】
この手法では、カメラ143に映った映像から、目や鼻、口などのパーツ(部位)の位置をまず取得し、次にこれらのパーツ間の距離151を特徴量として抽出している。
【0232】
このような特徴量151が特徴抽出部141で抽出され、この特徴量151が入力ベクトルとして確率的演算素子1に入力される。確率的演算素子1は、この特徴量151を参照ベクトルデータ群と比較してその中から最も近似する参照ベクトルデータを特定し、入力された特徴量に対応する画像をこの特定した参照ベクトルデータに対応する画像であると認識する。
【0233】
これにより、カメラ143に入力された画像を、非常に高速に認識することができる。
【0234】
従来、このような認識処理はパーソナルコンピュータなどで行うため、特徴量としてはせいぜい数十程度であったが、本発明の確率的演算素子1はより多くのベクトル比較を高速に行えるため、特徴量をより多く取得し、比較することができる。
【0235】
例えば、顔の向きが変わったり、周囲の明るさが変化した場合など、いくつか状況が変わった場合の特徴量を記憶しておくことで、人を認識する精度を飛躍的に向上することが可能である。
【0236】
なお、本実施形態では人の顔認識について説明したが、工場の生産ラインにおける基板上の部品の認識や、自動車などからの標識の認識など、他の用途に対しても同様に画像の認識処理を実行できることは言うまでもない。
(実施形態12)
本発明の実施形態12は、実施形態1〜8の確率的演算素子を用いた認識処理装置としての行動認識装置を例示している。
【0237】
図39は本実施形態に係る行動認識装置の構成を示すブロック図である。図39において図35と同一又は相当する部分には同一符号を付してその説明を省略する。
図39において、符号171は行動情報記憶ベクトルを示す。行動情報記憶ベクトルには、人の行動をベクトル化したデータが格納されている。符号173は重み付け係数付加回路を示す。重み付け係数付加回路173は、被験者の反応に従ってベクトルの重み付けを変更する。符号175は行動情報入力ベクトルを示す。行動情報入力ベクトル175は、被験者の状態をベクトル化したものである。
【0238】
行動情報入力ベクトル175は、例えば被験者の屋内及び屋外での電気機器の操作履歴や、家庭内などに配置された赤外線センサ出力、室温センサ出力、湿度センサ出力、また人体近傍に設けられた体温センサ出力、脳波センサ出力、脈拍センサ出力、視線センサ出力、発汗センサ出力、筋電位センサ出力、さらには日時情報、曜日情報などの状況データを表す。さらには実施形態10や実施形態11で述べた音声入力や画像入力の特徴量もこのような状況データとして用いることができる。
【0239】
行動情報記憶ベクトル171には、さらにこの状況データに加え、そのときに被験者が取った行動、もしくはそのときの機器の動作がデータとして加えられている。
【0240】
行動情報入力ベクトル175が入力されると、確率的演算素子1において過去の状況で似た状況を抽出し、それに対応する行動が決定される。その決定に対し被験者が反応をする。例えば、提供した動作に躊躇なく次の動作に移れば、提供動作には好印象を持ったと判断できるし、即座に提供動作を否定する動作に移れば、低強動作には悪い印象を持ったと判断できる。また、Yes/Noで直接的に回答してもらっても良い。
【0241】
このような被験者の反応を重み付け係数付加回路173により数値化し、行動情報入力ベクトル175の中の重み付け係数の数値を変える。
【0242】
このような重み付け係数は、本発明の確率的演算素子においては、例えば、他のベクトルより多くのパルスを発生する機構を設けるなどすれば、そのベクトル列の選ばれやすさを制御することが可能である。
【0243】
本実施形態の行動認識装置を、機器に組み込むことにより、ユーザーが快適と思った機器の自動動作が出現する確率が向上し、逆に不快と思った自動動作の出現確率が減少し、被験者個人個人の嗜好に合致したサービスを提供することができる。
【産業上の利用可能性】
【0244】
本発明に係る確率的演算素子は、認識処理装置の認識処理用の素子等として有用である。
【0245】
本発明に係る確率的演算素子の駆動方法は、認識処理装置の認識処理用の素子等の駆動方法として有用である。
【0246】
本発明に係る認識処理装置は、音声認識装置、画像認識装置、行動認識装置等として有用である。
【図面の簡単な説明】
【0247】
【図1】本発明の実施形態1に係る確率的演算素子の構成を示す回路図である。
【図2】図1の揺らぎ発生器の構成例を示すブロック図である。
【図3】図1のカウンタの構成例を示す回路図である。
【図4】図1の確率的演算回路の構造をより詳細に示すブロック図である。
【図5】図4のデータ記憶部の構成例を示すブロック図である。
【図6】本実施形態のアナログメモリセルアレイの構成の一例を示す回路図である。
【図7】図5のアナログメモリの第1の構成例を示す回路図である。
【図8】図5のアナログメモリに用いられるソースフォロワ回路の入力−出力特性を示すグラフである。
【図9】図5のアナログメモリの第2の構成例を示す回路図である。
【図10】図7及び図9の強誘電体キャパシタのヒステリシス特性を示すグラフである。
【図11】図1の距離演算器を構成する減算素子の構成の一例を示す回路図である。
【図12】図11の減算素子を構成するソースフォロワ回路の入力−出力特性を示すグラフである。
【図13】参照ベクトル電圧が1[V]の場合についてVSS=0[V]、VDD=1[V]、かつα=0.45の時における減算素子の入力−出力特性を示すグラフである。
【図14】図13の場合における他の減算素子の入力−出力特性を示すグラフである。
【図15】図13及び図14に示す減算素子の特性を応用して絶対値演算を行う回路の構成を示す回路図である。
【図16】図4の距離演算器の入力−出力特性を示すグラフである。
【図17】図4の和算器の構成例を示す回路図である。
【図18】図4の閾値処理器の構成例を示す回路図である。
【図19】図1の揺らぎ発生器の出力を示すグラフである。
【図20】参照ベクトル電圧と入力ベクトル電圧との差が比較的大きい場合における和算器の出力の一部を示すグラフである。
【図21】和算器から図20に示す出力が入力された場合における閾値処理器の出力を示すグラフである。
【図22】参照ベクトル電圧と入力ベクトル電圧との差が小さい場合における和算器からの出力の一部を示すグラフである。
【図23】和算器から図22に示す出力が入力された場合における閾値処理器の出力を示すグラフである。
【図24】揺らぎ電圧における揺らぎ回数に対するパルス発生数を、参照ベクトルデータと入力ベクトルデータとの近似度をパラメータとして示すグラフである。
【図25】本発明の実施形態2に係る確率的演算素子の確率的演算回路を示すブロック図である。
【図26】本発明の実施形態3に係る確率的演算素子の確率的演算回路を示すブロック図である。
【図27】本発明の実施形態4に係る確率的演算素子の減算素子の構成例を示す回路図である。
【図28】本発明の実施形態5に係る確率的演算素子の確率的演算回路を示すブロック図である。
【図29】本発明の実施形態6に係る確率的演算素子の構成を示す回路図である。
【図30】図29の積分器の構成例を示す回路図である。
【図31】本発明の実施形態7に係る確率的演算素子の閾値処理器の構成を示す回路図である。
【図32】高いバイアス電圧を付加したときの揺らぎ発生器の出力を示すグラフである。
【図33】図32の状態からバイアス電圧を徐々に低下させたときの揺らぎ発生器の出力を示すグラフである。
【図34】本発明の実施形態8に係る確率的演算素子の揺らぎ発生器の出力を示すグラフである。
【図35】本発明の実施形態9に係る音声認識装置の構成を模式的に示すブロック図である。
【図36】本発明の実施形態10に係る音声認識装置のメモリに格納された参照ベクトルデータ群の特徴を説明する図である。
【図37】本発明の実施形態11に係る画像認識装置の構成を模式的に示すブロック図である。
【図38】人の顔を認識する場合の特徴量を示す模式図である。
【図39】本発明の実施形態12に係る行動認識装置の構成を示すブロック図である。
【図40】従来の演算素子の構造を模式的に示す斜視図である。
【図41】図40の従来の演算素子の演算原理を等価回路で示した模式図である。
【符号の説明】
【0248】
1 確率的演算素子
7 遅延回路
13 入力電圧出力器
15 揺らぎ発生器
17 フラグ検出器
19 カウント数取得器
21 演算器
23 遅延回路
25 Dフリップフロップ
41 データ記憶部
43 距離演算器
45 和算器
47 閾値処理器
47a ゲート電極
47P PMIS
47N NMIS
51 デジタルデータ
53 演算・D/A変換器
55 スイッチ
57 アナログメモリ
61 アナログメモリ
63 ソースフォロワ回路
63a,93a フローティングゲート電極
65 強誘電体キャパシタ
71 アナログメモリ
72 減算素子
73 常誘電体キャパシタ
73P PMIS
73N NMIS
75 第1のキャパシタ
77 第2のキャパシタ
78 減算素子
81 減算器
83 和算器
83a CMIS
91 和算器
93 ソースフォロワー回路
95 第1のキャパシタ
97 第2のキャパシタ
99 確率的演算回路
100 スイッチ
101 電流検出器
102 揺らぎ発生器制御回路
111 確率的演算回路
113 スイッチ
113a 信号
121 特徴抽出演算部
123 マイクロフォン
131 メモリ
141 特徴抽出部
143 カメラ
171 行動情報記憶ベクトル
173 重み付け係数付加回路
175 行動情報入力ベクトル
211 MISFET
212 ゲート電極
213 量子ドット
401 揺らぎ差分演算手段
Cp,Cp1〜Cpm ベクトル列比較回路
Cc,Cc1〜Ccn 確率的演算回路
Ct,Ct1〜Ctm カウンタ
It 積分器
S,S1〜Sm スイッチ
Claims (35)
- 揺らぎを有するアナログ量を出力する揺らぎ発生器と、2つのデータのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段と、前記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力する閾値処理器と、前記閾値処理器から出力されるパルスを検出するパルス検出手段とを備え、
前記2つのデータは、2つのベクトルのそれぞれの要素を表す要素データであり、
前記2つのベクトルが外部から入力される参照ベクトル及び入力ベクトルであり、
前記参照ベクトル及び入力ベクトルの要素に対応する複数の確率的演算回路を有し、
それぞれの前記確率的演算回路が、前記入力される参照ベクトルの要素データを記憶するためのメモリと、前記メモリに記憶された参照ベクトルの要素データと前記入力される入力ベクトルの要素データとのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する前記揺らぎ差分演算手段と、前記閾値処理器とを有し、
前記パルス検出手段は、前記複数の前記確率的演算回路から出力されるパルスを検出する、確率的演算素子。 - 前記揺らぎ差分演算手段は、アナログの前記2つのデータの差分を演算する距離演算器と、前記距離演算器の出力と前記揺らぎ発生器の出力とを和算する和算器とを備えている、請求項1記載の確率的演算素子。
- 前記揺らぎ差分演算手段は、アナログの前記2つのデータの一方と前記揺らぎ発生器の出力とを和算する和算器と、前記和算器の出力とアナログの前記2つのデータの他方との差分を演算する距離演算器とを備えている、請求項1記載の確率的演算素子。
- 前記パルス検出手段が、前記パルスをカウントするカウンタを備えている、請求項1記載の確率的演算素子。
- 前記パルス検出手段が、前記パルスの幅を積分する積分器を備えている、請求項1記載の確率的演算素子。
- 前記複数の確率的演算回路のパルス出力端は、一端が前記パルス検出手段に接続された共通の配線に互いに並列に接続され、前記共通の配線の、前記複数の確率的演算回路のパルス出力端との接続部の間の部分に遅延回路がそれぞれ設けられている、請求項1記載の確率的演算素子。
- 前記複数の確率的演算回路と前記パルス検出手段とを有するベクトル列比較回路を複数備えている、請求項1記載の確率的演算素子。
- 前記メモリがアナログメモリであり、アナログの前記参照ベクトルの要素データが前記アナログメモリに記憶される、請求項1記載の確率的演算素子。
- 前記アナログメモリは、ゲート電極に強誘電体キャパシタが接続されたソースフォロワ回路を備え、前記強誘電体キャパシタにアナログの前記参照ベクトルの要素データが入力されかつ記憶される、請求項8記載の確率的演算素子。
- 前記ソースフォロワ回路のゲート電極に、さらに常誘電体キャパシタが接続されている、請求項9記載の確率的演算素子。
- 前記揺らぎ差分演算手段は前記2つのデータのアナログの差分又はアナログの前記2つのデータの一方と前記揺らぎ発生回路の出力とを和算する和算器を備え、前記和算器がゲート電極に第1及び第2のキャパシタが並列に接続されたソースフォロワ回路を備え、前記第1のキャパシタに前記揺らぎ発生回路の出力が入力され、前記第2のキャパシタに前記2つのデータのアナログの差分又はアナログの前記2つのデータの一方が入力される、請求項1記載の確率的演算素子。
- 前記和算器のソースフォロワ回路のゲート電極が、スイッチ素子を介して接地端子へ接続されている、請求項11記載の確率的演算素子。
- 前記カウンタが、リプルカウンタである、請求項1記載の確率的演算素子。
- 前記揺らぎが、カオス揺らぎである、請求項1記載の確率的演算素子。
- 前記揺らぎが、雑音を増幅して得られる揺らぎである、請求項1記載の確率的演算素子。
- 前記揺らぎ発生器は、揺らぎを有する出力として、周期的な出力を発生し、かつ前記周期的出力の1周期間の出力のヒストグラム値がほぼ同等である、請求項1記載の確率的演算素子。
- 前記距離演算器は減算素子を備え、
前記減算素子は、ゲート電極に並列に2つのキャパシタが接続されたソースフォロワ回路を備え、かつ前記2つキャパシタのキャパシタンスが等しくC1であるとし、前記ソースフォロワ回路を構成するNMIS及びPMISのキャパシタンスをそれぞれCN、CPとし、前記ソースフォロワ回路へ電圧を入力したときに低電圧側の電圧源の電位より電位が上昇を開始する電圧をVLowとするとき、
電圧VZをVZ=VLow/[2C1/(2C1+CN+CP)]の式で演算し、かつ前記2つのデータはそれぞれ電圧で表されかつその電圧をVaとVbとするとき、V1=VZ-Vaなる電圧とV2=VZ+Vbなる電圧とを前記2つのキャパシタのソースフォロワ回路のゲート電極に接続されていない方の電極にそれぞれ印加することにより、Va-Vbの演算においてVa≧Vbの場合の減算を実行する、請求項2記載の確率的演算素子。 - 前記距離演算器は、前記減算素子を2つ備え、前記2つのデータをそれぞれVin、Vrefとするとき、前記2つの減算素子の一方にはVa=Vin、Vb=Vrefとして出力VM1を得、前記2つの減算素子の他方にはVa=Vref、Vb=Vinとして出力VM2を得、かつ電圧VM1とVM2を前記和算器へ入力することにより、VinとVrefの差の絶対値を演算する、請求項17記載の確率的演算素子。
- 前記閾値処理器が、CMISインバータで構成されている、請求項1記載の確率的演算素子。
- 前記閾値処理器の直前にスイッチ素子が設けられている、請求項1記載の確率的演算素子。
- 前記閾値処理器の電源供給配線の電流を検出する電流検出器と、前記電流検出器の出力に基づいて前記揺らぎ発生器の出力を制御する揺らぎ発生器制御回路とをさらに備えている、請求項19記載の確率的演算素子。
- 前記揺らぎ発生器制御回路は、前記電流検出器により検出される電流が所定値より小さい場合に、前記揺らぎ発生器の揺らぎ幅を増加させる、請求項21記載の確率的演算素子。
- 前記揺らぎ発生器制御回路は、前記電流検出器により検出される電流が所定値より小さい場合に、前記揺らぎ発生器の出力に、その平均値が前記閾値処理器の閾値に近づくよう正又は負のバイアスを付加する、請求項21記載の確率的演算素子。
- 外部から入力される参照ベクトル及び入力ベクトルの要素に対応する複数の確率的演算回路と、パルス検出手段と、前記複数の確率的演算回路及び前記パルス検出手段を有する所定数のベクトル列比較回路とを備え、
それぞれの前記確率的演算回路が、揺らぎを有するアナログ量を出力する揺らぎ発生器と、前記入力される参照ベクトルの要素データを記憶するためのメモリと、前記メモリに記憶された参照ベクトルの要素データと前記入力される入力ベクトルの要素データとのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段と、前記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力する閾値処理器とを有し、
前記パルス検出手段が、前記複数の確率的演算回路の閾値処理器から出力されるパルスを検出し、それにより、前記入力ベクトルと前記参照ベクトルとの距離を検出する確率的演算素子の駆動方法であって、
前記ベクトル列比較回路の列数が参照ベクトルの列数より少ない場合に、前記入力ベクトルとの距離が近い前記参照ベクトルをk個(kは自然数)抽出するとき、
前記ベクトル列比較回路の列数以下の数の前記参照ベクトルを前記ベクトル列比較回路の複数の確率的演算回路のメモリに書き込み、この書き込んだ参照ベクトルから前記上位k個の参照ベクトルを抽出し、次いで、この参照ベクトルが抽出されたベクトル列比較回路以外のベクトル列比較回路に残りの前記参照ベクトルの少なくとも一部を書き込んで前記抽出を行う、確率的演算素子の駆動方法。 - 前記参照ベクトルの書き込み及び前記抽出動作をさらに繰り返す、請求項24記載の確率的演算素子の駆動方法。
- 請求項1記載の確率的演算素子と、外部から入力される認識対象情報の特徴を抽出し、該抽出された特徴を前記入力ベクトルとして前記確率的演算素子に入力する特徴抽出回路と、前記認識対象情報の特徴をベクトル化した参照ベクトル群を格納するメモリとを備え、
前記確率的演算素子が、前記メモリに格納された参照ベクトル群のうちから前記入力ベクトルに対応する参照ベクトルを特定することにより、認識対象情報を認識する、認識処理装置。 - 前記認識対象情報が音声である、請求項26記載の認識処理装置。
- 前記参照ベクトル群は、音声の特徴量が時系列的に配置されたベクトル群からなり、かつ人間にとって同じであると認識される音声の特徴量が互いに時系列的にずれて配置された複数列のベクトルを有している、請求項27記載の認識処理装置。
- 前記認識対象情報が画像である、請求項26記載の認識処理装置。
- 前記参照ベクトル群は、人間にとって同じものと認識されるが数値的には異なる画像の特徴量がベクトル化されたベクトル群からなる、請求項29記載の認識処理装置。
- 前記人間にとって同じものと認識される画像が人間の部位であり、前記数値的に異なる画像の特徴量が前記人間の部位間の距離である、請求項30記載の認識処理装置。
- 前記認識対象情報が人間の行動であり、前記認識された行動を出力する、請求項26記載の認識処理装置。
- 前記参照ベクトル群は、人間の活動情報を数値化したデータがベクトル化されたベクトル群からなる、請求項32記載の認識処理装置。
- 前記出力された行動に対する反応が好意的な場合には、前記出力された行動に対応する参照ベクトルが選択されやすくなるよう該参照ベクトルの値の少なくとも一部を変更し、前記反応が否定的な場合には前記出力された行動に対応する参照ベクトルが選択されにくくなるように該参照ベクトルの値の少なくとも一部を変更する、請求項33記載の認識処理装置。
- 前記活動情報は、電気機器の操作履歴、赤外線センサ出力、
室温センサ出力、湿度センサ出力、体温センサ出力、脳波センサ出力、脈拍センサ出力、視線センサ出力、発汗センサ出力、筋電位センサ出力、日時情報、曜日情報、及び認識処理装置の出力の少なくともいずれかを含む、請求項34記載の認識処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002212028 | 2002-07-22 | ||
JP2002212028 | 2002-07-22 | ||
PCT/JP2003/009150 WO2004010582A1 (ja) | 2002-07-22 | 2003-07-18 | 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3708113B2 true JP3708113B2 (ja) | 2005-10-19 |
JPWO2004010582A1 JPWO2004010582A1 (ja) | 2005-11-17 |
Family
ID=30767796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004522760A Expired - Lifetime JP3708113B2 (ja) | 2002-07-22 | 2003-07-18 | 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7493353B2 (ja) |
JP (1) | JP3708113B2 (ja) |
CN (1) | CN1284300C (ja) |
AU (1) | AU2003281558A1 (ja) |
TW (1) | TWI323429B (ja) |
WO (1) | WO2004010582A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10388350B2 (en) | 2017-07-26 | 2019-08-20 | Kabushiki Kaisha Toshiba | Memory system, semiconductor storage device, and signal processing system |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7449967B2 (en) * | 2003-02-28 | 2008-11-11 | Panasonic Corporation | Probabilistic pulse generator and differential absolute value computing element and manhattan distance arithmetic unit using this |
US6974252B2 (en) * | 2003-03-11 | 2005-12-13 | Intel Corporation | Failsafe mechanism for preventing an integrated circuit from overheating |
US8188753B2 (en) * | 2009-02-18 | 2012-05-29 | Analog Devices, Inc. | Analog computation |
US8161329B2 (en) * | 2009-11-11 | 2012-04-17 | International Business Machines Corporation | Generating random sequences based on stochastic generative model having multiple random variates |
CN101834586A (zh) * | 2010-04-21 | 2010-09-15 | 四川和芯微电子股份有限公司 | 随机信号产生电路及方法 |
JP6524540B2 (ja) * | 2014-01-21 | 2019-06-05 | レイディアント テクノロジーズ, インコーポレイテッドRadiant Technologies, Inc. | 強誘電体キャパシタを利用する不揮発性カウンタ |
US10303998B2 (en) | 2017-09-28 | 2019-05-28 | International Business Machines Corporation | Floating gate for neural network inference |
US11238360B2 (en) * | 2018-02-12 | 2022-02-01 | International Business Machines Corporation | Fast quantum feedback using analog integration and control pulse gating |
JP6521207B1 (ja) * | 2018-11-08 | 2019-05-29 | Tdk株式会社 | 積和演算器、積和演算方法、論理演算デバイスおよびニューロモーフィックデバイス |
KR102495632B1 (ko) * | 2020-11-26 | 2023-02-06 | 포항공과대학교 산학협력단 | 아날로그 신호를 확률 신호로 변환하는 역치 변환 소자 기반의 아날로그-확률 변환 장치 |
CN112510147B (zh) * | 2020-12-04 | 2022-05-20 | 武汉理工大学 | 一种全无机量子点基阻变存储器及其制备方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2390047B1 (ja) * | 1977-05-06 | 1982-09-17 | Aerospatiale | |
JP3278080B2 (ja) * | 1993-02-22 | 2002-04-30 | 直 柴田 | 半導体集積回路 |
EP0834117B1 (de) * | 1995-06-09 | 2001-02-28 | Infineon Technologies AG | Schaltungsanordnung zum vergleich zweier elektrischer grössen, die von einem ersten neuron-mos-feldeffekttransistor und einer referenzquelle zur verfügung gestellt werden |
JP2000237167A (ja) * | 1999-02-19 | 2000-09-05 | Oki Electric Ind Co Ltd | アイリス認識装置 |
JP4873335B2 (ja) * | 2000-04-28 | 2012-02-08 | 独立行政法人科学技術振興機構 | 情報処理構造体 |
JP3507886B2 (ja) * | 2000-07-24 | 2004-03-15 | 新潟大学長 | 乱数発生方法 |
JP4648996B2 (ja) | 2000-10-11 | 2011-03-09 | ローム株式会社 | アナログ−デジタル変換器 |
JP2002123833A (ja) * | 2000-10-18 | 2002-04-26 | Victor Co Of Japan Ltd | 画像処理装置 |
JP2003163332A (ja) * | 2001-06-22 | 2003-06-06 | Matsushita Electric Ind Co Ltd | 半導体装置 |
JP3668186B2 (ja) * | 2001-12-10 | 2005-07-06 | 日本電信電話株式会社 | 可変しきい値しきい素子回路、関数機能再構成可能集積回路および回路状態保持方法 |
US7007060B2 (en) * | 2002-05-08 | 2006-02-28 | Agilent Technologies, Inc. | Random bit stream generation by amplification of thermal noise in a CMOS process |
US7188131B2 (en) * | 2002-11-27 | 2007-03-06 | Stmicroelectronics S.A. | Random number generator |
DE10344327B3 (de) * | 2003-09-24 | 2005-06-09 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl |
-
2003
- 2003-07-18 JP JP2004522760A patent/JP3708113B2/ja not_active Expired - Lifetime
- 2003-07-18 AU AU2003281558A patent/AU2003281558A1/en not_active Abandoned
- 2003-07-18 CN CNB038018950A patent/CN1284300C/zh not_active Expired - Lifetime
- 2003-07-18 WO PCT/JP2003/009150 patent/WO2004010582A1/ja active Application Filing
- 2003-07-21 TW TW092119847A patent/TWI323429B/zh not_active IP Right Cessation
-
2004
- 2004-02-20 US US10/781,819 patent/US7493353B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10388350B2 (en) | 2017-07-26 | 2019-08-20 | Kabushiki Kaisha Toshiba | Memory system, semiconductor storage device, and signal processing system |
Also Published As
Publication number | Publication date |
---|---|
US7493353B2 (en) | 2009-02-17 |
US20040162725A1 (en) | 2004-08-19 |
CN1284300C (zh) | 2006-11-08 |
TW200404369A (en) | 2004-03-16 |
TWI323429B (en) | 2010-04-11 |
JPWO2004010582A1 (ja) | 2005-11-17 |
CN1613184A (zh) | 2005-05-04 |
WO2004010582A1 (ja) | 2004-01-29 |
AU2003281558A1 (en) | 2004-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3708113B2 (ja) | 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 | |
Sun et al. | Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons | |
Chang et al. | Mitigating asymmetric nonlinear weight update effects in hardware neural network based on analog resistive synapse | |
Kadetotad et al. | Parallel architecture with resistive crosspoint array for dictionary learning acceleration | |
Zheng et al. | Learning in memristor crossbar-based spiking neural networks through modulation of weight-dependent spike-timing-dependent plasticity | |
US11610105B2 (en) | Systems and methods for harnessing analog noise in efficient optimization problem accelerators | |
US20200160165A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
Tang et al. | A multilayer neural network merging image preprocessing and pattern recognition by integrating diffusion and drift memristors | |
Ottati et al. | To spike or not to spike: A digital hardware perspective on deep learning acceleration | |
CN113643175B (zh) | 数据处理方法及电子装置 | |
CN112418414B (zh) | 利用单栅极的反馈电场效电子器件的整合放电神经元电路 | |
Yan et al. | Challenges of memristor based neuromorphic computing system | |
Thakur et al. | A context-driven complex activity framework for smart home | |
Kim et al. | Algorithm/hardware co-design for in-memory neural network computing with minimal peripheral circuit overhead | |
TW311209B (ja) | ||
Douthwaite et al. | A time-domain current-mode mac engine for analogue neural networks in flexible electronics | |
Gi et al. | A ReRAM-based convolutional neural network accelerator using the analog layer normalization technique | |
Pedretti et al. | Redundancy and analog slicing for precise in-memory machine learning—Part II: Applications and benchmark | |
Mladenov et al. | Memristor-based neural network implementation with adjustable synaptic weights in LTSPICE | |
JP3706869B2 (ja) | 半導体演算回路 | |
Tran et al. | Hierarchical memcapacitive reservoir computing architecture | |
CN110993004B (zh) | 基于阻变存储阵列的朴素贝叶斯分类方法、引擎及系统 | |
Tian et al. | NIMBLE: A Neuromorphic Learning Scheme and Memristor Based Computing-in-Memory Engine for EMG Based Hand Gesture Recognition | |
JP2004171552A (ja) | 確率型演算素子及びこれを用いた確率型演算装置 | |
Madani et al. | Two analog counters for neural network implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20050802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050802 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3708113 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080812 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130812 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |