(57)【要約】      （修正有）【課題】膨大な入力変数等のスケーリング問題を解決するための人工ニューロンを提供する。【解決手段】人工ニューロン７００は、入力及び樹状突起を含み、樹状突起のそれぞれは、入力のそれぞれと連合（関連付け）される。各樹状突起は、重みのべき級数を含み、べき級数の各重みは、連合されたべきに対する連合されたカウントを含む。重みのべき級数は、好ましくは、重みの２を底とするべき級数であり、この２を底とするべき級数の各重みは、ビット位置を表す連合されたカウントを含む。連合されたべきに対するカウントは、統計的カウントである。より具体的には、樹状突起は、シーケンシャルに順序付けられ、重みのべき級数は、一対の重みの第１及び第２のべき級数を含む。第１のべき級数の各重みは、先行の樹状突起の連合の関数である第１のカウントを含み、且つ、第２のべき級数の各重みは、次の樹状突起の連合の関数である第２のカウントを含む。【選択図】図７
2010015578.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力と、
複数の樹状突起と、
を備え、前記樹状突起の各々が前記複数の入力の各１つと連合され、各樹状突起が重みのべき級数を含み、べき級数の各重みが前記連合されたべきに対する連合されたカウントを含むことを特徴とする人工ニューロン。
【請求項２】
前記重みのべき級数は、重みの底が２のべき級数であり、この底が２のべき級数の各重みは、前記連合されたカウントのビット位置を表す連合されたカウントを含むことを特徴とする請求項１に記載の人工ニューロン。
【請求項３】
前記カウントは、統計的カウントであることを特徴とする請求項１に記載の人工ニューロン。
【請求項４】
前記樹状突起は、連続的に順序付けられ、且つ、前記重みのべき級数は、一対の重みの第１及び第２のべき級数よりなり、第１のべき級数の各重みは、前の樹状突起の連合の関数である第１のカウントを含み、第２のべき級数の各重みは、次の樹状突起の連合の関数である第２のカウントを含むことを特徴とする請求項１に記載の人工ニューロン。
【請求項５】
前記重みのべき級数は、更に、第１の観測フェーズに対応する重みの第１のべき級数であり、且つ、各樹状突起は、第２の観測フェーズに対応する重みの第２のべき級数を含み、第２のべき級数の各重みは、前記第２の観測フェーズ中の連合されたべきに対するカウントを含むことを特徴とする請求項１に記載の人工ニューロン。
【請求項６】
各樹状突起は、前記連合された入力での入力信号に応答するトレースを備え、前記トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントと、次の樹状突起での入力の連合の関数である第２のトレースカウントを含み、それぞれの第１及び第２のべき級数は、それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項４に記載の人工ニューロン。
【請求項７】
前の樹状突起の連合の関数は、前の樹状突起の連合の合計であり、次の樹状突起の連合の関数は、次の樹状突起の連合の合計であることを特徴とする請求項４に記載の人工ニューロン。
【請求項８】
前記重みの一対の第１及び第２のべき級数は、前記複数の入力の第１の観測フェーズに対応する重みの第１の対の第１及び第２のべき級数であり、且つ各樹状突起は、更に、前記複数の入力の第２の観測フェーズに対応する第２の対の重みの第１及び第２のべき級数よりなることを特徴とする請求項４に記載の人工ニューロン。
【請求項９】
各トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントのべき級数と次の樹状突起での入力信号の連合の関数である第２のトレースカウントのべき級数とを有することを特徴とする請求項６に記載の人工ニューロン。
【請求項１０】
前記入力信号を前記第１及び第２のトレースカウントへ変換するコンバータを更に備えることを特徴とする請求項６に記載の人工ニューロン。
【請求項１１】
それぞれの第１及び第２のトレースカウントをそれぞれの重みの第１及び第２のべき級数へ伝播するトレースウエーブ伝播装置を更に備えることを特徴とする請求項６に記載の人工ニューロン。
【請求項１２】
前の樹状突起での入力信号の連合の関数は、前の樹状突起での入力信号の連合の合計であり、次の樹状突起での入力信号の連合の関数は、次の樹状突起での入力信号の連合の合計であることを特徴とする請求項６に記載の人工ニューロン。
【請求項１３】
前記第１及び第２のトレースカウントと前記重みの第１及び第２のべき級数との間のマッチングを累算するアキュムレータを更に備えることを特徴とする請求項６に記載の人工ニューロン。
【請求項１４】
各樹状突起は、更に、前記連合された入力での入力信号に応答するトレースを備え、前記トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントと、次の樹状突起での入力の連合の関数である第２のトレースカウントを含み、前記第１及び第２の対におけるそれぞれの第１及び第２のべき級数は、それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項８に記載の人工ニューロン。
【請求項１５】
前記トレースウエーブ伝播装置は、順方向と逆方向へ前記連続的に順序付けられた樹状突起に沿って前記トレースを伝播することを特徴とする請求項９に記載の人工ニューロン。
【請求項１６】
前記トレースウエーブ伝播装置は、更に、前記複数の樹状突起における前記重みのべき級数に沿って前記トレースのキャリー結果を伝播して、前記入力信号の記憶を行うことを特徴とする請求項９に記載の人工ニューロン。
【請求項１７】
前記アキュムレータは、キャリー結果が生成されるか否かとは無関係に、前記重みの第１及び第２のトレースカウントにおけるカウントの全てに対して前記第１のトレースカウントと第２のトレースカウントとの間のマッチングを累算することを特徴とする請求項１３に記載の人工ニューロン。
【請求項１８】
重みの前記第１及び第２のべき級数に対する第１及び第２のトレースカウントのマッチングの累算の結果を合計するために前記アキュムレータに応答する合計装置を更に備えることを特徴とする請求項１３に記載の人工ニューロン。
【請求項１９】
各トレースは、前の樹状突起での前記入力信号の連合の関数である第１のトレースカウントのべき級数と、次の樹状突起での前記入力信号の連合の関数である第２のトレースカウントのべき級数とを備えることを特徴とする請求項１４に記載の人工ニューロン。
【請求項２０】
前記トレースウエーブ伝播装置は、次のより高位のべき重みへの伝播のために、樹状突起での重みに対するキャリー結果を識別するダブルマッチ／フィルタを更に備えることを特徴とする請求項１６に記載の人工ニューロン。
【請求項２１】
前記入力信号から前記第１及び第２のトレースカウントを発生するための手段を更に備えることを特徴とする請求項１９に記載の人工ニューロン。
【請求項２２】
前記それぞれの第１及び第２のトレースカウントを前記それぞれの第１及び第２の対の重みのべき級数へ伝播するための手段を更に備えることを特徴とする請求項１９に記載の人工ニューロン。
【請求項２３】
前記ダブルマッチ／フィルタは、重みとトレースの発生に基づいて、樹状突起における重みに対するキャリー結果を識別することを特徴とする請求項２０に記載の人工ニューロン。
【請求項２４】
連続的に順序付けられる複数の入力と、
複数の対の第１及び第２の重みと、
を備え、それぞれの対は、前記複数の入力の内のそれぞれの入力に連合され、各第１の重みは、前記複数の連続的に順序付けられた入力の内の前の入力の連合の関数であり、且つ、各第２の重みは、前記複数の連続的に順序付けられた入力における次の入力の連合の関数であることを特徴とする人工ニューロン。
【請求項２５】
前の入力と次の入力の連合の関数は、前の入力と次の入力の連合の統計的関数であることを特徴とする請求項２４に記載の人工ニューロン。
【請求項２６】
前の入力と次の入力の連合の関数は、前の入力と次の入力の連合の合計であることを特徴とする請求項２４に記載の人工ニューロン。
【請求項２７】
前記連合された入力での入力信号に応答するトレースを更に備え、前記トレースは、前記複数の連続的に順序付けられた入力の前の入力で入力信号の連合の関数である第１のトレースカウントと、前記複数の連続的に順序付けられた入力において次の入力で入力信号の連合の関数である第２のトレースカウントとを含み、それぞれの第１及び第２の重みがそれぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項２４に記載の人工ニューロン。
【請求項２８】
人工ニューロンであって、
連続的に順序付けられる複数の入力と、
複数の対の第１及び第２の重みと、
を備え、それぞれの対は、前記複数の入力の内のそれぞれの入力に連合され、各第１の重みは、前記複数の連続的に順序付けられた入力の第１の統計的関数であり、且つ、各第２の重みは、前記複数の連続的に順序付けられた入力の第２の統計的関数であることを特徴とする人工ニューロン。
【請求項２９】
前記連合された入力での入力信号に応答するトレースを更に備え、前記トレースは、前記入力信号の前記第１の統計的関数である第１のトレースカウントと、前記入力信号の前記第２の統計的関数である第２のトレースカウントとを含み、それぞれの第１及び第２の重みがそれぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項２８に記載の人工ニューロン。
【請求項３０】
複数の入力と、
複数の重みのべき級数と、
を備え、それぞれの重みのべき級数は、前記複数の入力のそれぞれの入力に応答し、べき級数の各重みは、前記連合された入力の連合されたべきに対する連合されたカウントを含むことを特徴とする人工ニューロン。
【請求項３１】
前記複数の重みのべき級数は、複数の、２を底とする重みのべき級数であり、２を底とするべき級数における各重みは、前記連合されたカウントのビット位置を表す連合されたカウントを含むことを特徴とする請求項３０に記載の人工ニューロン。
【請求項３２】
前記カウントは、統計的カウントであることを特徴とする請求項３０に記載の人工ニューロン。
【請求項３３】
前記入力は、連続的に順序付けられ、且つ、前記複数の重みのべき級数は、前記複数の入力の内のそれぞれに対して応答する重みの第１及び第２のべき級数を備え、前記第１のべき級数の各重みは、前記連続的に順序付けられた入力における連合された入力の連合されたべきに対する前のべきの合計を表す連結された第１のカウントを含むと共に、前記第２のべき級数の各重みは、前記連合された入力の連合されたべきに対して前記連続的に順序付けられた入力における次の入力の合計を表す連合された第２のカウントを含むことを特徴とする請求項３０に記載の人工ニューロン。
【請求項３４】
前記複数の重みのべき級数は、第１の観測フェーズに対応する複数の第１の重みのべき級数であり、前記人工ニューロンは、更に第２の観測フェーズに対応する複数の第２の重みのべき級数を含み、それぞれの重みの第２のべき級数が前記複数の入力のそれぞれに応答し、べき級数の各重みは、前記第２の観測フェーズに対し前記連合された入力の連合されたべきに対する連合されたカウントを含むことを特徴とする請求項３０に記載の人工ニューロン。
【請求項３５】
複数のトレースを更に備え、前記トレースのそれぞれは、前記複数の入力のそれぞれに対して応答し、各トレースは、前の入力を表す第１のとレースカウントと、次の入力の合計を表す第２のトレースカウントとを含み、それぞれの第１及び第２のべき級数は、前記それぞれの第１及び第２のトレースカウントに対して応答することを特徴とする請求項３３に記載の人工ニューロン。
【請求項３６】
複数の樹状突起を含む人工ニューロンに複数の入力を記憶するための方法であり、前記樹状突起のそれぞれは、前記複数の入力のそれぞれと連合されるようにした方法であって、
各樹状突起に対して重みのべき級数を提供するステップであって、べき級数中の各重みが連合されたべきの対する連合されたカウントを含むステップと、
入力信号を前記入力信号の連合の関数であるトレースカウントのべき級数に変換するステップと、
それぞれの第１及び第２のトレースカウントを前記それぞれの重みのべき級数へ伝播するステップと、
を備えることを特徴とする方法。
【請求項３７】
前記樹状突起は、連続的に順序付けられ、且つ、前記重みのべき級数は、一対の第１及び第２の重みのべき級数よりなり、第１のべき級数の各重みは、前の樹状突起の連合の関数である第１のカウントを含み、第２のべき級数の各重みは、次の樹状突起の連合の関数である第２のカウントを含み、
各トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントのべき級数と、次の樹状突起での入力信号の連合の関数である第２のトレースカウントのべき級数とを含む、
ことを特徴とする請求項３６に記載の方法。
【請求項３８】
前記伝播するステップは、前記複数の樹状突起における重みのべき級数に沿って前記トレースのキャリー結果を伝播するステップを更に備えることを特徴とする請求項３６に記載の方法。
【請求項３９】
前記第１及び第２のトレースカウントと前記第１及び第２の重みのべき級数との間のマッチングを累算して前記人工ニューロンを読み出すステップを更に備えることを特徴とする請求項３６に記載の方法。
【請求項４０】
前記伝播するステップは、それぞれの第１及び第２のトレースカウントを順方向及び逆方向へそれぞれの重みのべき級数へ伝播するステップを含むことを特徴とする請求項３７に記載の方法。
【請求項４１】
キャリー結果を伝播するステップは、次のより高位のべきへの重みの伝播のために、前記トレースをダブルマッチフィルタ処理を行って樹状突起の重みに対するキャリー結果を識別するステップを含むことを特徴とする請求項３８に記載の方法。
【請求項４２】
前記累算するステップは、キャリー結果が生成されるか否かに関係なく、前記第１及び第２のトレースカウントと前記重みの第１及び第２のべき級数におけるカウントの全てとの間のマッチングを累算するステップを含むことを特徴とする請求項３９に記載の方法。
【請求項４３】
前記累算するステップの結果を合計するステップを更に含むことを特徴とする請求項３９に記載の方法。
【請求項４４】
前記ダブルマッチフィルタ処理するステップは、重みとトレースの同時発生に基づいて樹状突起における重みに対するキャリー結果を識別するステップを含むことを特徴とする請求項４１に記載の方法。
【請求項４５】
複数の樹状突起を含む人工ニューロンを読み出す方法であって、
各樹状突起毎に重みのべき級数を提供するステップであり、べき級数の各重みが連合されたべきに対する連合されたカウントを含むステップと、
入力信号を前記入力信号の連合の関数であるトレースカウントのべき級数へ変換するステップと、
前記第１及び第２のトレースカウントと前記重みの第１及び第２のべき級数との間のマッチングを累算するステップと、
を備えることを特徴とする方法。
【請求項４６】
前記累算するステップは、キャリー結果が生成されるか否かに関係なく、前記第１及び第２のトレースカウントと前記重みの第１及び第２のべき級数におけるカウントの全てとの間のマッチングを累算するステップを含むことを特徴とする請求項４５に記載の方法。
【請求項４７】
前記累算するステップの結果を合計するステップを更に含むことを特徴とする請求項４５に記載の方法。
【請求項４８】
前記樹状突起は、連続的に順序付けられ、且つ、前記重みのべき級数は、一対の第１及び第２の重みのべき級数よりなり、第１のべき級数の各重みは、前の樹状突起の連合の関数である第１のカウントを含み、第２のべき級数の各重みは、次の樹状突起の連合の関数である第２のカウントを含み、
各トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントのべき級数と、次の樹状突起での入力信号の連合の関数である第２のトレースカウントのべき級数とを含む、ことを特徴とする請求項４５に記載の方法。
【請求項４９】
人工ニューロンを提供するためのコンピュータプログラム製品であって、記憶媒体の中に埋め込まれたコンピュータ読取可能プログラムコードを有するコンピュータ読取可能記憶媒体を備えたコンピュータプログラム製品において、
前記コンピュータ読取可能プログラムコードが、
複数の入力を提供するコンピュータ読取可能プログラムコードと、
複数の樹状突起を提供するコンピュータ読取可能プログラムコードと、
を備え、前記樹状突起の各々が前記複数の入力の各１つと連合され、各樹状突起が重みのべき級数を含み、べき級数の各重みが前記連合されたべきに対する連合されたカウントと、
を含むことを特徴とするコンピュータプログラム製品。
【請求項５０】
前記重みのべき級数は、重みの底が２のべき級数であり、
この底が２のべき級数の各重みは、前記連合されたカウントのビット位置を表す連合されたカウントを含むことを特徴とする請求項４９に記載のコンピュータプログラム製品。
【請求項５１】
前記カウントは、統計的カウントであることを特徴とする請求項４９に記載のコンピュータプログラム製品。
【請求項５２】
前記樹状突起は、連続的に順序付けられ、且つ、前記重みのべき級数は、一対の重みの第１及び第２のべき級数よりなり、第１のべき級数の各重みは、前の樹状突起の連合の関数である第１のカウントを含み、第２のべき級数の各重みは、次の樹状突起の連合の関数である第２のカウントを含むことを特徴とする請求項４９に記載のコンピュータプログラム製品。
【請求項５３】
前記重みのべき級数は、第１の観測フェーズに対応する重みの第１のべき級数であり、且つ、各樹状突起は、更に第２の観測フェーズに対応する重みの第２のべき級数を含み、第２のべき級数の各重みは、前記第２の観測フェーズ中の連合されたべきに対するカウントを含むことを特徴とする請求項４９に記載のコンピュータプログラム製品。
【請求項５４】
各樹状突起は、前記連合された入力での入力信号に応答するトレースを備え、前記トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントと、次の樹状突起での入力の連合の関数である第２のトレースカウントとを含み、それぞれの第１及び第２のべき級数は、それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項５２に記載のコンピュータプログラム製品。
【請求項５５】
前記前の樹状突起の連合の関数は、前の樹状突起の連合の合計であり、前記次の樹状突起の連合の関数は、次の樹状突起の連合の合計であることを特徴とする請求項５２に記載のコンピュータプログラム製品。
【請求項５６】
前記対の重みの第１及び第２のべき級数は、前記複数の入力の第１の観測フェーズに対応する重みの第１の対の第１及び第２のべき級数であり、且つ、各樹状突起は、更に前記複数の入力の第２の観測フェーズに対応する第２の対の重みの第１及び第２のべき級数よりなることを特徴とする請求項５２に記載のコンピュータプログラム製品。
【請求項５７】
各トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントのべき級数と次の樹状突起での入力信号の連合の関数である第２のトレースカウントのべき級数とを有することを特徴とする請求項５４に記載のコンピュータプログラム製品。
【請求項５８】
前記入力信号を前記第１及び第２のトレースカウントへ変換するコンバータを提供するコンピュータ読取可能プログラムコードを更に備えることを特徴とする請求項５４に記載のコンピュータプログラム製品。
【請求項５９】
それぞれの第１及び第２のトレースカウントをそれぞれの重みの第１及び第２のべき級数へ伝播するトレースウエーブ伝播装置を提供するコンピュータ読取可能プログラムコードを更に備えることを特徴とする請求項５４に記載のコンピュータプログラム製品。
【請求項６０】
前の樹状突起での入力信号の連合の関数は、前の樹状突起での入力信号の連合の合計であり、次の樹状突起での入力信号の連合の関数は、次の樹状突起での入力信号の連合の合計であることを特徴とする請求項５４に記載のコンピュータプログラム製品。
【請求項６１】
前記第１及び第２のトレースカウントと前記重みの第１及び第２のべき級数との間のマッチングを累算するアキュムレータを提供するコンピュータ読取可能プログラムコードを更に備えることを特徴とする請求項５４に記載のコンピュータプログラム製品。
【請求項６２】
各樹状突起は、前記連合された入力での入力信号に応答するトレースを更に備え、前記トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントと、次の樹状突起での入力の連合の関数である第２のトレースカウントとを含み、前記第１及び第２の対におけるそれぞれの第１及び第２のべき級数は、それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項５６に記載のコンピュータプログラム製品。
【請求項６３】
前記プログラム読取可能プログラムコードは、順方向と逆方向へ前記連続的に順序付けられた樹状突起に沿って前記トレースを伝播するトレースウエーブ伝播装置を提供することを特徴とする請求項５７に記載のコンピュータプログラム製品。
【請求項６４】
前記コンピュータ読取可能プログラムコードは、前記複数の樹状突起における前記重みのべき級数に沿って前記トレースのキャリー結果を更に伝播して前記入力信号の記憶を行うトレースウエーブ伝播装置を提供することを特徴とする請求項５７に記載のコンピュータプログラム製品。
【請求項６５】
前記コンピュータ読取可能プログラムコードは、キャリー結果が生成されるか否かとは無関係に、前記重みの第１及び第２のトレースカウントにおけるカウントの全てに対して前記第１のトレースカウントと第２のトレースカウントとの間のマッチングを累算するアキュムレータを提供することを特徴とする請求項６１に記載のコンピュータプログラム製品。
【請求項６６】
前記重みの第１及び第２のべき級数に対する第１及び第２のトレースカウントのマッチングの累算の結果を合計するために前記アキュムレータに応答する合計装置を提供するコンピュータ読取可能プログラムコードを更に備えることを特徴とする請求項６１に記載のコンピュータプログラム製品。
【請求項６７】
各トレースは、前の樹状突起での前記入力信号の連合の関数である第１のトレースカウントのべき級数と、次の樹状突起での前記入力信号の連合の関数である第２のトレースカウントのべき級数とを備えることを特徴とする請求項６２に記載のコンピュータプログラム製品。
【請求項６８】
前記コンピュータ読取可能プログラムコードは、次のより高位のべき重みへの伝達のために、樹状突起における重みに対するキャリー結果を識別するダブルマッチ／フィルタを提供するコンピュータ読取可能プログラムコードを更に備えるトレースウエーブ伝達装置を提供することを特徴とする請求項６４に記載のコンピュータプログラム製品。
【請求項６９】
前記入力信号から前記第１及び第２のトレースカウントを発生するコンピュータ読取可能プログラムコード手段を更に備えることを特徴とする請求項６７に記載のコンピュータプログラム製品。
【請求項７０】
前記それぞれの第１及び第２のトレースカウントを前記それぞれ第１及び第２の対の重みのべき級数へ伝播するためのコンピュータ読取可能プログラムコード手段を更に備えることを特徴とする請求項６７に記載のコンピュータプログラム製品。
【請求項７１】
前記ダブルマッチ／フィルタは、重みとトレースの同時発生に基づいて、樹状突起での重みに対するキャリー結果を識別することを特徴とする請求項６８に記載のコンピュータプログラム製品。
【請求項７２】
人工ニューロンを提供するためのコンピュータプログラム製品であって、記憶媒体の中に埋め込まれたコンピュータ読取可能プログラムコードを有するコンピュータ読取可能記憶媒体を備えたコンピュータプログラム製品において、
前記コンピュータ読取可能プログラムコードが、
連続的に順序付けられる複数の入力を提供するコンピュータ読取可能プログラムコードと、
複数の対の第１及び第２の重みを提供するコンピュータ読取可能プログラムコードと、
を備え、それぞれの対が前記複数の入力のそれぞれと連合され、各第１の重みが前記複数の連続的に順序付けられた入力の中の前の入力の連合の関数であり、各第２の重みが前記複数の連続的に順序付けられた入力の中の次の入力の連合の関数であることを特徴とするコンピュータプログラム製品。
【請求項７３】
前の入力と次の入力の連合の前記関数は、前の入力と次の入力の連合の統計的関数であることを特徴とする請求項７２に記載のコンピュータプログラム製品。
【請求項７４】
前の入力と次の入力の連合の前記関数は、前の入力と次の入力の連合の合計であることを特徴とする請求項７２に記載のコンピュータプログラム製品。
【請求項７５】
前記連合された入力での入力信号に応答するトレースを提供するコンピュータ読取可能プログラムコードを更に備え、前記トレースは、前の樹状突起での入力信号の連合の関数である第１のトレースカウントと、次の樹状突起での入力の連合の関数である第２のトレースカウントとを含み、前記それぞれの第１及び第２の重みは、前記それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項７２に記載のコンピュータプログラム製品。
【請求項７６】
人工ニューロンを提供するためのコンピュータプログラム製品であって、記憶媒体の中に埋め込まれたコンピュータ読取可能プログラムコードを有するコンピュータ読取可能記憶媒体を備えたコンピュータプログラム製品において、
前記コンピュータ読取可能プログラムコードが、
連続的に順序付けられる複数の入力を提供するコンピュータ読取可能プログラムコードと、
複数対の第１及び第２の重みを提供するコンピュータ読取可能プログラムコードと、
を備え、それぞれの対が前記複数の入力のそれぞれと連合され、各第１の重みが前記複数の連続的に順序付けられた入力の第１の統計的関数であり、各第２の重みが前記複数の連続的に順序付けられた入力の第２の統計的関数であることを特徴とするコンピュータプログラム製品。
【請求項７７】
前記連合された入力での入力信号に応答するトレースを提供するコンピュータ読取可能プログラムコードを更に備え、前記トレースは、前記入力信号の前記第１の統計的関数である第１のトレースカウントと、前記入力信号の前記第２の統計的関数である第２のトレースカウントとを含み、前記それぞれの第１及び第２の重みは、前記それぞれの第１及び第２のトレースカウントへ応答することを特徴とする請求項７６に記載のコンピュータプログラム製品。
【請求項７８】
人工ニューロンを提供するためのコンピュータプログラム製品であって、記憶媒体の中に埋め込まれたコンピュータ読取可能プログラムコードを有するコンピュータ読取可能記憶媒体を備えるコンピュータプログラム製品において、
前記コンピュータ読取可能プログラムコードが、
複数の入力を提供するコンピュータ読取可能プログラムコードと、
複数の重みのべき級数を提供するコンピュータ読取可能プログラムコードと、を備え、それぞれの重みのべき級数が前記複数の入力のそれぞれに応答し、べき級数の各重みは、前記連合された入力の連合されたべきに対する連合されたカウントを含むことを特徴とするコンピュータプログラム製品。
【請求項７９】
前記複数の重みのべき級数は、複数の、底が２の重みのべき級数であり、底が２のべき級数中の各重みは、前記連合されたカウントのビット位置を表す連合されたカウントを含むことを特徴とする請求項７８に記載のコンピュータプログラム製品。
【請求項８０】
前記カウントが統計的カウントであることを特徴とする請求項７８に記載のコンピュータプログラム製品。
【請求項８１】
前記入力は、連続的に順序付けられ、且つ、前記複数の重みのべき級数は、前記複数の入力の内のそれぞれに対して応答する重みの第１及び第２のべき級数を備え、前記第１のべき級数の各重みは、前記連続的に順序付けられた入力における連合された入力の連合されたべきに対する前のべきの合計を表す連結された第１のカウントを含むと共に、前記第２のべき級数の各重みは、前記連合された入力の連合されたべきに対して前記連続的に順序付けられた入力における次の入力の合計を表す連合された第２のカウントを含むことを特徴とする請求項７８に記載のコンピュータプログラム製品。
【請求項８２】
前記複数の重みのべき級数は、第１の観測フェーズに対応する複数の第１の重みのべき級数であり、前記人工ニューロンは、更に第２の観測フェーズに対応する複数の第２の重みのべき級数を含み、それぞれの重みの第２のべき級数が前記複数の入力のそれぞれに応答し、べき級数の各重みは、前記第２の観測フェーズに対し前記連合された入力の連合されたべきに対する連合されたカウントを含むことを特徴とする請求項７８に記載のコンピュータプログラム製品。
【請求項８３】
複数のトレースを更に備え、前記トレースのそれぞれは、
前記複数の入力のそれぞれに対して応答し、各トレースは、前の入力を表す第１のとレースカウントと、次の入力の合計を表す第２のトレースカウントとを含み、それぞれの第１及び第２のべき級数は、前記それぞれの第１及び第２のトレースカウントに対して応答することを特徴とする請求項８１に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人工知能システム，方法及びコンピュータプログラム製品に関し、より詳細には、人工ニューロンシステム，方法，及びコンピュータプログラム製品に関する。
【背景技術】
【０００２】
コンテント・アクセサブル・メモリ（content addressable memory）とも呼ばれる連想メモリは、パターンマッチング及び識別、エキスパートシステム及び人工知能の分野で広く使用されている。広く使用されている連想メモリは、ホップフィールド（Hopfield）型人工ニューロンネットワークである。このホップフィールド型人工ニューロンネットワークは、例えば、Ｈｏｐｆｉｅｌｄ氏に対する「Ｅｌｅｃｔｒｏｎｉｃ  ＮｅｔＷｏｒｋ  ｆｏｒ  ｃｏｌｌｅｃｔｉｖｅ  Ｄｅｃｉｓｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｌａｒｇｅ  Ｎｕｍｂｅｒ  ｏｆ  Ｃｏｎｎｅｃｔｉｏｎｓ  ＢｅｔＷｅｅｎ  Ｓｉｇｎａｌｓ」と題する米国特許第４，６６０，１６６号に記述されている。
【０００３】
連想メモリは、バック伝播ネットワークにおける問題を回避できるけれども、連想メモリは、スケーリングとスプリアスメモリの問題を提起することがある。連想メモリにおける最近の改良が、これら及び他の問題を解決するために試みられている。例えば、コインベンダーのＡｐａｒａｃｉｏ  ＶＩ等に対する「Ａｒｔｉｆｉｃｉａｌ  Ｎｅｕｒａｌ  ＮｅｔＷｏｒｋｓ  Ｉｎｃｌｕｄｉｎｇ  Ｂｏｏｌｅａｎ−Ｃｏｍｐｌｅｔｅ  Ｃｏｍｐａｒｔｍｅｎｔｓ」と題する米国特許第６，０５２，６７９号は、複数の人工ニューロンと、それぞれがそれぞれの対の人工ニューロンを連結する複数のブール−コンプリート・コンパートメントと、を提供する。ブール−コンプリート・コンパートメントを提供することによって、スプリアス補数メモリが回避され得る。
【０００４】
また、連想メモリは、市場で販売されている。例えば、インターナショナルビジネスマシーン（ＩＢＭ）社によって市販されているＭｅｍｏｒｙＡｇｅｎｔとして知られる製品は、用語「ｓｍａｒｔ  ａｓｓｉｓｔａｎｃｅ」によって特徴付けられる、埋め込み学習エージェントを創設するために使用される低レベルセットのアプリケーションインターフェースを提供する。Ｉｎｔｅｌｌｉｇｅｎｃｅ  ｉｎ  Ｉｎｄｕｓｔｒｙの１９９９年１月第８巻１号の第５〜９ページの「Ｒｅｐｏｒｔ：ＩＢＭ’ｓ  Ｍｅｍｏｒｙ  Ａｇｅｎｔ」と題される出版物を参照されたい。Ｈａｌｅｙ  Ｅｎｔｅｒｐｒｉｓｅs及びＩｎｔｅｌｌｉｘ  Ａ／Ｓを含む他のベンダーもまた連想メモリツールを提供している。特に、Ｈａｌｅｙ  Ｅｎｔｅｒｐｒｉｓｅｓは、「Ｔｈｅ  Ｉｎｔｅｌｌｉｇｎｅｔ  Ｍｅｍｏｒｙ」と呼ばれる市販の連想メモリをサポートしている。ｈｔｔｐ／／：ＷＷＷ．ｈａｌｅｙ．ｃｏｍ／ＴＩＭ．ｈｔｍｌを参照されたい。Ｉｎｔｅｌｌｉｘ  Ａ／Ｓは、ＳＯＵＬ（Self-Optimizing Universal Leaner）と呼ばれるソフトウエアフレームワークを使用する「ＫｎｏＷｍａｎ」と呼ばれる他の市販の連想メモリをサポートしている。ｈｔｔｐ：／／ＷＷＷ．ｉｎｔｅｌｌｉｘ．ｃｏｍ．を参照されたい。いくつかのベンダーは、「Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｎｅｕｒａｌ  ＮｅｔＷｏｒｋ  ｆｏｒ  Ｐａｔｔｅｒｎ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎと題するＹｏｄａ氏へ付与された米国特許第５，８７０，７２９号や、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃａｔｅｇｏｒｉｚｉｎｇ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｃｏｍｂｉｎｅｄ  ｃａｔｅｇｏｒｉｅｓと題するＰｒａｇｅｒ氏へ付与された米国特許第５，９４３，６７０号に記述されているような自己最適化機能マップを提供し、これらは、連想メモリの形態である。また、連想メモリは、Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｏｆ  Ｃｏｎｔｅｘｔ  Ｖｅｃｔｏｒ  Ｇｅｎｅｒａｔｏｎ  ａｎｄ  Ｒｅｔｒｉｅｖａｌと題するＣａｉｄ氏に付与された米国特許第５，６１９，７０９号に示されているように、電子商取引へ適用されている。連想メモリの他の用途は、３Ｃｏｍによって市販されているＰａｌｍ  Ｐｉｌｏｔのような手持ちデバイスにおける手書き認識を含む。
【０００５】
連想メモリは、最近市販され始めたに過ぎないが、それらは、個人専用で知識管理を望む用途に対して急速に成長することが期待される。実際に、あるエキスパートは、「自動連想メモリを作ることは、非常に大きなビジネスであり、何時か、より多くのシリコンが何か他の目的ではなくて、このようなデバイスの製作に消費されるであろう」ということを予想している。Ｔｅｃｈｎｏｌｏｇｙ  ＲｅｖｉｅＷの１９９９年７月／８月の第１０２巻、第４号の７９ページを参照されたい。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
残念ながら、連想メモリの使用が実際の問題を解決するのを制限し得る基本的なスケーリング問題がある。特に、多くの連想メモリは、線形重みを使用する。図１Ａに示されるように、各入力は、一旦、重みＷA〜ＷEに従って各出力に連合（関連付け）（associate）される。しかしならが、このような線形ネットワークにおける入力は、一般的には、互いに連合しない。このことは、入力同士間の共通要求やトレードオフに見られる、入力同士間の相互作用のような可能性のある非線形性をこのようなネットワークの機能（能力）が学習して表示することを厳しく制限することがある。
【０００７】
図１Ａの線形ネットワークの代替としては、図１Ｂに示す幾何学的ホップフィールド型ネットワークがある。このホップフィールド型ネットワークにおいて、１対１接続は、全てのノードの間で設けられ、且つ、その重みは、前記ノード同士間の各アーチに対して設けられる。図１Ｂに示されるように、全ての入力同士間に設けられる重みの展開に起因して実際のアプリケーションに対してホップフィールド型ネットワークをスケーリング（scale）することは困難である。非線形ネットワークは、一般に、全ての入力を互いにインターセプトするために、Ｎ2又は幾何学的スケーリング機能が提供される。より具体的には、入力同士間の接続の数は、一般的に、Ｎを入力数とすると、Ｎ（Ｎ−１）／２に等しくなる。
【０００８】
この幾何学的スケーリングは、一般的に、このようなテクノロジーを保障する複雑度のスケールでアプリケーションをサポートするためには不合理的である。例えば、一般的な目的のサーチ及び個人モデリングのために、数万の入力変数と数百万のモデルが管理される必要がある。もう一方の極端な場合には、オペレーティングシステムにおけるマシン学習は、クライアントマシンがより小さな無線デバイスになると、より効率的になる必要がある。このような状態において、単位のユーザモデルが必要であるが、コンテキストと入力変数の数は、なお、非常に大きい。２、３人の個人がいる家族のレベルでさえ、入力の数は、数十万のオーダーである。従って、今後２、３年の内に期待される、より大きな物理的メモリ容量でさえ、このような用途に現在の技術を使用することが不合理である。こ
のように、このような環境に対するエージェントベースの学習のアプリケーションが現在現れているが、非線形連合を学習して使用する場合のスケーリング問題に起因して、これらのアプリケーションをサポートするための学習テクノロジーを実施することは困難である。
【課題を解決するための手段】
【０００９】
本発明は、複数の入力と複数の樹状突起（dendrite）を含み、樹状突起のそれぞれが前記複数の入力のそれぞれに連合（関連付け）される、人工ニューロンを提供することができる。各樹状突起は、重みのべき級数を含み、且つ、べき級数の各重みは、連合されたべき（poＷer）に対する連合されたカウントを含む。重みは、一般的に、カウント用のプレースホルダであり、それは、別個の物理的エンティティである必要はないことが理解されるであろう。重みのべき級数は、２を底とする重みのべき級数であることが好ましく、この２を底とするべき級数における各重みは、ビット位置を表す連合カウントを含む。本発明によれば、重みをべき級数として表すことによって、従来の人工ニューロンにおける入力の関数としての幾何学的スケーリングは、入力の関数として線形スケーリングに減少され得ることがわかった。多くの数の入力は、実際のシステムを使用して処理されて実際のアプリケーションを解決する。
【００１０】
連合べきに対するカウントは、統計的カウントが好ましい。より具体的には、樹状突起は、連続的に順序付けられることが好ましく、且つ、重みのべき級数は、一対の重みの第１及び第２のべき級数を備えることが好ましい。第１のべき級数の各重みは、前の（先行の）樹状突起の連合数の関数である第１のカウントを含み、且つ、第２のべき級数の各重みは、次の樹状突起の連合数の関数である第２のカウントを含む。より好ましくは、重みの第１及び第２のべき級数は、複数の観測フェーズの各々に対して設けられる。
【００１１】
入力信号を人工ニューロンへ伝播するために、その連合入力で入力信号に応答するトレースが設けられることが好ましい。このトレースは、前の樹状突起での入力信号の連合数の関数である第１のトレースカウントと、次の樹状突起での入力信号の連合数の関数である第２のトレースカウントと、を含むことが好ましい。第１及び第２のべき級数は、それぞれの第１及び第２のトレースカウントへ応答する。重みと同様に、各トレースは、前の樹状突起での入力信号の連合数の関数である少なくとも１つの第１のトレースカウントと、次の樹状突起での入力信号の連合数の関数である少なくとも１つの第２のトレースカウントと、を備えることが好ましい。また、第１及び第２のトレースカウントは、べき級数で表されてもよい。
【００１２】
記憶動作を行うために、入力信号が第１及び第２のトレースカウントへ変換されることが好ましく、且つ、トレースウエーブ伝播装置がそれぞれの第１及び第２のトレースカウントをそれぞれの重みの第１及び第２のべき級数へ伝播する。このトレースウエーブ伝播装置は、連続的に順序付けられた樹状突起に沿って順方向及び逆方向へトレースを伝播することが好ましい。また、キャリー(桁上げ；繰上げ)結果（carry result）は、複数の樹状突起において重みのべき級数に沿って伝達されて入力信号の記憶を行う。ダブルマッチ／フィルタが次により高いべき重みへの伝播のために、樹状突起において重みに対するキャリー結果を識別することが好ましい。また、ダブルマッチ／フィルタは、重みとトレースの同時発生に基いて、樹状突起における重みに対するキャリー結果を識別することが好ましい。
【００１３】
読み取り動作を行うために、アキュムレータは、第１及び第２のトレースカウントと、重みの第１及び第２のべき有数との間のマッチング数を累算する。アキュムレータは、キャリー結果が生成されるか否かに関係無く、第１及び第２のトレースカウントと、重みの第１及び第２のべき級数におけるカウントの全てとの間にマッチング数を累算することが好ましい。合計装置は、アキュムレータに応答して、重みの第１及び第２のべき有数に対する第１及び第２のトレースカウントのマッチング数の累算の結果を合計する。
【００１４】
上述のように、重みは、前の樹状突起の連合数及び次の樹状突起の連合数のそれぞれの関数である第１及び第２のべき級数を含むことが好ましい。連合数は、連合自体ではなくてむしろ連合の特性を表す統計的関数の例である。好ましくは、前の樹状突起の連合数の合計と次の樹状突起の連合数の合計が使用される。しかしながら、統計的関数が使用されてもよい。「前の（先行の）／次の」関係は、べき級数重みと共に使用されるのが好ましいが、この「前の／次の」関係は、従来のニューラルネットワーク重みと共に使用されてニューラルネットワークの入力ノード同士間の改良された非線形相互作用を提供してもよい。最後に、本発明は、システム，方法，コンピュータプログラム製品，及び／又はそれらの組み合わせとして具体化され得る。
【図面の簡単な説明】
【００１５】
【図１】図１Ａおよび図１Ｂは、従来における線形且つ幾何学的な神経ネットワークをそれぞれ示すブロック図である。
【図２】小脳皮質のニューロンの図である。
【図３】図３Ａ及び図３Ｂは、極フェーズとしての観測値を概念的に示す図である。
【図４】図４Ａ及び図４Ｂは、観測値をフェーズ・グラフに分解して概念的に示す図である。
【図５】フェーズ・グラフを重みの無いグラフに分解して概念的に示す図である。
【図６】ダイナミックプログラム重みを概念的に示す図である。
【図７】単一の観測フェーズに対する本発明による神経樹状突起構造のブロック図である。
【図８】本発明による複数の観測フェーズを含む多極ニューロンのブロック図である。
【図９】単一の観測フェーズに対する本発明によるトレースウエーブ伝播を概念的に示す図である。
【図１０】本発明によるトレース形成のための動作を示すフローチャートである。
【図１１】本発明によるトレース形成のための動作を示すフローチャートである。
【図１２】本発明による神経ネットワークのための記憶のブロック図である。
【図１３】本発明による記憶のための動作のフローチャートである。
【図１４】本発明による記憶のための動作のフローチャートである。
【図１５】本発明によるダブルマッチ／フィルタのブロック図である。
【図１６】本発明による図１５のダブルマッチ／フィルタの動作の例を示す図である。
【図１７】図１７Ａ〜図１７Ｃは、本発明によるダブルマッチ／フィルタの動作のフローチャートである。
【図１８】本発明によるダブルマッチ／フィルタの動作のフローチャートである。
【図１９】本発明による読み取りのブロック図である。
【図２０】本発明による読み取り動作のフローチャートである。
【図２１】本発明による読み取り動作のフローチャートである。
【発明を実施するための形態】
【００１６】
本発明は、ここで、本発明の好適な実施の形態が示されている添付の図面を参照して、より十分に記述される。しかしながら、本発明は、多くの異なる形態で具体化されるが、ここで述べられる実施の形態に制限されるものと解されるべきではなく、むしろ、これらの実施の形態は、ここでの開示が綿密で且つ完全であり、当業者に本発明の範囲を十分に知らせるように提供される。同様の参照番号は、全体を通して同様の要素を示す。
【００１７】
本発明は、図３〜図２０の図面を使用して、ここで記述される。図面中の要素及び図面の要素の組合せは、特定の機能又はステップを実行する汎用及び／又は特殊目的のハードウエアベースのシステムや、汎用及び／又は特殊目的のハードウエア及びコンピュータ命令の組合せによって実施され得ることが理解されるであろう。
【００１８】
これらのプログラム命令は、プロセッサに提供されてマシンを生成することができ、それによって、プロセッサ上で実行する命令は、図示された機能を実施するための手段を生成する。コンピュータプログラム命令は、プロセッサによって実行されて一連の動作ステップがそのプロセッサによって実行され、プロセッサ上で実行する命令が図示された機能を実施するためのステップを提供するようにコンピュータ施行処理をもたらすことができる。従って、図３〜図２０は、特定の機能を実行するための手段の組合せ、特定の機能を実行するためのステップの組合せ、及び特定の機能を実行するためのプログラム命令をサポートする。
【００１９】
本発明の完全な理解を容易とするために、観測行列（observation matrix）の分離及び線形構造への再構成の理論的議論を最初に行う。次に、本発明の人工ニューロン構造を詳細に説明する。更に、トレースウエーブ（trace Ｗave）の発生と伝播を一般的に説明する。最後に、記憶（書込み）及びイマジネーション（読出し）の動作を詳細に説明する。
【００２０】
理論的考察
本発明は、自動連想メモリであると長く信じられている小脳構造によって示唆されている。小脳は、伝統的に無意識の運動技能を記録して発揮すると考えられていたが、現在では、全ての認識活動、特に、一般的な想像をすること及び決定をすることにおいて、役割を演じると理解されている。
【００２１】
図２は、１９７５年出版、ＬｌｉｎａｓのＳｃｉｅｎｔｉｆｉｃ  Ａｍｅｒｉｃａの第２３２巻第１号の５６乃至７１ページのＴｈｅ  Ｃｏｒｔｅｘ  ｏｆ  ｔｈｅ  Ｃｅｒｅｂｅｌｌｕｍ（小脳の皮質）から複製された小脳皮質のニューロンの複写である。小脳におけるプルキンエニューロン（Purkinje neuron）Ｐｕは、連想メモリそれ自体を表すと考えられる。各プルキンエニューロンＰｕは、１００，０００個までの入力シナプス（これは他のタイプのニューロンよりも多い）を有する。全てのこの入力を演算しそして合計すると、各プルキンエニューロンＰｕは、１つの軸索を小脳から送り出す。この莫大なファンイン（fan-in）が与えられると、１つの仮定は、これらの入力の出力への連想性（連合性）（associativity）は、各入力での１つの簡単な重みと、これらの入力とシナプスの重みとの合計（ドット積）とに基づいて、線形であることである。しかしながら、これのニューロンと最も多い他のニューロンのリアルダイナミックスは、高度の非線形であることが知られている。このように、非線形演算パワーがこれらの実際の高度に進化したシステムに存在するように現れるが、連想メモリを生成するための演算の性質は、未知であるように現れる。しかしながら、プルキンエニューロン構造体は、ホップフィールド型ニューラルネットワークによって定義される非線形連想装置に使用されるようなツリーであり、Ｏ（１００,０００2）相互接続の天文学的な叢（plexus）ではないことが明らかとなる。
【００２２】
本発明は、入力同士の間での学習された相互作用を実質的に表現でき、実現可能なシステムにおいて物理的に実施され得るような人工ニューロンシステム，方法及び／又はコンピュータプログラム製品を提供することができる。実際に、Ｏ（Ｎ2）の実質的な表現を近似すると、Ｏ（Ｎ）の物理的マシンに相当することが示される。このような純粋な線形性は、上はインターネットまで下は小さな無線デバイスまでにおける高性能予測のスケーリング及びパターンマッチングを可能ならしめることができる。
【００２３】
理論的考察は、統計において使用される２×２観測マトリックス（観測行列）から開始され得る。任意の二つの二進入力変数（二つのコインのフリップのような）が与えられると、４つの可能な観測（observation）がある。この２×２観測マトリックスは、観測された組合せのための４つのカウンタのセットである。例えば、図３（Ａ）は、二つの変数Ａ及びＢを示す。Ａは、オン又はオフ、或いはＡ又は！Ａでありうる。これはＢに対しても同様である。観測カウントは、例えば、Ａ及びＢの同時発生が、三回観測されたことを示す。全体として、Ａ及びＢが互いを排除する傾向がある（強力な確率的ＸＯＲ関係を表す）ことが現れる。
【００２４】
図３Ｂに示されるように、これらの４個のセル・カウンタの各々は、４つのフェーズの１つとして表され得る。各フェーズは、二つの入力の各々のオン（１）又はオフ（０）状態に対して、００，０１，１０又は１１によって識別される。この場合、低ビットはＡ座標を表し、高ビットはＢ座標を表す。
【００２５】
二つの入力変数より多い場合には、Ｏ（Ｎ2）個の２×２マトリックスが必要とされる。例えば、図４Ａに示されるように、三つの入力（Ａ，Ｂ及びＣ）に対して、三つのマトリックス（Ａ×Ｂ，Ａ×Ｃ，Ｂ×Ｃ）がある。幾何学的スケーリングがより多くの入力で発生し、それによって４つの入力が６個のマトリックスを使用したり、５つの入力が１０個のマトリックスを使用したりする。しかしながら、三つの入力の単純なグラフは、三角形として全ての関係をより明瞭に示す。その三角形の各対毎のエッジは２×２観測マトリックスを有する。観測数の合計は、異なっており、それによって、真，偽，及び未知の３状態入力値を可能とする。
【００２６】
本発明は、この連合（連想）の表示を線形形状に圧縮することができる。任意の二つのマトリックスにわたる共通性を見つけることは殆ど不可能であると思われる。例えば、たった二つのこのようなマトリックスの崩壊は、４つの観測カウントが互いにマッチングする場合に達成されるに過ぎない。最悪の場合、全ての可能な対毎のマトリックスは、互いに異なることができ、幾つかの組合せによっては圧縮不能とされる。しかしながら、本発明は、このようなカウントをそれらの圧縮が可能とされるように分離することができる。
【００２７】
これらのマトリックスの二つの再配置によって、適切な特性を有するグラフが得られる。第１の再配置は、フェーズ（phase）の各々を互いから分離して、各フェーズに対して１つであるようにそれらを４つのグラフに再結合を行う。図４Ｂを参照されたい。各グラフの結果は、そのグラフの各エッジに、重みのマトリックスではなくて、唯１つの重みのみを残すことができる。
【００２８】
第２の再配置は、そのフェーズ・グラフの各重みをべき級数、好ましくは、２が底のべき級数に分離する。図５は、入力変数Ａ，Ｂ及びＣ間の６，５及び３の重みを有する１つのフェーズ・グラフを示す。各重みの２値表示も、また、図５に示されている。重みの各ビットは、その重みの２が底のべきを表す。
【００２９】
これらのビットべきが重み（６＝２2＋２1）のフルマグニチュードを表示する場合に加法的なものであるために、各フェーズ・グラフは、各ビットに対して１つであるように、１セットのべきグラフに更に分離され得る。図５は、２2、２1及び２0マグニチュードに対して、三つのべきグラフへ分離された例示のフェーズ・グラフを示す。このグラフのべきは、グラフ自体に連合されるが、各グラフは、ウエイトレス（重み無し）のものであり、このことは、各アークが特定のフェーズ及びべきに対する任意の二つの入力の間の連合の一回の発生又は発生しないことを表すことを意味する。
【００３０】
従って、一セットのウエイトレスのグラフが生成され得る。これらのグラフは、各々が幾何学的サイズのものであり、更に減少され得るが、ここでは、このようなグラフの数が含まれてもよい。２×２個のマトリックスの表示（その他の基本形は、そのように分解されてもよい）が与えられる場合には、４つだけのフェーズがある。次に、指数的に大きな重みの効率的な２値表示に関して、任意の重みの２値分離は、べきグラフの数をｌｏｇ2（重み）へ制限する。特定の重みは、全体のメモリ負荷の総数Ｍ（全ての観測が１つのフェーズのみであると仮定して）に制限される。なお、この数は、Ｍ／４の期待値を有する。
【００３１】
この理論的記述を続けると、ウエイトレスのグラフは、また、各ノード周りの統計量を使用して線形形状に圧縮され得る。統計量は、ノード周りの特性を表すが、それ自体の特性ではない。例えば、各ノードに対するリンクの数は、１つのそのような統計量である。各ノードは、１つの数によって特徴付けられることができ、それは、そのノードの全ての他のノードに対する連合の数を表す。しかしながら、この統計量は、どのノード対ノード連合が実際に表されるのかというような、非常に強力な制約（拘束）条件を伝えることができない。
【００３２】
好適な統計量は、ダイナミックプログラミングからのアナロジーによって得られる。ダイナミックプログラミング技術は、組合せに関する複雑性を減少し得る。ダイナミックプログラミングによれば、全ての組合せを明瞭に勘案するよりも、むしろ、一度に多くの要素の列挙を間接的に可能とするような性質を見つけることができる。ダイナミックプログラミングは、従来より、ツリー構造体において使用される。例えば、ツリーの各ブランチが指数的数量のリーフノードを含むが、幾つかの問題は、ブランチ全体が一度に勘案されるような制約を有する。指数的数量のリーフが、実際に各リーフを勘案する計算負担無しに、暗黙的に勘案される。
【００３３】
図６は、この暗黙のアカウントを提供できる好適な統計量を示す。図５のべきグラフは、重み無しであるので、線形アレイの重みは、そのグラフの各頂点に属するエッジの数をアカウントするために使用され得る。例えば、２0に対する図６のべきグラフは、Ａが二つのエッジ（Ｂへの１つの連合とＣへの１つの連合）を有することを示す。１つのノードの全ての他のノードへの連合の合計は、非常に強力な制約を強制できず、頂点の順序付けと各合計を前の（先行の）ノードへの連合の合計と次のノードへの連合の合計への分離は、非常に堅い制約を強制でき、それによって、特定の連合をアカウントするために使用され得る。
【００３４】
より具体的には、各べきグラフは、順序付けられた重み対のべき級数として表され、各対の内の一方の重みは、その（前の入力）前の入力への全ての連合を表し、且つ、他方の重みは、その（次の入力）の全ての連合をそれらの順序で表す。その対に対する表示は、［前］／［次］として表され、且つ、各対は、１つであり、ただ１つの入力と連合されるように示される。これらの重み対は、一般的に互いに対して高度に制約されている。例えば、Ａの重みは、２0重みべきに対して０／２であり、ＢとＣを有する二つのエッジを表す。ＢとＣの重みペアは、１／０と１／０である。Ａ，Ｂ，Ｃの辞書的順序付けを仮定すると、ＢとＣの前の重みは、Ａの次に重みにマッチングする。一般に、全ての前の重みの合計は、次の重みの補集合を有する。後で示されるように、これらの対同士間の制約は、実際には、一層より強力であり得る。
【００３５】
また、図６は、連続的順序の入力が重み対の正確な分布を変更できる。単一の重みは、常時グラフ上のエッジの数へマッピングされるのではない。例えば、Ｂに対する重みは、ＢがＡとＣとの間で順序付けられているにすぎないので、べきグラフ２1に対して１／１である。Ａを有する１つのエッジは、Ａに先行し、Ｃを有する１つのエッジは、Ｃの次である。そうでない場合は、順序付け自体は、任意である。
【００３６】
これで観測マトリックスの分離と線形構造への再構成の理論的議論を終了する。特に、スケーリングファクタは、一般的に４(ｌｏｇ2（Ｍ）(２Ｎである。この場合、４つのフェーズがある。各フェーズに対するべきグラフの数は、観測数のログ関数Ｍとして成長する。各グラフは、このような入力がＮとすると、各入力に対する二つの重みによって表される。
【００３７】
人工ニューロン構造
図７は、本発明の一実施の形態に係る人工ニューロンのブロック図である。図７に示されるように、人工ニューロン７００は、複数の入力７１０ａ〜７１０ｃと複数の樹状突起７２０ａ〜７２０ｃとを含んでいる。それぞれの樹状突起７２０ａ〜７２０ｃは、入力７１０ａ〜７１０ｃのそれぞれに連合される（関連付けされる）。各樹状突起は、重みのべき級数７３０を含む。重みのべき級数の各重みは、関連付けされたべきに対する関連付けされたカウントを含んでいる。好ましくは、図７に示されているように、重みのべき級数は、重みの２を底とするべき級数であり、それによって２を底とするべき級数の各重みは、ビット位置を表す関連付けされたカウントを含んでいる。図７の人工ニューロン７００は、単一の観測フェーズ、ここでは、図６の観測フェーズ１１を表している。各樹状突起７２０ａ〜７２０ｃは、図８により詳細に示されるように、第２の観測フェーズに対応する少なくとも重みの第２のべき級数よりなることが好ましい。最後に、図７を参照して、重みの各べき級数は、一対の重みの第１及び第２のべき級数よりなることが好ましい。第１のべき級数の各重みは、前の樹状突起の関連付け値の関数である第１のカウントを含むことが好ましく、且つ、第２のべき級数の各重みは、次の樹状突起の関連付け値の関数である第２のカウントを含むことが好ましい。前（先行）の及び次の樹状突起のカウントは、「／」によって示され、それによって、例えば、樹状突起７２０ｃの２2べきに対する表記０／１は、０個の前の関連付け値と１個の次の関連付け値を示す。
【００３８】
このように、各入力すなわちセンサニューロン７１０ａ〜７１０ｃは、１つの樹状突起ブランチ７２０ａ〜７２０ｃへ接続される。このブランチでは、各べきに対する重み対は、最も強力なものから最も弱いものへ配置されることが好ましい。これらの重みが存続する。それらは、特定の多極ニューロンに記憶されている累積された体験の全てを表す。
【００３９】
更に、各樹状突起７２０ａ〜７２０ｃは、トレースと呼ばれるトレース記憶７４０を含む。このトレース記憶７４０は、一時的である。トレース７４０は、現在のアクティブのセンサ信号を表す。トレースは、センサ信号を送信することによって残されるシナプス後の生化学トレース（細胞内のカルシューム蓄積）に類推される。このような学習の生化学によれば、信号を記憶するための強力な信号がセンサ信号に追従する場合、トレース信号が記憶信号と相互作用して樹状突起の重みの永久変更を行う。
【００４０】
本発明によるトレースの表示は、センサ信号の直接記録ほど単純でない方が好ましい。このトレース表示は、重みと同じ構造、好ましくは、前の／次の連合、へ変換されることが好ましい。ある意味では、トレースは、最も弱い「重み」と見做され得る。むしろセンサ信号自体としてではないトレースが、ニューロンの計算ダイナミックスで使用される。重みとトレースは、後述されるように、それらの最も効率的な計算のために共に同じ形態であることが好ましい。
【００４１】
図７は、１つのフェーズに対する樹状突起７２０ａ〜７２０ｃの配置を示しているが、図８は、全てのフェーズ，べき，重み対を表し、多極ニューロンを提供する。図８は、このようなニューロンの初期化された状態を示す。全ての重み及びトレースは、ゼロに初期化され、より高い重みべきはない。ニューロン８００の各メジャーブランチ８１０ａ〜８１０ｄは、可能な観測フェーズの１つを表している。ブランチ８１０ａ〜８１０ｄの出力は、合計ノード８２０で合算され、多極出力ライン８３０上に出力を提供する。
【００４２】
入力７１０ａ〜７１０ｃが、センサニューロンによって表されることに留意されたい。各センサニューロンは、その適切なレベルで側方樹状突起ブランチへ繋がる。センサニューロンは、そのレベルで全ての側方樹状突起ブランチに繋がるが、これは簡単化のために図示されていない。各側方樹状突起ブランチは、図７で詳述されたように、全てのべきを横切るようにその重み対を記憶する。
【００４３】
数学により、センサ及びそれらのダイナミックプログラミングのための重みの任意の順序付けが可能なので、生物学的神経アーキテクチャは、生誕順で明瞭に決定されている。「前」及び「次」のという用語よりもむしろ「基部」及び「末梢部」のという用語が、それぞれ、図８で使用されており、その各々は、最も古い及び最も新しい樹状突起を指示する。後者の用語は、センサと多極ニューロンへの接続の生誕順序を表すが、前者の用語は、より明瞭でより構造的であり得る。基部の樹状突起は、細胞体（合計ノード８２０）により近い。それらは、最初に接続する最も早いセンサ入力によって形成される。神経−皮質系への類推によって、新たな成長が末梢の「面」で追加される。換言すれば、より新しい樹状突起より早い樹状突起の後に、末梢的に接続される。
【００４４】
樹状突起構造は、時間経過に従って変化し得る。樹状突起の順序付けは、図示されるように、最も古いものから最も新しいものの順であるが、この順序付けは、性能を改良するために及びより多くの情報を追加するために再配置され得る。例えば、より強い樹状突起は、より基部であるように順序付けられることが可能である。これは、フェーズのより強い順序付けをなし、それによって、例えば、フェーズ０１が１０よりも弱いと考えられ得る。
【００４５】
トレースウエーブ伝播
トレースの生成は、本発明に係る人工ニューロン用の多極ダイナミックスの最も単純なものであり、重み対の線形アレイが観測及びそれらのメモリを如何に表すかを示すことができる。従って、トレース生成及びトレースウエーブ伝播がここで記述される。
【００４６】
多極ニューロンのダイナミックスは、１つの樹状突起から他の樹状突起へのウエーブの伝播によって仲介される。このようなウエーブ伝播は、生物学的神経系を介して知られており、それはプルキンエニューロンにおいて非常によく研究されている。図９は、ウエーブが樹状突起を介して移動してセンサ信号をトレースする方法を示している。生物学は、並行プロセッサのより大きなものであり、各センサ信号が変化するとそのトレースを更新できるが、計算モデルは、多極ニューロンの体細胞（細胞体）でウエーブをスタートする。このウエーブは、基部の樹状突起（矢印９２０）からそして次に末梢樹状突起（矢印９３０）からワンパスで移動することが好ましい。
【００４７】
まず、図９を参照すると、矢印９１０によって示されるように、ウエーブは、樹状突起の所与のフェーズを表すために初期化される。そのフェーズの二つのビット、「ハイ（高）」及び「ロー（低）」は、ハイフィルタ及びローフィルタとしてウエーブ中に維持される。「ハイ」及び「ロー」の設定は、各樹状突起が二つの様相：１）その前の樹状突起へのその連合を計算すること、及び２）その後の樹状突起へのその連合を計算すること、を想定する限りにおいて、任意であってもよい。このような樹状突起の間の連合の存在を計算するために、特定のフェーズを仮定すると、１つの樹状突起は、そのフェーズの一方のビットとして働き、他の１つの樹状突起は、そのフェーズの他方のビットとして働く。例えば、フェーズ１０に対して、１つの樹状突起は、その入力がオンか否かを決定しなければならないが、他の１つの樹状突起は、それらの二つが１つのそのような連合を
表すように、その入力がオフか否かを決定しなければならない。慣習によって、前の樹状突起は、高ビットとして働くが、次の樹状突起は低ビットとして働くと仮定される。より正確には、各樹状突起は、前の樹状突起への連合を計算すると、最初に、低ビットとして働き、次に、その自身信号をウエーブ中において次の樹状突起へ移すと、高ビット（前の樹状突起のように働く）。
【００４８】
ウエーブが樹状突起を横切って移動すると、ハイ・フィルタは、他の末梢樹状突起と連携する基部樹状突起である様相から所与のフェーズ内でアクティブであると考えられる樹状突起に対するセンサ信号を表す。ロー・フィルタは、反対の様相を取る。すなわち、このロー・フィルタは、他の基部樹状突起と連携する末梢樹状突起として樹状突起の様相に対するセンサ信号を表す。また、この「ハイ」と「ロー」の割り当ては、単に慣習に過ぎない。一般に、各樹状突起は、一方の様相に対するフェーズの一方のビットとして働き、次に、他方の様相に対する他方のビットとして働く。
【００４９】
ウエーブの先行信号カウンタが０に初期化される。ウエーブが樹状突起を横切るように移動すると、それらは、次の樹状突起への連合に対するそれらの信号を累算する。
【００５０】
図１０は、各樹状突起内の計算のフローチャートである。ウエーブが最初に樹状突起に移ると、その樹状突起は、ロー・ビットの末梢樹状突起の様相を取る。それは、ウエーブのローフィルタをセンサ信号を比較する。それらが同じである場合、次に、それはこの様相においてアクティブである。末梢部でアクティブである連合の数は、先行の信号のウエーブの累積でわかる。最初の樹状突起が前の（先行の）信号を見ないことが理解されるであろう。
【００５１】
次に、樹状突起は、ウエーブが樹状突起へ移動する前に、高ビット基部樹状突起の様相を取る。ウエーブの低ビットフィルタがセンサの信号とマッチングすると、その樹状突起は、このフェーズに対するこの様相においてアクティブであり、ウエーブの先行信号カウンタにそれ自体を累算する。多極のダイナミックプログラミングの最も簡単な形態として、トレースウエーブ伝播は、１つのセンサ入力を表す１つの樹状突起が他の樹状突起への連合の全てとそれらの信号のパターンを如何に暗黙に数えることができるかを示す。
【００５２】
特に、ブロック１０１０において、センサ信号がフェーズのウエーブの低ビットと同じか否かのテストが行われる。イエスの場合、ブロック１０１２で、基部トレースがウエーブ中に累算される基部樹状突起信号の数にセットされる。ノーの場合、ブロック１０１４において、センサ信号がフェーズのウエーブの高ビットと同じか否かのテストが行われる。イエスの場合、ブロック１０１６において、ウエーブ中の累算された樹状突起信号が次の樹状突起へのパスのために増分（インクリメント）される。ブロック１０１８において、より末梢の樹状突起があるか否かのテストが行われ、そして、イエスの場合、ブロック１０２２において、トレースプロセスがこのより末梢の樹状突起で開始される。もう末梢の樹状突起がない場合には、ブロック１０２４において、信号のウエーブ累算が０に設定（リセット）され、ブロック１０２６において、センサ信号がフェーズのウエーブ高ビットと同じか否かのテストが行われる。イエスの場合、ブロック１０２８において、末梢トレースが、ウエーブ中に累積された末梢樹状突起の数に設定される。ブロック１０３２において、センサ信号がフェーズのウエーブの低ビットと同じか否かのテストが行われる。イエスの場合、ブロック１０３４において、累算された樹状突起信号が、次の樹状突起へパスするためにウエーブにおいて増分される。
【００５３】
樹状突起構造は、再帰的であることが好ましい。各樹状突起は、可能な次の樹状突起へ接続される。各樹状突起は、トレース信号を次の樹状突起へ伝播し、最も末梢の樹状突起は、このウエーブを告げてそれ自体をリセットし（先行信号を０に設定し戻し）そして制御を先行の樹状突起へ再帰的に戻す。戻り伝播は、順方向伝播と同様に働くことが好ましい。ウエーブの末梢パスは、基部トレースを計算し、且つ、ウエーブの基部トレースは、末梢トレースを計算する。
【００５４】
電子設計及び並行処理の当業者は、これらのトレースが物理的ハードウエアにおいて、リアルタイム伝播で更新され得ることを認識している。例えば、あらゆる信号変化は、変化するセンサに連携する樹状突起から始まって、同時に基部へ及び末梢部へ伝播できる。このようなウエーブは、先行信号ではなくて信号中の先行変化を伝播することが好ましいが、そうでない場合は、ダイナミックスが同一である。上述された信号パス動作は、シーケンシャル処理コンピュータアーキテクチャにとってはより効率的である。全てのセンサ信号は、トレース信号が呼び出されると、仮想上クランプされて安定である。すなわち、全ての可能な並行伝播が、単一のシーケンシャルパスにおいて一度に計算される。
【００５５】
図１１は、それはプログラミングコードとしてではないが、図１０におけるのと同じフローチャートを表す。プライム（’）符号表記を有する同様の参照番号が使用される。樹状突起オブジェクトは、その引数としてウエーブオブジェクトを取るトレース番号関数を有する。各樹状突起は、センサオブジェクトをその番号として有する。樹状突起は、そのセンサの信号をウエーブおフィルタと比較する（ブロック１０１０’，１０１４’，１０２６’，及び１０３２’）。ローフィルタの場合、一方が他方と等しいならば、樹状突起は、その末梢トレースをウエーブによって支持される先行信号へ設定する（ブロック１０１２’及び１０３４’）。ハイフィルタの場合、樹状突起は、ウエーブの先行信号を増分してセンサの信号をアカウントする（ブロック１０１６’及び１０２８'）。  
【００５６】
各樹状突起ブジェクトは、他のより末梢のデントライトへ再帰的に接続される。各樹状突起は、もしあるならば、このような次の樹状突起のトレース番号関数を呼び出す。トレース関数は、ボイド（void）を戻す。
【００５７】
記憶
本発明による人工ニューロンへの記憶又は書込みについて、ここで記述される。記憶は、好ましくは、１つより多くのウエーブ伝播を使用し、一般的には、より複雑である。また、マルチウエーブ伝播は、クライミングフィルタからの単一の信号がプルキンエニューロンにおけるアクティビティのバースを引き起こす小脳において指示され得る。図２は、クライミングフィルタ（ＣＩ）とそれが如何にプルキンエニューロンの樹状突起を囲むかを示す。トレース信号のセンサ信号の形成が与えられると、クライミングフィルタが記憶信号を提供し得る。
【００５８】
生物学と同様に、本発明の多極ニューロンへの記憶信号は、ウエーブアクティビティのバースト（burst）を引き起こす。図１２は、トレースの形成と非常によく似て、ニューロンがウエーブを初期化し（矢印９１０参照）、樹状突起フィールドを介してそれを伝播する（矢印１２２０，１２３０参照）ことを示す。しかしながら、重み構造は、トレースよりも複雑であり、幾つかのパスを使用してもよい。図示されているように、各ウエーブは、重みの各べきを通過する。最も弱い２0重みコラムからスタートして、記憶信号は、トレースからより永続的な重みへの転送を引き起こす。  
【００５９】
図１２に示される例は、単純である。トレース重みは、２0で永久重みに簡単に累算される。しかしながら、観測重みのべきグラフへの分離と、樹状突起フィールドでの結果としてのべきコラムは、１つの重みべきから他の重みべきへのキャリー関数を生成し得る。例えば、２値コードにおける追加とキャリーイング（carrying）は単純である。１つのビットを他の１つのビットへ追加する時、そのビットの値は倍となり、従って、次のより高いビットコラムへのシフトが必要となる。より高いビットがオフの場合、それはオンにされる。より高いビットがオンの場合、それは倍とされ、次のより高いビットコラムへの左シフトが必要となる。この動作は、キャリービットが適切に伝播するまで、継続する。
【００６０】
図１２は、１つの重みコラムの結果を他の１つの重みコラムの追加へキャリーするこの必要性を表す。各重みべきに対して、戻りのウエーブが幾つかの値がキャリーされなければならないことを指示する限り、多極ニューロンはウェーブを伝播する。メモリロード及び新たな信号パターンの影響に依存して、ウエーブバーストのｌｏｇ2（Ｏ）数が期待される。実際のプラクティスにおいて、キャリーが全ての道を最も高い順位のべきへ流れるまで、ウエーブがサブセットのべきのみを通ってパスするので、２，３のそのようなウエーブが期待され得る。
【００６１】
記憶関数は複雑であるけれども、それは、上述のトレース形成に幾分類似するように見える。ウエーブは、一般的に、連続して各樹状突起へ移動して、（基部トレースを形成するように）基部重みを変更し、そのウエーブを良好に変更して、ダイナミックプログラミングを介してそのアクティビティを他のより末梢の樹状突起へ暗黙裡に伝達する。ウエーブは、基部重みを調節し、次に、末梢重みを調節するために逆転する。しかしながら、ダイナミックプログラミングの性質は、ここで記述されるように、一般的に、より複雑で且つエレガントである。
【００６２】
最初に、記憶が一般的に記述される。次に、１つの重みべきから他の１つの重みべきへのキャリーがより詳細に記述される。図１３は、全体の記憶動作と、次に導入されるダブルマッチ／フィルタへのその呼び出しを示している。
【００６３】
特に、ウエーブが最初に樹状突起へ入ると、その樹状突起は、末梢樹状突起の様相を呈する。その基部重みとトレース値の両方が与えられると、樹状突起は、そのトレースによって引き起こされる追加が現在の重みへ追加されるか又は次のべきへキャリーされるかについて決定しなければならない。その決定の論理は、２値コーディングにおける場合と非常に似ている。すなわち、連想が存在しない場合、その重みはそれが存在するように設定される。連想が存在すると、古い且つ新しい連想が同じもの二つを調べ、且つより高いべきへ向けて左シフトされるべきである。下記のように、ダブルマッチ／フィルタは、次のべきへキャリーされるべき、現在既知の連想のこのような「ダブル化」を検出する。
【００６４】
ここで、図１３を参照すると、ダブルマッチ／フィルタ（ブロック１３０２）は、前へキャリーされるべき基部ダブルの数を抽出し、ウエーブを変更し、１がある時に（ブロック１３０４）、樹状突起は、このウエーブを次の樹状突起へ送る（ブロック１３０６）。ウエーブは、戻り（ブロック１３０８）、ダブルマッチ／フィルタが再び呼び出され（ブロック１３１２）、この時に、末梢ダブルの数を抽出する（ブロック１３１４）。
【００６５】
ダブルの数が、次のべきへ前方へキャリーするように一旦決定されると（ブロック１３１６）、現在のべきの重みが決定され得る（ブロック１３１８）。基部及び末梢重みの両方が前方へキャリーされるべき連合（ダブル）の数によって減分される。換言すれば、重みが既に連合を保持し且つセンサ信号がそれを再び追加しているならば、連合は現在のべきから除去されて次にダブル化される。次に、各重みは新たなトレース値をアカウントするために増分され、古い連合とマッチングした値をマイナスし、それてキャリーされるべきダブルに帰される。
【００６６】
最後に、最も低い重みべきに対してなされたように、ダブルは、それらを次の重みべきのためにトレースとして割り当て追加することによってキャリーされる。実際に、ダブルがあり、且つそれらが次のウエーブに対するトレース値として設定される時、ウエーブのキャリートリガーが真に設定される。多極ニューロンは、ウエーブのバーストを送り、各ウエーブは、前方へキャリーされる連合がもうなくなるまで、より高い重みべきへチューンされる。
【００６７】
タイムスケーリングファクタは、それが空間の複雑性に対するのと同じ線形Ｏ（Ｎ）関数である。ニューロンが１つのウエーブを生成し、このウエーブは、その樹状突起フィールドの各フェーズ毎に４回チューンされる。各フェーズ内で、ｌｏｇ2（Ｏ）個のバースト（最大可能バースト）が重み変化を完了する。
【００６８】
図１４は、重み変更動作のためのプログラミングコードの例を示す。図１３に対するものと同様の参照番号がプライム（’）表記を持って使用される。樹状突起ブジェクトは、トレース関数と非常に類似しており、ウエーブを引数とする記憶番号関数を有する。次の樹状突起を呼び出して記憶することは、再帰的であり、ボイドを戻す。或いは、記憶は、ダブルマッチ／フィルタプロセスを実行する別個の関数を介するｍａｔｃｈｅｄＰｒｏｘｉｍａｌＤｏｕｂｌｅｓ（マッチング基部ダブル）（ブロック１３０２’）とｍａｔｃｈｅｄＤｉｓｔａｌＤｏｕｂｌｅｓ（マッチング末梢ダブル）（ブロック１３１２’）の計算を含む。各樹状突起は、重みの２重にインデックス付けされたアレイを有する。一方のインデックスは、ＤＩＳＴＡＬ（末梢）又はＰＲＯＸＩＭＡＬ（基部）方向を指し、他方
のインデックスは、重みべきを指し、それは、そのべきとしてウエーブの通過によって決定される。重みは、二つの方法で調節される。第１は、あらゆるマッチングダブルが減算され（それらがキャリーされるので）ると共に、トレースは、後に追加される（マッチングダブルをマイナスし、キャリーされることが必要なものを表す）。ブロック１３１４’を参照されたい。
【００６９】
トレースは、マッチングダブルの数へ再割当される。これは、次にウエーブべきへキャリーされるべき値を表す。ウエーブの引き続くパスで同じ記憶関数を使用するため（ブロック１３０６’）、これらのキャリー値は、あたかもそれらが次の重みべきを表すように（実際にその通りである）、トレースに配される。
【００７０】
リターンする前に、樹状突起は、実際に、そのトレースにキャリーされるものがあるのか否かを決定する（ブロック１３１６’）。もしそうであるならば、樹状突起は、ウエーブのｃａｒｒｙＴｒｉｇｇｅｒ（キャリートリガー）をトリップし（ブロック１３１８’）、それによって樹状突起は、より高いウエーブべきでパスバックする。
【００７１】
この線形スケーリングの最も複雑な部分は、ダブルを見つけるための動作である。実際のべきグラフは、グラフのエッジを明瞭に表し、それによって、特定の連合が存在するか否かが決定され得る。二つの入力の間の特定のべきの連合は、１つの及びそれぞれの入力頂点の間のただ１つのエッジとして表される。樹状突起内の線形重みスキームは、非常に特殊であってもよく、連合の幾何学的数を表すが、それは、１つの樹状突起／センサが他の１つのそれとの連携を有することを見ることは非常に困難である。
【００７２】
しかしながら、ウエーブ伝播のダイナミックプログラミングは、これらの連携をアカウントし得る。図６に示されたように、２の抹消重みは、マッチングのために２個の基部重みに遭遇しなければならない。図６における最も高いべきを考察すると、Ａでの２の重みは最初にＢで１つの１に（ＡとＢは連合される）且つＣでの他の１（ＡとＣは連合される）に遭遇する。また、ＢとＣは、マッチング対の基部重みと末梢重みを持っていることができるが、それらは、この例では、そのような連合を持たない。
【００７３】
図１５は、これらの制約を演算するための適切な値と動作シーケンスを確立する。図１５において、ニューロンは、明瞭のために概略的に表される。重みとトレースが同じフォーマットであることが好ましく、これらが与えられると、ウエーブは伝播でき且つそれが樹状突起を横断するようにパスすると、重みとトレースをアカウントすることができる。実際に、ウエーブは、ｐｒｉｏｒＷｅｉｇｈｔｓ（先行重み）とｐｒｉｏｒＴｒａｃｅｓ（先行トレース）のためのアキュムレータを備える。更に、ダブルの数は、一般的には、トレースと突合せのためにより重要な関係である。ウエーブは、ｐｒｉｏｒＤｏｕｂｌｅｓ（先行ダブル）のためのアキュムレータを有する。丁度１つの連合を考えると、ダブルは、重みとトレースの同時発生である。換言すると、連合が既に存在しており、トレースの追加は、それを強化又はダブル化する。樹状突起重みは、連合の数をアカウン
トするので、そのダブルは、重みとトレースのカウンタの最小値である。
【００７４】
より具体的には、樹状突起は、一般的には、可能なダブルの数のみを計算できる。樹状突起は、重みのある数とトレースのある数を有することができるが、一般的にはそれらが同じ連合を表すという局所的保障はない。例えば、入力Ａは、Ｂとの古い連合とＣを有する新たなトレースを有する。しかし、Ａは、これを決定するためにＢ又はＣとの明示の接続を有さない。基部樹状突起は、突合されるべき他のダブルがあるか否かを決定しようとする他の樹状突起の重みを介して末梢部を「見ている」ことを仮定する。そのような様相において、非常に多くのノイズと重みの混乱がある。幸いにも、多くの複雑な制約があり、ダイナミックプログラミングの他の形態がそのようなダブルとマッチングされ且つフィルタ処理され得る。
【００７５】
図１６は、幾つかの例を提供している。ダブルマッチ／フィルタの仕様は、非常に複雑であり、多数の入力で理解するのが困難である。このような複雑性は、一般に特に多くの入力を有する重みの全ての可能な構成を補償できるが、ここで示される例は、より基本的であり且つ説明的である。
【００７６】
第１の例（図１６の最初の行）は、幾つかの連合が新たな観測によってダブルにされると共に他の連合が新たな単一の連合として付加するために残される方法を示す。第２の例（図１６の第２の行）は、重みの可能なダブル化が１つの樹状突起内に現れる方法を示すが、以下の処理を行うことによって、新たな連合の何れもが先行のメモリの連合と実際にマッチングしない。
【００７７】
例えば、入力Ａに対する初期重みとトレースは、二つの例の両方で同一である。入力Ａは、その下に２個の連合の重みを有し、且つ１個の連合の新たなトレースが既に記憶されている連合とマッチングすることが想定される。もしそうであるならば、連合のダブル化は、高いべきへキャリーされるべきである。しかしながら、第１の例のみが既存の連合の真のダブル化を有する。Ａは、両方の例においてＡによるダブルが生じうることを示しているものの、第２の例では、Ｃのトレース値によって、その上のＡとＢの両方に対するトレースの勘案がどのように強制されているかが示される。Ａにおけるトレース値は、Ｃによって勘案されるが、対応する重みはない。ＣがＡの重みとトレースとの間のダブルにマッチングできる第１の例とは異なり、Ａにおいて可能なダブルはスプリットされ、且つ実際にも、第２の例ではダブルではない。
【００７８】
図１７Ａ乃至１７Ｃは、要素，＋，−，最小及び最大の関数を使用して、このような論理に対するデータフロープロセスの動作を概説する。上述のように、そのウエーブがｐｒｉｏｒＷｅｉｇｈｔｓ，ｐｒｉｏｒＤｏｕｂｌｅｓ，及びｐｒｉｏｒＴｒａｃｅｓの数を累算したと仮定する。末梢樹状突起がこのような記憶ウエーブを受け取るために「見る」ことの様相から、この樹状突起は、その基部重みとトレース（ブロック１７０２，１７０４）の最小として可能なダブルを演算できる（ブロック１７０６）。これは、これらの候補ダブルをマイナスした元の重み及びトレースの数として多くの可能な重み（ブロック１７０８）及びトレース（ブロック１７１２）を残す。
【００７９】
これらの可能なダブルが真のダブルであり、連合の真のダブル化として互いに、マッチングされ得るならば、末梢樹状突起の可能な重みと残留トレースは、ウエーブ中の重みとトレースをマッチングすることによってアカウントされ得る。これは、厳しい制約であり、末梢ウエーブをアカウントする時、樹状突起の全ての基部カウントがウエーブの累算をマッチングするためにアカウントされる。マッチングされた重みとトレース（ブロック１７２２，１７２４）は、樹状突起とウエーブの重みとトレース（ブロック１７１４，１７１６）の最小値としてそれぞれ計算される。
【００８０】
樹状突起の可能な重みとトレースがウエーブの累算へのマッチングによってアカウントされることができない場合には、そのウエーブ中の可能なダブルが余りに強欲であったかもしれない。これは、残りの重みとトレース、すなわち、それぞれ、ブロック１７２６及び１７２８でマッチングされなかった可能な値を見つけることによって計算される。より大きな残りは、アカウントをバランスさせるために、別個の重みとトレースにスプリットされなければならないウエーブのダブルの数である。この強制されたスプリット（ブロック１７３２）は、ダブルのウエーブの累算から除去され（ブロック１７３６）、個々の重みとトレースへ付与される（ブロック１７１４，１７１６）。
【００８１】
次に、図１７Ｂを参照すると、そのウエーブが移動する前に完全にアカウントされるべきである樹状突起の可能なダブル（ブロック１７０６）が真のダブル（ブロック１７０６）である可能性があるが、それは、そのウエーブがマッチングのために、可能なダブル（ブロック１７０６）をキャリーしている場合のみである。これらの可能なダブルの最小とウエーブのダブルは、実際に、マッチングされたダブル（ブロック１７４６）として検出され互いにマッチングされた真のダブルである。
【００８２】
真のマッチングされたダブル（ｔｒｕｅ ｍａｔｃｈｅｄＤｏｕｂｌｅｓ）の数を知ると、真の重みとトレースの数が計算され得る。マッチングされたダブル(ｍａｔｃｈｅｄＤｏｕｂｌｅｓ)が記憶された重みから減算されて真の前のトレース(ｔｒｕｅＰｒｉｏｒＴｒａｃｅ)を決定する（ブロック１７４８）。マッチングされたダブルが記憶されたトレースから減算されて真の前のトレース（ｔｒｕｅＰｒｉｏｒＴｒａｃｅｓ）を決定する（ブロック１７５６）。
【００８３】
最後に、図１７Ｃを参照すると、樹状突起は、ウエーブを次の樹状突起へ送る前に末梢部を見る事の様相を取る。それは、可能な次のダブル（ブロック１７６６）をその末梢重み（ブロック１７６２）とトレース（ブロック１７６４）の最小として計算する。また、これら可能なダブルであり、この処理は、次の樹状突起でこれらのダブルを分解する。また、ウエーブの重みとトレースは、繰返された動作に対して全ての連合のバランスされたアカウントを維持するために、樹状突起の末梢の様相から更新される。
【００８４】
図１８は、図１７Ａ乃至１７Ｃのダブルマッチフィルタのためのプログラミングコードの例を示す。各コードブロック１８０２，１８０４，及び１８０６は、図１７Ａ乃至１７Ｃにそれぞれ示されるデータフロー論理に対応して、シーケン
シャルに実行されることが好ましい。第１のブロック１８０２は、樹状突起中の可能なダブルを計算し、強制スプリットの計算によって偽のダブルの除去を含む。第２のブロック１８０４は、真のマッチングしたダブルを計算し、ウエーブから先行の累算をアカウント（除去）する。次に、第３のブロック１８０６は、次のカウントを重み，ダブル，及びトレースのウエーブの累算へ追加する。これらのコードブロックは、「ｃｌａｓｓＤｅｎｄｒｉｔｅ」の記憶及びイメージング方法によって呼び出され得る１つ又はそれより多くのプライベート方法（サブルーチン）として実行されることが好ましい。
【００８５】
読出し
人工ニューロンの読出しが記述される。マッチングされたダブルの計算は、書込み及び読出し動作の両方において使用される。記憶に対して記述されたように、マッチングされたダブルは、現在のセンサパターンにおけるどの連合が既に知られているかを指示し、それによって、それらは、次の重みべきへキャリーされ得る。「想像」とも呼ばれる、読出し動作のために、マッチングされたダブルは、新たな観測中の連合（トレース）をマッチングするメモリ中の連合（重み）の数を表す。ダブルマッチ／フィルタ処理は、この連想メモリマッチング関数の核心であり、類似度／距離の尺度である。
【００８６】
読出し動作は、過去の連合の呼び出しや想像が一セットの新たな観測に与えられると、作られる。換言すると、観測の新たなパターンがセンサ入力ニューロンへクランプされて、多極ニューロンへフォーカスされる。次に、この多極ニューロンが可能な出力（フィードフォワード予報）を想像し且つ他の入力への可能な連合（フィードバックパターンの完成）を想像する。これら二つの読込み動作はしばしばヘテロ連合（出力への入力）及びオート連合（他の入力への入力）と呼ばれた。学習理論の心理学において、これらの要素は、刺激−応答連合及び刺激−刺激連合とそれぞれ呼ばれる。
【００８７】
ダブルマッチ／フィルタ処理は、このようなメモリの呼出のために使用されることが好ましい。簡単に言えば、呼出は、現在の観測のトレース連合と過去を表す永久重み連合との間のマッチングのための比較である。ヘテロ連合とオート連合画像の強度は、過去の経験が現在の経験とマッチングする度合いへ直接的に相関されることができる。
【００８８】
図１９は、イメージングウエーブ伝播が記憶機能のように「バースト」であることを示すが、もはやキャリーが必要とされないときに中止するのではなく、イメージング関数がウエーブを全ての重みべきを介して送信する。各べきは、全てが加算的である、可能な連合の幾つかを表す。各べき１９１０ａ及び１９１０ｂに対しするウエーブの各パスにおいて、樹状突起は、現在の観測に対するマッチング１９２０の数を計算し、これらのマッチングを二つの方向、すなわち、関連と呼ばれる出力合計へ向ける前方及び各それぞれのセンサへ向かう後方へ累算する。累算されたマッチングが合計装置１９３０で合計される。
【００８９】
各多極ニューロンがある出力アクションや他のバベルカテゴリを表すとすると、関連は、現在の観測がアクション又はカテゴリに関連する度合いである。また、これは、新たな観測がこの特定の出力と連合するセットの観測に如何によく属するかというメンバシップ関数として理解され得る。
【００９０】
図２０は、本発明による読出しのための動作を示すフローチャートである。読出しは、書込みと類似しており（図１３参照）、且つ、ダブルマッチ／フィルタを使用し得る。しかしながら、重みを変化するのではなく、想像関数は、ブロック２００６でマッチングされたダブルを累算する。合計関連は、樹状突起の再帰的構造を介して累算され、各樹状突起はその基部マッチングと末梢マッチングを追加する。マッチングは、関連と呼ばれる値へ累算される（ブロック２０１４）。新たな観測は、パターンがメモリに格納された全ての過去の観測のパターンとマッチングする度合いに関連する。
【００９１】
この累算の非線形関数は、図１で導入される線形及び非線形連合モデルの両方から導出され得る。任意の観測マトリックスに対する関連性は、線形項と非線形項の両方から構成されると仮定される。
関連＝ＷAＡ＋ＷBＢ−ＷABＡＢ
各重みは、生の観測カウントから以下のように計算され得る。
ＷA＝Ｗ11＋Ｗ01−Ｗ10−Ｗ00  
ＷB＝Ｗ11＋Ｗ10−Ｗ01−Ｗ00
ＷAB＝Ｗ11＋Ｗ00−Ｗ01−Ｗ10
それらは、各フェーズに関して以下の部分公式に再配置され得る。
関連00＝Ｗ00（−Ａ＊Ｂ−Ａ−Ｂ）  
関連01＝Ｗ01（Ａ−Ｂ＋Ａ＊Ｂ）
関連10＝Ｗ10（Ｂ−Ａ＋Ａ＊Ｂ）
関連11＝Ｗ11（Ａ＋Ｂ−Ａ＊Ｂ）
フェーズが既にＡとＢの信号状態のフィルタである場合、センサ項は、任意のフェーズに対する定数であり、実際に、各フェーズに対して１の定数である。一例では、関連00＝Ｗ00である。換言すれば、各フェーズの部分的関連は、観測重みの累算である。このように、本発明は、物理的表現が線形であり且つ呼出関数が観測カウントの累算であっても、線形と非線形連合をアカウントできる。ダブルマッチ／フィルタは、現在の観測を表すこれらの観測カウントを選択する。
【００９２】
図２１は、図１９のイメージングの実施の形態のためのプログラミングコードを示す。プライム（’）表記が使用される。「Ｄｅｎｄｒｉｔｅ（樹状突起）」オブジェクトは、ウエーブを引数とするメンバ関数イマジンを有する。他の関数と同様に、樹状突起の呼出は、再帰的であるが、イマジン処理がＲＥＡＤ動作であり、樹状突起を介して累算されたｔｏｔａｌＲｅｌｅｖａｎｃｅ（総合関連）を戻す（ブロック２０１４’）。記憶関数と同様に、イマジン動作は、ダブルマッチ／フィルタを呼び出して基部と末梢マッチダブルの数を計算する。しかしながら、記憶（ＷＲＩＴＥ動作；書き込み動作）におけるような重みを変更するのではなく、イマジンは、関連を累算する。末梢と基部マッチダブルの両方にとって、関連は、重みべきをアカウントする。関連性におけるこの指数的増加は、マッチダブルの左シフトによって計算される。各樹状突起の計算の局所関連は、他の樹状突起によって戻される全関連へ追加される（ブロック２００６’）。これで読出し動作の記述を終了する。
【００９３】
プルキンエニューロンは、多極ニューロンの唯１つの形態であると理解される。大脳皮質のピラミッドニューロンは周知であるが、神経系は、一般に非常に広範な樹状突起ブランチパターンを表示し、それらの多くは、複雑であり、多極である。同様に、本発明は、観測カウンティングの多くの他の形態へ適用され得る。２×２観測マトリックスは、観測と対話を記録することの基本的要素として導入された。しかしながら、当業者は、より高い次元のマトリックス，極座標，カルノー図，ブール関数，及び／又は階層構造もまた、上述されたように、次に分解及び圧縮され得る観測カウントを収集するために使用され得ることを認識している。
【００９４】
実際に、単極ニューロンは、そのただ１つの樹状突起内で本発明を使用できる。例えば、ＡとＢとの間の比率は、単一の１×１細胞となり、入力の各対毎の組合せに対して１つの値である。これは、単一の重み付けグラフに等価であり、それは、１セットの重み付けのないべきグラフに分解されることができ、上述のように、ダイナミックにプログラミングされる。単一のデンドリックの再帰は、多分、単一極のニューロンにおけるただ１つのものであり、そのように比率数を表すことができる。
【００９５】
概説すれば、観測の増分的学習並びに呼出は、項の各可能な対ごとの組合せに対する主ブランチよりなる多極ニューロン内で記述された。他の多極構造体は、表現され得るが、これは２×２観測マトリックスが、４つのフェーズの例を提供した。各ブランチは、再帰的樹状突起からなることが好ましく、各樹状突起は、１つの２極入力ニューロンに接続され、且つ一セットの重みとトレースを含む。各樹状突起は、重み対を格納し、１つの重みは、それの基部の他の樹状突起への連合の数を格納し、且つ１つの重みは、それの末梢の他の樹状突起への連合の数を格納する。樹状突起は、複数の重み対を格納することが好ましく、可能な重みの各底が２のべきに対して一対である。このように、樹状突起当り重み対の全数は、全ての格納された観測数のｌｏｇ2である。また、各樹状突起は、ただ１つの対の遷移トレースを含むことが好ましく、それらのトレースは、累算重みの同じ基部／末梢の形態を使用して、現在の観測を表す。
【００９６】
ダイナミックプログラミングを使用する幾つかの動作は、アカウントが全ての入力の間の非線形連合を近似するけれども、線形空間と時間内において、メモリからの読出し及びそれへの書込みを可能とする。全ての動作は、ウエーブが１つの樹状突起から他の１つの樹状突起へ移動すると、そのウエーブが樹状突起のフェーズ配向のフィルタ処理を行い且つ信号の累算をキャリーするウエーブ伝播を使用できる。ダブルマッチ／フィルタは、樹状突起の重みとトレースの間の強固な制約を処理でき、その結果、現在の観測によってマッチングされる過去の連合数の暗黙の計算となる。このように、重みは、記憶動作中に、追加され且つ１つの重みべきから他の１つの重みべきへキャリーされる。また、新たな観測の適合性と、このような適合性の決定における各入力の感度を決定するために、過去のメモリと新たな入力との間のパターンマッチを測定する。
【００９７】
本発明のハイパーマシンスケーリングファクタは、連想メモリの汎用ユーティリティを完全に広くできる。ここで記述された実施では、非線形から線形までの圧縮において幾らかロスがあるが、増分的ローディング，パラメータフリー，非線形連合装置は、インターネットの最大スケール及び無線デバイスの最小スケールの両方で、マシン学習のための新たな可能性を拓くために、線形サイズと速度で物理的に実施され得る。
【００９８】
図面及び明細書において、本発明の典型的な好適な実施の形態が開示され、且つ指定の用語が使用されるが、それらは、総括的且つ記述的意味でのみ使用されており、制限のためではなく、本発明の範囲は、以下の特許請求の範囲で記述される。
【図１】
2010015578.tif 000003
【図２】
2010015578.tif 000004
【図３】
2010015578.tif 000005
【図４】
2010015578.tif 000006
【図５】
2010015578.tif 000007
【図６】
2010015578.tif 000008
【図７】
2010015578.tif 000009
【図８】
2010015578.tif 000010
【図９】
2010015578.tif 000011
【図１０】
2010015578.tif 000012
【図１１】
2010015578.tif 000013
【図１２】
2010015578.tif 000014
【図１３】
2010015578.tif 000015
【図１４】
2010015578.tif 000016
【図１５】
2010015578.tif 000017
【図１６】
2010015578.tif 000018
【図１７Ａ】
2010015578.tif 000019
【図１７Ｂ】
2010015578.tif 000020
【図１７Ｃ】
2010015578.tif 000021
【図１８】
2010015578.tif 000022
【図１９】
2010015578.tif 000023
【図２０】
2010015578.tif 000024
【図２１】
2010015578.tif 000025
【手続補正書】
【提出日】平成21年9月4日(2009.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれが入力信号を受け付ける複数の入力部と、前記複数の入力部のそれぞれの１つにそれぞれが関連付けされている複数の樹状突起を模擬するための記憶要素を複数含むデンドライト状態記憶部とを含むニューロンを模擬する連想記憶装置を動作させる方法であって、
各樹状突起に対応する前記記憶要素に対して、重みのべき級数を提供するステップであって、前記重みのべき級数は、連想記憶において用いられる重みを表すものであり、前記各樹状突起は連続的に順序付けられており、前記重みのべき級数は、一対の第１及び第２のべき級数よりなり、前記第１のべき級数の各重みは、前の樹状突起の関連付け値の関数である第１のカウント値を含み、前記第２のべき級数の各重みは、次の樹状突起関連付け値の関数である第２のカウント値を含む、ステップと、
前記入力信号から、前の樹状突起における入力信号の関連付け値の関数である第１のトレースのカウント値と、次の樹状突起における入力信号の関連付け値の関数である第２のトレースのカウント値を生成するステップと、
前記第１及び第２のトレースのカウント値を前記第１及び第２のべき級数における前記第１及び第２のカウント値に累算して、前記第１及び第２のトレースのカウント値を、前記各樹状突起に対応する前記記憶要素に与えられた前記重みのべき級数それぞれへ順次反映させるステップと
を備えることを特徴とする方法。
【請求項２】
各トレースは、前の樹状突起における入力信号の関連付け値の関数である第１のトレースのカウント値のべき級数と、次の樹状突起における入力信号の関連付け値の関数である第２のトレースのカウント値のべき級数とを含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記連想記憶装置は、前記第１及び第２のトレースのカウント値を記憶するトレース記憶部を備え、
前記順次反映させるステップは、前記複数の樹状突起におけるべき級数に沿って前記トレース記憶部のキャリー結果を順次反映させるステップを更に備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記第１及び第２のトレースのカウント値と前記第１及び第２のべき級数との間のマッチングを累算して前記連想記憶装置を読み出すステップを更に備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記順次反映させるステップは、第１及び第２のトレースのカウント値のそれぞれを前記べき級数のそれぞれに対して、順方向及び逆方向へ順次反映させるステップを含むことを特徴とする請求項２に記載の方法。
【請求項６】
キャリー結果を順次反映させるステップは、次のより高位の累乗に順次反映させるために、前記トレース記憶部の値にダブルマッチフィルタ処理を行って樹状突起の重みのうちのキャリー結果を特定するステップを含むことを特徴とする請求項３に記載の方法。
【請求項７】
前記累算するステップは、キャリー結果が生成されるか否かに関係なく、前記第１及び第２のトレースのカウント値と前記第１及び第２のべき級数におけるカウント値の全てとの間におけるマッチングを累算するステップを含むことを特徴とする請求項４に記載の方法。
【請求項８】
前記累算するステップの結果を合計するステップを更に含むことを特徴とする請求項４に記載の方法。
【請求項９】
前記ダブルマッチフィルタ処理するステップは、重みとトレースの同時発生に基づいて樹状突起における重みのうちのキャリー結果を特定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１０】
コンピュータに、請求項１から９のいずれか１項に記載のステップを実行させるためのプログラム。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2010015578.tif 000026
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2010015578.tif 000027
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2010015578.tif 000028
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2010015578.tif 000029
【外国語明細書】
2010015578.tif 000030
2010015578.tif 000031
2010015578.tif 000032
2010015578.tif 000033
2010015578.tif 000034
2010015578.tif 000035
2010015578.tif 000036
2010015578.tif 000037
2010015578.tif 000038
2010015578.tif 000039
2010015578.tif 000040
2010015578.tif 000041
2010015578.tif 000042
2010015578.tif 000043
2010015578.tif 000044
2010015578.tif 000045
2010015578.tif 000046
2010015578.tif 000047
2010015578.tif 000048
2010015578.tif 000049
2010015578.tif 000050
2010015578.tif 000051
2010015578.tif 000052
2010015578.tif 000053
2010015578.tif 000054
2010015578.tif 000055
2010015578.tif 000056
2010015578.tif 000057
2010015578.tif 000058
2010015578.tif 000059
2010015578.tif 000060
2010015578.tif 000061
2010015578.tif 000062
2010015578.tif 000063
2010015578.tif 000064
2010015578.tif 000065
2010015578.tif 000066
2010015578.tif 000067
2010015578.tif 000068
2010015578.tif 000069
2010015578.tif 000070
2010015578.tif 000071
2010015578.tif 000072
2010015578.tif 000073
2010015578.tif 000074
2010015578.tif 000075
2010015578.tif 000076
2010015578.tif 000077
2010015578.tif 000078
2010015578.tif 000079
2010015578.tif 000080
2010015578.tif 000081
2010015578.tif 000082
2010015578.tif 000083
2010015578.tif 000084
2010015578.tif 000085
2010015578.tif 000086
2010015578.tif 000087
2010015578.tif 000088
2010015578.tif 000089