JP2004538582A - 最大射影を規定する重みを含む人工ニューロン - Google Patents
最大射影を規定する重みを含む人工ニューロン Download PDFInfo
- Publication number
- JP2004538582A JP2004538582A JP2003519880A JP2003519880A JP2004538582A JP 2004538582 A JP2004538582 A JP 2004538582A JP 2003519880 A JP2003519880 A JP 2003519880A JP 2003519880 A JP2003519880 A JP 2003519880A JP 2004538582 A JP2004538582 A JP 2004538582A
- Authority
- JP
- Japan
- Prior art keywords
- projection
- maximum
- column
- weights
- row
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Abstract
Description
【0001】
[仮出願の相互参照]
本出願は、2001年8月10日に出願され、本出願の譲受人に譲渡された、「Compression of Power Series of Weights and Counts That Represent Row and Column Associations」という題名の仮の米国特許出願第60/311,316号に基づく利益を求める。この特許出願の開示内容は、その全てを引用することによって、あたかも本願に完全に記載されているように本願明細書の一部をなすものとする。
【0002】
[発明の分野]
本発明は人工知能のシステム、方法及びコンピュータプログラム製品に関し、より詳細には、人工ニューロンのシステム、方法及びコンピュータプログラム製品に関する。
【背景技術】
【0003】
連想メモリ(または、結合メモリ、associative memory)は内容参照可能メモリ(content addressable memory)とも呼ばれ、パターンマッチング及び識別、エキスパートシステム、並びに人工知能の分野で広く使用されている。広く使用されている連想メモリは、ホップフィールド形人工ニューラルネットワーク(Hopfield artificial neural network)である。ホップフィールド形人工ニューラルネットワークは、例えば、「Electronic Network for Collective Decision Based on Large Number of Connections Between Signals」という題名の、Hopfieldに与えられた米国特許第4,660,166号の中で説明されている。
【0004】
連想メモリは従来の後方伝達ネットワーク(back-propagation network)の問題を避けることができるが、連想メモリにはスケーリング(scaling)及び偽記憶(spurious memory)の問題がある。連想メモリにおける最近の改良では、これらのまた他の問題を解決する試みがなされている。例えば、「Artificial Neural Networks Including Boolean-Complete Compartments」という題名の、共同発明者のAparacio, IVらへの米国特許第6,052,679号では、それぞれの1つが人工ニューロンのそれぞれの対に関連付けされ複数の人工ニューロン及び複数のブーリアンコンプリート区切り(Boolean-complete compartment)が提供されている。ブーリアンコンプリート区切りを提供することによって、スプリアス補足メモリ(spurious complement memory)を避けることができる。
【0005】
連想メモリは、市販もされている。例えば、International Business Machines Corporation社 (IBM)により販売されているMemoryAgentとして周知の製品は、低レベルのアプリケーションプログラミング用インターフェースの集合を提供する。このインターフェースは、「Smart Assistance」という用語によって特徴付けられる埋込み学習エージェント(embedded learning agent)を構築するために使用できる。「Report: IBM's Memory Agent」という題名の出版物、Intelligence In Industry、第8巻、No.1、1999年1月、ページ5〜9、を参照されたい。Haley Enterprises社及びIntellix A/S社を含む他のベンダーも、連想メモリのツールを販売している。特に、Haley Enterprises社は、「The Intelligent Memory」と呼ばれる連想メモリを市販している。haley.comを参照されたい。Intellix A/S社は、SOUL (Self-Optimizing Universal Learner)と呼ばれるソフトウェア手法を用いる、「Knowman」と呼ばれる別の連想メモリを市販している。intellix.comを参照されたい。ベンダーの中には、「Self-Organizing Neural Network for Pattern Classification」という題名のYodaへの米国特許第5,870,729号及び「System and Method for Categorizing Objects in Combined Categories」という題名のPragerへの米国特許第5,943,670号の中で説明されているような、自己組織化フィーチャーマップ(self-organizing feature map)を販売する者もいる。それらも連想メモリの一形態である。連想メモリは、Caidらへの「System and Method of Context Vector Generation and Retrieval」という題名の米国特許第5,619,709号の中で示されているように、電子商取引にも応用されている。連想メモリの他のアプリケーションには、3Com社が販売しているPalm Pilotのようなハンドヘルド装置の中の手書き文字認識が含まれる。さらに、記憶に基づく推論機能は、現在では、SAS Institute社やOracle Corporation社などによって販売されているようなデータマイニングシステムの中に含まれる。
【0006】
連想メモリは最近になって市販されたに過ぎないが、それらはパーソナルに用いられ、知識管理を意図するアプリケーションに対して急速に成長することが期待される。実際に、ある専門家は、「自己連想メモリの製造は極めて大きな事業になるだろう−そのうちに他のどのような目的よりも多くのシリコンが、そのような装置の製造に消費されるであろう」と予測している。Technology Review、第102巻、No.4、1999年7月/8月号、ページ79を参照されたい。
【0007】
残念なことに、現実の問題を解くために連想メモリの使用を限定するような、基本的なスケーリングの問題がある。特に、多くの連想メモリは、線形の重みを使用する。図1Aに示すように、重みWA〜WEに基づいて、各入力を各出力に一度関連付けることができる。しかしながら、そのような線形ネットワーク内の入力は、一般に、互いには結び付かない。このことは、共通の要求事項又は入力間のトレードオフの中で見出すことができる入力間の相互作用のような、起こり得る非線形性を学習し表現するため、ネットワークの能力を著しく制限する可能性がある。
【0008】
図1Aの線形ネットワークに対する別の方法は、図1Bの幾何学的ホップフィールド形ネットワーク(Hopfield network)である。ホップフィールド形ネットワークでは、1対1の接続が全てのノード間に行われ、重みがノード間の各アーチに対して設けられる。図1Bに示すように、全ての入力の間に設けられた重みが多くなりすぎるため、実際のアプリケーションに対してホップフィールド形ネットワークの規模を合わせることは困難である。非線形ネットワークは一般に全ての互いの入力を阻止するので、N2又は幾何学的なスケーリング関数を生成する。より具体的に言うと、入力間の接続数は、一般に、N(N−1)/2に等しい。ここで、Nは入力の数である。
【0009】
この幾何学的なスケーリングは、一般に、そのような技術を保証する複雑性の規模においてアプリケーションに対応するには非現実的である。例えば、多目的の検索及び個人的なモデリングに対しては、処理すべき何万もの入力変数及び何百万ものモデルを取り扱う必要がある。それとは正反対に、オペレーティングシステムの機械学習においては、クライアントの機械が無線装置までより小形になるにつれて、一層効率的であることが必要とされる。このような状況では、ユーザのモデルはわずか1つしか必要とされないが、コンテクスト及び入力変数の数は依然として極めて大きい。数人の家庭用のレベルでさえ、入力の数はおよそ数十万の程度になる。このため、次の数年中に期待されるようなメモリの容量の物理的な増大をもってしても、そのようなアプリケーションに現在の技術を使用することは不合理であろう。従って、そのような環境に対するエージェントベースの学習のためのアプリケーションが現在登場しているが、これらのアプリケーションに対応する学習技術は、学習のスケーリングの問題及び非線形的な連想を使用するために実行することが困難である。
【発明の開示】
【0010】
本発明の実施形態は、複数の入力と、それぞれの1つが該複数の入力のそれぞれの1つと関連付けされた複数のデンドライトとを含む人工ニューロンを提供することができる。少なくともいくつかのデンドライトは、重みのべき級数を含む。べき級数の少なくとも1つの累乗内の重みの少なくともいくつかは、最大射影を規定する。他の実施形態では、それぞれのデンドライトは重みのべき級数を含み、そのべき級数のそれぞれの累乗のそれぞれの重みは最大射影を規定する。最大射影を提供することによって、線形のスケーリングが最大射影に対して提供され、準線形のスケーリングが人工ニューロンに提供されると同時に、本発明のいくつかの実施形態の中で、関連付けにおいて損失のない圧縮が可能にされる。このため、本発明のいくつかの実施形態では、ヘテロ連想及び/又は自己連想の呼び出し(recall)が、入力の関数として幾何学的スケーリングを必要とせずに、多数の入力に対して適用され得る。
【0011】
本発明のいくつかの実施形態では、べき級数の少なくとも1つの累乗は、射影におけるホールを識別するために少なくとも1つのスイッチも含む。本発明のいくつかの実施形態では、重みのべき級数は基数を2とする重みのべき級数であり、べき級数の少なくとも1つの累乗における少なくともいくつかの重みは、最大の行射影及び/又は最大の列射影を規定する。この最大の行射影及び/又は最大の列射影は、それぞれ行射影及び/又は列射影の合計によってソートされる。
【0012】
本発明の別の実施形態では、人工ニューロンは関連付けされた入力部において入力信号に応答するトレースも含む。このトレースは、入力信号の活性化を最大行射影及び/又は最大列射影内の位置にマッピングするように構成される。本発明のさらに別の実施形態では、人工ニューロンはルータも含み、このルータはべき級数の少なくとも1つの累乗内の少なくともいくつかの重みをマッピングするように構成されて、最大行射影及び/又は最大列射影を規定する。
【0013】
読取り動作を提供するために、本発明のいくつかの実施形態によれば、複数の最大行射影及び/又は最大列射影内の活性化されたサブセットが、トレースに呼応して決定される。活性化されたサブセットの各列に対して、列のインデックスよりも大きいか等しい最小の行射影が選択される。他の実施形態では、関連付けされた列のインデックスよりも大きいか等しい最小の行射影が活性化されたサブセットの列に対して蓄積されて、これにより、入力信号の重みに対する関連性を得る。別の実施形態では、書込みすなわち記憶動作が、トレースを最大射影及びスイッチの中に埋め込むことによって提供される。いくつかの実施形態では、トレースと最大射影との間の冗長な射影が見出される。
【0014】
本発明のいくつかの実施形態によれば、重みのべき級数が最大射影と共に使用されるが、本発明の他の実施形態では、最大射影が重みのべき級数なしで使用されることは理解されよう。本発明はシステム、方法、コンピュータプログラムの製品及び/又はその組合せとして具体化されることも理解されよう。
【発明を実施するための最良の形態】
【0015】
本発明の実施形態が示されている添付の図面を参照しながら、本発明を以下のようにより完全に説明する。しかしながら、本発明を本願に記載された実施形態に限定されると解釈してはならない。むしろ、この開示が詳細で完全であり、また発明の範囲を当業者に十分に伝えるように、これらの実施形態が提供される。同じ参照番号は全体を通して同じ要素を指す。
【0016】
本発明の実施形態はこれから、図3〜図37の図面を用いて説明される。図面の要素及び図面の要素の組合せは、指定された機能又はステップを実行する一般的な及び/又は専用のハードウェアベースのシステムによって、又は一般的な及び/又は専用のハードウェアとコンピュータ命令との組合せによって実行することができることは理解されよう。
【0017】
[序文]
これらのプログラム命令はプロセッサに送られて、このプロセッサ上で実行する命令が図面の中で指定された機能を実行するための手段を作り出すような装置を作る。コンピュータのプログラム命令はプロセッサによって実行されて、プロセッサに一連の動作ステップを実行させ、プロセッサ上で実行する命令が図面の中で指定された機能を実行するためのステップを提供するためにコンピュータが実行する処理を作る。このため、図3〜図37は、指定された機能を実行する手段の組合せ、指定された機能を実行するステップの組合せ及び指定された機能を実行するプログラム命令に対応する。
【0018】
ニューラルネットワークの分野における進歩は、本願の譲受人に譲渡された、「Artificial Neurons Including Power Series of Weights and Counts That Represent Prior and Next Associations」という名称の米国特許出願第09/436,925号の中で説明されている。その開示内容は、その全てを引用することによって、あたかも本願に完全に記載されているように本願明細書の一部をなすものとする。米国特許出願第09/436,925号の中で説明されているように、人工ニューロンは複数の入力と、それぞれの1つが複数の入力のそれぞれの1つと関連付けされる複数のデンドライトとを含む。各デンドライトは重みのべき級数を含み、べき級数内の各重みは関連付けされた累乗に対する関連した計数を含む。重みは概ね計数用の記入子(place-holder)であり、別個の物理的実体である必要はないことは理解されよう。重みのべき級数は基数2の重みのべき級数であり、基数2のべき級数における各重みはビット位置を示す関連する計数を含むことが好ましい。重みのべき級数は、例えば、図5として本願に再現された、米国特許出願第09/436,925号の図5の中で示されている。米国特許出願第09/436,925号によれば、べき級数として重みを部分的に示すことによって、従来の人工ニューロンにおける入力の関数としての幾何学的なスケーリングを、入力の関数として線形スケーリングにまで減少できることが判明した。現実世界のシステムを用いて多数の入力を処理することにより、現実世界のアプリケーションを解くことができる。
【0019】
また米国特許出願第09/436,925号の中で説明されているように、関連した累乗に対する計数は統計的な計数であることが好ましい。より詳細には、デンドライトは連続的に順序付けられることが好ましく、重みのべき級数は第1及び第2の重みのべき級数一対を含むことが好ましい。第1のべき級数内の各重みは前のデンドライトの関連付けの関数である第1の計数を含み、第2のべき級数内の各重みは次のデンドライトの関連付けの関数である第2の計数を含む。前の/次の計数は、例えば、図6として本願に再現された、米国特許出願第09/436,925号の図6の中で示されている。
【0020】
しかしながら、前の/次の計数は重み無しの図表を完全に反映しないことが、現在では分かっている。例えば、図22は、異なる図表が前の/次の重みをいかにして持つことができるかを示している。図22の左側の小さい図表は、前の/次の重みは2つの可能な配置の間を区別できないことを示している。すなわち、AはDと関連付け(または結合、associate)され、BはCと関連付けされるか、又は、BがDと関連付けされるのと同様に、AがCと関連付けされる。実際に、前の/次の表現は圧縮を提供できるが、この圧縮は損失が多い。
【0021】
この損失の多い圧縮は、多くのアプリケーションでは重要ではない。例えば、米国特許出願第09/436,925号は、ヘテロ連想の呼び出し(hetero-associative recall)に基づいて、スコアリング(scoring)用のアプリケーションを説明している。入力ベクトルが与えられると、アプリケーションは一般的な類似性の尺度を返す。損失の多い圧縮は、図22の右側にある前の/次の重みの大きな配列から分かるように、このアプリケーションにはほとんど影響しない。重みは、任意の1つのノードとその後の他のノードとの間の関連付けの統計的な意味しか与えない。D−Eの関連付けはD−Gの関連付けと混同しやすいが、全ての関連付けが与えられると、これらのエラーはヘテロ連想の呼び出しにはあまり影響を与えない。
【0022】
他方、前の/次の計数に損失が多いことにより、自己連想の呼び出しが提供されはしない。入力ベクトルが既知の値の場合、特定の関連付けを未知の値に戻すことが望ましい可能性がある。このアプリケーションについては、連想メモリが入力間の正確な関連付けを示すことが望ましい。
【0023】
本発明を完全に理解することを容易にするために、米国特許出願第09/436,925号の中で説明されているように、観察行列(observation matrix)の線形構造への分離及び再構成の理論的な説明を最初に行う。米国特許出願第09/436,925号による人工ニューロンの構造を、次に詳細に説明する。次に、トレース波動の生成(generation)及び伝搬(propagation)をおおまかに説明する。記憶(書込み)及び想像(読取り)に対する米国特許出願第09/436,925号の動作を詳細に説明する。本願の図1〜図21は、米国特許出願第09/436,925号の図1〜図21の複製である。
【0024】
次に、本発明の実施形態による最大射影(maximal projection)を示す重みを含む人工ニューロンを説明する。最大射影の理論的な説明の後で、本発明の実施形態の説明及び本発明の実施形態による読取り及び書込みの説明が行われる。
【0025】
[重みのべき級数と前の及び次の関連付けを示す計数とを含む人工ニューロン]
<理論的考察>
本発明のいくつかの実施形態は、自己連想形のメモリであると長く信じられていた小脳構造(cerebellar structure)が手掛りとなった。小脳は、無意識に運動技能を記録及び演ずると従来は考えられていたが、現在では全ての認知活動、特に一般的に想像及び意思決定に役割を演ずると理解されている。
【0026】
図2は、Llinasによる「The Cortex of the Cerebellum」、Scientific American誌、第232巻、No.1、ページ56〜71、1975年、から複製した小脳皮質の神経を再現したものである。小脳内のプルキンエ・ニューロン(Purkinje neuron)Puは、それ自体連想メモリを示すと考えられている。それぞれのプルキンエ・ニューロンは、他のどの種類のニューロンよりも多い100,000もの入力シナプスを有する。この入力を全て計算し合計して、各プルキンエ・ニューロンは小脳から1つの軸索を送る。この莫大なファンイン数を考えると、1つの仮定は、これらの入力の出力に対する関連付けの態様は、各入力における単純なシナプスの重み及びこれらの入力とシナプスの重みとの合計(ドット積)に基づいていて、線形であるということである。しかしながら、このニューロンや大部分の他のニューロンの真のダイナミックスが極めて非線形であることは周知である。このため、これらの真の極めて発達したシステムには非線形の計算能力が存在するようであるが、連想メモリを作る計算の本質は依然として未知のようである。しかしながら、プルキンエ・ニューロンの構造はツリーであり、ホップフィールドのニューラルネットワークによって規定された連想装置の中で使用されるような、O(100,0002)オーダーの相互接続の天文学的な込み入ったものというわけではないことは明白なようである。
【0027】
本発明のいくつかの実施形態は、入力間の学習された相互作用を事実上表すことができ、実現可能なシステム内で物理的に実現できる人工ニューロンのシステム、方法、及び/又はコンピュータプログラムの製品を提供することができる。実際に、O(N2)の仮想表示の近似値は、O(N)の物理的な装置として示される。そのような純粋な直線性によって、インターネットから小形の無線装置までの高性能の予測及びパターンマッチングのスケーリングを行うことができる。
【0028】
理論的な考察は、統計学で使用される2X2観察行列から開始する。(2つのコインの反転のような)任意の2つのバイナリ入力の変数を考えると、4つの可能な観察がある。この2x2観察行列は、観察された組合せに対する4つのカウンタの集合である。例えば、図3Aは2つの変数A及びBを示す。Aはオン又はオフ、すなわち、それぞれA又は!Aになることができる。これはBに対しても同様である。観察計数は、例えば、A及びBが同時に生成することが3回観察されることを示す。全体としては、A及びBは互いに排除する(強い確率的XOR関係を示す)傾向があるように思われる。
【0029】
図3Bに示すように、4つのセルカウンタの各々は、4つの位相の1つとして表示できる。各位相は、2つの入力のそれぞれのON(1)又はOFF(0)の状態に関連して00,01,10又は11により特定される。この場合、下位ビットはA座標を示し、また上位ビットはB座標を表示する。
【0030】
3つ以上の入力変数を考える場合、O(N2)数の2X2行列を必要とする。例えば、図4Aに示すように、3つの入力(A,B及びC)に対して、3つの行列(AXB,AXC,BXC)がある。入力が増えると幾何学的なスケーリングが生ずるため、4入力は6個の行列を使用し、5入力の場合は10個の行列を使用する、等々となる。しかしながら、3入力の単純な図表は、三角形として全ての関係をより明確に示す。その三角形の各2つ1組の辺は2X2の観察行列を有する。観察の合計は異なる可能性があり、このことにより、真、偽、及び未知のトライステートの入力値が可能になることに注意されたい。
【0031】
本発明のいくつかの実施形態は、関連付けのこの表示を線形形式に圧縮することができる。任意の2つの行列間の共通性を見つける可能性はほとんどないと思われる。例えば、4個の観察計数が互いに一致する場合、まさに2つのそのような行列の圧縮しか得られない。最悪の場合、全ての可能な2つ1組の行列は互いに異なることがあり、これによりいくつかの組合せによる圧縮は不可能になる。しかしながら、本発明のいくつかの実施形態では、そのような計数をそれらの圧縮が可能な方法で分離することができる。
【0032】
これらの行列の2つの再配列により、適当な特性を有する図表を結果として生ずることができる。第1の再配列は位相の各々を互いから分離し、それらを各位相に対して1つずつ4つの図表に再度関連付けされる。図4Bを参照されたい。各図表は結果として、重みの行列ではなく1つの重みだけを図表の各辺上に配置する。
【0033】
第2の再配列は、位相図表の各重みをべき級数に、好ましくは基数2のべき級数に分離する。図5は、入力変数A,B及びC間の重みが3,6及び5の1つの位相図表を示す。各重みのバイナリ表示も示されている。重みの各ビットは、その重みの基数2の累乗を示す。
【0034】
これらのビットの累乗は重み全体の大きさを示す場合に加法的(6=22+21)であるため、各位相図表を各ビットに対して1つの累乗図表の集合にさらに分離することができる。図5は、22,21及び20の大きさの3つの累乗図表に分離された実施例の位相図表を示す。図表の累乗は図表自体に関連しているが、各図表はここでは重みなしとすることができ、このことは、各アークは特定の位相及び累乗に対する任意の2つの入力間の関連付け1つが生成したこと又は不生成であったことを示す。
【0035】
このため、重みなしの図表の集合を作ることができる。これらの図表の各々は幾何学的な寸法とすることができ、さらに減少させることができるが、そのような図表の数はここでは含まれる。2X2の行列表示の場合は(他の基本的な形式にそれなりに分解することもできる)、位相は4つしかない。指数的に大きな重みを効率的にバイナリ表示する場合と同様に、次に任意の重みのバイナリ分離は累乗図表の数をlog2(重み)に制限する。どの特定の重みも全体的なメモリのローディング数Mに制限され(全ての観察は位相上のみに存在すると仮定する)、期待値はM/4である。
【0036】
理論的な説明を続けると、次に重みなしの図表を、各ノードの回りの統計値を用いて線形形式に圧縮することができる。統計値はノードの回りの特性を示すが、特性値自体ではない。例えば、各ノードに対するリンクの数はそのような統計値の数である。各ノードは、そのノードの全ての他のノードに対する関連付けの数を示す1つの数によって特徴付けられる。しかしながら、この統計値は、ノード同士の間の関連付けを実際に示すといった極めて強い制約(constraint)を伝えるものではない。
【0037】
好ましい統計値は、動的計画法からのアナロジーによって得ることができる。動的計画法技術は、組合せ論の複雑度を減らすことができる。動的計画法においては、全ての組合せを明確に計数するのではなく、多くの要素の間接的な列挙を同時に行うことができる特性を見つけることができる。動的計画法は、従来はツリー構造に使用されている。例えば、ツリーの各ブランチは指数関数的な数のリーフノード(leaf node)を含むが、ブランチ全体を同時に計数できるという制約を有する問題もある。指数関数的な数のリーフは、各リーフを実際に計数するというコンピュータの負担なしに暗黙のうちに計数される。
【0038】
図6は、この暗黙の計数を行うことができる好ましい統計値を示す。図5の累乗図表は重みがないため、線形アレイの重みを使用して、図表の各頂点に属する辺の数に対して計数を行う。例えば、20に対する図6の累乗図表は、Aが2つの辺を有していることを示している。1つはBと、他の1つはCと関連付けする。1つのノードの他の全てのノードに対する関連付けの合計は極めて強い制約を強制しないが、頂点を順序付けすること及び各合計を前のノードへの関連付けの合計と次のノードへの関連付けの合計とに分離することは、極めて強い制約を強制することができ、このことは次に、特定の関連付けを計数するために使用することができる。
【0039】
より具体的に言うと、各累乗図表は順序付けられた重み対のべき級数として表示され、各対の1つの重みはその前の入力(前の入力)に対する全ての関連付けを示し、他の重みは順序付けの中のその後の入力(次の入力)に対する全ての関連付けを示す。その対に対する記号は、[前]/[後]として示され、各対は1つの、ただ1つの入力に関連付けして示される。これらの重み対は、一般に互いに強く制約される。例えば、Aの重みは20の重み累乗に対して0/2であり、B及びCとの2つの辺を示す。B及びCの重み対は、1/0及び1/0である。A,B及びCの辞書的な順序を仮定すると、B及びCの前の重みはAの次の重みに適合している。一般に、全ての前の重みの合計は、次の重みのコンプリメント合計(compliment sum)を有する。後で示すが、これらの対の間の制約は、実際に非常に強くすることができる。
【0040】
図6は、入力の連続した順序が重み対の正確な配分を変更できることも示している。1つの重みが図表の辺の数に常に対応するとは限らない。例えば、Bに対する重みは、Bが単にAとCとの間に順序付けられているために、累乗図表21に対して1/1である。Aとの1つの辺はその前にあり、Cとの1つの辺はその次にある。順序付け自体はそれ以外の場合は任意である。
【0041】
これで、観察行列の線形構造への分離及び再構成に関する理論的な説明は完了する。具体的に言うと、スケーリングファクターは概ね4*log2(M)*2Nである。4つの位相がある。各位相に対する累乗図表の数は、観察Mのログ関数として増大する。各図表は、Nがそのような入力の場合、各入力に対する2つの重みによって表示される。
【0042】
<人工ニューロンの構造>
図7は、本発明のいくつかの実施形態による人工ニューロンのブロック図である。図7に示すように、人工ニューロン700は、複数の入力710a〜710c及び複数のデンドライト720a〜720cを含む。それぞれのデンドライトは、入力の1つづつと結び付く。各デンドライトは、重みのべき級数730を含む。べき級数内の各重みは、関連付けた累乗に対する関連付けた計数を含む。図7に示すように、重みのべき級数は基数2の重みのべき級数であり、基数2のべき級数内の重みがビット位置を示す関連した計数を含むことが好ましい。図7の人工ニューロン700は、1つの観察位相、本願では図6の観察位相11を示す。各デンドライトは、図8により詳細に示すように、第2の観察位相に対応する少なくとも第2の重みのべき級数を含むことが好ましい。最後に、図7をさらに参照して、重みのべき級数が一対の第1及び第2の重みのべき級数を含むことが好ましい。第1のべき級数内の各重みが前のデンドライトの関連付けの関数である第1の計数を含み、第2のべき級数内の各重みが次のデンドライトの関連付けの関数である第2の計数を含むことが好ましい。前の及び次のデンドライトの計数は「/」によって表示され、これにより、例えば、デンドライト720cの22累乗に対する表示0/1は、前の関連付けが0で次の関連付けが1であることを示す。
【0043】
このため、各入力すなわちセンサニューロン710a〜710cは、デンドライトのブランチ720a〜720cの1つに接続される。このブランチを用いて、各累乗に対する重み対が、最も強い重みから最も弱い重みに配列されることが好ましい。これらの重みは永続性である。それらは特定の多極ニューロン(multipolar neuron)の中に記憶された全ての蓄積された経験を表すことができる。
【0044】
さらに、各デンドライトは、トレースとも呼ばれる一時的なトレース記憶部(trace store)740も含む。トレース740は、現在アクティブなセンサ信号を示す。このトレースは、センサ信号によって生じたポストシナプスの生化学的なトレース(細胞内のカルシウムの蓄積)に類似する。学習におけるそのような生化学的作用により、信号を記憶するための強い信号がセンサ信号の後に続く場合、トレース信号は記憶信号と相互作用してデンドライトの重み内に永久的な変化をもたらす。
【0045】
本発明のいくつかの実施形態によるトレースの表示は、センサ信号の直接記録と同じぐらいには単純でないことが好ましい。トレース表示は、重みと同じ構造に、好ましくは前の/次の関連付けのべき級数に変換されることが好ましい。ある意味では、トレースは最も弱い「重み」と見なすことができる。センサ信号それ自体ではなくトレースが、ニューロンの計算力学(computational dynamics)において使用される。重み及びトレースは、以下に説明するように、2つとも最も効率的に計算するために同じ形式であることが好ましい。
【0046】
図7は1つの位相に対するデンドライトの配列を示すが、図8は多極ニューロン800を提供するために、全ての位相、累乗、及び重み対を示している。図8は、そのようなニューロンの初期化された状態を示す。全ての重み及びトレースはゼロに初期化され、より大きな重みの累乗はない。ニューロン800の各主なブランチ810a〜810dは、可能な観察位相の1つを示す。ブランチ810a〜810dの出力は合計ノード820で合計され、多極の出力線830上に出力を送る。
【0047】
入力710a〜710cはセンサニューロンによって表示されることに注意されたい。各センサニューロンは、その適当なレベルで横方向のデンドライトのブランチに接続する。センサニューロンはそのレベルで全ての横方向のブランチと接続するが、このことは簡単にするようには示されていない。各横方向のブランチは、図7に詳細に示すように、全ての累乗にわたってその重み対を記憶する。
【0048】
数学的手法により、動的プログラミングのためにセンサ及びそれらの重みを任意に順序付けすることが可能になるため、生物学的なニューロンのアーキテクチャは明らかに誕生の順序で決定されてきた。「前の」及び「次の」という用語ではなく「近位の」及び「遠位の」という用語が、それぞれ最も古いデンドライト及び最も新しいデンドライトを示すために図8においては使用される。後者の用語は、センサの誕生の順序及び多極ニューロンへの接続を適切に表現できるが、前者の用語はより明瞭で一層構造的である。近位のデンドライトは細胞体(合計ノード820)により近い。それらは、接続する最も初期のセンサ入力によって最初に形成される。神経皮質系への類推により、新しい成長が遠位の「表面」に付け加わる。言い換えると、より新しいデンドライトが、これに先立つデンドライトの後の遠位に接続される。
【0049】
デンドライトの構造は、時間が経つと変化することがある。デンドライトの順序は図示のように最も古いものから最も新しいものへと並ぶことができるが、この順序は性能を向上するために、またより多くの情報を加えるために再配列することができる。例えば、より強いデンドライトをより近位になるように、順序付けすることができる。このことは、例えば位相01を10よりも弱いと考えることができるように、より強い位相の順序をオーバーレイすることができる。
【0050】
<トレース波動の伝搬>
トレースの生成は、本発明のいくつかの実施形態による人工ニューロンに対して最も簡単な多極のダイナミクスであり、どのように重み対の線形アレイが観察及びそれらのメモリを表示するかを示すことができる。このため、トレースの生成及びトレース波動の伝搬をここで説明する。
【0051】
多極ニューロンのダイナミクスは、好ましくは1つのデンドライトから他のデンドライトへの波動の伝搬によって媒介される。そのような波動の伝搬は生物学的な神経系を通して周知であり、プルキンエ・ニューロンの中で極めて良く研究されてきた。図9は、波動がデンドライトを横切って移動してセンサ信号をトレースする方法を示す。ここでの生物活動においては並列した処理部によるものであり、各センサ信号が変化するにつれてトレースを更新するが、コンピュータモデルにおいては、波動は多極ニューロンのソーマ(soma)(細胞体)から開始する。波動は近位のデンドライト(矢印920)から、次に1つの経路における遠位のデンドライト(矢印930)から移動することが好ましい。
【0052】
図9を参照すると、最初、波動は初期化されて、矢印910で示すように、デンドライトの所定の位相を示す。位相の2つのビット、すなわち上位ビット及び下位ビットは波動の中にhighFilter及びlowFilterとして保持される。この「ハイ」及び「ロー」の設定は、各デンドライトが次のような2つの考え方を想定するものである限り、任意とすることができる。すなわち、1)そのデンドライトへの関連付けをその前に計算すること、及び2)そのデンドライトへの関連付けをその後で計算することである。そのようなデンドライト間の関連付けの存在を計算するために、特定の位相を考える場合、1つのデンドライトは位相の1つのビットとして動作し、他のデンドライトは位相の他のビットとして動作する。例えば、位相10については、デンドライトのうちの2つがそのような1つの関連付けを表示するために、一方のデンドライトはその入力がONであるかどうかを決定する必要があり、他方のデンドライトはその入力がOFFであるかどうかを判断しなければならない。取決めにより、前のデンドライトは上位ビットとして動作するように仮定され、一方次のデンドライトは下位ビットとして動作する。より正確に言うと、各デンドライトは、前のデンドライトへのその関連付けを計算する場合、最初は下位ビットとして動作し、次にそれ自身の信号を次のデンドライトへの波動の中に送る場合は、上位ビットとして動作する(前のデンドライトのように動作する)。
【0053】
波動がデンドライトを横切って移動するとき、highFilterは、他の遠位のデンドライトに対して近位のデンドライトであるとの観点から、所定の位相内でアクティブと考えられるデンドライトについてのセンサ信号を表わす。lowFilterは反対の観点を取る、すなわち、lowFilterは他の近位のデンドライトに対して遠位のデンドライトというデンドライトの観点に対するセンサ信号を表わす。繰り返すが、この「ハイ」及び「ロー」の割当ては、単なる慣例によるものである。一般に、各デンドライトは1つの観点に対して位相の1つのビットとして動作し、次に他の観点に対しては他のビットとして動作する。
【0054】
この波動のpriorSignalsカウンタは0に初期化される。波動がデンドライトを横切って移動するにつれて、デンドライトは次のデンドライトに対して関連付けするための信号を蓄積する。
【0055】
図10は、各デンドライト内の計算のフローチャートである。波動が最初にデンドライトを通るとき、このデンドライトは下位ビットで遠位のデンドライトの観点を取る。このデンドライトは、波動のローフィルタをセンサの信号と比較する。それらが同じであれば、この観点ではそれはアクティブである。近位でアクティブな関連付けの数が、前の信号の波動の蓄積の中に見出される。第1のデンドライトはどの前の信号も見ないことは理解されよう。
【0056】
次に、デンドライトは波動が次のデンドライトに移動する前に、上位ビットで近位のデンドライトの観点を取る。波動の下位ビットのフィルタがセンサの信号に適合する場合、デンドライトはこの観点ではこの位相に対してアクティブであり、それ自体を波動の前の信号のカウンタに中に蓄積する。多極の動的プログラミングが最も簡単な形式であるために、トレース波動の伝搬は、1つのセンサ入力を示す1つのデンドライトが他のデンドライトに対する全ての関連付け及びそれらの信号パターンをどのように間接的に列挙できるかを示す。
【0057】
特に、ブロック1010では、センサ信号が波動の位相の下位ビットと同じであるかどうかについての試験が行われる。同じである場合、ブロック1012において、近位のトレースが波動内に蓄積されるように近位のデンドライトの信号の数に対して設定される。同じでない場合は、ブロック1014において、センサ信号が波動の位相の上位ビットと同じであるかどうかの試験が行われる。同じ場合は、ブロック1016において、波動内に蓄積されたデンドライトの信号が、次のデンドライトに送るために増加される。ブロック1018において、遠位のデンドライトがさらにあるかどうかの試験が行われ、ある場合には、ブロック1022で、トレース処理がこのさらなる遠位のデンドライト内で開始される。遠位のデンドライトがこれ以上ない場合は、ブロック1024において、信号の波動内の蓄積値が0に設定され、ブロック1026において、センサ信号が波動の位相の上位ビットに等しいかどうかについての試験が行われる。等しい場合は、ブロック1028において、遠位のトレースが波動内に蓄積された遠位にデンドライト信号の数に設定される。ブロック1032で、センサ信号が波動の位相の下位ビットと同じであるかどうかの試験が行われる。同じである場合は、ブロック1034において、蓄積されたデンドライトの信号が次のデンドライトに送るために波動内で増加される。
【0058】
デンドライトの構造は再帰的(recursive)であることが好ましい。各デンドライトは、可能な次のデンドライトに接続される。各デンドライトはトレース信号を次のデンドライトに伝え、最も遠位のデンドライトは波動をそれ自体リセットし(priorSignalsを0に戻す)、また制御を前のデンドライトに再帰的に返す。元に戻る伝搬は、前方への伝搬と同様に働くことが好ましい。波動の遠位のパスは近位のトレースを計算し、一方波動の近位のパスは遠位のトレースを計算する。
【0059】
電子設計及び並列処理の当業者は、これらのトレースは物理的なハードウェアの中で伝搬の途中にリアルタイムで更新されることを認めるであろう。例えば、変化するセンサに関連したデンドライトから始まるどのような信号の変化も、同時に近くにまた遠くに伝搬することができる。そのような波動は、前の信号ではなく信号内の前の変化を伝搬するが、ダイナミックスは別な方法で識別することができる。前述した単一パスの動作は、順次処理するコンピュータのアーキテクチャに対してはより効率的である。全てのセンサ信号は、トレース信号が呼び出される場合、クランプされ安定していると想定される。全ての可能な並列の伝搬は、1つの連続パスの中で一度計算される。
【0060】
図11は、図10と同じであるがプログラミングコードとしてのフローチャートを示す。同じ参照番号がプライムを用いた表記法(’)により使用される。デンドライトのオブジェクトは、その引数として波動オブジェクトを取るトレースのメンバ関数を有する。各デンドライトは、そのメンバとしてSensorオブジェクトを有する。デンドライトはそのセンサの信号を波動のフィルタと比較する(ブロック1010’,1014’,1026’及び1032’)。lowFilterの場合に1つが他に等しい場合は、デンドライトはそのproximalTraceを波動により実行されたpriorSignalsに設定する(ブロック1012’及び1034’)。highFilterの場合は、デンドライトはセンサの信号を説明するために波動のpriorSignalsを増加する(ブロック1016’及び1028’)。
【0061】
各デンドライトオブジェクトは、他のより遠位のデンドライトに再帰的に接続される。各デンドライトは、そのような次のデンドライトのトレースのメンバ関数を、それが存在する場合は呼び出す。トレース関数はvoidを返す。
【0062】
<記憶>
本発明のいくつかの実施形態による人工ニューロンへの記憶すなわち書込みの説明をこれから行う。好ましくは2つ以上の波動伝搬を使用する記憶は、一般により複雑である。複数波動の伝搬を、登上線維からの1つの信号がプルキンエ・ニューロン内で一気の集中的活動の原因になるように、小脳の中で示すこともできる。図2は、登上線維(Cl)及びそれがどのようにプルキンエ・ニューロンのデンドライトを取り巻くかを示す。トレース信号からのセンサ信号の形成を考えると、登上線維は記憶信号を提供することができる。
【0063】
生物現象と同様に、本発明のいくつかの実施形態の多極ニューロンへの記憶信号は一般に、一気の波動活動を引き起こす。図12は、トレースの形成に酷似するように、ニューロンは波動を初期化し(矢印910)、波動をデンドライト領域(矢印1220及び1230)を通って伝搬させることを示す。しかしながら、重み構造はトレースよりも複雑であり、いくつかのパスを使用する。図示のように、各波動は重みの各累乗を通過する。記憶信号は最も弱い20の重みの列から始めて、トレースをより永続的な重みに移動させる。
【0064】
図12に示した実施例は単純である。トレースの重みは、20において永続的な重みに単に蓄積される。しかしながら、観察重みの累乗図表への分離及びデンドライト領域内の結果として生ずる累乗の列は、1つの重みの累乗から他の重みの累乗へ桁上げ関数を生成することがある。例えば、バイナリコードにおける加算及び桁上げは簡単である。1つのビットを他のビットへ加える場合は、ビットの値は2倍にされ、このため、次の上位ビットの列へシフトされる必要がある。上位ビットがオフの場合、それはオンにされる。上位ビットがオンの場合は、それは2倍にされ、次の上位ビットの列に左シフトされる必要がある。この動作は、桁上げビットが適当に伝搬するまで続く。
【0065】
図12は、1つの重み列の結果を他の重み列に加算して桁上げするこの必要性を示す。各重みの累乗については、いくつかの値を桁上げする必要があることを戻りの波動が示す限り、多極ニューロンは波動を伝搬させる。メモリの負荷及び新しい信号パターンの効果にもよるが、log2(0)数の波動バースト(wave burst)を期待することができる。実算では、桁上げが最高位の累乗までずっと流れない場合は、波動は累乗のサブセットだけしか通過しないため、そのような波動のほんのわずかしか期待されない。
【0066】
記憶関数は複雑であるが、それは前述したトレース形成にいくらか類似しているようにみなされる。波動は一般に各デンドライトに連続して伝搬し、これにより、近位の重みを修正(近位のトレースを形成するように)し、その活動を他のより遠位のデンドライトに動的なプログラミングによって間接的に伝えるために波動も変更する。波動は近位の重みを調整し、次に反転して遠位の重みを調整する。しかしながら、動的なプログラミングの性質は、これから説明するように、より複雑であり洗練されている。
【0067】
記憶を最初に一般的に説明する。次に、1つの重みの累乗から他の重みの累乗に伝わることについての詳細な説明を行う。図13は、全体的な記憶動作及び次に誘導される二重の一致/フィルタ処理(Double Match/Filter)に対するその呼出しを示す。
【0068】
特に、波動が最初にデンドライトにはいるとき、このデンドライトは遠位のデンドライトの観点を取る。その近位の重み及びトレースの値の両方を考えると、デンドライトはトレースによってもたらされた付加を現在の重みに加える又は次の累乗に桁上げする必要があるかどうかを判断しなければならない。この決定の論理はバイナリコーディングに酷似している。すなわち、関連付けが存在しない場合、重みは存在するものであると設定される。関連付けが既に存在している場合は、新旧の関連付けは同じものの2つ(two-of-the-same)を占め、上位の累乗に左シフトされる必要がある。後で説明するように、二重の一致/フィルタ処理は、次の累乗に桁上げされる必要がある現在では周知の関連付けのそのような「倍加」を見出す。
【0069】
ここで図13を参照する。二重の一致/フィルタ処理(ブロック1302)は繰り越しを行う必要がある近位の倍加の数を取り出し、デンドライトが次のデンドライトに(デンドライトが存在する場合(ブロック1304))送る(ブロック1306)波動の変更も行う。波動は戻り(ブロック1308)、二重のマッチ/フィルタは再度呼び出され(ブロック1312)、今回は遠位の倍加の数が引き出される(ブロック1314)。
【0070】
次の累乗に繰り越すための倍加の数が決定されると(ブロック1316)、現在の累乗における重みを決定することができる(ブロック1318)。近位及び遠位の両方の重みは、繰り越しが行われる必要がある関連付け(倍加)の数だけ減少される。言い換えると、重みが既に関連付けを保持しセンサ信号がそれに再度加えられる場合、関連付けを現在の累乗から除き、次の累乗を倍加する必要がある。次に、各重みは新しいトレース値を計上するために増加され、古い関連付けに適合した値を減算し、桁上げされる倍数の中で計数される。
【0071】
最後に、最も低い重みの累乗に対して行ったように、倍数は加算する次の重みの累乗に対するトレースとしてそれらを割り当てることによって桁上げされる。実際に何らかの倍数があり、それらが次の波動に対するトレース値として設定される場合、波動の桁上げトリガは真に設定される。多極ニューロンは波動を一気に送る。それぞれの波動は、繰り越す関連付けがなくなるまで上位の重みの累乗に対して調整される。
【0072】
時間の換算係数は、空間的な複雑性に対すると同様の線形関数O(N)である。ニューロンは1つの波動を作り、その波動はそのデンドライトの領域の各位相に対して4倍に調整される。各位相の中で、log2(O)数のバースト(最大の可能なバースト)が重みの変化を完了させる。
【0073】
図14は、重み修正動作に対するプログラミングコードの実施例を示す。図13と同じ参照番号は、プライム表記法(’)を用いて使用される。このDendriteオブジェクトは、トレース関数と同様に、引数として波動を取る記憶のメンバ関数を有する。記憶するために次のデンドライトを呼び出す動作も再帰的であり、voidを返す。そうでない場合は、記憶動作は、二重の一致/フィルタ処理工程を実行する別個の機能による、matchedProximalDoubles(ブロック1302’)及びmatchedDistalDoubles(ブロック1312’)の計算を含む。各デンドライトは、二重にインデックスが付けられた重みの配列を含む。1つのインデックスはDISTAL又はPROXIMAL方向をポイントするが、他のインデックスは重みの累乗を指し示す。このことは、波動をその累乗として追加させることによって決定される。重みは2つの方法で調整される。第1の方法は、任意の一致した倍数が減算され(それらの倍数が桁上げされるため)、次にトレースが戻って加算される(任意の一致した倍数を差し引く、これはまた桁上げされる必要があるものを示す)。ブロック1314’を参照されたい。
【0074】
トレースが一致した倍数の数に対して再度割り当てられる。これは、次の波動の累乗に桁上げされる値を示す。波動のその後のパスに対して同じ記憶関数を使用するために(ブロック1306’)、これらの桁上げ値は、ちょうどあたかもそれらが次の重みの累乗−実際に存在する−に対する入力信号を示すように、トレースの中に置かれる。
【0075】
デンドライトは戻る前に、実際にトレース内に桁上げするものが存在するかどうかを決定する(ブロック1316’)。存在する場合は、デンドライトは波動のcarryTriggerを動作させて(ブロック1318’)、より上位の波動の累乗を通過する。
【0076】
この線形スケーリングの最も複雑な部分は、倍数を見つける動作である。実際の累乗図表は図表の辺を明示的に示すため、特定の関連付けが存在するかどうかを決定することができる。2つの入力間の特定の累乗の関連付けは、それぞれの入力の頂点間の1つのエッジとして、また唯一のエッジとして示される。デンドライト内部の線形の重み機構は極めて独特であり、幾何学的な数の関連付けを示すことができるが、1つのデンドライト/センサが他と関連付けされていることを見つけることは極めて難しい。
【0077】
しかしながら、波動の伝搬についての動的プログラミングは、これらの関連付けを考慮することができる。図6に示したように、2の遠位の重みは適合する2つの近位の重みに出くわすはずである。図6の最上位の累乗列を考えると、Aにおける2の重みは最初Bにおける1(A及びBは関連付けされている)及びCにおける別の1に出会う(A及びCは関連付けされている)。またB及びCは、近位及び遠位の一致した対を有することができるが、それらはこの実施例ではそのような関連付けはしていない。
【0078】
図15は、これらの制約を計算するための関連した値及び動作順序を設定する。図15では、明確にするために概略的にニューロンが示されている。重み及びトレースが好ましくは同じ形式であると仮定すると、波動がデンドライトを横切って通過するとき、波動はそれら2つを伝搬させ、また考慮することができる。実際には、波動はpriorWeights及びpriorTracesの両方についてのアキュームレータを有している。さらに、倍数の数は、一般に、トラック及び一致に対してより重要な関係にある。波動は、priroDoublesに対するアキュームレータを有する。ただ1つの関連付けを考えると、倍数は重み及びトレースと同時に生成する。換言すると、関連付けは既に存在し、トレースを加えることによりそれが強化、すなわち2倍にされる。デンドライトの重みは関連付けの数を反映するため、倍数は重み及びトレースのカウンタの最小値である。
【0079】
より具体的に言うと、一般に、デンドライトは可能な倍数の数だけを計算することができる。デンドライトは数個の重みと数個のトレースとを持つことができるが、それらが同じ関連付けを示すという局所的な保証は一般にない。例えば、入力AがBとは古い関連付けを、Cとは新しいトレースを持つことがある。しかしAは、このことを決定するようにB又はCと明示的な関連付けは有していない。近位のデンドライトが、一致する他の倍数があるかどうかを決定しようとしている他のデンドライトの重みを通して遠くから「見ている」ことを想像してほしい。そのような観点では、極めて多くのノイズや重みの混乱がある。幸いなことに、多数の複雑な制約があるため、そのような倍数に一致及びフィルタ処理するための他の形式の動的なプログラミングが可能にされる。
【0080】
図16では、いくつかの実施例が提供される。二重の一致/フィルタ処理の細部は極めて複雑であり、多数の入力を用いる場合は理解することが難しい。そのように複雑な場合は、特に多数の入力を用いる全ての可能な重みの構成を説明できるが、本願に示した実施例はより基本的で説明的なものである。
【0081】
第1の実施例(図16の第1の行)は、いくつかの関連付けが新しい観察によっていかに2倍にされ、一方他の関連付けが新しい1つの関連付けとして単に加算されるままとなるかを示す。第2の実施例(図16の第2の行)は、いくつかの可能な重みの倍加が1つのデンドライトの中にいかに現れ、しかし、次の処理に進むことによって、新しい関連付けのどれもが前のメモリの重みに実際には一致していないことを示す。
【0082】
例えば、入力Aに対する初期の重み及びトレースは、両方の実施例に対しては同一である。入力Aはその下の2つの関連付けの重みを有していて、1つの関連付けの新しいトレースは既に記憶されている関連付けに一致すると仮定される。その場合、関連付けの倍加は上位の累乗に桁上げされる必要がある。しかしながら、第1の実施例のみが、現在の関連付けに対する真の倍加を有する。Aが2つの実施例の中に可能な倍数を有していると申し出ても、第1の実施例はCのトレース値がその上のA及びB両方のトレースの計数を強制することを示している。Aのトレース値はCによって計数されるが、対応する重みはない。CがAの重み−トレースの倍数に一致できる第1の実施例とは異なり、A内の可能な倍数は分割されるため、第2の実施例では実際に倍数は存在しない。
【0083】
図17A〜図17Cは、基本的な+,−,最小及び最大の関数を用いて、そのような論理のデータフロー工程の動作を概略的に示す。前述したように、波動は、priorWeights、priroDoubles及びpriorTracesの数を蓄積したと仮定する。そのような記憶した波動を受け取ると「思われる」遠位のデンドライトの観点から、デンドライトはその近位の重み及びトレースの最小値として(それぞれブロック1702及びブロック1704)その可能な倍数を計算することもできる(ブロック1706)。これにより、これらの候補の倍数を引いた当初の重み及びトレースの数として、可能な重み(ブロック1708)及びトレース(ブロック1712)の数が残される。
【0084】
これらの可能な倍数が真の倍数であり、関連付けの真の倍加として互いに一致することができる場合、遠位のデンドライトの可能な重み及び残余のトレースは、波動内で重み及びトレースを一致させることによって計数可能である。これは難しい制約である、すなわち、遠位の波動を計数しているときに、デンドライトの全ての近位の計数が、波動の蓄積値に一致するように計数されることが好ましい。一致した重み及びトレース(ブロック1722及び1724)は、それぞれデンドライト及び波動の重み及びトレースの最小値(ブロック1714及び1716)として計算される。
【0085】
デンドライトの可能な重み又はトレースが、波動の蓄積値と一致しているために計数できない場合は、波動内の可能な倍数は極めて貪欲(greedy)であったであろう。これは残余の重み及びトレースを見つけることによって、すなわち、それぞれブロック1726及び1728で一致されなかった可能な値を見つけることによって計算される。より大きな残差は、計算のバランスを取るために、それらの別個の重み及びトレースに分割する必要がある波動の倍数の数である。この強制的な分割(ブロック1736)は、波動の倍数の蓄積から取り除かれ(ブロック1736)、その個々の重み及びトレースに与えられる(ブロック1714及び1716)。
【0086】
次に、図17Bを参照する。デンドライトの可能な倍数(ブロック1706)は、波動が移動する前に完全に計数される必要があり、真の倍数である可能性がある(ブロック1736)が、それは波動がそれと一致する可能な倍数を運んでいる(ブロック1706)場合に限る。これらの可能な倍数及び波動の倍数の最小値は、実際に真の倍数である。それらの倍数は、一致した倍数として見つけられ互いに一致される。
【0087】
真のmatchedDoublesの数を知ることにより、真の重み及びトレースの数を計算することができる。matchedDoublesは記憶された重みから差し引かれて、truePriorTracesを決定する(ブロック1748)。matchedDoublesは記憶されたトレースからも減算されて、truePriorTracesを決定する(ブロック1756)。
【0088】
最後に、図17Cを参照する。デンドライトは波動を次のデンドライトに送る前に遠方を見るという観点を取る。デンドライトはその遠位の重み(ブロック1762)及びトレース(ブロック1764)の最小値として可能な次の倍数を計算する(ブロック1766)。繰り返すが、これらは、この工程が次のデンドライトの中で解決する可能な倍数である。波動の重み及びトレースはまた、繰り返された動作に対して全ての関連付けの計算のバランスを維持するために、デンドライトの遠位の観点から更新される。
【0089】
図18は、図17A〜図17Cの二重の一致フィルタ処理動作に対するプログラミングコードの実施例を示す。各コードのブロック1802,1804及び1806は、それぞれ図17A〜図17Cに示したデータフローのロジックに対応しており、連続的に実行されることが好ましい。第1のブロック1802は、デンドライト内の可能な倍数を計算し、強制された分割を計算することにより偽の倍数を取り除く動作も含む。第2のブロック1804は真の一致した倍数を計算し、波動から前の蓄積を計数する(取り出す)。次に、第3のブロックは、次の計数値を波動の重み、倍数及びトレースについての蓄積に加える。これらのコードのブロックは、デンドライト・クラスの記憶及びイメージング方法によって呼出し可能な1つ以上の専用の方法(サブルーチン)として実行することが好ましい。
【0090】
<読取り>
人工ニューロンの読取りをこれから説明する。一致した倍数の計算を書込み及び読取りの両方の動作で使用する。記憶の項で説明したように、一致した倍数は、現在のセンサのパターンの中でどの関連付けが次の重みの累乗に桁上げすることができるかということが既に知られていることを示す。「想像する」とも呼ばれる読取り動作については、一致した倍数は、新しい観察(トレース)の中で関連付けに一致したメモリ(重み)内の関連付けの数を示す。二重の一致/フィルタ処理工程は、この連想メモリの一致関数及びその類似性/距離の尺度の核心となることもできる。
【0091】
読取り動作は、新しい観察の集合が与えられた場合、過去の関連付けの呼び戻し又は想像としての役割を行う。言い換えると、観察の新しいパターンはセンサ入力のニューロンに押し付けられ、多極ニューロンの1つに集中される。次に、この多極ニューロンは可能な出力を想像し(フィードフォワード予測)、任意の他の出力に対する可能な関連付けを想像する(フィードバックパターンの完了)。これら2つの読取り動作はヘテロ連想(heteroassociation)(出力に対する入力)及び自己連想(autoassociation)(他の入力に対する入力)と呼ばれることが多い。学習理論の心理学では、これらの要素は、それぞれ刺激反応連想(stimulus-response associations)及び刺激刺激連想(stimulus-stimulus associations)と呼ばれる。
【0092】
二重の一致/フィルタ処理工程は、そのようなメモリの呼び戻しに使用されることが好ましい。簡単に言うと、呼び戻しは、現在の観察のトレース関連付けと過去を示す永久的な重み関連付けとの間の一致に対する比較である。ヘテロ連想及び自己連想のイメージの強度は、過去の経験が現在の経験に一致する程度に直接的に相関される。
【0093】
図19は、イメージング波動の伝搬がメモリ関数のように「爆発的(bursty)」であることを示すが、これ以上の桁上げが要求されない場合は停止するのではなく、イメージング関数は波動を全ての重みの累乗を通して送ることが好ましい。各累乗は、全てが加法的ないくつかの可能な関連付けを示す。各累乗1910a〜1910bに対する波動の各パス上で、デンドライトは現在の観察に対してその一致数1920を計算し、これらの一致数を2つの方向、すなわち、適確性(relevance)と呼ばれる出力の合計に向かう前方及びそれぞれのセンサに向かう後方、に蓄積する。蓄積された一致数は加算器1930で合計される。
【0094】
各多極ニューロンが何らかの出力動作又は他のラベルカテゴリー(label-category)を示すと仮定すると、適確性は現在の観察が動作又はカテゴリーに関連する程度である。このことは、いかにうまく新しい観察がこの特定の出力に関連した観察の集合に属するかというメンバーシップ関数として理解することもできる。
【0095】
図20は、本発明のいくつかの実施形態による読取りについての動作を示すフローチャートである。読取りは書込み(図13)に類似しており、二重の一致/フィルタ処理を使用できることが分かる。しかしながら、想像関数(imagine function)はブロック2006において、重みを変更するのではなく、一致した倍数を蓄積する。全体的な適確性は、デンドライトの再帰的な構造を通して蓄積され、各デンドライトはその近位及び遠位の一致数の両方を加算する。一致数は適確性と呼ばれる値に蓄積される(ブロック2014)。新しい観察は、そのパターンがメモリ内に記憶された全ての過去の観察のパターンに一致する程度に関連する。
【0096】
この蓄積の非線形関数は、図1に取り入れられた線形及び非線形の両方の連想モデルから得ることができる。任意の観察行列に対する適確性の値が、下記のように線形及び非線形の両方の項から構成すると仮定する。
適確性=wAA+wBB−wABAB
各重みは、下記のように生の観察計数から計算することができる。
wA=w11+w01−w10−w00
wB=w11+w10−w01−w00
wAB=w11+w00−w01−w10
それらは、各位相の項の中の下記の部分的な公式に再構成することができる。
適確性00=w00(−A*B−A−B)
適確性01=w01(A−B+A*B)
適確性10=w10(B−A+A*B)
適確性11=w11(A+B−A*B)
位相が既にA及びBの信号状態のフィルタとなっていると仮定すると、センサの期間がどの位相に対しても一定である、実際に各位相に対して1の定数であることが分かる。例えば、適確性00=w00である。言い換えると、各位相の部分的な適確性は、観察重みの蓄積である。このため、本発明のいくつかの実施形態は、例え部分的な表示が線形であり、呼び戻し関数が観察計数の蓄積であっても、線形及び非線形の両方の関連付けを計数することができる。二重の一致/フィルタ処理動作は、現在の観察を示すこれらの観察計数を選択する。
【0097】
図21は、図19のイメージングの実施形態に対するプログラミングコードを示す。プライム表記法(’)が使用される。Dendriteオブジェクトは、引数としてまた波動を取るメンバ関数のイメージを有する。他の関数と同様に、デンドライトの呼出しも再帰的であるが、このイメージ工程はREAD動作であり、デンドライトを通して蓄積されたtotalRelevanceを返す(ブロック2014’)。記憶関数と同様に、イメージ動作は二重の一致/フィルタ処理動作を呼び出して、近位及び遠位の一致した倍数の数を計算する。しかしながら、記憶の場合(WRITE動作)のように重みを変更するのではなく、イメージ動作は適確性を蓄積する。遠位及び近位の両方の一致した倍数に対して、適確性は重みの累乗を計数する。この適確性における指数関数的な増加は、一致した倍数を左シフトすることによって計算される。各デンドライトの計算の局所的な適確性は、他のデンドライトによって戻された全適確性に加算される(ブロック2006’)。これで、読取り動作の説明は終わる。
【0098】
プルキンエ・ニューロンは多極ニューロンの1つの形式に過ぎないことは理解されよう。大脳皮質のピラミッド形ニューロンも周知であるが、神経系は一般に、多くが複雑で多極の極めて多種多様のデンドライト状の分岐パターンを示す。同様に、本発明のいくつかの実施形態は、観察計数の他の多くの形式に適用することができる。2X2の観察行列が、観察及び相互作用を記録する基本的な要素として取り入れられたが、当業者はより高い次元の行列、極座標、カルノー図、ブール関数及び/又は階層構造を使用して観察計数を集めることもできることは認識されよう。そして、前述したように、それらを分解及び圧縮することができる。
【0099】
実際に、本発明のいくつかの実施形態は、その唯一のデンドライトの中で単極のニューロンさえも使用できる。例えば、AとBとの間の比率は結果として1つの1X1のセル、すなわち入力の各対を成す組合せに対する1つの値を生成する。これは1つの重み付けられた図表と等価であり、この図表は重み付けされない累乗の図表の集合に分解されることができ、これは今度は上述したように動的にプログラムされることができる。1つのデンドライトの反復は、恐らく単極のニューロンの中では唯一のものであり、次にそのような比率の数を示すことができる。
【0100】
要約すると、観察の追加の学習及び呼び戻しは、各可能な2つ1組の期間の組合せに対する主要なブランチから成る多極ニューロンの中で説明されている。他の多極構造を示すことができるが、この2X2の観察行列は4つの位相の実施例を提供した。各ブランチは再帰的なデンドライトから成り、各デンドライトは1つの双極性の入力ニューロンに接続され重み及びトレースの集合を含むことが好ましい。各デンドライトは重み対を記憶し、1つの重みは他の近位のデンドライトとの関連付けの数を記憶し、別の重みは他の遠位のデンドライトとの関連付けの数を記憶する。デンドライトが複数の重み対を記憶し、各対が可能な重みの基数2の累乗であることが好ましい。このため、デンドライトに対する重み対の全数を、全ての記憶された観察のlog2に限定することができる。各デンドライトはまた一対の一時的トレースを含むことが好ましい。この一時的トレースは、蓄積された重みの同じ近位/遠位の形式を使用する現在の観察を示す。
【0101】
動的プログラミングを使用するいくつかの動作は、例え計数が全ての入力間の非線形な関連付けを概算するものである場合であっても、線形の空間及び時間の中でメモリからの読取り及びメモリへの書込みを行うことができる。全ての動作は波動の伝搬を使用できる。この波動の伝搬において、波動はデンドライトの位相の向きをフィルタ処理し、波動が1つのデンドライトから他のデンドライトに移動するときにそれらの信号の蓄積を伝える。二重の一致/フィルタ処理動作は、デンドライトの重みとトレースとの間の難しい制約を処理して、結果として現在の観察において一致が得られている過去の関連付けを間接的に列挙することができる。このため、記憶動作の間に、一方の重みの累乗から他方に重みを加算及び伝えることができる。新しい観察の適確性とそのように適確性をもたらす各入力の感度とを決定するために、重みは過去のメモリと新しい入力との間のパターンの一致を測定することもできる。
【0102】
本発明のいくつかの実施形態のハイパーマシン(hypermachine)のスケーリングファクタは、連想メモリの一般的な使用可能性を大いに広げることができる。本願で説明した実施形態を実行する場合、非線形から線形のパラメータ無しの増分ローディング(incremental-loading)への圧縮においていくらかの損失が認められるが、非線形の連想装置を、インターネットの最大の規模及び無線装置の最小の規模の両方において、機械学習に対する新しい可能性を開くために線形の大きさ及び速度で今では物理的に実現することができる。
【0103】
[最大射影を規定する重みを含む人工ニューロン]
本発明のいくつかの実施形態は、前述したように、べき級数の分離と前の/次の計数とに基づいている。しかしながら、ここで説明する本発明のいくつかの実施形態は、最大射影を用いて関連付けを損失なく圧縮することができ、またヘテロ連想及び自己連想の呼び戻しの両方の多くの用途に使用することができる。
【0104】
最大射影の理論的な説明を最初に行う。次に、本発明のいくつかの実施形態による最大射影を含むニューラルネットワークの実施形態の説明を行う。最後に、本発明のいくつかの実施形態による読取り及び書込みの詳細な説明を行う。
【0105】
<最大射影の理論的説明>
本発明のいくつかの実施形態によれば、断層撮影の再構成という関連のない分野における概念が、情報損失の潜在的な問題を解決するために有益であることが明らかとなった。特に、行列用の行および列の重みを2進数の行列のエッジ方向の射影から探知することができるという、ディジタル断層撮影の問題を考えてみる。
【0106】
完全行列の行および列の合計を、図23に示すように、前の/次の合計の断層画像の生成として考えてみる。行/列の合計は、そのような行列の計算では一般に{R,S}として示される。「行」及び「列」という用語は、二次元の行列では絶対的な方向ではなく、2つの異なる次元を示すために使用されていることは理解されよう。このため、「行」及び「列」という用語は、全体を通して入れ替えることができる。
【0107】
ここで図23を参照すると、前の/次の及び行/列の射影は、三角行列に対して等価にできることが分かる。図23は、どのように「前の」重みをRにおける「行」の重みへと、すなわち行列の全ての行の合計のベクトルへとマッピングすることができるかを示している。Sすなわち行列の「列」の重みに、「次の」重みをマッピングすることができる。以下の説明には、行列数学のより一般的な表示として{R,S}表示が使用される。このことは、極めて大きな行列に対する本願の実施形態の潜在的な適用可能性も示す。
【0108】
本発明の実施形態は、ローレンツによる発見を利用することができる。ローレンツは、2進行列内のビットのいくつかの配列は「最大」であることを見出した。これは、全てのビットをパッキング内にホール(holes)を生成させずに1つのコーナにうまく「パック」するような方法で、行および列を再ソートすることができるということである。本発明のいくつかの実施形態では、本発明のいくつかの実施形態の中で説明したようなべき級数の分離は、ビット行列(2進値のみを含む行列の集合)を生成するために使用できる。このビット行列から、{R,S}射影を効率的に処理及び使用できる。
【0109】
第1に、情報を失わずに行列の行および列を再ソートできることが示される。図24は、ビット行列とそのソートされていない{R,S}射影とを示している。次に、{R,S}の合計が降順になるように、行列をソートすることができる。図25は、そのようなソートされた射影の行列を示す。ここでは、大部分の1のビットが左上にあることに注意されたい。図24の影をつけた部分は、最大ビットのパッキングのこの領域の外側に全てのビットがあるように、図25ではより良く統合及び整理される。非最大領域は「スイッチ」と呼ばれる。その理由は、ビットは{R,S}射影を変えずに異なる構成の中に移動又はスイッチできるからである。
【0110】
ローレンツは図26に示すように{R,S}射影によって、最大行列そのような最大ビットのパッキングを有するソートされた行列を完全に決定できることも発見した。行射影は最大のR(Maximal R)と表わされ、列射影は最大のS(Maximal S)と表わされる。この図では、射影は、スイッチ内にあるビットを除いた最大にパックされた行列の部分のみを示す。射影と行列は等価であり、相互に決定することができる。このため、完全行列は射影と可逆である。
【0111】
断層撮影については、このことは、いくつかの射影を再ソートすることができ、またビット位置を射影から決定できることを意味している。ローレンツは、i及びjのインデックスが付いた行列のソートされた射影を考えると、最大行列の任意の要素aijも公式aij=1 iff ri≧jによって求めることができると判断した。言い換えると、行の射影(ri)が列のインデックスj以上である場合またその場合のみ、ビットをオンにする。
【0112】
図27は、最大射影を示す{R,S}及び行および列のインデックスを示す{R’,S’}の最大行列を示す。{ξ,Ψ}は、これらの射影及びインデックスの入力ラベルを示す。図27の影をつけて強調したように、行インデックス4及び列インデックス5の関連部はONである。列インデックス5が行射影8よりも小さいため、この関連部は上記のように計算することができる。ローレンツの公式では、ri=8≧j=5となる。このため、a4,5はONである。このことは、図27でD・N=ONで示すように、DはNと明確な関連付けを有していることを意味する。
【0113】
多くの行列及びそれらの射影が最大になるようなことはないことは理解されよう。むしろ、最大の行列は多くの行列の中でも特殊な場合である。しかしながら、図25に示すように、ソートすることによって、1つの連続した最大領域が存在するが、非最大のホールもまだ残るように{R,S}を配列することができる。
【0114】
そのようなホールは「スイッチ」又は「4−スイッチ」と呼ばれる。そのようなスイッチの最も簡単な状態が、図23の影をつけた領域に示される。この場合、そのような対角線配列では、2ビットがオンで2ビットがオフである。4つの位置が、図23に示した2つの異なる配列が可能なスイッチを形成する。射影は一般に、スイッチ内のビットの位置を決定できない。このため、4−スイッチが2進行列とその射影との間の不確定性及び非可逆性の原因である。しかしながら、4−スイッチがそのようなエラーの唯一の原因であることは周知である。このことは、行列が最大にならないようにするための唯一の数学的な対象であることが知られている。
【0115】
<最大射影を示す重みを含む人工ニューロン>
本発明のいくつかの実施形態では、前述したべき級数の分離及び/又は射影の計数を使用できるが、連想メモリ内の最大射影も使用できる。これらの新しいシステム、方法及び/又はコンピュータプログラムの製品により、メモリからの読取り及びメモリへの書込みの両方の動作を改良できる。一般的に言うと、最大行列の特性を使用することにより、読取り速度を向上できる。さらに、下記に一層詳細に説明するように、4−スイッチによる損失の原因を知ることにより、損失のない読取り及び書込みができるようになる。
【0116】
<最大射影を含む人工ニューロン>
ここで図28を参照すると、本発明のいくつかの実施形態による人工ニューロンのブロック図が示されている。図28に示すように、本発明のいくつかの実施形態による人工ニューロン2800は複数の入力部2810a〜2810m及び複数のデンドライト2820a〜2820mを含み、デンドライトのそれぞれの1つは複数の入力部2810a〜2810mのそれぞれの1つに関連付けされている。図28の実施形態では、それぞれのデンドライト2820a〜2820mは、重み20〜2nを示すそれぞれのべき級数の重み2830a〜2830nを含む。重みは概ね計数用の記入子であり、別個の物理的実体である必要はないことは理解されよう。図28の実施形態では、べき級数内のそれぞれの重み2830はそれぞれの射影2840を含む。図28の実施形態では、重み2830a〜2830nのべき級数内のそれぞれの累乗に対する射影2840はソートされて、それぞれの最大射影2890a〜2890n、すなわち、関連した累乗に対して最大になるように配列された複数の射影を規定する。関連した累乗に対する射影は、ルータ2900によって、例えば前述した方法で射影長によりマッピングされ、ソートされ又はインデックスが付けられて、最大射影2890a〜2890nを規定する、マッピングされ、インデックスが付けられ又はソートされた射影を提供する。ルータ2900の中では、べき級数の各累乗に対して別個のマッピング、ソート又はインデックス付けが行われる。
【0117】
いくつかの実施形態では、べき級数内の少なくともいくつかの重み2830a〜2830nは、少なくとも1つのスイッチ2850も含む。射影及び/又はスイッチは特定の時点には存在しないが、本発明のいくつかの実施形態では、べき級数内の全ての重み位置における射影2840に対して記入子が提供され、また重み2830a〜2830nのべき級数内の各累乗に対して少なくとも1つのスイッチが提供される。いくつかの実施形態では、重み2830a〜2830nのべき級数は基数2の重みのべき級数であり、この場合、最大射影2890a〜2890nは複数の最大行射影及び/又は複数の最大列射影を含む。別の実施形態では、最大行射影及び/又は最大列射影は、べき級数内の重みによって示される、それぞれ行射影及び列射影の合計によってそれぞれソートされる。全てのデンドライト2820が重み2830のべき級数を含んでいるわけではなく、また全ての重み2830が射影2840を含んでいるわけではないことも理解されよう。このため、いくつかの実施形態では、少なくともいくつかのデンドライト2820は重みのべき級数を含み、またべき級数の少なくとも1つの累乗内の少なくともいくつかの重みが最大射影2890を規定している。
【0118】
図28の説明をさらに続ける。人工ニューロン2800の実施形態には、関連する入力部における入力信号に応答するトレースすなわち活性化ベクトル(activation vector)2860も含む。以後詳細に説明するように、トレース2860は入力信号の活性化を最大行射影及び/又は最大列射影2890内の位置にマッピングするように構成される。トレース2860は、活性化をスイッチ2850にもマッピングする。
【0119】
さらに図28を参照する。リーダ2870は最大行射影及び/又は最大列射影2890内の活性化されたサブセットをトレース2860から決定し、活性化されたサブセットの各列に対してその列のインデックス以上の最小の行射影を選択するように構成される。別の実施形態では、リーダ2870は、関連した列のインデックス以上の最小の行射影を活性化されたサブセットの列に対して蓄積し、これにより、入力信号の重みとの関連付けを得るようにさらに構成される。
【0120】
なおも図28を参照すると、ライタ2880も含まれて、このライタは、最大射影2890及びスイッチ2850の中にトレース2860を埋め込むように構成される。いくつかの実施形態では、以下に詳細に説明するが、ライタ2880は、トレース2860と最大射影2840との間に冗長な射影を見つけるように構成された行列圧縮部(matrix compressor)を含む。
【0121】
当業者は、他の実施形態では、デンドライト2820a〜2820mは重み2830a〜2830nのべき級数を含む必要がないことも理解されよう。むしろ、べき級数の中にはない1つ以上の重みが提供される。この場合、少なくともいくつかのデンドライトに対する少なくともいくつかの重みが最大射影2840を規定する。この重みはルータ2900によってソートされ、最大射影及びスイッチ2850を作る。これにより、本発明の実施形態による最大射影及びスイッチが、本発明の実施形態による重みのべき級数に対して別々に使用される。
【0122】
<読取り>
前述した本発明のいくつかの実施形態により、線形の読取り及び書込みが可能になった。このことは、関連付行列が二次的にスケーリングされることを考える場合は望ましい。しかしながら、関連付けのサブセットまでも計算するためには、前の/次の重みの集合の全体を始めから終わりまでスキャンする必要がある。以下に説明する本発明のいくつかの実施形態により、行および列射影のアレイ全体の長さには無関係に、個々の関連付けの読取りを行うことができる。関連付けの強さをビットの集合の中に各行列に1つづつ分割することができることを考えると、行および列内の任意の2つA及びBの入力を照合することによって、各ビットのレベルを読み取ることができる。各行列内のA及びBの射影及びインデックスを知ることにより、A及びBがそのビットに対して関連しているかどうかを判断できる。
【0123】
このことは、極めて大きなニューロンに対しても行うことができる。特に、いくつかの実施形態では、読取り及び書込みは所定の入力ベクトルの大きさのみに依存し、ニューロン全体の大きさに依存する必要はない。多くの用途においては、読み取られるベクトルは通常、ニューロンメモリ全体における機能空間全体の数分の一である。例えば、いくつかの実施形態では、例えメモリ全体が10K〜100Kの可能な属性値を持つ場合でも、100個の属性値のベクトルを数ミリセカンドで読み取ることができる。
【0124】
これに反して、読取り(及び書込み)時間は、一般に、ベクトル内の各属性値を他の属性値のそれぞれについて検討する必要がある場合には二乗の時間がかかる。要求が多いいくつかの用途については、入力ベクトルの大きさは1K〜10Kとすることができる。例え読取り時間が1Mまでは関連付行列の大きさに無関係であっても、この幾何学的なスケーリングをさらに向上させることができる。
【0125】
図29は、図28のトレース2960のようなトレースベクトルの活性化を示す。前述したいくつかの実施形態におけるように、トレースは入力刺激(input stimulation)を示す。図28の入力ベクトル2810a〜2810mのような入力ベクトルのそれぞれの素子は、行列に対する入力線によって示される。入力ベクトルを与えると、トレースは全ての適当な行および列にマッピングされる。
【0126】
例えば、図29に示すように、トレースTの入力項は{A,B,D,F,G,J,K,N,P,Q,R,T}を含み、この特定の行列はJ〜Vとの関連付けA〜Iを記憶する。これらの入力の活性化は、行列の行及び/又は列内のそれらの位置に対してマッピングされる。このトレースの活性化に対して、図29は影をつけたセルのように、アクティブな行とアクティブな列との間のアクティブな関連付けも強調して示す。アクティブな行および列はより暗い網掛けで強調表示され、特定の関連付けに対するそれらの交点、すなわち行列内のセルを示す。このトレースは、図29内では25の関連付けを活性化する。
【0127】
図29及び他の多くの図面の中に明確な行列が示されているが、本発明の実施形態を説明するためには、本発明の実施形態によるシステム、方法及び/又はコンピュータプログラムの製品の一部として使用する必要はないことが理解されよう。既に説明したように、射影自体は行列を表示するのに十分である。行列は二次的にスケールされるが、射影は直線的にスケールされる。下記の実施形態は、トレースの活性化の読取り及び蓄積を線形の時間で行うために射影のみを使用する。
【0128】
図30は、図29で活性化された行列のサブセットを示す。活性化されたサブセットも最大行列であるため、活性化された射影もこの行列のビットを表示及び読取りを行う場合には損失が生じない。図30において、{R,S}は最初の射影を表示し続けるが、活性化されたサブセットを示すために{+R,+S}と表示する。同様に、{+R’,+S’}は、活性化された本来のインデックスを示す。また、{+R”,+S”}はサブセットの行列のインデックスを示し、+Tは活性化されたトレースのサブセットを示す。
【0129】
最初の射影と{+R”,+S”}の加算のみを考えると、これは{+R,+S}の大きさまで線形の時間で計算することができ、これらの実施形態は+R≧+S’のような+Rの最小の可能な射影を(各列に対して)選択する。言い換えると、+S”は行の射影がそれに到達するために十分に長い必要があるような列のインデックスを示す。言い方を変えると、概念上の観点からすると、列に到達するほど十分長い活性化された行の射影がある場合、その行射影及びそれより長い全ての行射影は列に到達できる。射影は階数の順序であるため、+R’は最初の行列内のそのような行の数を示す。読取り要求は列に到達できる活性化された行の数にのみ関心があるため、+R”はそのような活性化された行の数を与える。図30では、いかにこれらの+R”の値がそれぞれの列内の活性化の数に対応するかを見ることができる。
【0130】
最大行列の1つのセルに対する上記の推論は、線形の時間内で全ての活性化されたセルをカバーするように拡張できる。このことは、図29から理解することができる。第1の行(R’=1)及び13であるその射影(R)を見ると、それは下側又は13であるインデックス(S’)における全ての列の活性化(S)に拡張できる。列11はそのような最大のインデックスであり、7番目のそのような活性化されたインデックスである。このため、13の活性化された射影は7個の列と交差する。これらの交差は25の1つの計数に蓄積することができるか、又は活性化自体の最大射影とすることができる。{7,7,5,4,2}のようなこのサブセットの射影は、行当たりのサブセットの関連付けの数を説明する。トレースの全「点数」は25の関連付けとして蓄積できるが、それぞれの特定の関連付けは完全に呼び戻される。例えば、Aのサブセットの射影は7であり、これはAが真のトレースの集合{A,B,D,F,G,J,K,N,P,Q,R,T}内に他の項を有する行列内に7の関連付けを有することを意味する。
【0131】
より具体的に言うと、図31は、本発明のいくつかの実施形態に基づいて読取りを実行する動作のフローチャートである。R及びSの両方は行列に関して同じ情報を含むため、どちらも使用できる。しかしながら、図31では、新しい行および列射影の両方の構築及び戻りが示されている。
【0132】
ここで図31を参照する。トレース内の各Activated Value(活性値、AV)に対して(ブロック3100)、活性化された属性値が行(ブロック3101)又は列(ブロック3111)のいずれかに含まれる。全てのそのような行および列は、ブロック3102及びブロック3112でそれらの射影{+R,+S}及びそれらのインデックス{+R’,+S’}に従って蓄積される。次に、図31の左側を検討すると、+S内の最小の射影及び+R’内の最小のインデックスから始めて(ブロック3103)、射影がインデックス以上である(インデックスに「到達する」)場合(ブロック3104)、Rから活性化された射影はサブセットの行列内の+Sのインデックスに等しい(ブロック3106)。そうでない場合は、+S内の次に高い射影が評価され(ブロック3105)、これらの動作は射影がインデックスに到達して(ブロック3106)、+S”から新しい射影がマークされるまで繰り返される。これらの動作は、+R’内の各連続するインデックスに対して繰り返される。射影はブロック3107において戻される。列に対する類似の動作が、ブロック3113〜ブロック3116で実行される。
【0133】
射影はソートされた順序(最大射影)となるので、+Sの最後の値は、+R’の次の繰返しを開始するための最小の可能な値になる。言い換えると、この最後の特性により、本発明の実施形態は+R’又は+Sのどちらか大きい方の寸法まで時間的に線形になることができる。
【0134】
各圧縮された行列からのこれらのビットの蓄積は、関連する重みを構築するために整数として蓄積することができ、これらの整数はヘテロ連想及び自己連想の呼び戻しの両方に使用できる。このため、本発明のいくつかの実施形態では、任意の他の属性値に対する任意の属性値の正確な計数値は、損失なしに再構成することができる。本発明のいくつかの実施形態の中でヘテロ連想機能に対して説明したような計数の全体的な蓄積に加えて、本発明のいくつかの実施形態は自己連想の正確な計算−任意の他の属性値に対する任意の属性値の計数−に対応できる。
【0135】
下記の代数は、この線形の読取りからどのように計算を集めることができるかを実証している。特に、条件付き確率の加算は、下記のように、べき級数の射影の加算から計算することができる。
【0136】
Bのような任意の変数とAのような目標変数との間の関連付けの条件付き確率は、Prob(A|B)として与えられる。これはAB/Bとして計算することができ、ここでABはABに関連付けされている回数であり、BはBに対する全ての関連付けの合計である。これら2つの値は、最大行列の射影から読み取ることができる。前述したように、分子ABがオンかオフかを判断することは可能である。分母Bは、Bの全ての関連付けを示す射影全体の値である。
【0137】
しかしながら、二次式の時間ではなく線形の時間内で最大行列に含まれた全ての条件付き確率を読み取るために(各組合せの読取り)、前述した線形の読取りを使用できる。下記のように、2つの条件付き確率を蓄積する必要性を仮定する。
P(A|B)+P(A|C)=AB/B+AC/C=(AB+AC)/(B+C)
そのような加算は同時確率の近似に過ぎないが、この公式はここではAB+AC及びB及びCを計算することによって、最大行列から線形の時間内で蓄積することができる。本発明のいくつかの実施形態のべき級数を使用することによって、任意の関連付けの整数値をそのべき級数表示の中に分解することができる。AB及びACの整数の重みは、下記の式のように分解できる。
AB=1*AB1+2*AB2+4*AB4
AC=1*AC1+2*AC2+4*AC4
ここで、AB1は20(1)におけるビットを表し、AB2は21(2)におけるビットを表すなど、これは22(4)まで続く。各要素は、AB4が22(4)により乗算されるように、その累乗の強度によって乗算される。これらの項は下記のように再配列される。
AB+AC=1*(AB1+AC1)+2*(AB2+AC2)+4*(AB4+AC4)
前述した線形の読取りは、ここではAB1及びAC1のような合計を計算するために利用できる。言い換えると、20行列におけるB及びCのAに対する組み合わせた関連付計数は、この行列内のAのサブセット射影によって与えられる。{A,B,C}のトレースを考えると、Aのサブセット射影は下記のようになる。
rA1=AB1+AC1
ここで、rA1はべき級数内の第1の行列の射影に対するAのサブセットの行射影を示す。べき級数全体にわたるサブセット射影の合計は、下記のように計算される。
rA=rA1+2*rA2+4*rA4
ここで、rAは全てのべき級数全体にわたる他の項に対するAの関連付強度を示す。この関連付強度を条件付き確率の合計に変換するために、rAは下記のようにB及びCの重み全体によって分割される。
P(A|B)+P(A|C)=rA/(B+C)
従って、Bの全重みは、べき級数内の全射影の合計から蓄積できる。例えば、Bの行射影が20行列内で5に等しく、21行列内で3に等しい場合は、B=1*5+2*3=11になる。
【0138】
要約すると、多くの行列計算は、行列が最大の場合は線形時間内で計算できる。そうするためには、計算は前述したようなべき級数表示に分解され、それぞれの項は各べき級数レベルのサブセットの射影又は全射影として収集可能及び読取り可能である。他の実施形態では、べき級数の分解は最大射影と一緒に使用する必要はない。多くの2つ一組の条件付き確率に対する線形時間内の同時計算は、そのような線形読取りの1つの例であるが、他の多くの方法(例えば、変化量の測定)も本発明の実施形態に基づいて可能である。
【0139】
<書込み>
本発明のいくつかの実施形態による書込み動作をここで説明する。線形時間内で最大行列を読み取る前述した能力を考え、これらの実施形態においてはそのような最大行列をどのように抽出し、最大及び非最大の両方の区画を管理するかを説明する。
【0140】
離散型の断層撮影の目標は、これらの射影から行列内のビットの内部位置を評価することである。断層撮影の用途では、射影が与えられる。行列自体は対象物の中に隠されていて、断層撮影法は行列内部を「見て」、医用画像形成などのために行列を再生するために使用される。連想メモリの書込み動作は、反対の問題を示すことがある。関連付行列は与えられており、メモリは全ての関連付けをそのような効率的な射影の中に圧縮する。
【0141】
全ての関連付けがべき級数内の最大行列として配列されることが理想的である。そうなる場合、前述した本発明のいくつかの実施形態の中で仮定したように、前の/次の射影は線形形式でビットの圧縮を完全に示すことができる。しかしながら、そうでない場合は、多くの関連付行列は最大となる区域を生ずるが、図25及び図32に示すように、残留する4スイッチも含む。最大区域は高く圧縮されるが、最初に4スイッチの存在及び位置を求める必要がある。この4スイッチの問題を解決すれば、そのときは本発明のいくつかの実施形態に基づいて、本発明のいくつかの実施形態における前の/次の計数の損失が多い圧縮を減らす又は取り除くことができる。
【0142】
スイッチを発見する1つの方法は、行列の最大部分を非最大の部分から分離することである。既に説明したように、射影をソートすることは、対角線に沿ってスイッチを集めることにつながる。次に、多くのソート技術を使用できる。いくつかの実施形態では、{R,S}の特別な特性を除いて、Cソート(C-Sort)と呼ばれる従来の技術を使用できる。Cソートは直線的にスケールするが、特別な仮定が必要なため多くは使用されない、すなわち、ソートされる最大数はソートされる項数よりも大きくすることはできない。しかしながら、{R,S}射影はこの特性を有している。特に、ソートされた数はある行又は列における他の行又は列に対する関連付けの数を示すため、関連付け数は行又は列の数よりも大きくなることはない。このため、Cソートは最大射影をソートするために使用できる。しかしながら、従来のジャバソート(Java sort)などの他の多くのソートプログラムも使用できる。
【0143】
射影がソートされると、次に記載する動作は4スイッチの座標を決定できる。図32が実施例として提供される。図33は、本発明のいくつかの実施形態に基づいてスイッチを発見するために使用できる動作のフローチャートである。
【0144】
ここで図32及び図33を参照する。スイッチを発見する(ブロック3300)ために、ブロック3302で「カーン(karn)」が計算される。ローレンツの方法に関して、L(R)及びL(S)内のLは、{R,S}射影の相互参照を示す。この計算に名前を与えるために、「カーン」が「階数」のアナグラムとして使用される。各列に対して(例えば)、L(S)=maxR’|R≧S’となる(ブロック3303)。同様に、L(R)=maxS’|S≧R’である。言い換えると、Rのカーン(ブロック3302)は、ゼロベースのインデクシング方式を用いて、行射影がRの列インデックス以上であるような最大の行インデックスである。例えば、図32では、項CのLRは、たとえその射影が8に等しいとしても、11に等しい。これは、列インデックス11は、列射影2がCのゼロベースのインデックスよりも大きい最大インデックスであるからである。ゼロベースのインデックス=2を作るCに対するR’は3である。このため、11番目の列射影≧Cのゼロベースのインデックス、2≧2、となる。概念的には、そのようなLS及びLRの値は、不確実性の「エッジ」−最大区域及び各行および列に対するスイッチの外側のエッジ−を決定するために見ることができる。
【0145】
なおも図33を参照する。ブロック3301及びブロック3305において、部分和が比較される。言い換えると、ΣR,ΣS,ΣL(R),及びΣL(S)がそれぞれ、行および列の最初のインデックスから最後のインデックスまで計算される。ΣS<ΣL(S)及びΣR<ΣL(R)の場合はいつでも、行および列射影の「交差」がある。そのような交差は行列の変数領域によって生じ、4スイッチの位置を示す。例えば、図32において、入力項Cに対する部分和は互いに等しくない。ΣR=34であり、一方ΣL(R)=35である。言い換えると、射影の連続和(running sum)は、外側エッジの連続和よりも小さい。これらの値が同じになる場合、射影は最大になる。不確実性の外側エッジが射影よりも大きい場合は、全てのビットは「パック」されない。行Cにスイッチがある。これらの部分和が再度互いに等しくなる場合、スイッチは終了するが、スイッチはこの点を含む。このため、行D及び行Eもスイッチの一部である。
【0146】
さらに図33を参照する。ブロック3306及びブロック3307において、動作は間隔を置いて実行される。4スイッチを含む座標間隔が、行および列の互いとの交差を関連付けすることによって発見される。例えば、図32は、行[C,E]が1つの間隔を形成し、一方[G,H]が別の間隔を形成することを示している。同様に、[L,O]及び[R,T]が列間隔を形成する。基本的な形状を使用して、4スイッチのコーナ座標(ブロック3309)の中にこれらの間隔を関連付けする(ブロック3308)ことができる。そのようなスイッチが行列の対角線上に存在するという制約を考えると、[C,E]行間隔は[R,T]列間隔と交差し、一方[G,H]間隔は[L,O]間隔と交差する。各スイッチのコーナを決定する(ブロック3310)と、CRは1つのスイッチの左上のコーナにあるのに対して、ETは右下のコーナにある。一旦これらの位置が決定される(ブロック3311)と、高く圧縮された{R,S}射影及び残余のスイッチの中に最大値を分離することができる。
【0147】
スイッチを発見することは書込み動作の一部に過ぎないことは理解されよう。完全なシステムは射影の各べき級数の最大部分を発見し記憶するだけではなく、残余のスイッチも記憶できる。多くの従来の技術を使用して、スイッチを最大射影から別個のものとして表示できるが、2進数の行列として明確に記憶することは、本発明のいくつかの実施形態の中で使用できる1つの概念的に率直な技術である。
【0148】
図34は動作3400のフローチャートであり、最大射影と図34では「小さい」行列と呼ぶスイッチ行列との両方を発見するために使用できる。小さいビットパターンはビットアレイであり、そのまま極めて効率的に記憶することができる。行又は列の数がコンピュータの符号化のワード長よりも小さい場合(ブロック3401)、この行列は小さい行列として記憶される(ブロック3402)。例えば、32ビットの整数を使用する場合、32ビットの射影が整数内に32ビットとして記憶され、行列が最大であろうとなかろうと、書込み及び読取りのためにマシンレベルの動作により処理される。このため、16x16の行列は各行を16ビットで表示できるのに対して、射影重みの整数表示は32ビットと仮定できる。
【0149】
圧縮はより大きな行列に対して使用できる。この場合、図33で説明したようなスイッチを発見する動作(ブロック3403)は、任意のスイッチすなわち「ホール」を返す。ホールがない場合(ブロック3404)、行列はブロック3405において最大行列として戻され、その射影として直線的に記憶されることができる。ホールがある場合は、他のいくつかの検討が行われる。さらなる圧縮が許可されない場合(ブロック3406)、動作はその射影として最大行列を、小さい行列として4スイッチ区域を返す(ブロック3407)。
【0150】
他方では、分割することができる比較的大きな4スイッチを持つこともでき、結果として2つの最大行列が生ずる。分割動作(ブロック3408)の正確な技術は任意であるが、始めの非最大の行列を2つに分割することは、少なくとも最大で潜在的に最も面倒なスイッチを破壊することになる。2つの分割された行列はブロック3401に戻されて、それらが小さい行列か、最大行列であるか、又はさらなる分割が必要かどうかが決定される。
【0151】
本発明のいくつかの実施形態に基づいて、新しいトレース入力を現在の行列の中に埋め込む動作(書込みすなわち記憶)が、図35で説明される。これらの実施形態では、カプセル化におけるオブジェクト指向の特性が使用される。これは全ての関連付けのビットごとの操作を避けることができ、いくつかの実施形態では、現在の表示を最も効率的で標準的な表示にすることができる。このため、次の説明はマシン間隔の詳細な実現を指定しない。むしろ、その説明は多くの方法で実現できるいくつかの目的物の動作を指定する。
【0152】
図35では、すべての行列はIsummableのタイプである(ブロック3500)。このISummableインターフェースでは、行列表示は3501において、その行および列の大きさ並びにその行および列の射影を報告できる。最大行列及び小さい行列は、他の読取り及び書込み機構の全てをこの差から切り離すことができるように、このインターフェースを実現できる。
【0153】
さらに、ISummableは再帰的なものとすることができる。いずれか1つのISummableは、リスト又はネストの中に他のISummableを幾つでも含むことができる。このため、ISummableを含むことにより、含まれたISummableの結果として生じた大きさ及び射影を照合することができる。例えば、どの2つの最大射影も合算して、1つのISummableとして扱うことができる。ISummable「ボックス」3500の外側からは、目的物が3501においてその大きさ(getNumRows及びgetNumCols)及び射影(getRowSums及びgetColSums)を報告できる限り、それが1つの射影、多くの射影、又は小さい2進行列として実現されたものから構成されるかどうかは重要ではない。このため、行列の組合せを、それらの集合的な大きさ及び射影により任意に構成及び処理することができる。
【0154】
図35に示すように、図28のライタ2880の一部とすることができる行列圧縮機3503は、その内部構造を知らなくても、ISummable3500内の疑問符(?)で示すように、どのISummable3500も呼び出すことができる。その仮想的であるが完全な構造のみを見れば、圧縮機3503は、最初の構成から最大行列3505及び新しい最適な構成を作り出すことができる。
【0155】
図36は、第1のトレースからメモリを作るための第1の観察の実施例である。このトレースは、図36の中でトレース行列と呼ばれる1つの最大行列の中で説明される。いくつかの実施形態では、射影がトレース行列を反映できるため、完全な行列は使用されない。さらに、行射影及び列射影も単独で完全な行列を表示できることを思い出してほしい。このため、本発明のいくつかの実施形態では、行射影(図36ではTrace Rと呼ばれる)のみしか表示する必要がない。第1の観察は、トレースの射影が、図36では20Memory Matrixと呼ばれる、べき級数の第1のレベルにおいて第1のメモリになる場合である。
【0156】
第2の観察は別の新しいトレースの行列であり、これはこの実施例では、完全に満たされた最大の三角行列である。図37はそのような完全行列は示していないが、新しいトレースを所定のメモリに加えるためのISummableとして、どのように射影を処理できるかを示している。
【0157】
第1に、図35の行列圧縮部3503は、どの素子がメモリと新しいトレースとの間で冗長的であるかを発見する。これらのビット素子は、他の面のべき級数表示に対する桁上げになる。前述した読取り方法を考えると、射影を用いてどの素子も決定することができる。メモリとトレースの両方でONのどの素子も図37の桁上げ位置に置かれて、メモリとトレースの射影が低下される。図37の場合、トレース全体が桁上げになり、結果として射影が低下されたメモリが生ずる。
【0158】
第2は、図37に示すように、当初の重みが変更されたので、それらはソートされた順序ではない、このため、これらは再度ソートされる。
【0159】
第3は、行射影、列射影、及び完全行列は等価であり互いから導き出せるため、圧縮機はcreateMatrix及びそのfindHoles方法(図34)を実行するために、行射影から列射影を生成する。カーン及び部分和が計算される(図33)が、この場合、トレースをこのメモリ内に加えることにより、なおも最大であるメモリが結果として生ずるため、ホールは存在しない。このため、更新され再ソートされた行射影は、べき級数内の第1のメモリを正確に表示し続ける。図37に示すように、このメモリはその行射影として記憶されるが、冗長な列射影は廃棄される。
【0160】
図37では、入力項の順序はその最初の順序から変更されていることに注意されたい。特に、B及びCは交換されている。そのような細部は図37から除かれているが、本発明の実施形態は外部の項を内部座標の中にマッピングするためにそのような変更を説明できる。説明できない場合は、本発明の実施形態は、項のリストを通して検索するたびに、各項の射影を発見する必要がある。その代わり、本発明の実施形態は、各項に対してオフセットのマップを保持することができる(ブロック3506)。これらのオフセットは、外部の項からソートされた射影順序の中の内部位置へのマップとしての働きができる。
【0161】
最後に、桁上げはべき級数内の次のメモリに加えられるが、まだないため、最初のトレースが図36で第1のメモリになったように、この桁上げはべき級数内の次のメモリになる。
【0162】
図38は、さらに別の実施形態を提供する。この場合この実施形態は、中に1つの小さいホールのオフセットとを含む最大射影から成る新しいISummable構成を作り出す。この場合、最大射影として記憶された、CとEとの間の1つの新しい関連付けが、第1のべき級数に加算される。しかしながら、関連付けが桁上げされるため、それは加算されるのではなく除去されることに注意されたい。この記憶された射影に対する加算(実際は除去)の結果、新しい複合のISummableが作られる。この複合のISummableは既にソートされた順序であるため、再ソートする必要はない。上述したfindSwitches動作(図33)は、この第1のべき級数の射影のCEの関連付けが実行された後、1つの小さい新しいホールを計算する。射影のみからの判断では、CがE又はDと結び付いているかどうか(またそれにより、Bがこの時E又はDと結び付いているかどうか)は不明である。しかしながら、ISummableの複合体を系統立てて調査することによって、真の状態を決定し、スイッチの明確な行列の中に記憶することができる。スイッチの射影を最大射影から除くことによって、射影の最大性が維持される。さらに、この実施例では、射影はスイッチを取り除いた後でもソートの順序で続くため、再ソートを行う必要はない。
【0163】
要約すると、ISummableの事例の中の2つの行列の直接的な構成に対して、行列圧縮機3503は、関連付けされた射影を分析することによって最適な新しいISummable3507を構築できる。本発明のいくつかの実施形態の中で説明したような桁上げ行列を、同じ方法で取り扱うことができる。桁上げ結果は、例えば、上記の線形の方法によって1つのビットレベルから読み取ることができ、第1のレベルの最初のトレースの行列と同様に、次のビットレベルの構成の中で使用できる
【0164】
効率良くするために、各行列のインデックスは局所的で、より大きな行列のオフセットに関連する。これらのオフセット3508,3509を使用して、アプリケーションの属性値のインデックスと前述した全ての実施形態の中で使用できる局所的なインデックスとの間を中継することができる。そのようなオフセットは、他の点では最大行列内のスイッチ(「ホール」)の位置を示すこともできる。
【0165】
他の技術はある程度の圧縮を行うことができるかもしれないが、他の技術は本発明の実施形態の少なくとも1つを複製せずに、本発明の実施形態のレベルの圧縮を行うことはできない。特に、情報理論によれば、数の2進符号化はその最も効率的な符号化として知られている。本発明のいくつかの実施形態に基づいて、重みをべき級数のビット行列の中に分離することにより、この理想的な符号化を保存できる。任意の数の2進符号化と同様に、この分離のスケーリング効果は、全体的に任意の対を成す関連付けの最大数(任意の非2進行列内の最大数)に対して対数となることである。そのような対数のスケーリングは、他の任意の1つの分離又は畳込みに取って代わられることはない。
【0166】
さらに、通常の行列の重み計数が2進の行列(重み無しの図表)に分割されると、4スイッチが解決すべき1つの唯一の問題であることが示されている。具体的に言うと、4スイッチの問題が{R,S}射影から行列を再構成する上での唯一の問題であることは周知である。本発明の実施形態は、そのようなスイッチを識別、分離、及び分割することによってその問題に取り組むことができる。このため、べき級数の分離は、分解に対する最良の可能な主要な技術であり、この方式に従えば、本願で説明したようなスイッチについての固有の問題に対する1つの唯一の解決法がある。
【0167】
図面及び明細書の中で、本発明の実施形態を開示してきた。特定の用語が使用されるが、それらの用語は一般的で説明のためのみに使用されたものであり、限定する目的で使用したのではない。本発明の範囲は、以下の特許請求の範囲において述べる。
【図面の簡単な説明】
【0168】
【図1】図1A及び図1Bは、それぞれ従来の線形及び幾何学的なニューラルネットワークのブロック図である。
【図2】小脳皮質のニューロンの図である。
【図3】観察を極位相(polar phase)として概念的に示す図である。
【図4】観察を位相図表に分離したことを概念的に示す図である。
【図5】位相図表を重みなしの図表に分離したことを概念的に示す図である。
【図6】動的なプログラムの重みを概念的に示す図である。
【図7】1つの観察位相に対する本発明のいくつかの実施形態による神経樹状構造(neurodendritic structure)のブロック図である。
【図8】本発明のいくつかの実施形態による複数の観察位相を含む多極ニューロンのブロック図である。
【図9】1つの観察位相に対する本発明のいくつかの実施形態によるトレース波動の伝搬を概念的に示す図である。
【図10】本発明のいくつかの実施形態によるトレース形成に関する動作を説明するフローチャートである。
【図11】本発明のいくつかの実施形態によるトレース形成に関する動作を説明するフローチャートである。
【図12】本発明のいくつかの実施形態に基づいて、ニューラルネットワークに対して記憶を行うためのブロック図である。
【図13】本発明のいくつかの実施形態に基づいて記憶を行う動作のフローチャートである。
【図14】本発明のいくつかの実施形態に基づいて記憶を行う動作のフローチャートである。
【図15】本発明のいくつかの実施形態による二重整合/フィルタ処理(Double Match/Filter)のブロック図である。
【図16】本発明のいくつかの実施形態による図15の二重の一致/フィルタ処理の動作の実施例を示す図である。
【図17A】本発明のいくつかの実施形態による二重整合/フィルタ用の動作のフローチャートである。
【図17B】本発明のいくつかの実施形態による二重整合/フィルタ用の動作のフローチャートである。
【図17C】本発明のいくつかの実施形態による二重整合/フィルタ用の動作のフローチャートである。
【図18】本発明のいくつかの実施形態による二重整合/フィルタ用の動作のフローチャートである。
【図19】本発明のいくつかの実施形態による読取り動作のブロック図である。
【図20】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図21】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図22】異なる図表が同じ前の/次の重みを持つことができる方法を説明する図である。
【図23】前の/次の及び行/列の射影を等価にすることができる方法を示す図である。
【図24】未ソートの行および列の射影のビット行列を示す図である。
【図25】ソートされた射影のビット行列を示す図である。
【図26】本発明のいくつかの実施形態による最大射影のビット行列を示す図である。
【図27】本発明のいくつかの実施形態による最大射影並びに行および列のインデックスを用いたビット行列を示す図である。
【図28】本発明のいくつかの実施形態による人工ニューロンのブロック図である。
【図29】本発明のいくつかの実施形態によるトレースの活性化を示す図である。
【図30】本発明のいくつかの実施形態によるトレースの読取りを示す図である。
【図31】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図32】本発明のいくつかの実施形態によるスイッチを用いた最大射影を示す図である。
【図33】本発明のいくつかの実施形態に基づいてスイッチを発見する動作のフローチャートである。
【図34】本発明のいくつかの実施形態に基づいて、最大射影及び/又はスイッチを発見する動作のフローチャートである。
【図35】本発明のいくつかの実施形態による書込み動作のブロック図である。
【図36】本発明のいくつかの実施形態に基づいて、第1のトレースからの最大射影を用いてビット行列を作るための、第1の観察の書込みを示す図である。
【図37】本発明のいくつかの実施形態に基づいて、最大射影を用いてビット行列への第2の観察の書込みを示す図である。
【図38】本発明のいくつかの実施形態に基づいて、最大射影を用いてビット行列への第3の観察の書込みを示す図である。
Claims (72)
- 複数の入力部と、
それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトであって、前記デンドライトの少なくともいくつかが重みのべき級数を含み、前記べき級数の少なくとも1つの累乗における前記重みの少なくともいくつかが最大射影を規定する複数のデンドライトと
を含む人工ニューロン。 - 前記べき級数の少なくとも1つの累乗が少なくとも1つのスイッチも含むことを特徴とする請求項1に記載の人工ニューロン。
- 前記重みのべき級数が基数2の重みのべき級数であり、前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みが最大行射影及び/又は最大列射影を規定することを特徴とする請求項2に記載の人工ニューロン。
- 前記最大行射影及び/又は前記最大列射影がそれぞれ行射影及び/又は列射影の合計によってソートされることを特徴とする請求項3に記載の人工ニューロン。
- 前記関連付けされた入力部において入力信号に応答し、前記最大行射影及び/又は前記最大列射影の位置に前記入力信号の活性化をマッピングするように構成されたトレースをさらに含むことを特徴とする請求項3に記載の人工ニューロン。
- 前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び/又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項3に記載の人工ニューロン。
- 前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び/又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項5に記載の人工ニューロン。
- 前記トレースに応答して前記最大行射影及び/又は前記最大列射影における活性化されたサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するように構成されたリーダをさらに含むことを特徴とする
請求項5に記載の人工ニューロン。 - 前記関連付けされた列のインデックス以上の前記最小の行射影を、前記活性化されたサブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得るように前記リーダがさらに構成されることを特徴とする請求項8に記載の人工ニューロン。
- 前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタをさらに含むことを特徴とする請求項5に記載の人工ニューロン。
- 前記ライタが前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧縮部を含むことを特徴とする請求項10に記載の人工ニューロン。
- 前記それぞれのデンドライトが前記重みのべき級数を含み、前記べき級数のそれぞれの累乗におけるそれぞれの重みが最大射影を規定することを特徴とする請求項1に記載の人工ニューロン。
- 複数の入力部と、
それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトであって、前記デンドライトの少なくともいくつか重みを含み、前記重みの少なくともいくつかが最大射影を規定する複数のデンドライトと
を含む人工ニューロン。 - 少なくとも1つのスイッチをさらに含むことを特徴とする請求項13に記載の人工ニューロン。
- 前記最大射影が最大行射影及び/又は最大列射影を含むことを特徴とする請求項14に記載の人工ニューロン。
- 前記最大行射影及び/又は前記最大列射影がそれぞれ行射影及び/又は列射影の合計によってソートされることを特徴とする請求項15に記載の人工ニューロン。
- 前記関連付けされた入力部において入力信号に応答し、前記最大行射影及び/又は前記最大列射影の位置に前記入力信号の活性化をマッピングするように構成されたトレースをさらに含むことを特徴とする請求項15に記載の人工ニューロン。
- 前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び/又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項15に記載の人工ニューロン。
- 前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び/又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項17に記載の人工ニューロン。
- 前記トレースに応答して前記最大行射影及び/又は前記最大列射影における活性化されたサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するように構成されたリーダをさらに含むことを特徴とする請求項17に記載の人工ニューロン。
- 前記関連付けされた列のインデックス以上の前記最小の行射影を、前記活性化されたサブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得るように前記リーダがさらに構成されることを特徴とする請求項20に記載の人工ニューロン。
- 前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタをさらに含むことを特徴とする請求項17に記載の人工ニューロン。
- 前記ライタが前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧縮部を含むことを特徴とする請求項22に記載の人工ニューロン。
- それぞれのデンドライトが最大射影を規定するそれぞれの重みを含むことを特徴とする請求項13に記載の人工ニューロン。
- 複数の入力部と、それぞれが前記複数の入力部のそれぞれの1つと関連付けされている複数のデンドライトとを含む人工ニューロンを動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対して重みのべき級数を生成するステップを含み、前記べき級数の少なくとも1つの累乗における前記重みの少なくともいくつかが最大射影を規定する方法。 - 前記生成するステップが前記べき級数の少なくとも1つの累乗に対してスイッチを生成するステップをさらに含むことを特徴とする請求項25に記載の方法。
- 前記重みのべき級数が基数2の重みのべき級数であり、前記生成するステップが最大行射影及び/又は最大列射影を前記べき級数の少なくとも1つの累乗の重みに対して生成するステップをさらに含むことを特徴とする請求項26に記載の方法。
- 前記生成するステップが、前記行射影及び/又は前記列射影の合計によりソートすることによって、前記最大行射影及び/又は前記最大列射影をそれぞれ生成するステップをさらに含むことを特徴とする請求項27に記載の方法。
- 前記最大行射影及び/又は前記最大列射影の位置に前記入力信号の活性化をマッピングするステップをさらに含むことを特徴とする請求項27に記載の方法。
- 前記最大行射影及び/又は前記最大列射影を規定するために、前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするステップをさらに含むことを特徴とする請求項27に記載の方法。
- 前記最大行射影及び/又は前記最大列射影を規定するために、前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするステップをさらに含むことを特徴とする請求項29に記載の方法。
- 前記マッピングするステップに応答して前記最大行射影及び/又は前記最大列射影の中で活性化されたサブセットを決定するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するステップと
をさらに含むことを特徴とする請求項29に記載の方法。 - 前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して蓄積するステップをさらに含み、これにより、前記入力信号の前記重みに対する関連付けを得ることを特徴とする請求項32に記載の方法。
- 前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップをさらに含むことを特徴とする請求項29に記載の方法。
- 前記埋め込むステップが、
前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを含むことを特徴とする請求項34に記載の方法。 - 前記生成するステップが、
前記それぞれのデンドライトに対してそれぞれの重みのべき級数を生成するステップを含み、前記べき級数のそれぞれの累乗における前記それぞれの重みが最大射影を規定することを特徴とする請求項25に記載の方法。 - 複数の入力部と、それぞれが前記複数の入力部のそれぞれの1つと関連付けされている複数のデンドライトとを含む人工ニューロンを動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対して最大射影を生成するステップを含む、方法。 - 前記生成するステップが前記デンドライトに対するスイッチを生成するステップをさらに含むことを特徴とする請求項37に記載の方法。
- 前記生成するステップが前記少なくともいくつかのデンドライトに対して最大行射影及び/又は最大列射影を生成するステップをさらに含むことを特徴とする請求項38に記載の方法。
- 前記生成するステップが、それぞれ前記行射影及び/又は前記列射影の合計によりソートすることによって前記最大行射影及び/又は前記最大列射影を生成するステップをさらに含むことを特徴とする請求項39に記載の方法。
- 前記最大行射影及び/又は前記最大列射影の位置に前記入力信号の活性化をマッピングするステップをさらに含むことを特徴とする請求項39に記載の方法。
- 前記最大行射影及び/又は前記最大列射影を規定するために、前記少なくともいくつかの射影をマッピングするステップをさらに含むことを特徴とする請求項39に記載の方法。
- 前記最大行射影及び/又は前記最大列射影を規定するために、前記少なくともいくつかの射影をマッピングするステップをさらに含むことを特徴とする請求項41に記載の方法。
- 前記マッピングするステップに応答して、前記最大行射影及び/又は前記最大列射影における活性化されたサブセットを決定するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するステップと
をさらに含むことを特徴とする請求項41に記載の方法。 - 前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して蓄積するステップをさらに含み、これにより、前記入力信号の前記重みに対する関連付けを得ることを特徴とする請求項44に記載の方法。
- 前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップをさらに含むことを特徴とする請求項41に記載の方法。
- 前記埋め込むステップが、
前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを含むことを特徴とする、請求項46に記載の方法。 - 前記生成するステップが、
前記複数のデンドライトに対して最大射影を生成するステップを含むことを特徴とする、請求項37に記載の方法。 - 媒体の中に組み込まれたコンピュータが読取り可能なプログラムコードを有するコンピュータが読取り可能な記憶媒体を含む、人工ニューロンを提供するためのコンピュータプログラムの製品であって、前記コンピュータが読取り可能なプログラムコードが、
複数の入力部を提供するように構成されたコンピュータが読取り可能なプログラムコードと、
それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトを提供し、前記デンドライトの少なくともいくつかが重みのべき級数を含み、前記べき級数の少なくとも1つの累乗における前記重みの少なくともいくつかが最大射影を規定するように構成されたコンピュータが読取り可能なプログラムコードと
を含む、コンピュータプログラムの製品。 - 前記べき級数の少なくとも1つの累乗が少なくとも1つのスイッチも含むことを特徴とする請求項49に記載のコンピュータプログラムの製品。
- 前記重みのべき級数が基数2の重みのべき級数であり、前記べき級数の少なくとも1つの累乗における前記重みの少なくとも1つが最大行射影及び/又は最大列射影を規定することを特徴とする請求項50に記載のコンピュータプログラムの製品。
- 前記最大行射影及び/又は前記最大列射影がそれぞれ行射影及び/又は列射影の合計によりソートされることを特徴とする請求項51に記載のコンピュータプログラムの製品。
- 前記関連付けされた入力部において入力信号に応答し、前記入力信号の活性化を前記最大行射影及び/又は前記最大列射影の位置にマッピングするように構成されたトレースを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項51に記載のコンピュータプログラムの製品。
- 前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及び/又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項50に記載のコンピュータプログラムの製品。
- 前記べき級数の少なくとも1つの累乗における前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及び/又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項52に記載のコンピュータプログラムの製品。
- 前記トレースに応答して前記最大行射影及び/又は前記最大列射影における活性化されたサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するように構成されたリーダを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項52に記載のコンピュータプログラムの製品。
- 前記リーダを提供するように構成されたコンピュータが読取り可能なプログラムコードが、前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得るようにさらに構成されることを特徴とする請求項56に記載のコンピュータプログラムの製品。
- 前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項52に記載のコンピュータプログラム。
- 前記ライタを提供するように構成されたコンピュータが読取り可能なプログラムコードが、前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧縮部を提供するように構成されたコンピュータが読取り可能なプログラムコードを含むことを特徴とする
請求項58に記載のコンピュータプログラムの製品。 - 複数のデンドライトを提供するように構成された前記コンピュータが読取り可能なプログラムコードが、それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトを提供し、前記それぞれのデンドライトが重みのべき級数を含み、前記べき級数のそれぞれの累乗における前記それぞれの重みが最大射影を規定するように構成されたコンピュータが読取り可能なプログラムコードを含むことを特徴とする請求項49に記載のコンピュータプログラムの製品。
- 媒体の中に組み込まれたコンピュータが読取り可能なプログラムコードを有するコンピュータが読取り可能な記憶媒体を含む、人工ニューロンを提供するためのコンピュータプログラムの製品であって、前記コンピュータが読取り可能なプログラムコードが、
複数の入力部を提供するように構成されたコンピュータが読取り可能なプログラムコードと、
それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトを提供し、前記少なくともいくつかのデンドライトが重みを含み、前記少なくともいくつかの重みが最大射影を規定するように構成されたコンピュータが読取り可能なプログラムコードと
を含む、コンピュータプログラムの製品。 - 少なくとも1つのスイッチを提供するようにコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項61に記載のコンピュータプログラムの製品。
- 前記最大射影が最大行射影及び/又は最大列射影を含むことを特徴とする請求項62に記載のコンピュータプログラムの製品。
- 前記最大行射影及び/又は前記最大列射影がそれぞれ行射影及び/又は列射影の合計によりソートされることを特徴とする請求項63に記載のコンピュータプログラムの製品。
- 前記関連付けされた入力部において入力信号に応答し、前記入力信号の活性化を前記最大行射影及び/又は前記最大列射影の位置にマッピングするように構成されたトレースを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項63に記載のコンピュータプログラムの製品。
- 前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及び/又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項63に記載のコンピュータプログラムの製品。
- 前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及び/又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項65に記載のコンピュータプログラムの製品。
- 前記トレースに応答して前記最大行射影及び/又は前記最大列射影における活性化されたサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列に対のインデックス以上の最小の行射影を選択するように構成されたリーダを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項65に記載のコンピュータプログラムの製品。
- 前記リーダを提供するように構成されたコンピュータが読取り可能なプログラムコードが、前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得るようにさらに構成されることを特徴とする請求項68に記載のコンピュータプログラムの製品。
- 前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタを提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項65に記載のコンピュータプログラムの製品。
- 前記ライタを提供するように構成されたコンピュータが読取り可能なプログラムコードが、前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧縮部を提供するように構成されたコンピュータが読取り可能なプログラムコードを含むことを特徴とする請求項70に記載のコンピュータプログラムの製品。
- 複数のデンドライトを提供するように構成された前記コンピュータが読取り可能なプログラムコードが、それぞれの1つが前記複数の入力部のそれぞれの1つに関連付けされた複数のデンドライトを提供し、前記それぞれ1つのデンドライトがそれぞれの重みを含み、前記それぞれの重みが最大射影を規定するように構成されたコンピュータが読取り可能なプログラムコードを含むことを特徴とする請求項61に記載のコンピュータプログラムの製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31131601P | 2001-08-10 | 2001-08-10 | |
PCT/US2002/025454 WO2003015026A1 (en) | 2001-08-10 | 2002-08-09 | Artificial neurons including weights that define maximal projections |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009183637A Division JP5380196B2 (ja) | 2001-08-10 | 2009-08-06 | 最大射影を規定する重みを含む人工ニューロン |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004538582A true JP2004538582A (ja) | 2004-12-24 |
JP2004538582A5 JP2004538582A5 (ja) | 2006-01-05 |
Family
ID=23206351
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003519880A Withdrawn JP2004538582A (ja) | 2001-08-10 | 2002-08-09 | 最大射影を規定する重みを含む人工ニューロン |
JP2009183637A Expired - Fee Related JP5380196B2 (ja) | 2001-08-10 | 2009-08-06 | 最大射影を規定する重みを含む人工ニューロン |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009183637A Expired - Fee Related JP5380196B2 (ja) | 2001-08-10 | 2009-08-06 | 最大射影を規定する重みを含む人工ニューロン |
Country Status (4)
Country | Link |
---|---|
US (1) | US7016886B2 (ja) |
EP (1) | EP1415273B1 (ja) |
JP (2) | JP2004538582A (ja) |
WO (1) | WO2003015026A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066258A (ja) * | 2005-09-02 | 2007-03-15 | Canon Inc | 演算装置 |
JP2009503732A (ja) * | 2005-08-04 | 2009-01-29 | サフロン・テクノロジー,インコーポレイテッド | 選択されたセグメントのビット平面表現を用いた連想マトリックス法、システムおよびコンピュータプログラム製品 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003034283A1 (en) * | 2001-10-16 | 2003-04-24 | Kimbrough Steven O | Process and system for matching products and markets |
MY138544A (en) * | 2003-06-26 | 2009-06-30 | Neuramatix Sdn Bhd | Neural networks with learning and expression capability |
US7574416B2 (en) * | 2004-01-16 | 2009-08-11 | Saffron Technology, Inc. | Distance-based spatial representation and prediction systems, methods and computer program products for associative memories |
US7660284B1 (en) | 2004-02-02 | 2010-02-09 | Verizon New York Inc. | Nevigation within a wireless network |
US7266456B2 (en) | 2004-04-19 | 2007-09-04 | Intelligent Agent Corporation | Method for management of multiple wells in a reservoir |
US7333917B2 (en) * | 2005-08-11 | 2008-02-19 | The University Of North Carolina At Chapel Hill | Novelty detection systems, methods and computer program products for real-time diagnostics/prognostics in complex physical systems |
US7657496B2 (en) * | 2006-06-26 | 2010-02-02 | Saffron Technology, Inc. | Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same |
US20080097945A1 (en) * | 2006-08-09 | 2008-04-24 | The University Of North Carolina At Chapel Hill | Novelty detection systems, methods and computer program products for real-time diagnostics/prognostics in complex physical systems |
EP2012260B1 (en) * | 2007-06-22 | 2012-04-11 | Honda Research Institute Europe GmbH | Method and device for realizing an associative memory based on inhibitory neural networks |
US9542436B2 (en) * | 2009-02-09 | 2017-01-10 | The Boeing Company | Employing associative memory for enhanced lifecycle management |
CA3129946A1 (en) * | 2009-08-28 | 2011-03-03 | Ust Global (Singapore) Pte. Limited | System and method for employing the use of neural networks for the purpose of real-time business intelligence and automation control |
US9542408B2 (en) | 2010-08-27 | 2017-01-10 | Pneuron Corp. | Method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests |
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 |
US9020868B2 (en) * | 2010-08-27 | 2015-04-28 | Pneuron Corp. | Distributed analytics method for creating, modifying, and deploying software pneurons to acquire, review, analyze targeted data |
CA2832444C (en) | 2011-04-07 | 2017-10-17 | Pneuron Corp. | Legacy application migration to real time, parallel performance cloud |
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 |
US10630559B2 (en) | 2011-09-27 | 2020-04-21 | UST Global (Singapore) Pte. Ltd. | Virtual machine (VM) realm integration and management |
US9189729B2 (en) | 2012-07-30 | 2015-11-17 | International Business Machines Corporation | Scalable neural hardware for the noisy-OR model of Bayesian networks |
EP3132389A1 (en) | 2014-04-15 | 2017-02-22 | Intel Corporation | Methods, systems and computer program products for neuromorphic graph compression using associative memories |
US9582514B2 (en) * | 2014-12-27 | 2017-02-28 | Ascava, Inc. | Performing multidimensional search and content-associative retrieval on data that has been losslessly reduced using a prime data sieve |
US10223635B2 (en) * | 2015-01-22 | 2019-03-05 | Qualcomm Incorporated | Model compression and fine-tuning |
CN107392305A (zh) * | 2016-05-13 | 2017-11-24 | 三星电子株式会社 | 实现和执行神经网络的方法及计算机可读介质 |
US10475214B2 (en) * | 2017-04-05 | 2019-11-12 | General Electric Company | Tomographic reconstruction based on deep learning |
CN107220702B (zh) * | 2017-06-21 | 2020-11-24 | 北京图森智途科技有限公司 | 一种低计算能力处理设备的计算机视觉处理方法及装置 |
WO2020062054A1 (zh) * | 2018-09-28 | 2020-04-02 | 深圳市大疆创新科技有限公司 | 数据处理方法、设备以及无人机 |
TWI709090B (zh) * | 2019-08-30 | 2020-11-01 | 阿證科技股份有限公司 | 類神經人工智慧決策網路核心系統及其資訊處理方法 |
Family Cites Families (11)
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 |
US5073867A (en) * | 1989-06-12 | 1991-12-17 | Westinghouse Electric Corp. | Digital neural network processing elements |
US5103405A (en) | 1989-06-12 | 1992-04-07 | Westinghouse Electric Corp. | Digital probabilistic reasoning element |
EP0461902B1 (en) * | 1990-06-14 | 1998-12-23 | Canon Kabushiki Kaisha | Neural network |
JP3088171B2 (ja) | 1991-02-12 | 2000-09-18 | 三菱電機株式会社 | 自己組織型パタ−ン分類システム及び分類方法 |
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 |
US6581049B1 (en) * | 1999-11-08 | 2003-06-17 | Saffron Technology, Inc. | Artificial neurons including power series of weights and counts that represent prior and next association |
CA2299553A1 (en) * | 2000-02-25 | 2001-08-25 | Ibm Canada Limited-Ibm Canada Limitee | Efficient determination of homogeneous rectangles in a binary matrix |
-
2002
- 2002-08-09 WO PCT/US2002/025454 patent/WO2003015026A1/en active Search and Examination
- 2002-08-09 US US10/216,341 patent/US7016886B2/en not_active Expired - Fee Related
- 2002-08-09 EP EP02757068.8A patent/EP1415273B1/en not_active Expired - Lifetime
- 2002-08-09 JP JP2003519880A patent/JP2004538582A/ja not_active Withdrawn
-
2009
- 2009-08-06 JP JP2009183637A patent/JP5380196B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009503732A (ja) * | 2005-08-04 | 2009-01-29 | サフロン・テクノロジー,インコーポレイテッド | 選択されたセグメントのビット平面表現を用いた連想マトリックス法、システムおよびコンピュータプログラム製品 |
JP2007066258A (ja) * | 2005-09-02 | 2007-03-15 | Canon Inc | 演算装置 |
JP4579798B2 (ja) * | 2005-09-02 | 2010-11-10 | キヤノン株式会社 | 演算装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2003015026A1 (en) | 2003-02-20 |
JP5380196B2 (ja) | 2014-01-08 |
EP1415273A1 (en) | 2004-05-06 |
US7016886B2 (en) | 2006-03-21 |
US20030033265A1 (en) | 2003-02-13 |
EP1415273A4 (en) | 2008-09-24 |
EP1415273B1 (en) | 2013-12-18 |
JP2010015579A (ja) | 2010-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5380196B2 (ja) | 最大射影を規定する重みを含む人工ニューロン | |
JP5249155B2 (ja) | 前の及び次の連合を表現する重みとカウントのべき級数を含む人工ニューロン | |
Rose | Deterministic annealing for clustering, compression, classification, regression, and related optimization problems | |
JP2662000B2 (ja) | 神経回路網およびその回路網に用いる回路 | |
Sommer et al. | Improved bidirectional retrieval of sparse patterns stored by Hebbian learning | |
Lewicki et al. | Bayesian unsupervised learning of higher order structure | |
CN106462798A (zh) | 用于使用关联存储器的神经形态图压缩的方法、系统和计算机程序产品 | |
Muselli | On sequential construction of binary neural networks | |
Kleyko et al. | Cellular automata can reduce memory requirements of collective-state computing | |
JPH05189400A (ja) | 畳込みエキスパート神経システム | |
Andre | Evolution of mapmaking: Learning, planning, and memory using genetic programming | |
CN108122028A (zh) | 深度非线性主成分分析网络的训练方法、装置及计算机可读存储介质 | |
Frady et al. | Resonator networks for factoring distributed representations of data structures | |
Omankwu et al. | Hybrid Deep Learning Model for Heart Disease Prediction Using Recurrent Neural Network (RNN) | |
Coyle et al. | Stack filters and neural networks | |
Chang | Design Approaches for Lightweight Machine Learning Models | |
Jackson | Algebraic Neural Architecture Representation, Evolutionary Neural Architecture Search, and Novelty Search in Deep Reinforcement Learning | |
Burles | Pattern recognition using associative memories | |
Cios et al. | Rough sets | |
Geada | Neural architecture search across expanded and infinite spaces | |
König et al. | VLSI-implementation of associative memory systems for neural information processing | |
Mulvaney et al. | Efficient realization of classification using modified Haar DWT | |
Kang | Evolvable cellular classifiers | |
Wu | DART1-a possible ideal building block of memory systems | |
Strey | Implementation of large neural associative memories by massively parallel array processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050729 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081226 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090806 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090929 |