JP2009541914A - 連想メモリセルの線形アレイを用いる非線形連想メモリ及びその動作方法 - Google Patents

連想メモリセルの線形アレイを用いる非線形連想メモリ及びその動作方法 Download PDF

Info

Publication number
JP2009541914A
JP2009541914A JP2009518195A JP2009518195A JP2009541914A JP 2009541914 A JP2009541914 A JP 2009541914A JP 2009518195 A JP2009518195 A JP 2009518195A JP 2009518195 A JP2009518195 A JP 2009518195A JP 2009541914 A JP2009541914 A JP 2009541914A
Authority
JP
Japan
Prior art keywords
associative
display unit
measure
cell
previous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009518195A
Other languages
English (en)
Other versions
JP2009541914A5 (ja
JP5592109B2 (ja
Inventor
アパリシオ,マニュエル,ザ・フォース
Original Assignee
サフロン・テクノロジー,インコーポレイテッド
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 サフロン・テクノロジー,インコーポレイテッド filed Critical サフロン・テクノロジー,インコーポレイテッド
Publication of JP2009541914A publication Critical patent/JP2009541914A/ja
Publication of JP2009541914A5 publication Critical patent/JP2009541914A5/ja
Application granted granted Critical
Publication of JP5592109B2 publication Critical patent/JP5592109B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

連想メモリは、連想メモリセルを備えている。それぞれのセルはセンサ入力部、前段連想表示部、次段連想表示部及び連想出力部を具備している。これらのセルは直列に相互接続されて線形アレイを形成し、直列に接続されたセルのセンサ入力部、前段連想表示部及び次段連想表示部は、一連のセンサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される。それぞれのセルは処理ロジックも備えている。処理ロジックは、関連した前記センサ入力部がアクティブであることに対応して、次段連想表示部のメジャーを隣接する近位のセルに送る、及び/又は前段連想表示部のメジャーを隣接するル遠位のセルに送る。処理ロジックはさらに、関連した前記センサ入力部がアクティブであること、及び隣接する遠位のセルから次段連想表示部のメジャーを受け取ることに対応して、連想出力部において連想カウントを蓄積する。

Description

[連邦政府による委託研究]
本発明の少なくとも一部は、Air Force Research Laboratory Contract No. FA8750-05-C-0125により、政府の支援のもとでなされたものである。政府は本発明に対して、一定の権利を有する。
[発明の分野]
本発明は、人工知能システム及び方法に関し、さらに詳細には、連想メモリ及びそれを動作させる方法に関する。
連想メモリは、コンテント・アドレッサブル・メモリとも呼ばれて、パターン・マッチング及び識別、エキスパートシステム及び人工知能の分野で広く使用されている。連想メモリは広範囲にわたって研究されており、また市販されている。しかしながら、残念なことに、現実の世界の問題を解決するために、連想メモリの使用を制限する基本的なスケーリング(scaling)の問題が存在する。特に、従来の線形連想メモリは互いに関連付けられていない入力部を有しており、このことは、入力部間の相互作用などの可能な非線形性を学習するため及び示すためにそのようなメモリの能力を大いに制限することがある。さらに、非線形メモリは、全ての入力部間に与えられる重みが急増するため、現実世界の用途に対して評価することが難しいことがある。幾何学的なスケーリングは一般に、そのような技術を保証する複雑性の規模においてアプリケーションに対応することは不適当である。
非線形連想メモリの幾何学的なスケーリングはまた、これらのメモリをハードウェアの中で実現することをますます困難にする可能性がある。特に、ハードウェアが実現すれば、高速な並列処理により適用できる。しかしながら、非線形連想メモリのハードウェア素子の間で必要とされる相互接続の数は、現実世界の用途に対して実際的でないハードウェアになる可能性がある。
本発明の幾つかの実施形態による連想メモリは、複数の連想メモリセルを備えている。それぞれのセルは、センサ入力部、前段連想表示部(prior association representation)、次段(next)連想表示部、及び連想出力部(associative output)を備えている。これらの複数のセルは直列に相互接続されて線形アレイを形成し、直列に接続されたセルのセンサ入力部、前段連想表示部、及び次段連想表示部は、一連のセンサ入力部間のアソシエーションのアフィニティー(affinity)に基づいて、遠位のセルから近位のセルまで順番に配列される。
それぞれのセルは、処理ロジックも中に備えている。幾つかの実施形態では、この処理ロジックは、関連したセンサ入力部がアクティブであることに対応して、次段連想表示部のメジャー(measure)を隣接する近位のセルに送る、及び/又は前段連想表示部のメジャーを隣接するル遠位のセルに送る。処理ロジックはさらに、関連したセンサ入力部がアクティブであること、及び隣接する遠位のセルから次段連想表示部のメジャーを受け取ることに対応して、連想出力部において連想カウント(associative count)を蓄積する。別の方法では、又はそれに加えて、処理ロジックはさらに、関連したセンサ入力部がアクティブであること、隣接する近位のセルに対する前段連想表示部のメジャーを受け取ること、及び次段連想表示部がアクティブであることに応答して、連想出力部において連想カウントを蓄積する。
別の実施形態では、処理ロジックはさらに、隣接する遠位のセルから次段連想表示部のメジャーを受け取ること及び前段連想表示部がアクティブであることに応答して、受信された次段連想表示部のメジャーをディクリメントし、またディクリメントされた次段連想表示部のメジャーを隣接する近位のセルに送る。別の方法では、又はそれに加えて、処理ロジックはさらに、隣接する近位のセルから前段連想表示部のメジャーを受け取ること及び次段連想表示部がアクティブであることに応答して、受信された前段連想表示部のメジャーを決定し、そしてディクリメントされた前段連想表示部のメジャーを隣接する遠位のセルに送る。
さらに別の実施形態では、処理ロジックはさらに、隣接する遠位のセルから次段連想表示部のメジャーを受け取ること及び前段連想表示部がアクティブであることに応答して、受信された連想表示部のメジャーを隣接する近位のセルに送る。別の方法では、又はそれに加えて、処理ロジックはさらに、隣接する近位のセルから前段連想表示部のメジャーを受け取ること及び次段連想表示部がアクティブであることに応答して、受信された前段連想表示部のメジャーを隣接する遠位のセルに送る。
本発明の別の実施形態では、複数のセルの連想出力部に接続されたアキュームレータも設けられている。さらに別の実施形態では、センサ入力部、前段連想表示部、次段連想表示部、連想出力部、次段連想表示部のメジャー、及び前段連想表示部のメジャーが、それぞれのセル内の対応するレジスタの中に記憶される。さらに、処理ロジックは、パイプライン方式で複数のセンサ入力部上で動作するように構成される。
前述した実施形態のいずれかにおいて、一連のセンサ入力部間のアソシエーションのアフィニティーは、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて、直列の入力部、前段連想表示部、及び次段連想表示部を繰返しスワッピングすることによって、センサ入力部の連想マトリックスをソーティングして決定することができる。さらに、アソシエーションのアフィニティーは、最大投射、固定長投射、及び/又は最長の非最大投射(longest nonmaximal projection)などの投射に基づいて、繰返しスワップされたシリーズからバンドを抽出することによって更に決定される。
その上、前述された実施形態のいずれかにおいて、前段連想表示部及びこの前段連想表示部のメジャーは、前段連想重み(prior association weight)を備え、また次段連想表示部及びこの次段連想表示部のメジャーは、次段連想重みを含むことができる。さらに別の実施形態では、前段連想表示部は前段連想ベクトルを備え、次段連想表示部は次段連想ベクトルを備え、前段連想表示部のメジャーはポインタを有し、そして次段連想表示部のメジャーもポインタを有することができる。さらに別の実施形態では、前段連想表示部及び前段連想表示部のメジャーは前段連想部のセグメントを有し、また次段連想表示部及び次段連想表示部のメジャーは次段連想部のセグメントを有することができる。
本発明の別の実施形態に基づいて、遠位のセルから近位のセルまで連続して直列に接続されて線形アレイを形成する複数の連想メモリセルを備えた連想メモリを用いてアソシエーションを決定する方法が提供される。これらの実施形態では、メモリセルのそれぞれのセンサ入力部に対する前段連想表示部及び次段連想表示部が、それぞれのメモリセルにロードされる。ここで、直列に接続されたセルのセンサ入力部は、一連のセンサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される。所定のセンサ入力部は、それらの間のアソシエーションを決定するためにアクティブにされる。
幾つかの実施形態では、関連したセンサ入力部がアクティブであることに対応して、次段連想表示部のメジャーが隣接する近位のセルに送られる。別の方法では、又はそれに加えて、前段連想表示部のメジャーが隣接する遠位のセルに送られる。さらに、関連したセンサ入力部がアクティブであること及び隣接する遠位のセルから次段連想表示部のメジャーを受け取ることに対応して、連想カウントが蓄積される。別の方法では、又はそれに加えて、関連したセンサ入力部がアクティブであること及び隣接する近位のセルから前段連想表示部のメジャーを受け取ることに対応して、連想カウントが蓄積される。
別の実施形態によれば、隣接する遠位のセルから次段連想表示部のメジャーを受け取ること及び前段連想表示部がアクティブであるに応答して、受け取られた次段連想表示部のメジャーが決定され、そして決定された次段連想表示部のメジャーが隣接する近位のセルに送られる。別の方法では、又はそれに加えて、隣接する近位のセルから前段連想表示部のメジャーを受け取ること及び次段連想表示部がアクティブであることに応答して、受け取られた前段連想表示部のメジャーがディクリメントされ、そしてディクリメントされた前段連想表示部のメジャーが隣接する遠位のセルに送られる。
さらに別の実施形態では、隣接する遠位のセルから次段連想表示部のメジャーを受け取ること及び前段連想表示部がアクティブであることに応答して、受け取られた次段連想表示部のメジャーが隣接する近位のセルに送られる。別の方法では、又はそれに加えて、隣接する近位のセルから前段連想表示部のメジャーを受け取ること及び次段連想表示部がアクティブであることに反応して、受け取られた前段連想表示部のメジャーが隣接する遠位のセルに送られる。
幾つかの実施形態では、連想カウントが蓄積される。さらに、所定のセンサ入力部が、パイプライン方式で繰返しアクティブにされる。
幾つかの実施形態では、一連の入力部、前段連想表示部及び次段連想表示部が近位及び遠位の方向にアソシエーションのアフィニティーに基づいて繰返しスワップされて、一連のセンサ入力部の中でアソシエーションのアフィニティーを決定する。繰返しスワップする工程の後に、最大投射、固定長投射、及び/又は最長の非最大投射などの投射に基づいて、繰返しスワップされた配列からバンドを抽出する工程が続く。この繰返しスワップする工程及びバンドを抽出する工程は、ローディングの前及び/又は後で実行される。前述されたように、連想表示部及びそのメジャーは、幾つかの実施形態では、重みを有する。別の実施形態では、連想表示部はベクトルを有し、また連想表示部のメジャーはポインタを有することができる。さらに別の実施形態では、連想表示部及びそのメジャーは、アソシエーションのセグメントを有することができる。
本発明の幾つかの実施形態による連想メモリ及びその動作方法のブロック図である。 本発明の幾つかの実施形態に基づいて、連想メモリによって実行される動作のフローチャートである。 本発明の幾つかの実施形態に基づいて、連想メモリによって実行される動作のフローチャートである。 本発明の幾つかの実施形態に基づいて、連想メモリによって実行される動作のフローチャートである。 本発明の幾つかの実施形態に基づいて、連想メモリによって実行される動作のフローチャートである。 本発明の種々の実施形態に基づいて、アソシエーションを決定するために実行される動作のフローチャートである。 線形ドット積を用いる従来のコンセプト・ベクトルのアルゴリズムのブロック図である。 19世紀の終わりにRamon y Cajalによって最初に確立された古典的な神経構造を例示する図である。 本発明の種々の実施形態に基づいて、アソシエーションのアフィニティーを決定するために実行される動作のフローチャートである。 それぞれ、分類されていない連想マトリックス及びアフィニティーで分類されたその構成の実施例を提供する図である。 それぞれ、図10Bのマトリックスからの連続したバンドの抽出及び残っている残留アソシエーションを例示する図である。 本発明の種々の実施形態に従って、繰返しスワップすることによるアフィニティーに基づいて、連想マトリックスを分類するために実行される動作のフローチャートである。 「クリークイ(cliquey)」マトリックスにおけるスワッピングの実施例を例示する図である。 「ストリンギー(stringy)」マトリックスにおけるスワッピングの実施例を例示する図である。 8個の入力部を有する連想マトリックスの実施例を例示する図である。 ソーティング後の図15Aのマトリックスを例示する図である。 本発明の種々の実施形態に基づいて、それぞれ、全体的な投射、固定長投射、連続した対角線、及び最適対角線を用いる抽出の結果を例示する図である。 本発明の別の実施形態に基づいて、センサ入力部の選択されたサブセットの中でアソシエーションを決定するために、前段/次段の表示部を読み取る方法を例示するブロック図である。 本発明の種々の実施形態に基づいて、連想メモリを読み取るために実行される動作のフローチャートである。 図17の動作の実施例を示す図である。 本発明の幾つかの実施形態に基づいて、樹状ツリー上のマトリックスバンドを概念的に例示する図である。 図11Bを再現した図であり、本発明の幾つかの実施形態に基づいて、それぞれ、残留物を分類した結果を例示する図である。 本発明の別の実施形態に基づいて、連想マトリックスを読み取るために実行される動作のフローチャートである。 図21の動作の実施例を示す図である。 本発明の幾つかの実施形態による2つのセルのハードウェアのブロック図であり、それらの相互接続関係を示している。 本発明の幾つかの実施形態に基づいて、重みではなくアソシエーションの実際のセグメントを用いて連想マトリックスを読み取るために実行される動作のフローチャートである。 図24の動作の実施例を示す図である。 本発明の幾つかの実施形態に基づいて、重みではなくベクトル及びポインタを用いて連想マトリックスを読み取るために実行される動作のフローチャートである。 図26の動作の実施例を示す図である。
ここで本発明の実施形態が示されている添付した図面を参照して、本発明を以下により完全に説明する。しかしながら、本発明は多くの異なった形態で具体化することができるが、本願に記載された実施形態に限定されると解釈してはならない。
従って、本発明については各種の修正や別の形態が可能であるが、その特定の実施形態を図面の中の実施例により示し、本願で詳細に説明する。しかしながら、本発明を開示された特定の形態に限定する意図はなく、逆に、本発明は、特許請求の範囲により定義する本発明の精神及び範囲の中に入る全ての変形例、等価なもの、及び代替例をカバーすることを理解されたい。同じ参照番号は、全ての図面の説明の中で同様の要素を意味する。
本願で使用される専門用語は、特定の実施形態を説明する目的にのみ使用されるものであり、本発明を限定することを意図するものではない。単数形の「a」、「an」及び「the」は、本願で使用される場合は、文脈が明白に別の考えを示す場合を除いて、複数形も含むものとする。「構成する」、「構成している」、「含む」及び/又は「含んでいる」という用語は、この明細書で使用される場合は、規定された機構、領域、工程、操作、素子、及び/又は要素の存在を指定するが、1つ以上の他の機構、領域、工程、操作、素子、要素、及び/又はそのグループの存在又は追加を排除しないことはさらに理解されよう。さらに、素子が別の素子に「対応する」又は「基づく」と呼ばれる場合は、その素子はその別の素子に直接対応する又は直接基づくことができるが、介在する素子が存在しても良い。対照的に、ある素子が別の素子に「直接対応する」又は「直接基づいている」と呼ばれる場合は、介在する素子は存在しない。一般に、「直接に」という用語は、介在する素子/工程がないことを意味し、「直接に」という用語がない場合は、介在する素子/工程が存在する可能性がある。「及び/又は」という用語は、本願で使用される場合は、対応付けられた1つ以上の列挙された項目の幾つかの及び全ての組合せを含み、また「/」と略記されることがある。
第1、第2などの用語が種々の素子を説明するために本願で使用されるが、これらの素子をこれらの用語で限定すべきではないことは理解されよう。これらの用語は、1つの素子を他の素子から区別するために限って使用される。例えば、第1のセルを、開示内容の教示から逸脱することなく、第2のセルと呼ぶことができ、また同様に、第2のセルを第1のセルと呼ぶことができる。
本発明は、本発明の実施形態による方法、装置(システム及び/又は装置)、及び/又はコンピュータプログラム製品のブロック図及び/又はフローチャートを参照して以下のように説明される。ブロック図及び/又はフローチャートのブロック、及びブロック図及び/又はフローチャートの中のブロックの組合せは、コンピュータプログラムの命令によって実行されることは理解されよう。これらのコンピュータプログラムの命令は、汎用コンピュータ、特殊目的のコンピュータ、及び/又は他のプログラム可能なデータ処理装置に与えられて、コンピュータ及び/又は他のプログラム可能なデータ処理装置のプロセッサを介して実行されるこれらの命令が、ブロック図及び/又はフローチャートのブロックの中で指定された機能/動作を実行するための手段(機能)及び/又は構造体を作り出すような装置を作る。
コンピュータ又は他のプログラム可能なデータ処理装置を特定の方法で機能させることができるこれらのコンピュータプログラムの命令を、コンピュータが読取り可能なメモリの中に記憶して、これらのコンピュータが読取り可能なメモリの中に記憶された命令が、ブロック図及び/又はフローチャートのブロックの中で指定された機能/動作を実行する命令を含む製品を作ることもできる。
コンピュータプログラムの命令をコンピュータ又は他のプログラム可能なデータ処理装置にロードし、一連の動作ステップをコンピュータ又は他のプログラム可能な装置上で実行させて、コンピュータの実行による処理を行い、コンピュータ又は他のプログラム可能な装置上で実行される命令が、ブロック図及び/又はフローチャートのブロックの中で指定された機能/動作を実行するステップを提供することもできる。
従って、本発明はハードウェア及び/又はソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)の中で具体化される。さらに、本発明は、命令実行システムによって又はそれと関係して使用される媒体の中で具体化されるコンピュータが使用可能又は読取り可能なプログラムコードを有するコンピュータが使用可能又は読取り可能な記憶媒体上で、コンピュータプログラム製品の形態を取ることができる。この資料に照らして、コンピュータが使用可能又は読取り可能な媒体は、命令実行システム、機器、又は装置が使用する又はそれらの関係において使用されるプログラムを含む、記憶する、通信する、伝送する、又は送信することができるどのような媒体であっても良い。
幾つかの別の実現形態では、ブロック内に記載された機能/動作がフローチャートの中に記載された順序から外れて現れることがあることにも注意されたい。例えば、連続して示された2つのブロックが実際はほぼ同時に実行される、又はブロックが含まれる機能/動作によって時には逆の順序で実行されることがある。さらに、所定のフローチャート及び/又はブロック図のブロックの機能が、複数のブロックに分離される、及び/又はフローチャート及び/又はブロック図の2つ以上のブロックの機能が少なくとも部分的に一体化されることがある。
「上部」、「底部」「左」、「右」などの空間的な相対語は、図面で説明されているように、別の素子又は機能に対する1つの素子又は機能の関係を説明する場合に、説明を容易にするために本願で使用される。空間的な相対語は、図面の中で示された向きに加えて、使用又は動作中の装置の種々の向きを含むことを意図されていることは理解されよう。
「前の(prior)」及び「次の(next)」という用語は、本願ではそれぞれ、三角形の自動連想マトリックス(auto-associative matrix)の行及び列を示すために使用される。このため、例えば、前の投射(prior projection)は幾つのビットが、三角形の自動連想マトリックスの所定の行の中にあるかを計数し、また次の投射(next projection)は幾つのビットが所定の列にあるかを計数している。しかしながら、行および列の指定は逆にすることができることは理解されよう。さらに、「近位の(proximal)」及び「遠位の(distal)」という用語は、本願では連想メモリ用セルの線形アレイに沿った逆の方向を指定するために使用される。次の説明では、近位のという用語は右に伸びるように示された、次の又は増加する方向として定義され、また遠位のという用語は、図面の左に示された先行する又は減少する方向として定義される。しかしながら、繰り返すが、これらの相対的な方向は、別の実施形態では逆にすることができる。
本発明の実施形態に対する完全な説明を行うために、図1〜図6は、本発明の例示的な実施形態に対して高レベルの概要を提供する。次に、図7〜図25が、複数の例証となる実施例を含む一層詳細な説明を提供する。
図1は、本発明の幾つかの実施形態による連想メモリ及び動作方法のブロック図である。図1に示されているように、連想メモリ100のこれらの実施形態は、複数の連想メモリ用セル110a〜110cを備えている。簡潔にするために、図1には3つのセル110a〜110cしか例示されていないが、一般に連想メモリにはより多くのセルが設けられていることは当業者は理解されよう。
さらに、図1を参照すると、それぞれのセル110は、センサ入力部112、前段連想表示部114、次段連想表示部116、連想出力部118を備えている。「センサ入力部」という用語は、入力信号を識別するために使用されることは理解されよう。これらの入力信号は、出所に関係なく、連想マトリックスを読み取るために使用される。複数のセルが図1に示されているように直列に接続されて線形アレイを形成し、直列に接続されたセルのセンサ入力部112、前段連想表示部114、及び次段連想表示部116が一連のセンサ入力部112の中のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまでシーケンス120の中で配列される。各入力部112は、関連したセンサ入力部がアクティブであるか又はイナクティブであるかを示す(オン/オフ)レジスタとすることができる。一連のセンサ入力部の間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまでのシーケンスの中でセルを分類又は配列する技術は、下記においてより詳細に説明される。
前段連想表示部114は、前段連想部(prior association)、すなわち、三角形の自動連想マトリックスの行方向に沿ったアソシエーションを表示する動作を含むレジスタとして具体化することができる。この前段連想表示部114は、以下に詳細に説明されるが、重み、ベクトル、マトリックス・セグメント及び/又は別の表示とすることができる。次段連想表示部116は、次段連想部(next association)、すなわち、三角形の自動連想マトリックスの列に沿ったアソシエーションを表示する動作を中に含むレジスタとして具体化することができる。この次段連想表示部116は、以下に詳細に説明されるように、重み、ベクトル、マトリックス・セグメント及び/又は別の表示とすることができる。出力部118は、以下に詳細に説明されるが、自動連想カウント(auto-associative count)を蓄積するために使用され、またカウンタの動作をするレジスタとして具体化することができる。この出力部118は連想出力チャネル140に接続されて、出力部118で表示されるカウントを蓄積する。
図1をさらに参照すると、それぞれのセル110a〜110cは、内部に処理ロジック130も備えている。この処理ロジックは、従来のゲートウェイ構造体などの論理ゲート構造体、マイクロプロセッサや内蔵プログラム式マイクロプロセッサ、及び/又は処理ロジックを集積回路の中に取り入れる他の従来の技術を用いて具体化することができる。
図2は、本発明の幾つかの実施形態に基づいて、図1の処理ロジック130などの処理ロジックが実行することができる動作のフローチャートである。図2を参照すると、ブロック210において、図1のセンサ入力部112などの関連したセンサ入力部がアクティブの場合、ブロック220において、次段連想表示部のメジャーが、図1の「センド近位」矢印150によっても示されるように、隣接する近位のセルに送られる。さらに、ブロック230において、前段連想表示部のメジャーが、図1の「センド遠位」矢印180によって示されるように、隣接する遠位のセルに送られる。幾つかの実施形態では、アクティブなセンサ入力部112に応答して、図1に示されているように、前段連想表示部114の表示が遠位(矢印180)に送られ、かつ次段連想表示部116の表示が近位(矢印150)に送られる。しかしながら、別の実施形態では、近位及び遠位への送信は両方とも実行される必要はない。むしろ、幾つかの実施形態では、遠位の送信又は近位の送信のみが実行される。
図3は、図2に関連して実行された動作に加えて、本発明の別の実施形態に基づいて、図1の処理ロジック130などの処理ロジックが実行することができる別の動作のフローチャートである。図3の動作は、隣接する近位及び/又は遠位のセル110からの信号を受け取ったことに応答している。
特に、図3を参照すると、ブロック210において、センサ入力部112などの所定のセンサ入力部がアクティブで、かつ図1の矢印160によって示されるように、ブロック320において次段の表示部のメジャーが隣接する遠位のセルから受信される場合、連想カウントがブロック340において、例えば連想出力部118で蓄積される。別の方法では、又はそれに加えて、ブロック210において、センサ入力部がアクティブであり、かつ図1の矢印170で示されているように、ブロック350において隣接する近位のセルから前段連想表示部のメジャーを受け取ることに呼応して、連想カウントがブロック340において、例えば連想出力部118で蓄積される。従って、図2は、連想表示部のメジャーを隣接する近位及び遠位のセルに送信する処理の実施形態を例示し、また図3は、遠位及び近位のセルから受け取られた表示を処理し、カウントを蓄積する実施形態を提供している。
図4は、本発明の幾つかの実施形態に基づいて、図1の処理ロジック130などの処理ロジックが実行することができる別の動作のフローチャートである。これらの動作は、図2及び図3の動作に加えて実行される。
特に、図4を参照すると、ブロック320において、図1の矢印160によって示されているように、隣接する遠位のセルから次段連想表示部116のメジャーを受け取ることに呼応して、またブロック330において、所定のセルの前段連想表示部114がアクティブであることに対応して、受け取られた次段連想表示部のメジャーがブロック410でディクリメントされ、ブロック410でディクリメントされた次段連想表示部のメジャーが、図1の矢印150によって示されているように、ブロック420において隣接する近位のセルに送られる。別の方法では、又はそれに加えて、ブロック350において、図1に矢印170で示されているように、隣接する近位のセルから前段連想表示部114のメジャーを受け取ることに対応して、またさらに、ブロック360において、次段連想表示部116がアクティブであることに対応して、受け取られた前段連想表示部のメジャーがブロック430においてディクリメントされ、またブロック430でディクリメントされた前段連想表示部のメジャーが、図1の矢印180によって示されているように、ブロック440で隣接する遠位のセルに送られる。
図5は、本発明の別の実施形態に基づいて、図1の処理ロジック130などの処理ロジックが実行することができるさらに別の動作のフローチャートである。これらの動作は、図2、図3及び図4の動作に加えて実行される。
特に、図5を参照すると、ブロック320において、図1の矢印160によって示されているように、隣接する遠位のセルから次段連想表示部116のメジャーを受け取ることに呼応して、またさらにブロック530において、所定のセルの前段連想表示部114がイナクティブ(カウントされないか又はベクトルを持たない)であることに対応して、受け取られた次段連想表示部のメジャーがブロック540で示されているように、また矢印150によって示されているように、隣接する近位のセルに送られる。さらに、又は別の方法では、ブロック350において、矢印170で示されているように、隣接する近位のセルから前段連想表示部114のメジャーを受け取ることに対応して、またさらに、ブロック550において、所定のセルの次段連想表示部116がアクティブであることに対応して、所定のセルによって受け取られた前段連想表示部のメジャーが、図1の矢印180によって示されているように、ブロック560で隣接する遠位のセルに送られる。従って、これらの実施形態では、所定のセルの前段/次段の連想表示部がイナクティブである場合は、受け取られた連想表示部のメジャーはディクリメントされずに転送される。しかしながら、本発明の別の実施形態では、例えば排他的でない(non-cliquish)(ストリンギーな(stringy))投射が使用される場合、受け取られた連想表示部のメジャーは、所定のセルの前段/次段のカウンタがイナクティブであるなしにかかわらず、ディクリメントされた後に転送される。
図6は、本発明の種々の実施形態に基づいて、アソシエーションを決定するために実行することができるフローチャートである。これらの動作は、遠位のセルから近位のセルまで順番に直列に接続されて、図1の連想メモリなどの線形アレイを形成する複数の連想メモリ用セルを備えた連想メモリを用いて実行され、またアソシエーションを決定するために図2〜図5に関連して前述された動作を使用できる。
特に、ブロック610において、一連のセンサ入力部の間でアソシエーションのアフィニティー(affinity)が決定されて、図1のアフィニティー・ベースの入力シーケンス120が得られる。幾つかの実施形態では、アソシエーションのアフィニティーが、ブロック620において、連想メモリ用セルをロードする前に決定される。別の実施形態では、ブロック620において、アフィニティーがメモリセル内にロードされた後でアフィニティーを決定するために、インプレース学習(in-place learning)が使用される。さらに別の実施形態では、ブロック620において、前段/次段の表示部をメモリセル内にロードする前及び後の両方でアフィニティーが決定される。
幾つかの実施形態では、センサ入力部間のアソシエーションのアフィニティーは、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて、入力部、前段連想表示部、及び次段連想表示部を直列に繰返しスワッピングすることによって決定される。さらに、一連のセンサ入力部間のアソシエーションのアフィニティーは、最大投射、固定長投射、及び/又は最長の非最大投射などの投射に基づいて、繰返しスワップされたシリーズからバンドを抽出することによって、及び/又は他のバンド抽出技術によって更に決定される。アフィニティーを決定するためのこれらの技術は、以下により詳細に説明される。ブロック620において、それぞれのメモリセル110は、メモリセルのそれぞれのセンサ入力部112に対して前段連想表示部114及び次段連想表示部116を用いてロードされる。ここで、直列に接続されたセル110のセンサ入力部112は、ブロック610において早く決定される及び/又は遅く決定される一連のセンサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される。従って、ブロック610及び620の動作により、三角形の非線形自動連想マトリックスを線形アレイのセル110の中にロードすることが可能になる。
さらに図6を参照すると、ブロック630で、選択されたセンサ入力部がアクティブにされて、それらの間のアソシエーションが決定される。ブロック640において、アクティブにされたセンサ入力部に呼応して、例えば図2〜図5の処理ロジックの動作を実行することによってアソシエーションが蓄積され、これにより、近位及び/又は遠位のセルに信号を送り(図2)またカウントを蓄積するために受信された近位及び/又は遠位の信号で動作し(図3)、信号をディクリメントし(図4)、及び/又は信号をディクリメントせずに通過させる(図5)。カウントは、個々の出力部118を蓄積することによって、連想出力チャネル140の中に蓄積される。このため、ブロック630及び640の動作により、選択されたセンサ入力部をアクティブにしかつアソシエーションを蓄積することによって、連想メモリを問合せる又は読み取ることができる。
ブロック650において、別のアソシエーションを問合せすることを望む場合、選択されたセンサ入力部の新しい組がアクティブにされ(ブロック630)、新しいアソシエーションが蓄積される(ブロック640)。ブロック630〜650の動作がパイプライン方式で実行され、この場合、アソシエーションはブロック640において前にアクティブにされたセンサ入力部の組に対して蓄積されることは、当業者はまた理解されよう。それにより、高速のパイプライン方式の動作を提供することができる。
本発明の種々の実施形態に対するより詳細な説明が、ここで行われる。教訓的な目的のために、実施例も使用される。下記の詳細な説明では、従来の連想メモリに関する簡単な説明が行われて、その後、本発明の幾つかの実施形態に基づいて、アソシエーションのアフィニティーを決定するための技術が説明される。次に、本発明の幾つかの実施形態に基づいた連想メモリの実施形態が、実施例と共に説明される。本発明の幾つかの実施形態による処理ロジックの種々の実施形態が、実施例と一緒に説明される。最後に、重みではなくベクトルとセグメントを使用する本発明の実施形態が、実施例と共に説明される。
本発明の基礎をなす研究の一部として、様々なハードウェアのプラットフォームが調査された。特に、St. LouisのWashington Universityのプラットフォーム及びYork (UK)のCybula/Universityのプラットフォームが調査された。
St. LouisのWashington Universityのプラットフォームは、インターネット、arl.wustl.edu/projects/fpx/reconfig.htmの上で説明されている。このプラットフォームを用いてすでに試験された種々のアルゴリズムには、Latent Semantic Indexing (LSI)、Associated Grounded Semantics (AGS)、及びK-mean クラスタリング及びOrder Statisticsなどの他の標準的な方法が含まれる。AGSの実行に当たっては、図7は、マトリックス要素が項をコンセプトに直接マップするため、「線形の」アソシエーションのみを使用する状態を示している。
各項は、その関連付けられた項によって示されるように扱われるが、この項の関連ベクトルは、(インターネットのニュースグループなどの)分類の線形予測量に過ぎない。図7は、どのように各分類が「コンセプト・ベクトル」として表示されるかを示すブロック図である。各コンセプトのスコアは、コンセプト・ベクトルを有する文書ベクトル(document vector)のドット積によって計算される。ドット積は、各インデックスのコンセプトに対する寄与の線形加算を示す。全体のレイアウトは、項−コンセプト・マトリックス(term-to-concept matrix)として見ることができるが、各コンセプトに対する非線形の項間の情報を含んでいない。
対照的に、本発明の幾つかの実施形態は、各コンセプトに対して非線形のアソシエーションを示すことができるが、なおも線形ハードウェアのインプリメンテーション(linear hardware implementation)を保持している。線形の方法はp(x|y)、すなわち各入力項yに対する分類x、を評価するが、本発明の幾つかの実施形態はp(x|y,z)、すなわち各入力項のy−z対に対する分類x、を評価することもできる。項間のアソシエーションは、その意味をより正確に形に表す必要がある。同時に、連想対を完全なクロスバーなしで保存することは問題であるが、本発明の実施形態は、それを達成することができる。
Cybula 及び University of York (UK)のプラットフォームは、インターネットのcybula.com上で説明されている。この会社は、特定の種類の連想メモリのハードウェア装置の専門会社である。基本的な表示は、「相関マトリックスメモリ」である。このメモリは単なる線形連想装置にすぎず、AGSと同じ潜在的な弱点がある。AGSの項−コンセプト・マトリックスと同様に、Cybulaの項−文書マトリックスは明示的でありかつ完全なクロスバーである。
相関マトリックスに対するCybula方式は、完全なクロスバーを前提とする。項−文書マトリックスが、反転したインデクシング及び検索のために使用される。これらの項に対するアソシエーションは、各出力に対して1つの列からの出力ベルト、文書インデックス又はコンセプトのどちらかとして合計される。これらの方式は両方ともハードウェアで実現するのは容易であるが、そのようなクロスバーは全体的に極めて非効率的である。
本発明の幾つかの実施形態では、全ての可能なアソシエーションの完全で幾何学的なマトリックスの中の全ての項の共通部分として定義された、「クロスバーの問題」に対する解決策として連想メモリを備えることができる。「薄いデンドライトの中の一致検出」は、圧縮の問題と考えることができる。すなわち、連想マトリックスを支配的な線形デンドライト構造体の組の中にどのように配列及び分解することができるか?と考えることができる。
「一致検出」は、神経科学の文献では様々な方法で定義されている。最も弱い定義は、プレ・シナプス及びポスト・シナプスのニューロンの一致ファイヤリング(coincidence firing)を学習することとして与えられる。このことは、1949年にDonald Hebbが最初に発表したことに関連して、Hebbian Ruleとして周知である。しかしながら、これはポスト・シナプス・ニューロン上の2つの異なるシナプスが一致検出器としてどのように相互作用するかについて対処していない。非線形の連想装置としてニューロンに関する最近の関心及び理解は、ニューロンの計算能力が正当に評価されていないこと、またデンドライト構造体が「配線エコノミー(wiring economy)」の何らかの形態に関連付ける必要があることを示唆している。一致検出に関する最近の生理的に実際的なモデリングは増加傾向にあるが、この仕事のほとんど全てが、わずか2つの神経シナプスが、どのように相互作用することができるかを説明している。換言すると、極めて詳細な生理学的なモデル及び実証的証拠は、1つのシナプスの動作が別のシナプスと相互作用することができるという点で、ニューロンが実際に非線形であることを示している。各ニューロンは、薄い線形のデンドライトによって示された非線形の連想装置と推定される。
しかしながら、現在の文献は、どのように3つ以上の任意の入力が、かなりの計算を行うために、薄いデンドライトの全体にわたって物理的に配列されかつ相互作用するようになるかについて対処しているようには思われない。現在の文献は、特定のアソシエーションを示すために、どのように2つのシナプスが一致検出のために相互作用することができるかを例証するが、どのようにそのようなシナプスがデンドライト・ツリー上で構造的に配列されることができるかは例証しないように思われる。対照的に、本発明の種々の実施形態では、多数の非線形のアソシエーションを保存及び呼び出す手段として、ニューロンの全体にわたる構造的な配列及び一致検出の方法の両方が例示される。
本発明の幾つかの実施形態は、19世紀の終わりにRamon y Cajalによって最初に出版された古典Neuron Doctrineによって霊感を与えられた。図8は、神経処理の計算単位(computational unit)と想定される単一神経を示す、Cajalによる図面を例示している。入力信号は、各樹状突起の長さに沿って配列されたシナプスの「ボタン」と多くの場合考えられるシナプスを通して作られる。ニューロン全体を示すデンドライトは、長くかつ薄い主に線形のツリーである。ニューロンはこれらの入力信号を集めて、その1つの軸索上でその出力を計算する。このような収集物と計算が非線形である場合、主に線形の構造体が非線形のアソシエーションを計算できる方法は、圧縮の方法とみなすことができる。
本発明の幾つかの実施形態による三角形の自動連想マトリックスにおいて、アソシエーションのアフィニティーを決定する技術がここで説明される。アフィニティーを決定する方法は全体的に、上記の図6のブロック610で説明され、またセルの線形アレイが直列に接続されたシーケンス、すなわち、センサ入力部及び前段連想表示部及び次段連想表示部のシーケンスを決定するために使用される。概ね前述されたように、アソシエーションのアフィニティーは、近位及び遠位の方向のアフィニティーに基づいて、入力部、前段連想表示部、及び次段連想表示部を直列に繰返しスワッピングすることによって決定される。スワッピングの後で、最大投射、固定長投射、最長の非最大投射及び/又は他の技術などの投射に基づいてスワップされたシリーズからバンドを抽出する工程が続く。別の実施形態では、バンドを抽出する必要はない。これらの技術は、ここで詳細で教訓的な実施例を用いて説明される。
最大投射によるソーティングは、2006年3月21日に発行され、本発明の譲受人に譲渡された「Artificial Neurons Including Weights That Define Maximal Projections」という名称の米国特許第7.016,886号の中で詳細に説明されている。この特許の開示内容は、参照することによってあたかも本願に完全に記載されているように全体として本願に組み込まれる。そこで説明されているように、マトリックス投射のソーティング(各行R及び列Cに対するビットの合計)は、ビットをゼロスタート・ランレングス符号化(zero-start run-length encoding)の中に詰め込むことができる。これらの投射は線形であり、例えば各行に対して1である。これらの投射は、最大連想マトリックスの場合はランレングスを示すことができ、また最初のマトリックス内の全てのビットの存在を完全に計算することができる。ほとんどマトリックスは最大ではなく、また多くのマトリックスは、ビットの異なる配列が同じ投射を作る「スイッチ」を含んでいる。換言すると、最大投射は、マトリックスに対して常に不変であるとは限らない。投射は、ビットがスイッチの領域の中でオンであるか又はオフであるかを正確に決定することができない。このため、スイッチの中の1及び0の幾つかのスワッピングは、投射を変化することなく実行できる。
本発明の種々の実施形態によるソーティング技術は、ビットをより圧縮された形態にパックすることができる。しかしながら、自動連想マトリックスは、長方形マトリックスをソーティングするのではなく、三角形であるため、種々の問題を作る。特に、三角形マトリックスの行及び列は同じ項を含んでいる。ソーティングの目標は、これらの項に対して1つの分類順序を定義して、行及び列の両方をより圧縮した形態で使用することである。本発明の幾つかの実施形態は、項間のアフィニティーに基づいて分類することができ、これによりランレングスの数を減少させることができ、また連想ビットを対角線の近くに置く傾向がある。別の技術は、ソーティングのために投射の強度を使用する。さらに、強度とアフィニティーのソーティングの組合せも使用できる。
図9は、本発明の種々の実施形態に基づいて、アソシエーションのアフィニティーを決定するために実行される動作のフローチャートである。ブロック910において、三角形の自動連想マトリックス900が、例えば以下において詳細に説明されるスワッピング技術を用いて、アフィニティーに基づいて分類される。スワッピングの後で、バンドがブロック920で抽出される。特に、項の間のアフィニティー上の分類は、ランレングスの数を減少させる可能性があり、また連想ビットを対角線の近くに置く傾向がある。次に、バンドの抽出が分類されたマトリックス上で実行される。バンドがブロック920で実行されると、投射がブロック930で計算され、次にブロック940において、バンドが付加される。
アフィニティーのソーティングは、ビットを対角線に向けて押し進める、マトリックスのバンド減少の形状として観察される。最初の三角形のマトリックス900を考えると、ブロック910の分類動作は、互いに項のアフィニティーに基づいて項を整理し直す。次に、対角線上の一連のパックされたビットのバンドは、ブロック920で抽出される。このバンドは、ブロック930において、抽出されたバンドに対して計算される前段及び次段の投射によって表示できるように定義される。連続したビットを抽出する工程は、非連続的なビットの残留マトリックスを残す可能性があるが、このマトリックスはブロック910で第1のバンドなしで再度分類することができる。このことは結果として、第2のバンド及びその投射を発生し、図9の下部で示されているように、それを増大する線形構造体の連続した形状に付加することができる。
図10A及び図10Bは、最初の未分類のマトリックスと項アフィニティー(term affinities)によって分類されたその組織化の実施例を提供する。対角線に沿ったビットのパッキング、及びビットの多くが対角線から互いに連続している程度に注意されたい。図10A及び図10Bは、上方及び下方の三角形とそれらの対称性の両方を示しているが、自動連想マトリックスを表示するには1つの三角形しか必要としないことは理解されよう。
図11A及び図11Bは、それぞれ、図10Bのマトリックス(図9のブロック920)からの連続したバンドの抽出及び残っている残留アソシエーションを実証している。前段/次段の投射によってアソシエーションの連続したバンドをスイッチなしで一様に表示することができ、また本発明の幾つかの実施形態に基づいて、これらの投射を有効に使用して、アソシエーションを読むことができる。
前述されたソーティング及び抽出は、本発明の幾つかの実施形態では、セルの線形アレイをローディングする前に、エクスポートサービスとしてハードウェア又はソフトウェアによって実行することができる。抽出は、本来のマトリックスを完全に表示することはできない。特に、ほとんどのマトリックスは最大ではなく、また最も理想的なソーティングでさえ、投射ベースの表示から全てのスイッチを除くことはできない。このため、抽出は線形の構造体の損失をエクスポートすることができるが、線形の構造体の中で大きな非線形のアソシエーションの組を最も良く捕らえることができる。
図12は、繰返しスワップすることにより、アフィニティーに基づいてマトリックスを分類するために実行される動作を例示している。この動作は、図9のブロック910に対応する。図12に示されているように、ブロック1210において、所定のマトリックス内の2つの隣接する項i及びjが示されている。各項に対する前段及び次段のアソシエーションは、計算及び記憶することができる。例えば、マトリックスの行および列の方向に沿った投射の全数を合計して、前段及び次段の値を得ることができる。iとjとの間のアソシエーションも、マトリックスから利用できる。
図12をさらに参照すると、ブロック1220a及びブロック1220bにおいて、各項のアフィニティーが計算される。例えば、prior.i = 5 及び next.i = 15の場合、項iは右に移動する(nextに移動する)ための強いアフィニティーを有する。term .i 及び term .jの順序をスワップすべきかどうかを比較するために、2つの方向を比較する。しかしながら、ブロック1220a及びブロック1220bに示されているように、association.ijを考慮の対象から取り除く必要がある。2つのアフィニティーが、ブロック1230で比較される。項をスワップして、各項を他のアソシエーションよりももっと近くに移動させる必要がある場合は、ブロック1240a〜ブロック1240dに示されているように、この可能なnext.iがprior.iのアソシエーションになる(また、prior.jが、スワップの中に存在する場合、next.jのアソシエーションになる)場合にassociation.ijを計数する場合を除いて、前段及び次段の投射は同じ場所に残る。
図13は、図12のブロック1230〜1240のスワップ及びクリーク(clique)の抽出の実施例を例示している。スワップの前のマトリックスが左に示され、スワップの後のマトリックスが右に示されている。左のマトリックスに示されているように、所定の前段及び次段の投射F及びCを互いにスワップする必要があり、またD及びHを互いにスワップする必要がある。例えば、CはFを越えて移動するより大きなアフィニティーを有し、一方FはCを越えて移動するより大きなアフィニティーを有している。スワップが行われると、連続したビットが対角線に沿って見出される。これらのビットは、図13の右下に示されているように、新たに分類された順序で前段及び次段の投射によって一様に示される。この図はここでは、例えば、図1のセル110に対する前段及び次段の値114、116と一緒に、図1のアフィニティーに基づくシーケンス120を提供するために、結果として生じた順序の中で各項に対する前段及び次段の投射の線形のリストとして提供される。
図14は、連想マトリックスがより「ストリンギー(stringy)な」データを有している場合、図12のブロック1230〜1240のスワッピング規則の別の実施例を例示している。始動マトリックスが左上の象限に示され、またスワップの後のマトリックスが右上の象限に示されている。前段/次段のアソシエーション及びセンサの順序が、右下の象限に示されている。これにより、図12の実施形態は、クリークイ(cliquey)なアソシエーション及び/又はストリンギーなアソシエーションを有するマトリックスに対するアフィニティー分類(affinity sort)を提供することができる。
図12〜図14は、本発明の実施形態による唯一のソーティング技術ではない。例えば、他のアフィニティーによる方法は、アソシエーション・ビットの特定の距離及び2乗にした距離を含むことができる。実際には、Cuthill-McKee 及び King's Algorithmなどの、多数の従来のマトリックス帯域幅最小化方法がある。他の方法は、ハミング距離の測定及び2項間のアソシエーションを他の全ての項に適合させる数も含むことができる。このことは、Traveling Salesmanの問題などの分類順序の問題を処理する。共に活性化された入力部がやがて互いにより近くに移動する傾向があるという考え、又はシナプスが適切なデンドライトに達するまで絶えず作り直されるという考えを含む、神経再組織化の理論も適用できる。任意のソーティング技術を使用して、その結果の前段/次段の抽出/表示を得ることができる。
図9に戻ると、ブロック920の連続したビット抽出ステップは、バンドの中に「クリークイな」チェーンを形成し、また残留物の中に「ストリンギー」構造を残す。しかしながら、ブロック920の抽出は、どちらの種類の構造も処理することができる。
図9のブロック920に対応する、投射を用いるバンド抽出技術をここで説明する。特に、図15Aは、8個の入力部を有する最初の連想マトリックスの実施例を例示している。図15Bは、ソーティングの後の図15Aのマトリックスを例示する。図15C、15D、15E及び15Fは、本発明の種々の実施形態による全分類投射(entire sorted projection)、固定長投射、連続対角線及び最適対角線を使用する抽出方法の結果を例示している。
特に、図15Cを参照すると、何ら抽出をしない全分類投射が使用されている。これは、スイッチが計数されないため、損失の多いソーティングになる。対照的に、図15Dは固定長抽出を使用しており、この場合、固定長は2である。これらの実施形態では、マトリックスは層にスライスにされ、投射は層の中に入れられる。スイッチの損失は、局所的である。
図15Eは、連続対角線、すなわち対角線からのランレングスを使用する場合を例示している。複数の抽出が行われて、これは損失のない投射を提供することができる。図15Eの連続対角線抽出は、後に続く実施例の中で教訓的な目的のために使用される。最後に、図15Fは、最適対角線に沿った抽出を例示しており、これは最長で最良の投射を提供している。この抽出は、スイッチエラーを減少又は最小にし、またロス・ラン(loss run)を最適にすることができる。
本発明の実施形態に基づいて、現在周知の又は最近開発された任意の他のアフィニティー・ソーティング及び/又はバンド抽出技術を使用して、前段/次段の連想表示部及び複数の連想メモリセルにロードされた関連した一連のセンサ入力部を得ることができることは当業者も理解されよう。それ故に、本発明の実施形態を前述された技術に限定すべきではない。
図16は、本発明の別の実施形態に基づいて、前段/次段の表示部が読み取られて、センサ入力部の選択されたサブセットの間でアソシエーションを決定する方法のブロック図である。図16では、説明する間で異なる技術が使用されても、図1と同じ参照番号が使用される。図16では、8個のセル(「プロセッサ」とも呼ばれる)が示されており、これらのセルは、図15Eに示されている連続対角線技術を用いてソーティング及びバンド抽出が行われた後の、図15Bの連想マトリックスを記憶する。図15Eの記憶され抽出された連想マトリックス1600は、図16の右下に示されている。前段/次段のカウント及びセンサの順序は、図16の左上の1610で示されている。8個のセル110a〜110hを含む連想メモリ100’が示されている。教訓的な目的のために、8個のセルが例示されているが、現実の世界の実施形態は8個よりも多い数のセルを持つことができることは理解されよう。簡潔にするために、図16では、隣接する遠位のセル160から次段連想表示部の次段のメジャーを受け取る動作、及び前段連想表示部のメジャーを隣接する近位のセル150に(左から右に)送る動作が例示されている。逆方向(右から左)の受け取る動作及び送る動作は示されていない。その理由は、すでに説明されたように、本発明の幾つかの実施形態は、図を遠位の方向又は近位の方向に送るだけだからである。
また図16に示されているように、左上に示された実施例1610を用いた適切な分類順序における前段/次段の投射を考えると、入力シーケンス120によって示されるように、どのように各セルが各入力に対してアドレス指定されるかに基づいて、セル110a〜110hのアレイは順序を示すことができる。各セル110は、特定の入力に対して、前段及び次段の連想表示部114、116を記憶する。FPGAなどのハードウェアは、このアドレス指定及び前段/次段の重み付けを実行するために、ソーティング及び抽出の出力表示1610を行う変換及びロード方法を有すると仮定される。また以下に説明されるように、各セルは各入力部112の状態、及び入力に依存して計算されかつ読み取られる局所的なアソシエーションのカウンタ118を保持する。最後に、処理ロジック130が、隣接するセル150、160から及び隣接するセルに向かうローカル・メッセージを通してこれらのアソシエーションを計算する。そのような動作は、近位の方向及び/又は近位の方向に流れる。
図17は、本発明の種々の実施形態に基づいて、図1又は図16の所定のセル110の処理ロジック130によって実行される動作のフローチャートである。図17は、図2〜図5に関連してすでに説明された動作のコンパクトな表現を提供するとみなすことができる。
特に、図17を参照すると、ブロック1710において、センサがオンに切り替わると、この状態が入力部112としてセルの中に保持されるが、ブロック1720a及び1720bに示されているように、セルに対してそれ自身の前段及び次段の重みを信号としてそれぞれの隣接するプロセッサに送らせる。これらの動作は、図2の動作に対応する。換言すると、オンに切り替わった各セルは、遠位の方向及び近位の方向に幾つのアソシエーションを有しているかを他のセルに伝える。
図17の残りの部分は、隣接するセルが信号を受信したときに実行する動作を例示しており、これは図3〜図5の動作に対応する。図17を再度参照すると、隣接するセルがブロック1730a又は1730bにおいてそのような信号を受信する場合、クリークイな表示の定義によって、それは信号源に関連付けられる必要がある。言い換えると、受信するセルは、信号源を有する信号を送られたアソシエーションの1つを持つ必要がある。重みがブロック1750a、1750bで1よりも大きいと仮定すると、受信するセルはブロック1770a、1770bで信号をディクリメントして、それ自身1つのアソシエーションを計数する。それはまたブロック1780a、1780bで信号を次のセルに送る。これにより、ソースからの起動は、ソースからの距離の関数として落ちる。ブロック1750a、1750bにおいて、ディクリメントする動作及び送る動作は、受信された重みが1よりも大きい場合(すなわち、2以上)のみ実行されることを理解されたい。特に、受信された重みが1の場合、ゼロの重みを送る必要はないため、それはゼロにディクリメントされることはない。
さらに、クリークイな表示の定義によって、全てのソース信号及び受信するセルは、メモリの中にアソシエーションを表す。受信するセルがブロック1740においてオンの場合、これはアソシエーションが所定のセンサのパターンの中にも存在することを意味する。このため、セルがブロック1730a、1730bにおいてアクティブな信号(すなわち、ゼロよりも大きい信号)を受信して、かつそれ自身のセンサがブロック1740でオンの場合、このアソシエーションをブロック1790のアソシエーション・カウンタで計上する。一般に、多くのアクティブなセンサからの多くの信号が多くのセルを通過するため、他のアクティブな入力部に対する各アクティブな入力のアソシエーションの数が各セルに対して蓄積される。
図18は、図16と同じ実施例のマトリックス1600を用いる活性化フローの実施例を提供する。このマトリックスは、図18の右側に転載されている。この実施例では、感覚パターン(sensory pattern)が{G、B、D、H、E}のセルを活性化する。表示を簡潔にするために、近位方向の信号だけが示されている。両方向への伝搬が実際のニューロンに存在することが知られており、また付加的な連想メモリの機能(パターン完成(pattern completion)、非アクティブ・センサ及び/又は特定の入力に対するアソシエーションの数を読むことによる説明など)に対して望ましいが、センサ・パターンの全体にわたる対のアソシエーションの総数は、一方向の伝搬のみを用いて決定される。これは、軸索上の1つの総額による出力としてセンサ・アソシエーションを用いる全ニューロンの「経験」を蓄積することに似ている。
図18を参照すると、初期の時間/状態TOは、オンセンサの設定状態と共に固定された前段/次段投射の重みを示している。時間/状態T1は、オンの各プロセッサに対する次段の重みの近位のシグナリングを示している。黒の矢印は、プロセッサが遠位の信号を受け取り、かつそれがオンであるという2つの場合を示している。D及びHの場合は、これはアソシエーションを検出したことを示し、このことはその出力に蓄積される。T2は、どのように全ての信号がディクリメントされかつ次段のプロセッサに転送されるかを示している。この第2の時間枠では、B用のプロセッサが、遠位の信号がゼロよりも大きくまたプロセッサもオンの状態である唯一の状況である。これは1つのアソシエーションを検出する。T3は、非ゼロ信号のさらなるディクリメント及び伝搬を示す。この場合、Dは別のアソシエーションを計数する(Gはもとのソースである)。T4によって、もはや効率的な信号はなく、また蓄積は合計4対のアソシエーションを{G、B、D、H、E}の中に示している。このことは実際には、マトリックス1600の中で暗いシェーディングによって示されているように、センサがアクティブなこのマトリックスの全経験に対する事例である。
上記の図面にあるこれらのセルのアレイは、1つの物理的アレイの異なる時間ステップを示しているが、このレイアウトは新しい入力が入ると、アレイをパイプライン処理する能力も示していることに注意されたい。
最後に、この線形のコンピューティング構造体は、完全なニューロンのデンドライト構造体に類似している。図16で描写された連想メモリを反映することにより、図19は、どのようにクリークイなマトリックスのバンドをデンドライトの延長部分の全体にわたって分配することができるかを示している。無論、これは概念上の図であり、クリークイなバンドは実際にはそのようなデンドライトの上には位置しない。しかしながら、そのようなバンドを表示する前段/次段の投射は、デンドライトの中に示すことができ、また任意のi及びjのセンサ・シナプスの全体にわたる活性化により、それ自体分解される連想メモリのアソシエーションを読み取ることができる。
多数のそれぞれのニューロンは共存することができ、それぞれは1つの神経出力に対する多数の入力のファンインに似ている特定の出力ラベルを示している。しかし、どのようにこれらの入力を各出力にマップするかに関する線形アソシエーションのモデリングではなく、この非線形のモデリングは、最初の連想マトリックスの明白なクロスバーなしに、入力の一致を各出力にマップする。
図16〜図18の実施形態は、クリークイなアソシエーションを計数する。しかしながら、本発明の別の実施形態は、クリークイ又はストリンギーであろうと、どのような任意のアソシエーションも計数する。特に、図20Aは、図11Bを再現している。この図11Bは、図11Aに対して連続対角線抽出を行った後の残留物を示している。このため、図20Aは、図11Aの最初の分類されたマトリックスから一旦クリークイなバンドが抽出された残留構造を示している。図20Bは、残留物を分類した結果を示しており、これは全体的に小さい帯域幅を有しているが、クリークイ構造ではなくストリンギー構造をまだ示している。このため、一般に、クリークイ構造は取り除かれるが、ストリンギー構造が残っている。図21〜図22に関連してここで説明される本発明の実施形態は、クリークイ構造とストリンギー構造の両方を計数することができる。
図21は、クリークイ構造及びストリンギー構造と一緒に使用できる一般化された読取りロジックを例示しており、前に説明された図2〜図5の動作に対応している。図21の動作は、任意の前段/次段の投射に対して動作することができる。大部分の動作は図17に関連して説明された動作に対応しているため、再度説明はしない。しかしながら、図21の実施形態には、ブロック1760a及び1760bが加えられている。図17で示された論理を考えると、前段/次段のカウントの試験のために、クリークイ及びストリンギー装置の両方を処理するスイッチが提供される。特に、セルの前段の重みがゼロの場合は、定義によって、それは遠位の方向から入射するどのような信号にも関係しない。他方においては、前段の重みがゼロよりも大きい場合は、定義によって、それは局所的なクリークの一部であり、遠位の信号と共にそのアソシエーションを計数する。動作にあっては、そのようなゼロの重みのセルは信号とは無関係になるため、単にその信号を次のセルに送る。その前段又は次段の重みがゼロでない場合に限り、セルはセンサのアソシエーションをチェックすることによってこの重みを計数し、信号を送る前にそれをディクリメントする。これにより、ブロック1760a及び1760bを加えることは、図5の処理を提供することとみなすことができる。
図22は、ブロック2110a及び2110bを加えることがどのようにストリンギーなアソシエーション構造を計数するかの実施例を提供する。同じセンサ分類順序及び{G、B、D、H、E}の入力ベクトルが、前と同様に使用される。しかしながら、前段及び次段の重みが、図22の右のマトリックス2200の中で示されたストリンギーなアソシエーションを示している。T1において、G及びBの両方は自身の次段の重み1を送るが、Dが前段の重みを有しまたオンであり、アソシエーションを計数する間に、Aが前段の重みを持たないため、単に全アソシエーションをディクリメントせずに次段のプロセッサに送る。Gの信号もT2において同じ論理でBに送るが、Gの信号がDに到達すると、論理は戻って、このセンサがアクティブかどうかをチェックし、信号が前段の重みを有するためその信号をディクリメントする。この場合、GはDと共にアソシエーションを有し、そのアクティブセンサのアソシエーション・カウントをインクリメントする。全体的に、3つのアソシエーションが、マトリックス2200の中で暗いシェーディングによって示されているように、しかも明確なマトリックス表示2200の中で真として{G、B、D、H、E}の中で見出される。
図23は、本発明の幾つかの実施形態による2つのセルのブロック図であり、またそれらのハードウェアの相互接続図である。図1及び図16と同様の参照番号が使用されている。アドレスバス2310及びオン/オフバス2320が、各セル110a、110bを個別にアドレス指定することができるように使用される。例えば、オン/オフバス2320上のオン信号に加えて、セル110に対して特定のアドレスをアドレスバス上で設定して、特定のセンサ状態112をオンに変化させることができる。同様に、各センサ状態をオフに変えることもできる。この各セルのレベルのオン/オフ制御は、リアルタイムの組込みシステムに対して提供される。このシステムでは、環境の特定の態様は時間と共に変化するが、他のセンサの一般的な設定は、ある時間から別の時間まで一定に維持される。さらに、明確に説明されてはいないが、センサ112をオフにすること及び所定のアソシエーション用カウンタをディクリメントする信号をトリガすることは、各セルのアソシエーション用カウントをディクリメントするために同様に加えられた論理を有する信号に正/負の符号を加えることによって、別の実施形態では可能である。他のバス及び/又はアドレス指定技術を用いて、センサの状態112及び前段及び次段の値114及び116を設定することができる。これらの技術は当業者には周知であるため、本願でさらに詳細に説明する必要はない。
他のアプリケーションは、任意の新しいセンサの状態を次々に駆動することができる。例えば、文書分類が、ある状況から別の状況にオーバラップをほとんどせずに、新しい文書説明ベクトル(new document description vector)を示すことができる。そのようなアプリケーションでは、一般的なリセットコードは、新しいベクトルをクランプする前に古いベクトルをオフに変えるのではなく、全てのセンサの状態を一度に消去することができる。
さらに、図1の矢印150、160、170及び180によって説明されたように、送信又は受信される遠位及び近位のアソシエーションの表示は、図23に示されているように、レジスタで記憶される。このレジスタの詳細な設計は、当業者には周知であるため、本願ではさらに説明する必要はない。さらに、図2〜図5、図17及び/又は図21の動作を実行する処理ロジック130の詳細な設計は、当業者に周知の技術を用いて提供することもできる。その技術は、使用される特別なハードウェアのテクノロジー/アーキテクチャに依存する可能性がある。
図23に示されているように、全ての信号はローカルである、すなわち、隣接するセル110の間にある。図23は、近位及び遠位の両方向にローカル信号バスを示している。前述したように、1つの方向でも全部のアソシエーションを計数するには十分であるが、各セルのアソシエーションのより特殊な読取りには、両方向が望ましい。一般に、一連のアキュームレータ140は、ローカルカウンタ118の結果を加算して、全体のアソシエーション出力を提供することができる。発見された特定のアソシエーションを通過させる技術を含む他の蓄積技術は、本発明の別の実施形態に基づいて、アキュームレータ140の中に設けることもできる。
メッセージを送る設計は概して時間的にサブリニアとすることができ、またエネルギー効率の良いものとすることができる。処理は、センサの状態が変化したときのみ実行され、処理の程度はローカルであり、前段/次段の信号強度の程度までである。そのような設計は世界時計(global clock)を必要としないため、ビジー回線2330は外部システムに出力は安定しておりまた完全であると通知するように機能することができる。各セルは、信号を処理しているときのみこの回線を立てる。この回線がローの場合、全ての処理は完了している。
最後に、多数のそのようなセルを線形配列したチップ全体は、図示のように構成することができる。デンドライトが自身の近位の動作を(図23の左下に示されているように)ニューロン全体の大きな総和に単に合計すると仮定される方法と同様に、セルの線形アレイを多数のレイアウトの中に一緒にさらに蓄積することができる。その1つが、図23の右下に示されている。
図17及び図21に関連して前述された本発明の実施形態は、記憶されている前段連想表示部及び次段連想表示部、並びにセルの間を転送される次段連想表示部のメジャー及び前段連想表示部のメジャーは、連想重み(associative weight)を含んでいると仮定している。しかしながら、本発明の別の実施形態では、重みを記憶及び送信するのではなく、投射に基づいて、連想マトリックスの前段/次段の値の実際のセグメントが記憶及び送信される。このようにして、幾つかの実施形態では、表示部は連想マトリックスの実際の前段/次段のセグメントとすることができる。
従って、図24及び図25に関連して説明された本発明の別の実施形態では、前段連想表示部は前段連想セグメントを、次段連想表示部は次段セグメントを、前段連想表示部のメジャーはセグメントを、また次段連想表示部のメジャーはセグメントを備えている。このセグメントは、ハードウェアの制約を受け入れるには64ビットといった固定寸法である必要があり、固定長を使用する例えば図5Dの分類方法を用いて発生される。セグメント寸法の制約のもとでは、投射値ではなく前段/次段のセグメントの全体を記憶することができる。
注目すべきことは、重みではなく前段/次段のマトリックスのセグメントが記憶されるという事実にもかかわらず、図17及び図21に関連してすでに説明された方法に極めて類似した読取りロジック処理が実行されることである。特に、図17と図24を比較すると、送られるものが重みではなくセグメントであり、また決定が所定のセグメントの最下位ビットに関して行われるという点を除いて、処理は極めて似通っている。従って、図17のブロックに類似した図24のブロックは、似通った2400の連続番号でラベルが付けられている。このため、ブロック2410〜2490の動作はブロック1710〜1790の動作に対応しているため、詳細な説明を繰り返すことはない。
図25は、この図の右側に示されているマトリックス2500に対する読取りの実施例を例示している。図25の左上に示されているように、前段及び次段の重みの代わりに、実際の前段/次段のセグメントが記憶される。図25の左下には、時間/状態T1〜T4のGセンサのみの処理が例示されている。
本発明のさらに別の実施形態では、重み又はセグメントを記憶及び送信する代わりに、連想マトリックスの前段/次段のセグメントを表示するベクトルが記憶され、このベクトル内の位置に対するポインタが転送される。
このため、図26及び図27に関連して説明された本発明のさらに別の実施形態では、前段連想表示部は前段連想ベクトルを含み、次段連想表示部は次段連想ベクトルを含み、前段連想表示部のメジャーはポインタを含み、また次段連想表示部のメジャーはポインタを含んでいる。このベクトルは、ハードウェアの制約を受け入れるには64ビットといった固定寸法である必要があり、固定長を使用する例えば図5Dの分類方法を用いて発生される。ベクトル寸法の制約のもとでは、投射値ではなく前段/次段のセグメントの全体を示すベクトルを記憶することができる。
注目すべきことは、重み又はマトリックスのセグメントではなくベクトルが記憶されるという事実にもかかわらず、図17、図21、図24及び図25に関連してすでに説明された方法に極めて類似した読取りロジック処理が実行されることである。特に、図17図24及び図26を比較すると、送られるものが重みではなく最大のベクトルであり、また決定が所定のビット位置がアクティブである(例えば、1に等しい)かどうかに関してポインタを用いて行われるという点を除いて、処理は極めて似通っている。従って、図17及び図24のブロックに類似した図26のブロックは、似通った2600の連続番号でラベルが付けられている。このため、ブロック2610〜2690の動作はブロック1710〜1790及びブロック2410〜2490の動作に対応しているため、詳細な説明を繰り返すことはしない。
図27は、この図の右側に示されているマトリックス2500に対する読取りの実施例を例示している。図27の左上に示されているように、前段及び次段の重みの代わりに、最も高いビットの最大値を示す前段及び次段のベクトルが記憶される。図27の左下には、時間/状態T1〜T4のGセンサのみの処理が例示されている。図面の下側の矢印は、ポインタ及び時間が経過した場合のポインタのディクリメントを例示している。このため、本発明の実施形態は、投射に基づいて連想重み以上を記憶することを考えている、そして連想セグメント自体を含むアソシエーションのどのような表示も記憶する。
本発明の種々の実施形態は種々の置換及び結合の中で組み合わせることができることは、当業者は理解されよう。例えば、図17、21、24及び/又は26の実施形態は、様々な置換及び結合の中で組み合わせることができ、及び/又は前段/次段のアソシエーションの別の表示と組み合わせることができる。
図面及び明細書の中で、本発明の実施形態を開示してきた。特定の用語が使用されるが、それらの用語は一般的で説明のためのみに使用されたものであり、限定する目的で使用したのではない。本発明の範囲は、以下の特許請求の範囲において述べる。

Claims (39)

  1. 連想メモリであって、
    複数の連想メモリセルを具備し、前記それぞれのセルがセンサ入力部、前段連想表示部、次段連想表示部及び連想出力部を備え、前記複数のセルが直列に接続されて線形アレイを形成し、直列に接続された前記セルの前記センサ入力部、前記前段連想表示部及び前記次段連想表示部が、一連の前記センサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列され、
    前記それぞれのセルは内部に処理ロジックも含み、
    前記処理ロジックは、関連した前記センサ入力部がアクティブであることに対応して、前記次段連想表示部のメジャーを隣接する近位のセルに送る、及び/又は前記前段連想表示部のメジャーを隣接するル遠位のセルに送り、
    前記処理ロジックはさらに、関連した前記センサ入力部がアクティブであること、及び隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ることに対応して、前記連想出力部において連想カウントを蓄積する及び/又は関連した前記センサ入力部がアクティブであること、及び隣接する近位のセルから前記前段連想表示部のメジャーを受け取ることに応答して、前記連想出力部において連想カウントを蓄積する、
    ことを特徴とする連想メモリ。
  2. 前記処理ロジックがさらに、隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ること及び前記前段連想表示部がアクティブであることに応答して、受信された前記次段連想表示部のメジャーをディクリメントし、またディクリメントされた前記次段連想表示部のメジャーを隣接する近位のセルに送る、及び/又は前記処理ロジックがさらに、隣接する近位のセルから前記前段連想表示部のメジャーを受け取ること及び前記次段連想表示部がアクティブであることに応答して、受信された前記前段連想表示部のメジャーを決定し、そしてディクリメントされた前記前段連想表示部のメジャーを隣接する遠位のセルに送る、
    ことを特徴とする請求項1に記載の連想メモリ。
  3. 前記処理ロジックがさらに、隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ること及び前記前段連想表示部がアクティブであることに応答して、受信された連想表示部のメジャーを隣接する近位のセルに送り、及び/又は前記処理ロジックがさらに、隣接する近位のセルから前記前段連想表示部のメジャーを受け取ること及び前記次段連想表示部がアクティブであることに応答して、受信された前記前段連想表示部のメジャーを隣接する遠位のセルに送る、
    ことを特徴とする請求項2に記載の連想メモリ。
  4. 前記一連のセンサ入力部間のアソシエーションのアフィニティーが、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて、シリーズの中の前記入力部、前記前段連想表示部、及び前記次段連想表示部を繰返しスワッピングすることによって決定される、ことを特徴とする請求項1に記載の連想メモリ。
  5. 前記一連のセンサ入力部間のアソシエーションの前記アフィニティーが、投射に基づいて、繰返しスワップされたシリーズからバンドを抽出することによって更に決定される、ことを特徴とする請求項4に記載の連想メモリ。
  6. 前記投射が最大投射、固定長投射、及び/又は最長の非最大投射を含む、ことを特徴とする請求項5に記載の連想メモリ。
  7. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想重みを備え、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想重みを含む、ことを特徴とする請求項1に記載の連想メモリ。
  8. 前記前段連想表示部が前段連想ベクトルを有し、前記次段連想表示部が次段連想ベクトルを有し、前記前段連想表示部のメジャーがポインタを有し、かつ前記次段連想表示部のメジャーがポインタを有する、ことを特徴とする請求項1に記載の連想メモリ。
  9. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想部のセグメントを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想部のセグメントを有する、ことを特徴とする請求項1に記載の連想メモリ。
  10. 前記複数のセルの前記連想出力部に接続されたアキュームレータをさらに備える、ことを特徴とする請求項1に記載の連想メモリ。
  11. 前記センサ入力部、前記前段連想表示部、前記次段連想表示部、前記連想出力部、前記次段連想表示部のメジャー、及び前記前段連想表示部のメジャーが、前記それぞれのセル内の対応するレジスタの中に記憶される、ことを特徴とする請求項1に記載の連想メモリ。
  12. 前記処理ロジックが、パイプライン方式で前記複数のセンサ入力部上で動作するように構成される、ことを特徴とする請求項1に記載の連想メモリ。
  13. 遠位のセルから近位のセルまで連続して直列に接続されて線形アレイを形成する複数の連想メモリセルを備えた連想メモリを用いてアソシエーションを決定する方法であって、
    前記メモリセルのそれぞれのセンサ入力部に対する前段連想表示部及び次段連想表示部を、前記それぞれのメモリセルにロードするステップと、
    アソシエーションを決定するために、選択されたセンサ入力部をアクティブにするステップと、
    関連したセンサ入力部がアクティブであることに対応して、前記次段連想表示部のメジャーを隣接する近位のセルに送るステップ、及び/又は前記前段連想表示部のメジャーを隣接する遠位のセルに送るステップと、
    関連した前記センサ入力部がアクティブであること及び隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ることに対応して、連想カウントを蓄積するステップ、及び/又は関連したセンサ入力部がアクティブであること及び隣接する近位のセルから前記前段連想表示部のメジャーを受け取ることに対応して、連想カウントを蓄積するステップと、
    を含み、
    前記直列に接続されたセルの前記センサ入力部、前記前段連想表示部及び前記次段連想表示部が、前記一連のセンサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される、
    ことを特徴とする方法。
  14. 隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ること及び前記前段連想表示部がアクティブであることに応答して、受け取られた前記次段連想表示部のメジャーをディクリメントするステップ、そしてディクリメントされた前記次段連想表示部のメジャーを隣接する近位のセルに送るステップ、及び/又は隣接する近位のセルから前記前段連想表示部のメジャーを受け取ること及び前記次段連想表示部がアクティブであることに応答して、受け取られた前記前段連想表示部のメジャーをディクリメントするステップ、そしてディクリメントされた前記前段連想表示部のメジャーを隣接する遠位のセルに送るステップをさらに含む、
    ことを特徴とする請求項13に記載の方法。
  15. 隣接する遠位のセルから前記次段連想表示部のメジャーを受け取ること及び前記前段連想表示部がアクティブであることに応答して、受け取られた次段連想表示部のメジャーを隣接する近位のセルに送るステップ、及び/又は隣接する近位のセルから前段連想表示部のメジャーを受け取ること及び前記次段連想表示部がアクティブであることに反応して、受け取られた前記前段連想表示部のメジャーを隣接する遠位のセルに送るステップをさらに含む、
    ことを特徴とする請求項14に記載の方法。
  16. 一連の前記センサ入力部の中でアソシエーションのアフィニティーを決定するために、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて一連の前記入力部、前記前段連想表示部及び前記次段連想表示部を繰返しスワップするステップをさらに含む、
    ことを特徴とする請求項13に記載の方法。
  17. 前記繰返しスワップするステップの後に、投射に基づいてスワップされた配列からバンドを抽出するステップが続く、
    ことを特徴とする請求項16に記載の方法。
  18. 前記投射には最大投射、固定長投射、及び/又は最長の非最大投射が含まれる、ことを特徴とする請求項17に記載の方法。
  19. 前記繰返しスワップするステップ及びバンドを抽出するステップが、ローディングの前及び/又は後で実行される、ことを特徴とする請求項17に記載の方法。
  20. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想重みを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想重みを有する、ことを特徴とする請求項13に記載の方法。
  21. 前記前段連想表示部が前段連想ベクトルを有し、前記次段連想表示部が次段連想ベクトルを有し、前記前段連想表示部のメジャーがポインタを有しかつ前記次段連想表示部のメジャーがポインタを有する、ことを特徴とする請求項13に記載の方法。
  22. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想部のセグメントを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想部のセグメントを有する、ことを特徴とする請求項13に記載の方法。
  23. 連想カウントを蓄積するステップをさらに含む、
    ことを特徴とする請求項13に記載の方法。
  24. アソシエーションを決定するために選択されたセンサ入力部をアクティブにするステップが、連想メモリ上でパイプライン方式で繰返し実行される、ことを特徴とする請求項13に記載の方法。
  25. 連想メモリであって、
    複数の連想メモリセルを具備し、前記それぞれのセルがセンサ入力部、前段連想表示部、次段連想表示部及び連想出力部を備え、前記複数のセルが直列に接続されて線形アレイを形成し、直列に接続された前記セルの前記センサ入力部、前記前段連想表示部及び前記次段連想表示部が、一連の前記センサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される、
    ことを特徴とする連想メモリ。
  26. 前記一連のセンサ入力部間のアソシエーションの前記アフィニティーが、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて、シリーズの中の前記入力部、前記前段連想表示部、及び前記次段連想表示部を繰返しスワッピングすることによって決定される、ことを特徴とする請求項25に記載の連想メモリ。
  27. 前記一連のセンサ入力部間のアソシエーションの前記アフィニティーが、投射に基づいて、繰返しスワップされたシリーズからバンドを抽出することによって更に決定される、ことを特徴とする請求項26に記載の連想メモリ。
  28. 前記投射が最大投射、固定長投射、及び/又は最長の非最大投射を含む、ことを特徴とする請求項27に記載の連想メモリ。
  29. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想重みを備え、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想重みを含む、ことを特徴とする請求項25に記載の連想メモリ。
  30. 前記前段連想表示部が前段連想ベクトルを有し、前記次段連想表示部が次段連想ベクトルを有し、前記前段連想表示部のメジャーがポインタを有し、かつ前記次段連想表示部のメジャーがポインタを有する、ことを特徴とする請求項25に記載の連想メモリ。
  31. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想部のセグメントを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想部のセグメントを有する、ことを特徴とする請求項25に記載の連想メモリ。
  32. 遠位のセルから近位のセルまで連続して直列に接続されて線形アレイを形成する複数の連想メモリセルを備えた連想メモリを用いてアソシエーションを決定する方法であって、
    前記メモリセルのそれぞれのセンサ入力部に対する前段連想表示部及び次段連想表示部を、前記それぞれのメモリセルにロードするステップと、
    アソシエーションを決定するために、選択されたセンサ入力部をアクティブにするステップと、
    を含み、
    前記直列に接続されたセルの前記センサ入力部、前記前段連想表示部及び前記次段連想表示部が、前記一連のセンサ入力部間のアソシエーションのアフィニティーに基づいて、遠位のセルから近位のセルまで順番に配列される、
    ことを特徴とする方法。
  33. 一連の前記センサ入力部の中でアソシエーションのアフィニティーを決定するために、近位及び遠位の方向のアソシエーションのアフィニティーに基づいて一連の前記入力部、前記前段連想表示部及び前記次段連想表示部を繰返しスワップするステップをさらに含む、
    ことを特徴とする請求項32に記載の方法。
  34. 前記繰返しスワップするステップの後に、投射に基づいてスワップされた配列からバンドを抽出するステップが続く、
    ことを特徴とする請求項33に記載の方法。
  35. 前記投射には最大投射、固定長投射、及び/又は最長の非最大投射が含まれる、ことを特徴とする請求項34に記載の方法。
  36. 前記繰返しスワップするステップ及びバンドを抽出するステップが、ローディングの前及び/又は後で実行される、ことを特徴とする請求項34に記載の方法。
  37. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想重みを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想重みを有する、ことを特徴とする請求項32に記載の方法。
  38. 前記前段連想表示部が前段連想ベクトルを有し、前記次段連想表示部が次段連想ベクトルを有し、前記前段連想表示部のメジャーがポインタを有しかつ前記次段連想表示部のメジャーがポインタを有する、ことを特徴とする請求項32に記載の方法。
  39. 前記前段連想表示部及び前記前段連想表示部のメジャーが前段連想部のセグメントを有し、かつ前記次段連想表示部及び前記次段連想表示部のメジャーが次段連想部のセグメントを有する、ことを特徴とする請求項32に記載の方法。
JP2009518195A 2006-06-26 2007-06-25 連想メモリセルの線形アレイを用いる非線形連想メモリ及びその動作方法 Expired - Fee Related JP5592109B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/426,520 US7657496B2 (en) 2006-06-26 2006-06-26 Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same
US11/426,520 2006-06-26
PCT/US2007/014672 WO2008002510A2 (en) 2006-06-26 2007-06-25 Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same

Publications (3)

Publication Number Publication Date
JP2009541914A true JP2009541914A (ja) 2009-11-26
JP2009541914A5 JP2009541914A5 (ja) 2013-05-23
JP5592109B2 JP5592109B2 (ja) 2014-09-17

Family

ID=38846229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518195A Expired - Fee Related JP5592109B2 (ja) 2006-06-26 2007-06-25 連想メモリセルの線形アレイを用いる非線形連想メモリ及びその動作方法

Country Status (6)

Country Link
US (1) US7657496B2 (ja)
EP (1) EP2033194B1 (ja)
JP (1) JP5592109B2 (ja)
AT (1) ATE450863T1 (ja)
DE (1) DE602007003599D1 (ja)
WO (1) WO2008002510A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914149B2 (en) 2009-10-12 2014-12-16 The Boeing Company Platform health monitoring system
US20110087387A1 (en) * 2009-10-12 2011-04-14 The Boeing Company Platform Health Monitoring System
US8572009B2 (en) 2011-08-16 2013-10-29 The Boeing Company Evaluating the health status of a system using groups of vibration data including images of the vibrations of the system
US10635967B2 (en) 2014-04-15 2020-04-28 Intel Corporation Methods, systems and computer program products for neuromorphic graph compression using associative memories
US10790050B2 (en) 2016-10-18 2020-09-29 Greenlight Health Data Solutions, Inc. Aggregation servers providing information based on records from a plurality of data portals and related methods and computer program products

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03174679A (ja) * 1989-10-11 1991-07-29 Intel Corp シナプスセル
JPH06131487A (ja) * 1992-05-19 1994-05-13 Intel Corp ニューラル・ネットワーク
WO2001035337A2 (en) * 1999-11-08 2001-05-17 Saffron Technology Artificial neurons including power series of weights and counts that represent prior and next associations
US20030033265A1 (en) * 2001-08-10 2003-02-13 Cabana David R. Artificial neurons including weights that define maximal projections
JP2003223790A (ja) * 2001-11-26 2003-08-08 Eng Kk シナプス素子およびそれを含む集積回路装置
US20050049984A1 (en) * 1997-12-19 2005-03-03 Bae Systems Plc Neural networks and neural memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660166A (en) 1985-01-22 1987-04-21 Bell Telephone Laboratories, Incorporated Electronic network for collective decision based on large number of connections between signals
US5103405A (en) 1989-06-12 1992-04-07 Westinghouse Electric Corp. Digital probabilistic reasoning element
US5073867A (en) 1989-06-12 1991-12-17 Westinghouse Electric Corp. Digital neural network processing elements
DE69130656T2 (de) 1990-06-14 1999-06-17 Canon Kk Neuronale Netzwerke
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
JP3088171B2 (ja) 1991-02-12 2000-09-18 三菱電機株式会社 自己組織型パタ−ン分類システム及び分類方法
CA2040903C (en) * 1991-04-22 2003-10-07 John G. Sutherland Neural networks
US5487133A (en) 1993-07-01 1996-01-23 Intel Corporation Distance calculating neural network classifier chip and system
US5619709A (en) 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US6052679A (en) 1997-09-11 2000-04-18 International Business Machines Corporation Artificial neural networks including Boolean-complete compartments
US5943670A (en) 1997-11-21 1999-08-24 International Business Machines Corporation System and method for categorizing objects in combined categories
US6191969B1 (en) 1999-09-09 2001-02-20 Net Logic Microsystems, Inc. Selective match line discharging in a partitioned content addressable memory array
DE60139140D1 (de) 2000-11-21 2009-08-13 Aspex Technology Ltd Bit-parallele/bit-serielle inhaltsadressierbare (assoziative) verbundspeicheranordnungen
US7082492B2 (en) * 2002-08-10 2006-07-25 Cisco Technology, Inc. Associative memory entries with force no-hit and priority indications of particular use in implementing policy maps in communication devices
US7017005B2 (en) * 2002-08-28 2006-03-21 Hywire Ltd. Implementation of a content addressable memory using a RAM-cell structure
US7512571B2 (en) * 2002-08-29 2009-03-31 Paul Rudolf Associative memory device and method based on wave propagation
US7565491B2 (en) * 2005-08-04 2009-07-21 Saffron Technology, Inc. Associative matrix methods, systems and computer program products using bit plane representations of selected segments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03174679A (ja) * 1989-10-11 1991-07-29 Intel Corp シナプスセル
JPH06131487A (ja) * 1992-05-19 1994-05-13 Intel Corp ニューラル・ネットワーク
US20050049984A1 (en) * 1997-12-19 2005-03-03 Bae Systems Plc Neural networks and neural memory
WO2001035337A2 (en) * 1999-11-08 2001-05-17 Saffron Technology Artificial neurons including power series of weights and counts that represent prior and next associations
US20030033265A1 (en) * 2001-08-10 2003-02-13 Cabana David R. Artificial neurons including weights that define maximal projections
JP2003223790A (ja) * 2001-11-26 2003-08-08 Eng Kk シナプス素子およびそれを含む集積回路装置

Also Published As

Publication number Publication date
US20070299797A1 (en) 2007-12-27
ATE450863T1 (de) 2009-12-15
EP2033194B1 (en) 2009-12-02
US7657496B2 (en) 2010-02-02
WO2008002510A3 (en) 2008-05-22
EP2033194A2 (en) 2009-03-11
DE602007003599D1 (de) 2010-01-14
WO2008002510A2 (en) 2008-01-03
JP5592109B2 (ja) 2014-09-17

Similar Documents

Publication Publication Date Title
US5621863A (en) Neuron circuit
US5740326A (en) Circuit for searching/sorting data in neural networks
US5717832A (en) Neural semiconductor chip and neural networks incorporated therein
EP0694856B1 (en) Daisy chain circuit for serial connection of neuron circuits
US10635967B2 (en) Methods, systems and computer program products for neuromorphic graph compression using associative memories
US5701397A (en) Circuit for pre-charging a free neuron circuit
JP5592109B2 (ja) 連想メモリセルの線形アレイを用いる非線形連想メモリ及びその動作方法
Schorn et al. Efficient on-line error detection and mitigation for deep neural network accelerators
US10521366B2 (en) System and method for individual addressing
WO2014035698A1 (en) Methods and systems for power management in a pattern recognition processing system
CN111460906B (zh) 一种基于集成学习的脉冲神经网络模式识别方法及系统
US20180113951A1 (en) Graph traversal using automata processor
de Barros Advances in data stream mining with concept drift
JP2009541914A5 (ja)
US10929764B2 (en) Boolean satisfiability
CN112348174A (zh) 一种可容错的循环神经网络架构搜索方法及系统
CN114429197B (zh) 一种神经网络架构搜索方法、系统、设备及可读存储介质
US20170364474A1 (en) Devices for time division multiplexing of state machine engine signals
CN112598119B (zh) 一种面向液体状态机的神经形态处理器片上存储压缩方法
Baram Memorizing binary vector sequences by a sparsely encoded network
US20230351165A1 (en) Method for operating neural network
US20220164637A1 (en) Neural Processing Units (NPUs) and Computational Systems Employing the Same
Network Artificial Neural Network
US20240054330A1 (en) Exploitation of low data density or nonzero weights in a weighted sum computer
Tanaka et al. On the computational capability of recurrent higher‐order neural networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130312

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20130405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140313

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140731

R150 Certificate of patent or registration of utility model

Ref document number: 5592109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees