(57)【要約】      （修正有）【課題】複数の入力と、それぞれの１つが該複数の入力のそれぞれの１つと関連付けされた複数のデンドライトとを含む人工ニューロンを提供する。【解決手段】人工ニューロンは、入力部とそれぞれの１つが入力部のそれぞれの１つに関連付けされたデンドライト７００とを含む。それぞれのデンドライトはそれぞれの重みのべき級数７３０を含む。べき級数の所定の累乗内の重みは最大射影を示す。それぞれの累乗は少なくとも１つのスイッチも含み、射影内のホールを識別する。最大射影を提供することによって、線形のスケーリングが最大射影に提供され、また準線形のスケーリングが人工ニューロンに提供されると同時に、関連付けの損失のない圧縮が可能にされる。このため、ヘテロ連想及び／又は自己連想の呼び出しが、入力の関数として幾何学的スケーリングを必要とせずに、多数の入力に対して提供される。【選択図】図１２
2010015579.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力部と、
それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた複数のデンドラ
イトであって、前記デンドライトの少なくともいくつかが重みのべき級数を含み、前記べ
き級数の少なくとも１つの累乗における前記重みの少なくともいくつかが最大射影を規定
する複数のデンドライトと
を含む人工ニューロン。
【請求項２】
前記べき級数の少なくとも１つの累乗が少なくとも１つのスイッチも含むことを特徴と
する請求項１に記載の人工ニューロン。
【請求項３】
前記重みのべき級数が基数２の重みのべき級数であり、前記べき級数の少なくとも１つ
の累乗における前記少なくともいくつかの重みが最大行射影及び／又は最大列射影を規定
することを特徴とする請求項２に記載の人工ニューロン。
【請求項４】
前記最大行射影及び／又は前記最大列射影がそれぞれ行射影及び／又は列射影の合計に
よってソートされることを特徴とする請求項３に記載の人工ニューロン。
【請求項５】
前記関連付けされた入力部において入力信号に応答し、前記最大行射影及び／又は前記
最大列射影の位置に前記入力信号の活性化をマッピングするように構成されたトレースを
さらに含むことを特徴とする請求項３に記載の人工ニューロン。
【請求項６】
前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピ
ングするように構成され、前記最大行射影及び／又は前記最大列射影を規定するルータを
さらに含むことを特徴とする請求項３に記載の人工ニューロン。
【請求項７】
前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピ
ングするように構成され、前記最大行射影及び／又は前記最大列射影を規定するルータを
さらに含むことを特徴とする請求項５に記載の人工ニューロン。
【請求項８】
前記トレースに応答して前記最大行射影及び／又は前記最大列射影における活性化され
たサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデッ
クス以上の最小の行射影を選択するように構成されたリーダをさらに含むことを特徴とす
る  請求項５に記載の人工ニューロン。
【請求項９】
前記関連付けされた列のインデックス以上の前記最小の行射影を、前記活性化されたサ
ブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得
るように前記リーダがさらに構成されることを特徴とする請求項８に記載の人工ニューロ
ン。
【請求項１０】
前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタ
をさらに含むことを特徴とする請求項５に記載の人工ニューロン。
【請求項１１】
前記ライタが前記トレースと前記最大射影との間に冗長な射影を見つけるように構成さ
れた行列圧縮部を含むことを特徴とする請求項１０に記載の人工ニューロン。
【請求項１２】
前記それぞれのデンドライトが前記重みのべき級数を含み、前記べき級数のそれぞれの
累乗におけるそれぞれの重みが最大射影を規定することを特徴とする請求項１に記載の人
工ニューロン。
【請求項１３】
複数の入力部と、
それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた複数のデンドラ
イトであって、前記デンドライトの少なくともいくつか重みを含み、前記重みの少なくと
もいくつかが最大射影を規定する複数のデンドライトと
を含む人工ニューロン。
【請求項１４】
少なくとも１つのスイッチをさらに含むことを特徴とする請求項１３に記載の人工ニュ
ーロン。
【請求項１５】
前記最大射影が最大行射影及び／又は最大列射影を含むことを特徴とする請求項１４に
記載の人工ニューロン。
【請求項１６】
前記最大行射影及び／又は前記最大列射影がそれぞれ行射影及び／又は列射影の合計に
よってソートされることを特徴とする請求項１５に記載の人工ニューロン。
【請求項１７】
前記関連付けされた入力部において入力信号に応答し、前記最大行射影及び／又は前記
最大列射影の位置に前記入力信号の活性化をマッピングするように構成されたトレースを
さらに含むことを特徴とする請求項１５に記載の人工ニューロン。
【請求項１８】
前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び
／又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項１５に記載
の人工ニューロン。
【請求項１９】
前記少なくともいくつかの重みをマッピングするように構成され、前記最大行射影及び
／又は前記最大列射影を規定するルータをさらに含むことを特徴とする請求項１７に記載
の人工ニューロン。
【請求項２０】
前記トレースに応答して前記最大行射影及び／又は前記最大列射影における活性化され
たサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデッ
クス以上の最小の行射影を選択するように構成されたリーダをさらに含むことを特徴とす
る請求項１７に記載の人工ニューロン。
【請求項２１】
前記関連付けされた列のインデックス以上の前記最小の行射影を、前記活性化されたサ
ブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得
るように前記リーダがさらに構成されることを特徴とする請求項２０に記載の人工ニュー
ロン。
【請求項２２】
前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタ
をさらに含むことを特徴とする請求項１７に記載の人工ニューロン。
【請求項２３】
前記ライタが前記トレースと前記最大射影との間に冗長な射影を見つけるように構成さ
れた行列圧縮部を含むことを特徴とする請求項２２に記載の人工ニューロン。
【請求項２４】
それぞれのデンドライトが最大射影を規定するそれぞれの重みを含むことを特徴とする
請求項１３に記載の人工ニューロン。
【請求項２５】
複数の入力部と、それぞれが前記複数の入力部のそれぞれの１つと関連付けされている
複数のデンドライトとを含む人工ニューロンを動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対して重みのべき級数を生成するステップを
含み、前記べき級数の少なくとも１つの累乗における前記重みの少なくともいくつかが最
大射影を規定する方法。
【請求項２６】
前記生成するステップが前記べき級数の少なくとも１つの累乗に対してスイッチを生成
するステップをさらに含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記重みのべき級数が基数２の重みのべき級数であり、前記生成するステップが最大行
射影及び／又は最大列射影を前記べき級数の少なくとも１つの累乗の重みに対して生成す
るステップをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記生成するステップが、前記行射影及び／又は前記列射影の合計によりソートするこ
とによって、前記最大行射影及び／又は前記最大列射影をそれぞれ生成するステップをさ
らに含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記最大行射影及び／又は前記最大列射影の位置に前記入力信号の活性化をマッピング
するステップをさらに含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記最大行射影及び／又は前記最大列射影を規定するために、前記べき級数の少なくと
も１つの累乗における前記少なくともいくつかの重みをマッピングするステップをさらに
含むことを特徴とする請求項２７に記載の方法。
【請求項３１】
前記最大行射影及び／又は前記最大列射影を規定するために、前記べき級数の少なくと
も１つの累乗における前記少なくともいくつかの重みをマッピングするステップをさらに
含むことを特徴とする請求項２９に記載の方法。
【請求項３２】
前記マッピングするステップに応答して前記最大行射影及び／又は前記最大列射影の中
で活性化されたサブセットを決定するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射
影を選択するステップと
をさらに含むことを特徴とする請求項２９に記載の方法。
【請求項３３】
前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブ
セットの列に対して蓄積するステップをさらに含み、これにより、前記入力信号の前記重
みに対する関連付けを得ることを特徴とする請求項３２に記載の方法。
【請求項３４】
前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップ
をさらに含むことを特徴とする請求項２９に記載の方法。
【請求項３５】
前記埋め込むステップが、
前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを
含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記生成するステップが、
前記それぞれのデンドライトに対してそれぞれの重みのべき級数を生成するステップを
含み、前記べき級数のそれぞれの累乗における前記それぞれの重みが最大射影を規定する
ことを特徴とする請求項２５に記載の方法。
【請求項３７】
複数の入力部と、それぞれが前記複数の入力部のそれぞれの１つと関連付けされている
複数のデンドライトとを含む人工ニューロンを動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対して最大射影を生成するステップを含む、
方法。
【請求項３８】
前記生成するステップが前記デンドライトに対するスイッチを生成するステップをさら
に含むことを特徴とする請求項３７に記載の方法。
【請求項３９】
前記生成するステップが前記少なくともいくつかのデンドライトに対して最大行射影及
び／又は最大列射影を生成するステップをさらに含むことを特徴とする請求項３８に記載
の方法。
【請求項４０】
前記生成するステップが、それぞれ前記行射影及び／又は前記列射影の合計によりソー
トすることによって前記最大行射影及び／又は前記最大列射影を生成するステップをさら
に含むことを特徴とする請求項３９に記載の方法。
【請求項４１】
前記最大行射影及び／又は前記最大列射影の位置に前記入力信号の活性化をマッピング
するステップをさらに含むことを特徴とする請求項３９に記載の方法。
【請求項４２】
前記最大行射影及び／又は前記最大列射影を規定するために、前記少なくともいくつか
の射影をマッピングするステップをさらに含むことを特徴とする請求項３９に記載の方法
。
【請求項４３】
前記最大行射影及び／又は前記最大列射影を規定するために、前記少なくともいくつか
の射影をマッピングするステップをさらに含むことを特徴とする請求項４１に記載の方法
。
【請求項４４】
前記マッピングするステップに応答して、前記最大行射影及び／又は前記最大列射影に
おける活性化されたサブセットを決定するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射
影を選択するステップと
をさらに含むことを特徴とする請求項４１に記載の方法。
【請求項４５】
前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブ
セットの列に対して蓄積するステップをさらに含み、これにより、前記入力信号の前記重
みに対する関連付けを得ることを特徴とする請求項４４に記載の方法。
【請求項４６】
前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップ
をさらに含むことを特徴とする請求項４１に記載の方法。
【請求項４７】
前記埋め込むステップが、
前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを
含むことを特徴とする、請求項４６に記載の方法。
【請求項４８】
前記生成するステップが、
前記複数のデンドライトに対して最大射影を生成するステップを含むことを特徴とする
、請求項３７に記載の方法。
【請求項４９】
媒体の中に組み込まれたコンピュータが読取り可能なプログラムコードを有するコンピ
ュータが読取り可能な記憶媒体を含む、人工ニューロンを提供するためのコンピュータプ
ログラムの製品であって、前記コンピュータが読取り可能なプログラムコードが、
複数の入力部を提供するように構成されたコンピュータが読取り可能なプログラムコー
ドと、
それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた複数のデンドラ
イトを提供し、前記デンドライトの少なくともいくつかが重みのべき級数を含み、前記べ
き級数の少なくとも１つの累乗における前記重みの少なくともいくつかが最大射影を規定
するように構成されたコンピュータが読取り可能なプログラムコードと
を含む、コンピュータプログラムの製品。
【請求項５０】
前記べき級数の少なくとも１つの累乗が少なくとも１つのスイッチも含むことを特徴と
する請求項４９に記載のコンピュータプログラムの製品。
【請求項５１】
前記重みのべき級数が基数２の重みのべき級数であり、前記べき級数の少なくとも１つ
の累乗における前記重みの少なくとも１つが最大行射影及び／又は最大列射影を規定する
ことを特徴とする請求項５０に記載のコンピュータプログラムの製品。
【請求項５２】
前記最大行射影及び／又は前記最大列射影がそれぞれ行射影及び／又は列射影の合計に
よりソートされることを特徴とする請求項５１に記載のコンピュータプログラムの製品。
【請求項５３】
前記関連付けされた入力部において入力信号に応答し、前記入力信号の活性化を前記最
大行射影及び／又は前記最大列射影の位置にマッピングするように構成されたトレースを
提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むこ
とを特徴とする請求項５１に記載のコンピュータプログラムの製品。
【請求項５４】
前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピ
ングするように構成されて、前記最大行射影及び／又は前記最大列射影を規定するルータ
を提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含む
ことを特徴とする請求項５０に記載のコンピュータプログラムの製品。
【請求項５５】
前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピ
ングするように構成されて、前記最大行射影及び／又は前記最大列射影を規定するルータ
を提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含む
ことを特徴とする請求項５２に記載のコンピュータプログラムの製品。
【請求項５６】
前記トレースに応答して前記最大行射影及び／又は前記最大列射影における活性化され
たサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列のインデッ
クス以上の最小の行射影を選択するように構成されたリーダを提供するように構成された
コンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項５２
に記載のコンピュータプログラムの製品。
【請求項５７】
前記リーダを提供するように構成されたコンピュータが読取り可能なプログラムコード
が、前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサ
ブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得
るようにさらに構成されることを特徴とする請求項５６に記載のコンピュータプログラム
の製品。
【請求項５８】
前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタ
を提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含む
ことを特徴とする請求項５２に記載のコンピュータプログラム。
【請求項５９】
前記ライタを提供するように構成されたコンピュータが読取り可能なプログラムコード
が、前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧
縮部を提供するように構成されたコンピュータが読取り可能なプログラムコードを含むこ
とを特徴とする  請求項５８に記載のコンピュータプログラムの製品。
【請求項６０】
複数のデンドライトを提供するように構成された前記コンピュータが読取り可能なプロ
グラムコードが、それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた
複数のデンドライトを提供し、前記それぞれのデンドライトが重みのべき級数を含み、前
記べき級数のそれぞれの累乗における前記それぞれの重みが最大射影を規定するように構
成されたコンピュータが読取り可能なプログラムコードを含むことを特徴とする請求項４
９に記載のコンピュータプログラムの製品。
【請求項６１】
媒体の中に組み込まれたコンピュータが読取り可能なプログラムコードを有するコンピ
ュータが読取り可能な記憶媒体を含む、人工ニューロンを提供するためのコンピュータプ
ログラムの製品であって、前記コンピュータが読取り可能なプログラムコードが、
複数の入力部を提供するように構成されたコンピュータが読取り可能なプログラムコー
ドと、
それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた複数のデンドラ
イトを提供し、前記少なくともいくつかのデンドライトが重みを含み、前記少なくともい
くつかの重みが最大射影を規定するように構成されたコンピュータが読取り可能なプログ
ラムコードと
を含む、コンピュータプログラムの製品。
【請求項６２】
少なくとも１つのスイッチを提供するようにコンピュータが読取り可能なプログラムコ
ードをさらに含むことを特徴とする請求項６１に記載のコンピュータプログラムの製品。
【請求項６３】
前記最大射影が最大行射影及び／又は最大列射影を含むことを特徴とする請求項６２に
記載のコンピュータプログラムの製品。
【請求項６４】
前記最大行射影及び／又は前記最大列射影がそれぞれ行射影及び／又は列射影の合計に
よりソートされることを特徴とする請求項６３に記載のコンピュータプログラムの製品。
【請求項６５】
前記関連付けされた入力部において入力信号に応答し、前記入力信号の活性化を前記最
大行射影及び／又は前記最大列射影の位置にマッピングするように構成されたトレースを
提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含むこ
とを特徴とする請求項６３に記載のコンピュータプログラムの製品。
【請求項６６】
前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及
び／又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読
取り可能なプログラムコードをさらに含むことを特徴とする請求項６３に記載のコンピュ
ータプログラムの製品。
【請求項６７】
前記少なくともいくつかの重みをマッピングするように構成されて、前記最大行射影及
び／又は前記最大列射影を規定するルータを提供するように構成されたコンピュータが読
取り可能なプログラムコードをさらに含むことを特徴とする請求項６５に記載のコンピュ
ータプログラムの製品。
【請求項６８】
前記トレースに応答して前記最大行射影及び／又は前記最大列射影における活性化され
たサブセットを決定し、前記活性化されたサブセットの各列に対して、前記列に対のイン
デックス以上の最小の行射影を選択するように構成されたリーダを提供するように構成さ
れたコンピュータが読取り可能なプログラムコードをさらに含むことを特徴とする請求項
６５に記載のコンピュータプログラムの製品。
【請求項６９】
前記リーダを提供するように構成されたコンピュータが読取り可能なプログラムコード
が、前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサ
ブセットの列に対して蓄積して、これにより、前記入力信号の前記重みに対する関連を得
るようにさらに構成されることを特徴とする請求項６８に記載のコンピュータプログラム
の製品。
【請求項７０】
前記トレースを前記最大射影及び前記スイッチの中に埋め込むように構成されたライタ
を提供するように構成されたコンピュータが読取り可能なプログラムコードをさらに含む
ことを特徴とする請求項６５に記載のコンピュータプログラムの製品。
【請求項７１】
前記ライタを提供するように構成されたコンピュータが読取り可能なプログラムコード
が、前記トレースと前記最大射影との間に冗長な射影を見つけるように構成された行列圧
縮部を提供するように構成されたコンピュータが読取り可能なプログラムコードを含むこ
とを特徴とする請求項７０に記載のコンピュータプログラムの製品。
【請求項７２】
複数のデンドライトを提供するように構成された前記コンピュータが読取り可能なプロ
グラムコードが、それぞれの１つが前記複数の入力部のそれぞれの１つに関連付けされた
複数のデンドライトを提供し、前記それぞれ１つのデンドライトがそれぞれの重みを含み
、前記それぞれの重みが最大射影を規定するように構成されたコンピュータが読取り可能
なプログラムコードを含むことを特徴とする請求項６１に記載のコンピュータプログラム
の製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［仮出願の相互参照］
本出願は、２００１年８月１０日に出願され、本出願の譲受人に譲渡された、「Compre
ssion of Power Series of Weights and Counts That Represent Row and Column Associ
ations」という題名の仮の米国特許出願第６０／３１１，３１６号に基づく利益を求める
。この特許出願の開示内容は、その全てを引用することによって、あたかも本願に完全に
記載されているように本願明細書の一部をなすものとする。
【０００２】
［発明の分野］
本発明は人工知能のシステム、方法及びコンピュータプログラム製品に関し、より詳細
には、人工ニューロンのシステム、方法及びコンピュータプログラム製品に関する。
【背景技術】
【０００３】
連想メモリ（または、結合メモリ、associative memory）は内容参照可能メモリ（cont
ent addressable memory）とも呼ばれ、パターンマッチング及び識別、エキスパートシス
テム、並びに人工知能の分野で広く使用されている。広く使用されている連想メモリは、
ホップフィールド形人工ニューラルネットワーク（Hopfield artificial neural network
）である。ホップフィールド形人工ニューラルネットワークは、例えば、「Electronic N
etwork for Collective Decision Based on Large Number of Connections Between Sign
als」という題名の、Hopfieldに与えられた米国特許第４，６６０，１６６号の中で説明
されている。
【０００４】
連想メモリは従来の後方伝達ネットワーク（back-propagation network）の問題を避け
ることができるが、連想メモリにはスケーリング（scaling）及び偽記憶（spurious memo
ry）の問題がある。連想メモリにおける最近の改良では、これらのまた他の問題を解決す
る試みがなされている。例えば、「Artificial Neural Networks Including Boolean-Com
plete Compartments」という題名の、共同発明者のAparacio, IVらへの米国特許第６，０
５２，６７９号では、それぞれの１つが人工ニューロンのそれぞれの対に関連付けされ複
数の人工ニューロン及び複数のブーリアンコンプリート区切り（Boolean-complete compa
rtment）が提供されている。ブーリアンコンプリート区切りを提供することによって、ス
プリアス補足メモリ（spurious complement memory）を避けることができる。
【０００５】
連想メモリは、市販もされている。例えば、International Business Machines Corpor
ation社 (IBM)により販売されているMemoryAgentとして周知の製品は、低レベルのアプリ
ケーションプログラミング用インターフェースの集合を提供する。このインターフェース
は、「Smart Assistance」という用語によって特徴付けられる埋込み学習エージェント（
embedded learning agent）を構築するために使用できる。「Report: IBM's Memory Agen
t」という題名の出版物、Intelligence In Industry、第８巻、Ｎｏ．１、１９９９年１
月、ページ５〜９、を参照されたい。Haley Enterprises社及びIntellix A/S社を含む他
のベンダーも、連想メモリのツールを販売している。特に、Haley Enterprises社は、「T
he Intelligent Memory」と呼ばれる連想メモリを市販している。haley.comを参照された
い。Intellix A/S社は、SOUL (Self-Optimizing Universal Learner)と呼ばれるソフトウ
ェア手法を用いる、「Knowman」と呼ばれる別の連想メモリを市販している。intellix.co
mを参照されたい。ベンダーの中には、「Self-Organizing Neural Network for Pattern 
Classification」という題名のYodaへの米国特許第５，８７０，７２９号及び「System a
nd Method for Categorizing Objects in Combined Categories」という題名のPragerへ
の米国特許第５，９４３，６７０号の中で説明されているような、自己組織化フィーチャ
ーマップ（self-organizing feature map）を販売する者もいる。それらも連想メモリの
一形態である。連想メモリは、Caidらへの「System and Method of Context Vector Gene
ration and Retrieval」という題名の米国特許第５，６１９，７０９号の中で示されてい
るように、電子商取引にも応用されている。連想メモリの他のアプリケーションには、3C
om社が販売しているPalm Pilotのようなハンドヘルド装置の中の手書き文字認識が含まれ
る。さらに、記憶に基づく推論機能は、現在では、SAS Institute社やOracle Corporatio
n社などによって販売されているようなデータマイニングシステムの中に含まれる。
【０００６】
連想メモリは最近になって市販されたに過ぎないが、それらはパーソナルに用いられ、
知識管理を意図するアプリケーションに対して急速に成長することが期待される。実際に
、ある専門家は、「自己連想メモリの製造は極めて大きな事業になるだろう−そのうちに
他のどのような目的よりも多くのシリコンが、そのような装置の製造に消費されるであろ
う」と予測している。Technology Review、第１０２巻、Ｎｏ．４、１９９９年７月／８
月号、ページ７９を参照されたい。
【０００７】
残念なことに、現実の問題を解くために連想メモリの使用を限定するような、基本的な
スケーリングの問題がある。特に、多くの連想メモリは、線形の重みを使用する。図１Ａ
に示すように、重みＷA〜ＷEに基づいて、各入力を各出力に一度関連付けることができる
。しかしながら、そのような線形ネットワーク内の入力は、一般に、互いには結び付かな
い。このことは、共通の要求事項又は入力間のトレードオフの中で見出すことができる入
力間の相互作用のような、起こり得る非線形性を学習し表現するため、ネットワークの能
力を著しく制限する可能性がある。
【０００８】
図１Ａの線形ネットワークに対する別の方法は、図１Ｂの幾何学的ホップフィールド形
ネットワーク（Hopfield network）である。ホップフィールド形ネットワークでは、１対
１の接続が全てのノード間に行われ、重みがノード間の各アーチに対して設けられる。図
１Ｂに示すように、全ての入力の間に設けられた重みが多くなりすぎるため、実際のアプ
リケーションに対してホップフィールド形ネットワークの規模を合わせることは困難であ
る。非線形ネットワークは一般に全ての互いの入力を阻止するので、Ｎ2又は幾何学的な
スケーリング関数を生成する。より具体的に言うと、入力間の接続数は、一般に、Ｎ（Ｎ
−１）／２に等しい。ここで、Ｎは入力の数である。
【０００９】
この幾何学的なスケーリングは、一般に、そのような技術を保証する複雑性の規模にお
いてアプリケーションに対応するには非現実的である。例えば、多目的の検索及び個人的
なモデリングに対しては、処理すべき何万もの入力変数及び何百万ものモデルを取り扱う
必要がある。それとは正反対に、オペレーティングシステムの機械学習においては、クラ
イアントの機械が無線装置までより小形になるにつれて、一層効率的であることが必要と
される。このような状況では、ユーザのモデルはわずか１つしか必要とされないが、コン
テクスト及び入力変数の数は依然として極めて大きい。数人の家庭用のレベルでさえ、入
力の数はおよそ数十万の程度になる。このため、次の数年中に期待されるようなメモリの
容量の物理的な増大をもってしても、そのようなアプリケーションに現在の技術を使用す
ることは不合理であろう。従って、そのような環境に対するエージェントベースの学習の
ためのアプリケーションが現在登場しているが、これらのアプリケーションに対応する学
習技術は、学習のスケーリングの問題及び非線形的な連想を使用するために実行すること
が困難である。
【発明の概要】
【００１０】
本発明の実施形態は、複数の入力と、それぞれの１つが該複数の入力のそれぞれの１つ
と関連付けされた複数のデンドライトとを含む人工ニューロンを提供することができる。
少なくともいくつかのデンドライトは、重みのべき級数を含む。べき級数の少なくとも１
つの累乗内の重みの少なくともいくつかは、最大射影を規定する。他の実施形態では、そ
れぞれのデンドライトは重みのべき級数を含み、そのべき級数のそれぞれの累乗のそれぞ
れの重みは最大射影を規定する。最大射影を提供することによって、線形のスケーリング
が最大射影に対して提供され、準線形のスケーリングが人工ニューロンに提供されると同
時に、本発明のいくつかの実施形態の中で、関連付けにおいて損失のない圧縮が可能にさ
れる。このため、本発明のいくつかの実施形態では、ヘテロ連想及び／又は自己連想の呼
び出し（recall）が、入力の関数として幾何学的スケーリングを必要とせずに、多数の入
力に対して適用され得る。
【００１１】
本発明のいくつかの実施形態では、べき級数の少なくとも１つの累乗は、射影における
ホールを識別するために少なくとも１つのスイッチも含む。本発明のいくつかの実施形態
では、重みのべき級数は基数を２とする重みのべき級数であり、べき級数の少なくとも１
つの累乗における少なくともいくつかの重みは、最大の行射影及び／又は最大の列射影を
規定する。この最大の行射影及び／又は最大の列射影は、それぞれ行射影及び／又は列射
影の合計によってソートされる。
【００１２】
本発明の別の実施形態では、人工ニューロンは関連付けされた入力部において入力信号
に応答するトレースも含む。このトレースは、入力信号の活性化を最大行射影及び／又は
最大列射影内の位置にマッピングするように構成される。本発明のさらに別の実施形態で
は、人工ニューロンはルータも含み、このルータはべき級数の少なくとも１つの累乗内の
少なくともいくつかの重みをマッピングするように構成されて、最大行射影及び／又は最
大列射影を規定する。
【００１３】
読取り動作を提供するために、本発明のいくつかの実施形態によれば、複数の最大行射
影及び／又は最大列射影内の活性化されたサブセットが、トレースに呼応して決定される
。活性化されたサブセットの各列に対して、列のインデックスよりも大きいか等しい最小
の行射影が選択される。他の実施形態では、関連付けされた列のインデックスよりも大き
いか等しい最小の行射影が活性化されたサブセットの列に対して蓄積されて、これにより
、入力信号の重みに対する関連性を得る。別の実施形態では、書込みすなわち記憶動作が
、トレースを最大射影及びスイッチの中に埋め込むことによって提供される。いくつかの
実施形態では、トレースと最大射影との間の冗長な射影が見出される。
【００１４】
本発明のいくつかの実施形態によれば、重みのべき級数が最大射影と共に使用されるが
、本発明の他の実施形態では、最大射影が重みのべき級数なしで使用されることは理解さ
れよう。本発明はシステム、方法、コンピュータプログラムの製品及び／又はその組合せ
として具体化されることも理解されよう。
【図面の簡単な説明】
【００１５】
【図１】図１Ａ及び図１Ｂは、それぞれ従来の線形及び幾何学的なニューラルネットワークのブロック図である。
【図２】小脳皮質のニューロンの図である。
【図３】観察を極位相（polar phase）として概念的に示す図である。
【図４】観察を位相図表に分離したことを概念的に示す図である。
【図５】位相図表を重みなしの図表に分離したことを概念的に示す図である。
【図６】動的なプログラムの重みを概念的に示す図である。
【図７】１つの観察位相に対する本発明のいくつかの実施形態による神経樹状構造（neurodendritic structure）のブロック図である。
【図８】本発明のいくつかの実施形態による複数の観察位相を含む多極ニューロンのブロック図である。
【図９】１つの観察位相に対する本発明のいくつかの実施形態によるトレース波動の伝搬を概念的に示す図である。
【図１０】本発明のいくつかの実施形態によるトレース形成に関する動作を説明するフローチャートである。
【図１１】本発明のいくつかの実施形態によるトレース形成に関する動作を説明するフローチャートである。
【図１２】本発明のいくつかの実施形態に基づいて、ニューラルネットワークに対して記憶を行うためのブロック図である。
【図１３】本発明のいくつかの実施形態に基づいて記憶を行う動作のフローチャートである。
【図１４】本発明のいくつかの実施形態に基づいて記憶を行う動作のフローチャートである。
【図１５】本発明のいくつかの実施形態による二重整合／フィルタ処理（Double Match/Filter）のブロック図である。
【図１６】本発明のいくつかの実施形態による図１５の二重の一致／フィルタ処理の動作の実施例を示す図である。
【図１７Ａ】本発明のいくつかの実施形態による二重整合／フィルタ用の動作のフローチャートである。
【図１７Ｂ】本発明のいくつかの実施形態による二重整合／フィルタ用の動作のフローチャートである。
【図１７Ｃ】本発明のいくつかの実施形態による二重整合／フィルタ用の動作のフローチャートである。
【図１８】本発明のいくつかの実施形態による二重整合／フィルタ用の動作のフローチャートである。
【図１９】本発明のいくつかの実施形態による読取り動作のブロック図である。
【図２０】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図２１】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図２２】異なる図表が同じ前の／次の重みを持つことができる方法を説明する図である。
【図２３】前の／次の及び行／列の射影を等価にすることができる方法を示す図である。
【図２４】未ソートの行および列の射影のビット行列を示す図である。
【図２５】ソートされた射影のビット行列を示す図である。
【図２６】本発明のいくつかの実施形態による最大射影のビット行列を示す図である。
【図２７】本発明のいくつかの実施形態による最大射影並びに行および列のインデックスを用いたビット行列を示す図である。
【図２８】本発明のいくつかの実施形態による人工ニューロンのブロック図である。
【図２９】本発明のいくつかの実施形態によるトレースの活性化を示す図である。
【図３０】本発明のいくつかの実施形態によるトレースの読取りを示す図である。
【図３１】本発明のいくつかの実施形態による読取り動作のフローチャートである。
【図３２】本発明のいくつかの実施形態によるスイッチを用いた最大射影を示す図である。
【図３３】本発明のいくつかの実施形態に基づいてスイッチを発見する動作のフローチャートである。
【図３４】本発明のいくつかの実施形態に基づいて、最大射影及び／又はスイッチを発見する動作のフローチャートである。
【図３５】本発明のいくつかの実施形態による書込み動作のブロック図である。
【図３６】本発明のいくつかの実施形態に基づいて、第１のトレースからの最大射影を用いてビット行列を作るための、第１の観察の書込みを示す図である。
【図３７】本発明のいくつかの実施形態に基づいて、最大射影を用いてビット行列への第２の観察の書込みを示す図である。
【図３８】本発明のいくつかの実施形態に基づいて、最大射影を用いてビット行列への第３の観察の書込みを示す図である。
【発明を実施するための形態】
【００１６】
本発明の実施形態が示されている添付の図面を参照しながら、本発明を以下のようによ
り完全に説明する。しかしながら、本発明を本願に記載された実施形態に限定されると解
釈してはならない。むしろ、この開示が詳細で完全であり、また発明の範囲を当業者に十
分に伝えるように、これらの実施形態が提供される。同じ参照番号は全体を通して同じ要
素を指す。
【００１７】
本発明の実施形態はこれから、図３〜図３７の図面を用いて説明される。図面の要素及
び図面の要素の組合せは、指定された機能又はステップを実行する一般的な及び／又は専
用のハードウェアベースのシステムによって、又は一般的な及び／又は専用のハードウェ
アとコンピュータ命令との組合せによって実行することができることは理解されよう。
【００１８】
［序文］
これらのプログラム命令はプロセッサに送られて、このプロセッサ上で実行する命令が
図面の中で指定された機能を実行するための手段を作り出すような装置を作る。コンピュ
ータのプログラム命令はプロセッサによって実行されて、プロセッサに一連の動作ステッ
プを実行させ、プロセッサ上で実行する命令が図面の中で指定された機能を実行するため
のステップを提供するためにコンピュータが実行する処理を作る。このため、図３〜図３
７は、指定された機能を実行する手段の組合せ、指定された機能を実行するステップの組
合せ及び指定された機能を実行するプログラム命令に対応する。
【００１９】
ニューラルネットワークの分野における進歩は、本願の譲受人に譲渡された、「Artifi
cial Neurons Including Power Series of Weights and Counts That Represent Prior a
nd Next Associations」という名称の米国特許出願第０９／４３６，９２５号の中で説明
されている。その開示内容は、その全てを引用することによって、あたかも本願に完全に
記載されているように本願明細書の一部をなすものとする。米国特許出願第０９／４３６
，９２５号の中で説明されているように、人工ニューロンは複数の入力と、それぞれの１
つが複数の入力のそれぞれの１つと関連付けされる複数のデンドライトとを含む。各デン
ドライトは重みのべき級数を含み、べき級数内の各重みは関連付けされた累乗に対する関
連した計数を含む。重みは概ね計数用の記入子（place-holder）であり、別個の物理的実
体である必要はないことは理解されよう。重みのべき級数は基数２の重みのべき級数であ
り、基数２のべき級数における各重みはビット位置を示す関連する計数を含むことが好ま
しい。重みのべき級数は、例えば、図５として本願に再現された、米国特許出願第０９／
４３６，９２５号の図５の中で示されている。米国特許出願第０９／４３６，９２５号に
よれば、べき級数として重みを部分的に示すことによって、従来の人工ニューロンにおけ
る入力の関数としての幾何学的なスケーリングを、入力の関数として線形スケーリングに
まで減少できることが判明した。現実世界のシステムを用いて多数の入力を処理すること
により、現実世界のアプリケーションを解くことができる。
【００２０】
また米国特許出願第０９／４３６，９２５号の中で説明されているように、関連した累
乗に対する計数は統計的な計数であることが好ましい。より詳細には、デンドライトは連
続的に順序付けられることが好ましく、重みのべき級数は第１及び第２の重みのべき級数
一対を含むことが好ましい。第１のべき級数内の各重みは前のデンドライトの関連付けの
関数である第１の計数を含み、第２のべき級数内の各重みは次のデンドライトの関連付け
の関数である第２の計数を含む。前の／次の計数は、例えば、図６として本願に再現され
た、米国特許出願第０９／４３６，９２５号の図６の中で示されている。
【００２１】
しかしながら、前の／次の計数は重み無しの図表を完全に反映しないことが、現在では
分かっている。例えば、図２２は、異なる図表が前の／次の重みをいかにして持つことが
できるかを示している。図２２の左側の小さい図表は、前の／次の重みは２つの可能な配
置の間を区別できないことを示している。すなわち、ＡはＤと関連付け（または結合、as
sociate）され、ＢはＣと関連付けされるか、又は、ＢがＤと関連付けされるのと同様に
、ＡがＣと関連付けされる。実際に、前の／次の表現は圧縮を提供できるが、この圧縮は
損失が多い。
【００２２】
この損失の多い圧縮は、多くのアプリケーションでは重要ではない。例えば、米国特許
出願第０９／４３６，９２５号は、ヘテロ連想の呼び出し（hetero-associative recall
）に基づいて、スコアリング（scoring）用のアプリケーションを説明している。入力ベ
クトルが与えられると、アプリケーションは一般的な類似性の尺度を返す。損失の多い圧
縮は、図２２の右側にある前の／次の重みの大きな配列から分かるように、このアプリケ
ーションにはほとんど影響しない。重みは、任意の１つのノードとその後の他のノードと
の間の関連付けの統計的な意味しか与えない。Ｄ−Ｅの関連付けはＤ−Ｇの関連付けと混
同しやすいが、全ての関連付けが与えられると、これらのエラーはヘテロ連想の呼び出し
にはあまり影響を与えない。
【００２３】
他方、前の／次の計数に損失が多いことにより、自己連想の呼び出しが提供されはしな
い。入力ベクトルが既知の値の場合、特定の関連付けを未知の値に戻すことが望ましい可
能性がある。このアプリケーションについては、連想メモリが入力間の正確な関連付けを
示すことが望ましい。
【００２４】
本発明を完全に理解することを容易にするために、米国特許出願第０９／４３６，９２
５号の中で説明されているように、観察行列（observation matrix）の線形構造への分離
及び再構成の理論的な説明を最初に行う。米国特許出願第０９／４３６，９２５号による
人工ニューロンの構造を、次に詳細に説明する。次に、トレース波動の生成（generation
）及び伝搬（propagation）をおおまかに説明する。記憶（書込み）及び想像（読取り）
に対する米国特許出願第０９／４３６，９２５号の動作を詳細に説明する。本願の図１〜
図２１は、米国特許出願第０９／４３６，９２５号の図１〜図２１の複製である。
【００２５】
次に、本発明の実施形態による最大射影（maximal projection）を示す重みを含む人工
ニューロンを説明する。最大射影の理論的な説明の後で、本発明の実施形態の説明及び本
発明の実施形態による読取り及び書込みの説明が行われる。
【００２６】
［重みのべき級数と前の及び次の関連付けを示す計数とを含む人工ニューロン］
＜理論的考察＞
本発明のいくつかの実施形態は、自己連想形のメモリであると長く信じられていた小脳
構造（cerebellar structure）が手掛りとなった。小脳は、無意識に運動技能を記録及び
演ずると従来は考えられていたが、現在では全ての認知活動、特に一般的に想像及び意思
決定に役割を演ずると理解されている。
【００２７】
図２は、Llinasによる「The Cortex of the Cerebellum」、Scientific American誌、
第２３２巻、Ｎｏ．１、ページ５６〜７１、１９７５年、から複製した小脳皮質の神経を
再現したものである。小脳内のプルキンエ・ニューロン（Purkinje neuron）Ｐｕは、そ
れ自体連想メモリを示すと考えられている。それぞれのプルキンエ・ニューロンは、他の
どの種類のニューロンよりも多い１００，０００もの入力シナプスを有する。この入力を
全て計算し合計して、各プルキンエ・ニューロンは小脳から１つの軸索を送る。この莫大
なファンイン数を考えると、１つの仮定は、これらの入力の出力に対する関連付けの態様
は、各入力における単純なシナプスの重み及びこれらの入力とシナプスの重みとの合計（
ドット積）に基づいていて、線形であるということである。しかしながら、このニューロ
ンや大部分の他のニューロンの真のダイナミックスが極めて非線形であることは周知であ
る。このため、これらの真の極めて発達したシステムには非線形の計算能力が存在するよ
うであるが、連想メモリを作る計算の本質は依然として未知のようである。しかしながら
、プルキンエ・ニューロンの構造はツリーであり、ホップフィールドのニューラルネット
ワークによって規定された連想装置の中で使用されるような、Ｏ（１００，０００2）オ
ーダーの相互接続の天文学的な込み入ったものというわけではないことは明白なようであ
る。
【００２８】
本発明のいくつかの実施形態は、入力間の学習された相互作用を事実上表すことができ
、実現可能なシステム内で物理的に実現できる人工ニューロンのシステム、方法、及び／
又はコンピュータプログラムの製品を提供することができる。実際に、Ｏ（Ｎ2）の仮想
表示の近似値は、Ｏ（Ｎ）の物理的な装置として示される。そのような純粋な直線性によ
って、インターネットから小形の無線装置までの高性能の予測及びパターンマッチングの
スケーリングを行うことができる。
【００２９】
理論的な考察は、統計学で使用される２Ｘ２観察行列から開始する。（２つのコインの
反転のような）任意の２つのバイナリ入力の変数を考えると、４つの可能な観察がある。
この２ｘ２観察行列は、観察された組合せに対する４つのカウンタの集合である。例えば
、図３Ａは２つの変数Ａ及びＢを示す。Ａはオン又はオフ、すなわち、それぞれＡ又は！
Ａになることができる。これはＢに対しても同様である。観察計数は、例えば、Ａ及びＢ
が同時に生成することが３回観察されることを示す。全体としては、Ａ及びＢは互いに排
除する（強い確率的ＸＯＲ関係を示す）傾向があるように思われる。
【００３０】
図３Ｂに示すように、４つのセルカウンタの各々は、４つの位相の１つとして表示でき
る。各位相は、２つの入力のそれぞれのＯＮ（１）又はＯＦＦ（０）の状態に関連して０
０，０１，１０又は１１により特定される。この場合、下位ビットはＡ座標を示し、また
上位ビットはＢ座標を表示する。
【００３１】
３つ以上の入力変数を考える場合、Ｏ（Ｎ2）数の２Ｘ２行列を必要とする。例えば、
図４Ａに示すように、３つの入力（Ａ，Ｂ及びＣ）に対して、３つの行列（ＡＸＢ，ＡＸ
Ｃ，ＢＸＣ）がある。入力が増えると幾何学的なスケーリングが生ずるため、４入力は６
個の行列を使用し、５入力の場合は１０個の行列を使用する、等々となる。しかしながら
、３入力の単純な図表は、三角形として全ての関係をより明確に示す。その三角形の各２
つ１組の辺は２Ｘ２の観察行列を有する。観察の合計は異なる可能性があり、このことに
より、真、偽、及び未知のトライステートの入力値が可能になることに注意されたい。
【００３２】
本発明のいくつかの実施形態は、関連付けのこの表示を線形形式に圧縮することができ
る。任意の２つの行列間の共通性を見つける可能性はほとんどないと思われる。例えば、
４個の観察計数が互いに一致する場合、まさに２つのそのような行列の圧縮しか得られな
い。最悪の場合、全ての可能な２つ１組の行列は互いに異なることがあり、これによりい
くつかの組合せによる圧縮は不可能になる。しかしながら、本発明のいくつかの実施形態
では、そのような計数をそれらの圧縮が可能な方法で分離することができる。
【００３３】
これらの行列の２つの再配列により、適当な特性を有する図表を結果として生ずること
ができる。第１の再配列は位相の各々を互いから分離し、それらを各位相に対して１つず
つ４つの図表に再度関連付けされる。図４Ｂを参照されたい。各図表は結果として、重み
の行列ではなく１つの重みだけを図表の各辺上に配置する。
【００３４】
第２の再配列は、位相図表の各重みをべき級数に、好ましくは基数２のべき級数に分離
する。図５は、入力変数Ａ，Ｂ及びＣ間の重みが３，６及び５の１つの位相図表を示す。
各重みのバイナリ表示も示されている。重みの各ビットは、その重みの基数２の累乗を示
す。
【００３５】
これらのビットの累乗は重み全体の大きさを示す場合に加法的（６＝２2＋２1）である
ため、各位相図表を各ビットに対して１つの累乗図表の集合にさらに分離することができ
る。図５は、２2，２1及び２0の大きさの３つの累乗図表に分離された実施例の位相図表
を示す。図表の累乗は図表自体に関連しているが、各図表はここでは重みなしとすること
ができ、このことは、各アークは特定の位相及び累乗に対する任意の２つの入力間の関連
付け１つが生成したこと又は不生成であったことを示す。
【００３６】
このため、重みなしの図表の集合を作ることができる。これらの図表の各々は幾何学的
な寸法とすることができ、さらに減少させることができるが、そのような図表の数はここ
では含まれる。２Ｘ２の行列表示の場合は（他の基本的な形式にそれなりに分解すること
もできる）、位相は４つしかない。指数的に大きな重みを効率的にバイナリ表示する場合
と同様に、次に任意の重みのバイナリ分離は累乗図表の数をｌｏｇ2（重み）に制限する
。どの特定の重みも全体的なメモリのローディング数Ｍに制限され（全ての観察は位相上
のみに存在すると仮定する）、期待値はＭ／４である。
【００３７】
理論的な説明を続けると、次に重みなしの図表を、各ノードの回りの統計値を用いて線
形形式に圧縮することができる。統計値はノードの回りの特性を示すが、特性値自体では
ない。例えば、各ノードに対するリンクの数はそのような統計値の数である。各ノードは
、そのノードの全ての他のノードに対する関連付けの数を示す１つの数によって特徴付け
られる。しかしながら、この統計値は、ノード同士の間の関連付けを実際に示すといった
極めて強い制約（constraint）を伝えるものではない。
【００３８】
好ましい統計値は、動的計画法からのアナロジーによって得ることができる。動的計画
法技術は、組合せ論の複雑度を減らすことができる。動的計画法においては、全ての組合
せを明確に計数するのではなく、多くの要素の間接的な列挙を同時に行うことができる特
性を見つけることができる。動的計画法は、従来はツリー構造に使用されている。例えば
、ツリーの各ブランチは指数関数的な数のリーフノード（leaf node）を含むが、ブラン
チ全体を同時に計数できるという制約を有する問題もある。指数関数的な数のリーフは、
各リーフを実際に計数するというコンピュータの負担なしに暗黙のうちに計数される。
【００３９】
図６は、この暗黙の計数を行うことができる好ましい統計値を示す。図５の累乗図表は
重みがないため、線形アレイの重みを使用して、図表の各頂点に属する辺の数に対して計
数を行う。例えば、２0に対する図６の累乗図表は、Ａが２つの辺を有していることを示
している。１つはＢと、他の１つはＣと関連付けする。１つのノードの他の全てのノード
に対する関連付けの合計は極めて強い制約を強制しないが、頂点を順序付けすること及び
各合計を前のノードへの関連付けの合計と次のノードへの関連付けの合計とに分離するこ
とは、極めて強い制約を強制することができ、このことは次に、特定の関連付けを計数す
るために使用することができる。
【００４０】
より具体的に言うと、各累乗図表は順序付けられた重み対のべき級数として表示され、
各対の１つの重みはその前の入力（前の入力）に対する全ての関連付けを示し、他の重み
は順序付けの中のその後の入力（次の入力）に対する全ての関連付けを示す。その対に対
する記号は、［前］／［後］として示され、各対は１つの、ただ１つの入力に関連付けし
て示される。これらの重み対は、一般に互いに強く制約される。例えば、Ａの重みは２0
の重み累乗に対して０／２であり、Ｂ及びＣとの２つの辺を示す。Ｂ及びＣの重み対は、
１／０及び１／０である。Ａ，Ｂ及びＣの辞書的な順序を仮定すると、Ｂ及びＣの前の重
みはＡの次の重みに適合している。一般に、全ての前の重みの合計は、次の重みのコンプ
リメント合計（compliment sum）を有する。後で示すが、これらの対の間の制約は、実際
に非常に強くすることができる。
【００４１】
図６は、入力の連続した順序が重み対の正確な配分を変更できることも示している。１
つの重みが図表の辺の数に常に対応するとは限らない。例えば、Ｂに対する重みは、Ｂが
単にＡとＣとの間に順序付けられているために、累乗図表２1に対して１／１である。Ａ
との１つの辺はその前にあり、Ｃとの１つの辺はその次にある。順序付け自体はそれ以外
の場合は任意である。
【００４２】
これで、観察行列の線形構造への分離及び再構成に関する理論的な説明は完了する。具
体的に言うと、スケーリングファクターは概ね４＊ｌｏｇ2（Ｍ）＊２Ｎである。４つの
位相がある。各位相に対する累乗図表の数は、観察Ｍのログ関数として増大する。各図表
は、Ｎがそのような入力の場合、各入力に対する２つの重みによって表示される。
【００４３】
＜人工ニューロンの構造＞
図７は、本発明のいくつかの実施形態による人工ニューロンのブロック図である。図７
に示すように、人工ニューロン７００は、複数の入力７１０ａ〜７１０ｃ及び複数のデン
ドライト７２０ａ〜７２０ｃを含む。それぞれのデンドライトは、入力の１つづつと結び
付く。各デンドライトは、重みのべき級数７３０を含む。べき級数内の各重みは、関連付
けた累乗に対する関連付けた計数を含む。図７に示すように、重みのべき級数は基数２の
重みのべき級数であり、基数２のべき級数内の重みがビット位置を示す関連した計数を含
むことが好ましい。図７の人工ニューロン７００は、１つの観察位相、本願では図６の観
察位相１１を示す。各デンドライトは、図８により詳細に示すように、第２の観察位相に
対応する少なくとも第２の重みのべき級数を含むことが好ましい。最後に、図７をさらに
参照して、重みのべき級数が一対の第１及び第２の重みのべき級数を含むことが好ましい
。第１のべき級数内の各重みが前のデンドライトの関連付けの関数である第１の計数を含
み、第２のべき級数内の各重みが次のデンドライトの関連付けの関数である第２の計数を
含むことが好ましい。前の及び次のデンドライトの計数は「／」によって表示され、これ
により、例えば、デンドライト７２０ｃの２2累乗に対する表示０／１は、前の関連付け
が０で次の関連付けが１であることを示す。
【００４４】
このため、各入力すなわちセンサニューロン７１０ａ〜７１０ｃは、デンドライトのブ
ランチ７２０ａ〜７２０ｃの１つに接続される。このブランチを用いて、各累乗に対する
重み対が、最も強い重みから最も弱い重みに配列されることが好ましい。これらの重みは
永続性である。それらは特定の多極ニューロン（multipolar neuron）の中に記憶された
全ての蓄積された経験を表すことができる。
【００４５】
さらに、各デンドライトは、トレースとも呼ばれる一時的なトレース記憶部（trace st
ore）７４０も含む。トレース７４０は、現在アクティブなセンサ信号を示す。このトレ
ースは、センサ信号によって生じたポストシナプスの生化学的なトレース（細胞内のカル
シウムの蓄積）に類似する。学習におけるそのような生化学的作用により、信号を記憶す
るための強い信号がセンサ信号の後に続く場合、トレース信号は記憶信号と相互作用して
デンドライトの重み内に永久的な変化をもたらす。
【００４６】
本発明のいくつかの実施形態によるトレースの表示は、センサ信号の直接記録と同じぐ
らいには単純でないことが好ましい。トレース表示は、重みと同じ構造に、好ましくは前
の／次の関連付けのべき級数に変換されることが好ましい。ある意味では、トレースは最
も弱い「重み」と見なすことができる。センサ信号それ自体ではなくトレースが、ニュー
ロンの計算力学（computational dynamics）において使用される。重み及びトレースは、
以下に説明するように、２つとも最も効率的に計算するために同じ形式であることが好ま
しい。
【００４７】
図７は１つの位相に対するデンドライトの配列を示すが、図８は多極ニューロン８００
を提供するために、全ての位相、累乗、及び重み対を示している。図８は、そのようなニ
ューロンの初期化された状態を示す。全ての重み及びトレースはゼロに初期化され、より
大きな重みの累乗はない。ニューロン８００の各主なブランチ８１０ａ〜８１０ｄは、可
能な観察位相の１つを示す。ブランチ８１０ａ〜８１０ｄの出力は合計ノード８２０で合
計され、多極の出力線８３０上に出力を送る。
【００４８】
入力７１０ａ〜７１０ｃはセンサニューロンによって表示されることに注意されたい。
各センサニューロンは、その適当なレベルで横方向のデンドライトのブランチに接続する
。センサニューロンはそのレベルで全ての横方向のブランチと接続するが、このことは簡
単にするようには示されていない。各横方向のブランチは、図７に詳細に示すように、全
ての累乗にわたってその重み対を記憶する。
【００４９】
数学的手法により、動的プログラミングのためにセンサ及びそれらの重みを任意に順序
付けすることが可能になるため、生物学的なニューロンのアーキテクチャは明らかに誕生
の順序で決定されてきた。「前の」及び「次の」という用語ではなく「近位の」及び「遠
位の」という用語が、それぞれ最も古いデンドライト及び最も新しいデンドライトを示す
ために図８においては使用される。後者の用語は、センサの誕生の順序及び多極ニューロ
ンへの接続を適切に表現できるが、前者の用語はより明瞭で一層構造的である。近位のデ
ンドライトは細胞体（合計ノード８２０）により近い。それらは、接続する最も初期のセ
ンサ入力によって最初に形成される。神経皮質系への類推により、新しい成長が遠位の「
表面」に付け加わる。言い換えると、より新しいデンドライトが、これに先立つデンドラ
イトの後の遠位に接続される。
【００５０】
デンドライトの構造は、時間が経つと変化することがある。デンドライトの順序は図示
のように最も古いものから最も新しいものへと並ぶことができるが、この順序は性能を向
上するために、またより多くの情報を加えるために再配列することができる。例えば、よ
り強いデンドライトをより近位になるように、順序付けすることができる。このことは、
例えば位相０１を１０よりも弱いと考えることができるように、より強い位相の順序をオ
ーバーレイすることができる。
【００５１】
＜トレース波動の伝搬＞
トレースの生成は、本発明のいくつかの実施形態による人工ニューロンに対して最も簡
単な多極のダイナミクスであり、どのように重み対の線形アレイが観察及びそれらのメモ
リを表示するかを示すことができる。このため、トレースの生成及びトレース波動の伝搬
をここで説明する。
【００５２】
多極ニューロンのダイナミクスは、好ましくは１つのデンドライトから他のデンドライ
トへの波動の伝搬によって媒介される。そのような波動の伝搬は生物学的な神経系を通し
て周知であり、プルキンエ・ニューロンの中で極めて良く研究されてきた。図９は、波動
がデンドライトを横切って移動してセンサ信号をトレースする方法を示す。ここでの生物
活動においては並列した処理部によるものであり、各センサ信号が変化するにつれてトレ
ースを更新するが、コンピュータモデルにおいては、波動は多極ニューロンのソーマ（so
ma）（細胞体）から開始する。波動は近位のデンドライト（矢印９２０）から、次に１つ
の経路における遠位のデンドライト（矢印９３０）から移動することが好ましい。
【００５３】
図９を参照すると、最初、波動は初期化されて、矢印９１０で示すように、デンドライ
トの所定の位相を示す。位相の２つのビット、すなわち上位ビット及び下位ビットは波動
の中にhighFilter及びlowFilterとして保持される。この「ハイ」及び「ロー」の設定は
、各デンドライトが次のような２つの考え方を想定するものである限り、任意とすること
ができる。すなわち、１）そのデンドライトへの関連付けをその前に計算すること、及び
２）そのデンドライトへの関連付けをその後で計算することである。そのようなデンドラ
イト間の関連付けの存在を計算するために、特定の位相を考える場合、１つのデンドライ
トは位相の１つのビットとして動作し、他のデンドライトは位相の他のビットとして動作
する。例えば、位相１０については、デンドライトのうちの２つがそのような１つの関連
付けを表示するために、一方のデンドライトはその入力がONであるかどうかを決定する必
要があり、他方のデンドライトはその入力がOFFであるかどうかを判断しなければならな
い。取決めにより、前のデンドライトは上位ビットとして動作するように仮定され、一方
次のデンドライトは下位ビットとして動作する。より正確に言うと、各デンドライトは、
前のデンドライトへのその関連付けを計算する場合、最初は下位ビットとして動作し、次
にそれ自身の信号を次のデンドライトへの波動の中に送る場合は、上位ビットとして動作
する（前のデンドライトのように動作する）。
【００５４】
波動がデンドライトを横切って移動するとき、highFilterは、他の遠位のデンドライト
に対して近位のデンドライトであるとの観点から、所定の位相内でアクティブと考えられ
るデンドライトについてのセンサ信号を表わす。lowFilterは反対の観点を取る、すなわ
ち、lowFilterは他の近位のデンドライトに対して遠位のデンドライトというデンドライ
トの観点に対するセンサ信号を表わす。繰り返すが、この「ハイ」及び「ロー」の割当て
は、単なる慣例によるものである。一般に、各デンドライトは１つの観点に対して位相の
１つのビットとして動作し、次に他の観点に対しては他のビットとして動作する。
【００５５】
この波動のpriorSignalsカウンタは０に初期化される。波動がデンドライトを横切って
移動するにつれて、デンドライトは次のデンドライトに対して関連付けするための信号を
蓄積する。
【００５６】
図１０は、各デンドライト内の計算のフローチャートである。波動が最初にデンドライ
トを通るとき、このデンドライトは下位ビットで遠位のデンドライトの観点を取る。この
デンドライトは、波動のローフィルタをセンサの信号と比較する。それらが同じであれば
、この観点ではそれはアクティブである。近位でアクティブな関連付けの数が、前の信号
の波動の蓄積の中に見出される。第１のデンドライトはどの前の信号も見ないことは理解
されよう。
【００５７】
次に、デンドライトは波動が次のデンドライトに移動する前に、上位ビットで近位のデ
ンドライトの観点を取る。波動の下位ビットのフィルタがセンサの信号に適合する場合、
デンドライトはこの観点ではこの位相に対してアクティブであり、それ自体を波動の前の
信号のカウンタに中に蓄積する。多極の動的プログラミングが最も簡単な形式であるため
に、トレース波動の伝搬は、１つのセンサ入力を示す１つのデンドライトが他のデンドラ
イトに対する全ての関連付け及びそれらの信号パターンをどのように間接的に列挙できる
かを示す。
【００５８】
特に、ブロック１０１０では、センサ信号が波動の位相の下位ビットと同じであるかど
うかについての試験が行われる。同じである場合、ブロック１０１２において、近位のト
レースが波動内に蓄積されるように近位のデンドライトの信号の数に対して設定される。
同じでない場合は、ブロック１０１４において、センサ信号が波動の位相の上位ビットと
同じであるかどうかの試験が行われる。同じ場合は、ブロック１０１６において、波動内
に蓄積されたデンドライトの信号が、次のデンドライトに送るために増加される。ブロッ
ク１０１８において、遠位のデンドライトがさらにあるかどうかの試験が行われ、ある場
合には、ブロック１０２２で、トレース処理がこのさらなる遠位のデンドライト内で開始
される。遠位のデンドライトがこれ以上ない場合は、ブロック１０２４において、信号の
波動内の蓄積値が０に設定され、ブロック１０２６において、センサ信号が波動の位相の
上位ビットに等しいかどうかについての試験が行われる。等しい場合は、ブロック１０２
８において、遠位のトレースが波動内に蓄積された遠位にデンドライト信号の数に設定さ
れる。ブロック１０３２で、センサ信号が波動の位相の下位ビットと同じであるかどうか
の試験が行われる。同じである場合は、ブロック１０３４において、蓄積されたデンドラ
イトの信号が次のデンドライトに送るために波動内で増加される。
【００５９】
デンドライトの構造は再帰的（recursive）であることが好ましい。各デンドライトは
、可能な次のデンドライトに接続される。各デンドライトはトレース信号を次のデンドラ
イトに伝え、最も遠位のデンドライトは波動をそれ自体リセットし（priorSignalsを０に
戻す）、また制御を前のデンドライトに再帰的に返す。元に戻る伝搬は、前方への伝搬と
同様に働くことが好ましい。波動の遠位のパスは近位のトレースを計算し、一方波動の近
位のパスは遠位のトレースを計算する。
【００６０】
電子設計及び並列処理の当業者は、これらのトレースは物理的なハードウェアの中で伝
搬の途中にリアルタイムで更新されることを認めるであろう。例えば、変化するセンサに
関連したデンドライトから始まるどのような信号の変化も、同時に近くにまた遠くに伝搬
することができる。そのような波動は、前の信号ではなく信号内の前の変化を伝搬するが
、ダイナミックスは別な方法で識別することができる。前述した単一パスの動作は、順次
処理するコンピュータのアーキテクチャに対してはより効率的である。全てのセンサ信号
は、トレース信号が呼び出される場合、クランプされ安定していると想定される。全ての
可能な並列の伝搬は、１つの連続パスの中で一度計算される。
【００６１】
図１１は、図１０と同じであるがプログラミングコードとしてのフローチャートを示す
。同じ参照番号がプライムを用いた表記法（’）により使用される。デンドライトのオブ
ジェクトは、その引数として波動オブジェクトを取るトレースのメンバ関数を有する。各
デンドライトは、そのメンバとしてSensorオブジェクトを有する。デンドライトはそのセ
ンサの信号を波動のフィルタと比較する（ブロック１０１０’，１０１４’，１０２６’
及び１０３２’）。lowFilterの場合に１つが他に等しい場合は、デンドライトはそのpro
ximalTraceを波動により実行されたpriorSignalsに設定する（ブロック１０１２’及び１
０３４’）。highFilterの場合は、デンドライトはセンサの信号を説明するために波動の
priorSignalsを増加する（ブロック１０１６’及び１０２８’）。
【００６２】
各デンドライトオブジェクトは、他のより遠位のデンドライトに再帰的に接続される。
各デンドライトは、そのような次のデンドライトのトレースのメンバ関数を、それが存在
する場合は呼び出す。トレース関数はvoidを返す。
【００６３】
＜記憶＞
本発明のいくつかの実施形態による人工ニューロンへの記憶すなわち書込みの説明をこ
れから行う。好ましくは２つ以上の波動伝搬を使用する記憶は、一般により複雑である。
複数波動の伝搬を、登上線維からの１つの信号がプルキンエ・ニューロン内で一気の集中
的活動の原因になるように、小脳の中で示すこともできる。図２は、登上線維（Ｃｌ）及
びそれがどのようにプルキンエ・ニューロンのデンドライトを取り巻くかを示す。トレー
ス信号からのセンサ信号の形成を考えると、登上線維は記憶信号を提供することができる
。
【００６４】
生物現象と同様に、本発明のいくつかの実施形態の多極ニューロンへの記憶信号は一般
に、一気の波動活動を引き起こす。図１２は、トレースの形成に酷似するように、ニュー
ロンは波動を初期化し（矢印９１０）、波動をデンドライト領域（矢印１２２０及び１２
３０）を通って伝搬させることを示す。しかしながら、重み構造はトレースよりも複雑で
あり、いくつかのパスを使用する。図示のように、各波動は重みの各累乗を通過する。記
憶信号は最も弱い２0の重みの列から始めて、トレースをより永続的な重みに移動させる
。
【００６５】
図１２に示した実施例は単純である。トレースの重みは、２0において永続的な重みに
単に蓄積される。しかしながら、観察重みの累乗図表への分離及びデンドライト領域内の
結果として生ずる累乗の列は、１つの重みの累乗から他の重みの累乗へ桁上げ関数を生成
することがある。例えば、バイナリコードにおける加算及び桁上げは簡単である。１つの
ビットを他のビットへ加える場合は、ビットの値は２倍にされ、このため、次の上位ビッ
トの列へシフトされる必要がある。上位ビットがオフの場合、それはオンにされる。上位
ビットがオンの場合は、それは２倍にされ、次の上位ビットの列に左シフトされる必要が
ある。この動作は、桁上げビットが適当に伝搬するまで続く。
【００６６】
図１２は、１つの重み列の結果を他の重み列に加算して桁上げするこの必要性を示す。
各重みの累乗については、いくつかの値を桁上げする必要があることを戻りの波動が示す
限り、多極ニューロンは波動を伝搬させる。メモリの負荷及び新しい信号パターンの効果
にもよるが、ｌｏｇ2（０）数の波動バースト（wave burst）を期待することができる。
実算では、桁上げが最高位の累乗までずっと流れない場合は、波動は累乗のサブセットだ
けしか通過しないため、そのような波動のほんのわずかしか期待されない。
【００６７】
記憶関数は複雑であるが、それは前述したトレース形成にいくらか類似しているように
みなされる。波動は一般に各デンドライトに連続して伝搬し、これにより、近位の重みを
修正（近位のトレースを形成するように）し、その活動を他のより遠位のデンドライトに
動的なプログラミングによって間接的に伝えるために波動も変更する。波動は近位の重み
を調整し、次に反転して遠位の重みを調整する。しかしながら、動的なプログラミングの
性質は、これから説明するように、より複雑であり洗練されている。
【００６８】
記憶を最初に一般的に説明する。次に、１つの重みの累乗から他の重みの累乗に伝わる
ことについての詳細な説明を行う。図１３は、全体的な記憶動作及び次に誘導される二重
の一致／フィルタ処理（Double Match/Filter）に対するその呼出しを示す。
【００６９】
特に、波動が最初にデンドライトにはいるとき、このデンドライトは遠位のデンドライ
トの観点を取る。その近位の重み及びトレースの値の両方を考えると、デンドライトはト
レースによってもたらされた付加を現在の重みに加える又は次の累乗に桁上げする必要が
あるかどうかを判断しなければならない。この決定の論理はバイナリコーディングに酷似
している。すなわち、関連付けが存在しない場合、重みは存在するものであると設定され
る。関連付けが既に存在している場合は、新旧の関連付けは同じものの２つ（two-of-the
-same）を占め、上位の累乗に左シフトされる必要がある。後で説明するように、二重の
一致／フィルタ処理は、次の累乗に桁上げされる必要がある現在では周知の関連付けのそ
のような「倍加」を見出す。
【００７０】
ここで図１３を参照する。二重の一致／フィルタ処理（ブロック１３０２）は繰り越し
を行う必要がある近位の倍加の数を取り出し、デンドライトが次のデンドライトに（デン
ドライトが存在する場合（ブロック１３０４））送る（ブロック１３０６）波動の変更も
行う。波動は戻り（ブロック１３０８）、二重のマッチ／フィルタは再度呼び出され（ブ
ロック１３１２）、今回は遠位の倍加の数が引き出される（ブロック１３１４）。
【００７１】
次の累乗に繰り越すための倍加の数が決定されると（ブロック１３１６）、現在の累乗
における重みを決定することができる（ブロック１３１８）。近位及び遠位の両方の重み
は、繰り越しが行われる必要がある関連付け（倍加）の数だけ減少される。言い換えると
、重みが既に関連付けを保持しセンサ信号がそれに再度加えられる場合、関連付けを現在
の累乗から除き、次の累乗を倍加する必要がある。次に、各重みは新しいトレース値を計
上するために増加され、古い関連付けに適合した値を減算し、桁上げされる倍数の中で計
数される。
【００７２】
最後に、最も低い重みの累乗に対して行ったように、倍数は加算する次の重みの累乗に
対するトレースとしてそれらを割り当てることによって桁上げされる。実際に何らかの倍
数があり、それらが次の波動に対するトレース値として設定される場合、波動の桁上げト
リガは真に設定される。多極ニューロンは波動を一気に送る。それぞれの波動は、繰り越
す関連付けがなくなるまで上位の重みの累乗に対して調整される。
【００７３】
時間の換算係数は、空間的な複雑性に対すると同様の線形関数O（Ｎ）である。ニュー
ロンは１つの波動を作り、その波動はそのデンドライトの領域の各位相に対して４倍に調
整される。各位相の中で、ｌｏｇ2（O）数のバースト（最大の可能なバースト）が重みの
変化を完了させる。
【００７４】
図１４は、重み修正動作に対するプログラミングコードの実施例を示す。図１３と同じ
参照番号は、プライム表記法（’）を用いて使用される。このDendriteオブジェクトは、
トレース関数と同様に、引数として波動を取る記憶のメンバ関数を有する。記憶するため
に次のデンドライトを呼び出す動作も再帰的であり、voidを返す。そうでない場合は、記
憶動作は、二重の一致／フィルタ処理工程を実行する別個の機能による、matchedProxima
lDoubles（ブロック１３０２’）及びmatchedDistalDoubles（ブロック１３１２’）の計
算を含む。各デンドライトは、二重にインデックスが付けられた重みの配列を含む。１つ
のインデックスはDISTAL又はPROXIMAL方向をポイントするが、他のインデックスは重みの
累乗を指し示す。このことは、波動をその累乗として追加させることによって決定される
。重みは２つの方法で調整される。第１の方法は、任意の一致した倍数が減算され（それ
らの倍数が桁上げされるため）、次にトレースが戻って加算される（任意の一致した倍数
を差し引く、これはまた桁上げされる必要があるものを示す）。ブロック１３１４’を参
照されたい。
【００７５】
トレースが一致した倍数の数に対して再度割り当てられる。これは、次の波動の累乗に
桁上げされる値を示す。波動のその後のパスに対して同じ記憶関数を使用するために（ブ
ロック１３０６’）、これらの桁上げ値は、ちょうどあたかもそれらが次の重みの累乗−
実際に存在する−に対する入力信号を示すように、トレースの中に置かれる。
【００７６】
デンドライトは戻る前に、実際にトレース内に桁上げするものが存在するかどうかを決
定する（ブロック１３１６’）。存在する場合は、デンドライトは波動のcarryTriggerを
動作させて（ブロック１３１８’）、より上位の波動の累乗を通過する。
【００７７】
この線形スケーリングの最も複雑な部分は、倍数を見つける動作である。実際の累乗図
表は図表の辺を明示的に示すため、特定の関連付けが存在するかどうかを決定することが
できる。２つの入力間の特定の累乗の関連付けは、それぞれの入力の頂点間の１つのエッ
ジとして、また唯一のエッジとして示される。デンドライト内部の線形の重み機構は極め
て独特であり、幾何学的な数の関連付けを示すことができるが、１つのデンドライト／セ
ンサが他と関連付けされていることを見つけることは極めて難しい。
【００７８】
しかしながら、波動の伝搬についての動的プログラミングは、これらの関連付けを考慮
することができる。図６に示したように、２の遠位の重みは適合する２つの近位の重みに
出くわすはずである。図６の最上位の累乗列を考えると、Ａにおける２の重みは最初Ｂに
おける１（Ａ及びＢは関連付けされている）及びＣにおける別の１に出会う（Ａ及びＣは
関連付けされている）。またＢ及びＣは、近位及び遠位の一致した対を有することができ
るが、それらはこの実施例ではそのような関連付けはしていない。
【００７９】
図１５は、これらの制約を計算するための関連した値及び動作順序を設定する。図１５
では、明確にするために概略的にニューロンが示されている。重み及びトレースが好まし
くは同じ形式であると仮定すると、波動がデンドライトを横切って通過するとき、波動は
それら２つを伝搬させ、また考慮することができる。実際には、波動はpriorWeights及び
priorTracesの両方についてのアキュームレータを有している。さらに、倍数の数は、一
般に、トラック及び一致に対してより重要な関係にある。波動は、priroDoublesに対する
アキュームレータを有する。ただ１つの関連付けを考えると、倍数は重み及びトレースと
同時に生成する。換言すると、関連付けは既に存在し、トレースを加えることによりそれ
が強化、すなわち２倍にされる。デンドライトの重みは関連付けの数を反映するため、倍
数は重み及びトレースのカウンタの最小値である。
【００８０】
より具体的に言うと、一般に、デンドライトは可能な倍数の数だけを計算することがで
きる。デンドライトは数個の重みと数個のトレースとを持つことができるが、それらが同
じ関連付けを示すという局所的な保証は一般にない。例えば、入力ＡがＢとは古い関連付
けを、Ｃとは新しいトレースを持つことがある。しかしＡは、このことを決定するように
Ｂ又はＣと明示的な関連付けは有していない。近位のデンドライトが、一致する他の倍数
があるかどうかを決定しようとしている他のデンドライトの重みを通して遠くから「見て
いる」ことを想像してほしい。そのような観点では、極めて多くのノイズや重みの混乱が
ある。幸いなことに、多数の複雑な制約があるため、そのような倍数に一致及びフィルタ
処理するための他の形式の動的なプログラミングが可能にされる。
【００８１】
図１６では、いくつかの実施例が提供される。二重の一致／フィルタ処理の細部は極め
て複雑であり、多数の入力を用いる場合は理解することが難しい。そのように複雑な場合
は、特に多数の入力を用いる全ての可能な重みの構成を説明できるが、本願に示した実施
例はより基本的で説明的なものである。
【００８２】
第１の実施例（図１６の第１の行）は、いくつかの関連付けが新しい観察によっていか
に２倍にされ、一方他の関連付けが新しい１つの関連付けとして単に加算されるままとな
るかを示す。第２の実施例（図１６の第２の行）は、いくつかの可能な重みの倍加が１つ
のデンドライトの中にいかに現れ、しかし、次の処理に進むことによって、新しい関連付
けのどれもが前のメモリの重みに実際には一致していないことを示す。
【００８３】
例えば、入力Ａに対する初期の重み及びトレースは、両方の実施例に対しては同一であ
る。入力Ａはその下の２つの関連付けの重みを有していて、１つの関連付けの新しいトレ
ースは既に記憶されている関連付けに一致すると仮定される。その場合、関連付けの倍加
は上位の累乗に桁上げされる必要がある。しかしながら、第１の実施例のみが、現在の関
連付けに対する真の倍加を有する。Ａが２つの実施例の中に可能な倍数を有していると申
し出ても、第１の実施例はＣのトレース値がその上のＡ及びＢ両方のトレースの計数を強
制することを示している。Ａのトレース値はＣによって計数されるが、対応する重みはな
い。ＣがＡの重み−トレースの倍数に一致できる第１の実施例とは異なり、Ａ内の可能な
倍数は分割されるため、第２の実施例では実際に倍数は存在しない。
【００８４】
図１７Ａ〜図１７Ｃは、基本的な＋，−，最小及び最大の関数を用いて、そのような論
理のデータフロー工程の動作を概略的に示す。前述したように、波動は、priorWeights、
priroDoubles及びpriorTracesの数を蓄積したと仮定する。そのような記憶した波動を受
け取ると「思われる」遠位のデンドライトの観点から、デンドライトはその近位の重み及
びトレースの最小値として（それぞれブロック１７０２及びブロック１７０４）その可能
な倍数を計算することもできる（ブロック１７０６）。これにより、これらの候補の倍数
を引いた当初の重み及びトレースの数として、可能な重み（ブロック１７０８）及びトレ
ース（ブロック１７１２）の数が残される。
【００８５】
これらの可能な倍数が真の倍数であり、関連付けの真の倍加として互いに一致すること
ができる場合、遠位のデンドライトの可能な重み及び残余のトレースは、波動内で重み及
びトレースを一致させることによって計数可能である。これは難しい制約である、すなわ
ち、遠位の波動を計数しているときに、デンドライトの全ての近位の計数が、波動の蓄積
値に一致するように計数されることが好ましい。一致した重み及びトレース（ブロック１
７２２及び１７２４）は、それぞれデンドライト及び波動の重み及びトレースの最小値（
ブロック１７１４及び１７１６）として計算される。
【００８６】
デンドライトの可能な重み又はトレースが、波動の蓄積値と一致しているために計数で
きない場合は、波動内の可能な倍数は極めて貪欲（greedy）であったであろう。これは残
余の重み及びトレースを見つけることによって、すなわち、それぞれブロック１７２６及
び１７２８で一致されなかった可能な値を見つけることによって計算される。より大きな
残差は、計算のバランスを取るために、それらの別個の重み及びトレースに分割する必要
がある波動の倍数の数である。この強制的な分割（ブロック１７３６）は、波動の倍数の
蓄積から取り除かれ（ブロック１７３６）、その個々の重み及びトレースに与えられる（
ブロック１７１４及び１７１６）。
【００８７】
次に、図１７Ｂを参照する。デンドライトの可能な倍数（ブロック１７０６）は、波動
が移動する前に完全に計数される必要があり、真の倍数である可能性がある（ブロック１
７３６）が、それは波動がそれと一致する可能な倍数を運んでいる（ブロック１７０６）
場合に限る。これらの可能な倍数及び波動の倍数の最小値は、実際に真の倍数である。そ
れらの倍数は、一致した倍数として見つけられ互いに一致される。
【００８８】
真のmatchedDoublesの数を知ることにより、真の重み及びトレースの数を計算すること
ができる。matchedDoublesは記憶された重みから差し引かれて、truePriorTracesを決定
する（ブロック１７４８）。matchedDoublesは記憶されたトレースからも減算されて、tr
uePriorTracesを決定する（ブロック１７５６）。
【００８９】
最後に、図１７Ｃを参照する。デンドライトは波動を次のデンドライトに送る前に遠方
を見るという観点を取る。デンドライトはその遠位の重み（ブロック１７６２）及びトレ
ース（ブロック１７６４）の最小値として可能な次の倍数を計算する（ブロック１７６６
）。繰り返すが、これらは、この工程が次のデンドライトの中で解決する可能な倍数であ
る。波動の重み及びトレースはまた、繰り返された動作に対して全ての関連付けの計算の
バランスを維持するために、デンドライトの遠位の観点から更新される。
【００９０】
図１８は、図１７Ａ〜図１７Ｃの二重の一致フィルタ処理動作に対するプログラミング
コードの実施例を示す。各コードのブロック１８０２，１８０４及び１８０６は、それぞ
れ図１７Ａ〜図１７Ｃに示したデータフローのロジックに対応しており、連続的に実行さ
れることが好ましい。第１のブロック１８０２は、デンドライト内の可能な倍数を計算し
、強制された分割を計算することにより偽の倍数を取り除く動作も含む。第２のブロック
１８０４は真の一致した倍数を計算し、波動から前の蓄積を計数する（取り出す）。次に
、第３のブロックは、次の計数値を波動の重み、倍数及びトレースについての蓄積に加え
る。これらのコードのブロックは、デンドライト・クラスの記憶及びイメージング方法に
よって呼出し可能な１つ以上の専用の方法（サブルーチン）として実行することが好まし
い。
【００９１】
＜読取り＞
人工ニューロンの読取りをこれから説明する。一致した倍数の計算を書込み及び読取り
の両方の動作で使用する。記憶の項で説明したように、一致した倍数は、現在のセンサの
パターンの中でどの関連付けが次の重みの累乗に桁上げすることができるかということが
既に知られていることを示す。「想像する」とも呼ばれる読取り動作については、一致し
た倍数は、新しい観察（トレース）の中で関連付けに一致したメモリ（重み）内の関連付
けの数を示す。二重の一致／フィルタ処理工程は、この連想メモリの一致関数及びその類
似性／距離の尺度の核心となることもできる。
【００９２】
読取り動作は、新しい観察の集合が与えられた場合、過去の関連付けの呼び戻し又は想
像としての役割を行う。言い換えると、観察の新しいパターンはセンサ入力のニューロン
に押し付けられ、多極ニューロンの１つに集中される。次に、この多極ニューロンは可能
な出力を想像し（フィードフォワード予測）、任意の他の出力に対する可能な関連付けを
想像する（フィードバックパターンの完了）。これら２つの読取り動作はヘテロ連想（he
teroassociation）（出力に対する入力）及び自己連想（autoassociation）（他の入力に
対する入力）と呼ばれることが多い。学習理論の心理学では、これらの要素は、それぞれ
刺激反応連想（stimulus-response associations）及び刺激刺激連想（stimulus-stimulu
s associations）と呼ばれる。
【００９３】
二重の一致／フィルタ処理工程は、そのようなメモリの呼び戻しに使用されることが好
ましい。簡単に言うと、呼び戻しは、現在の観察のトレース関連付けと過去を示す永久的
な重み関連付けとの間の一致に対する比較である。ヘテロ連想及び自己連想のイメージの
強度は、過去の経験が現在の経験に一致する程度に直接的に相関される。
【００９４】
図１９は、イメージング波動の伝搬がメモリ関数のように「爆発的（bursty）」である
ことを示すが、これ以上の桁上げが要求されない場合は停止するのではなく、イメージン
グ関数は波動を全ての重みの累乗を通して送ることが好ましい。各累乗は、全てが加法的
ないくつかの可能な関連付けを示す。各累乗１９１０ａ〜１９１０ｂに対する波動の各パ
ス上で、デンドライトは現在の観察に対してその一致数１９２０を計算し、これらの一致
数を２つの方向、すなわち、適確性（relevance）と呼ばれる出力の合計に向かう前方及
びそれぞれのセンサに向かう後方、に蓄積する。蓄積された一致数は加算器１９３０で合
計される。
【００９５】
各多極ニューロンが何らかの出力動作又は他のラベルカテゴリー（label-category）を
示すと仮定すると、適確性は現在の観察が動作又はカテゴリーに関連する程度である。こ
のことは、いかにうまく新しい観察がこの特定の出力に関連した観察の集合に属するかと
いうメンバーシップ関数として理解することもできる。
【００９６】
図２０は、本発明のいくつかの実施形態による読取りについての動作を示すフローチャ
ートである。読取りは書込み（図１３）に類似しており、二重の一致／フィルタ処理を使
用できることが分かる。しかしながら、想像関数（imagine function）はブロック２００
６において、重みを変更するのではなく、一致した倍数を蓄積する。全体的な適確性は、
デンドライトの再帰的な構造を通して蓄積され、各デンドライトはその近位及び遠位の一
致数の両方を加算する。一致数は適確性と呼ばれる値に蓄積される（ブロック２０１４）
。新しい観察は、そのパターンがメモリ内に記憶された全ての過去の観察のパターンに一
致する程度に関連する。
【００９７】
この蓄積の非線形関数は、図１に取り入れられた線形及び非線形の両方の連想モデルか
ら得ることができる。任意の観察行列に対する適確性の値が、下記のように線形及び非線
形の両方の項から構成すると仮定する。
適確性＝WAＡ＋WBＢ−WABＡＢ
各重みは、下記のように生の観察計数から計算することができる。
WA＝ｗ１１＋ｗ０１−ｗ１０−ｗ００
WB＝ｗ１１＋ｗ１０−ｗ０１−ｗ００
WAB＝ｗ１１＋ｗ００−ｗ０１−ｗ１０
それらは、各位相の項の中の下記の部分的な公式に再構成することができる。
適確性００＝ｗ００（−Ａ＊Ｂ−Ａ−Ｂ）
適確性０１＝ｗ０１（Ａ−Ｂ＋Ａ＊Ｂ）
適確性１０＝ｗ１０（Ｂ−Ａ＋Ａ＊Ｂ）
適確性１１＝ｗ１１（Ａ＋Ｂ−Ａ＊Ｂ）
位相が既にＡ及びＢの信号状態のフィルタとなっていると仮定すると、センサの期間がど
の位相に対しても一定である、実際に各位相に対して１の定数であることが分かる。例え
ば、適確性００＝ｗ００である。言い換えると、各位相の部分的な適確性は、観察重みの
蓄積である。このため、本発明のいくつかの実施形態は、例え部分的な表示が線形であり
、呼び戻し関数が観察計数の蓄積であっても、線形及び非線形の両方の関連付けを計数す
ることができる。二重の一致／フィルタ処理動作は、現在の観察を示すこれらの観察計数
を選択する。
【００９８】
図２１は、図１９のイメージングの実施形態に対するプログラミングコードを示す。プ
ライム表記法（’）が使用される。Dendriteオブジェクトは、引数としてまた波動を取る
メンバ関数のイメージを有する。他の関数と同様に、デンドライトの呼出しも再帰的であ
るが、このイメージ工程はREAD動作であり、デンドライトを通して蓄積されたtotalRelev
anceを返す（ブロック２０１４’）。記憶関数と同様に、イメージ動作は二重の一致／フ
ィルタ処理動作を呼び出して、近位及び遠位の一致した倍数の数を計算する。しかしなが
ら、記憶の場合（WRITE動作）のように重みを変更するのではなく、イメージ動作は適確
性を蓄積する。遠位及び近位の両方の一致した倍数に対して、適確性は重みの累乗を計数
する。この適確性における指数関数的な増加は、一致した倍数を左シフトすることによっ
て計算される。各デンドライトの計算の局所的な適確性は、他のデンドライトによって戻
された全適確性に加算される（ブロック２００６’）。これで、読取り動作の説明は終わ
る。
【００９９】
プルキンエ・ニューロンは多極ニューロンの１つの形式に過ぎないことは理解されよう
。大脳皮質のピラミッド形ニューロンも周知であるが、神経系は一般に、多くが複雑で多
極の極めて多種多様のデンドライト状の分岐パターンを示す。同様に、本発明のいくつか
の実施形態は、観察計数の他の多くの形式に適用することができる。２Ｘ２の観察行列が
、観察及び相互作用を記録する基本的な要素として取り入れられたが、当業者はより高い
次元の行列、極座標、カルノー図、ブール関数及び／又は階層構造を使用して観察計数を
集めることもできることは認識されよう。そして、前述したように、それらを分解及び圧
縮することができる。
【０１００】
実際に、本発明のいくつかの実施形態は、その唯一のデンドライトの中で単極のニュー
ロンさえも使用できる。例えば、ＡとＢとの間の比率は結果として１つの１Ｘ１のセル、
すなわち入力の各対を成す組合せに対する１つの値を生成する。これは１つの重み付けら
れた図表と等価であり、この図表は重み付けされない累乗の図表の集合に分解されること
ができ、これは今度は上述したように動的にプログラムされることができる。１つのデン
ドライトの反復は、恐らく単極のニューロンの中では唯一のものであり、次にそのような
比率の数を示すことができる。
【０１０１】
要約すると、観察の追加の学習及び呼び戻しは、各可能な２つ１組の期間の組合せに対
する主要なブランチから成る多極ニューロンの中で説明されている。他の多極構造を示す
ことができるが、この２Ｘ２の観察行列は４つの位相の実施例を提供した。各ブランチは
再帰的なデンドライトから成り、各デンドライトは１つの双極性の入力ニューロンに接続
され重み及びトレースの集合を含むことが好ましい。各デンドライトは重み対を記憶し、
１つの重みは他の近位のデンドライトとの関連付けの数を記憶し、別の重みは他の遠位の
デンドライトとの関連付けの数を記憶する。デンドライトが複数の重み対を記憶し、各対
が可能な重みの基数２の累乗であることが好ましい。このため、デンドライトに対する重
み対の全数を、全ての記憶された観察のｌｏｇ2に限定することができる。各デンドライ
トはまた一対の一時的トレースを含むことが好ましい。この一時的トレースは、蓄積され
た重みの同じ近位／遠位の形式を使用する現在の観察を示す。
【０１０２】
動的プログラミングを使用するいくつかの動作は、例え計数が全ての入力間の非線形な
関連付けを概算するものである場合であっても、線形の空間及び時間の中でメモリからの
読取り及びメモリへの書込みを行うことができる。全ての動作は波動の伝搬を使用できる
。この波動の伝搬において、波動はデンドライトの位相の向きをフィルタ処理し、波動が
１つのデンドライトから他のデンドライトに移動するときにそれらの信号の蓄積を伝える
。二重の一致／フィルタ処理動作は、デンドライトの重みとトレースとの間の難しい制約
を処理して、結果として現在の観察において一致が得られている過去の関連付けを間接的
に列挙することができる。このため、記憶動作の間に、一方の重みの累乗から他方に重み
を加算及び伝えることができる。新しい観察の適確性とそのように適確性をもたらす各入
力の感度とを決定するために、重みは過去のメモリと新しい入力との間のパターンの一致
を測定することもできる。
【０１０３】
本発明のいくつかの実施形態のハイパーマシン（hypermachine）のスケーリングファク
タは、連想メモリの一般的な使用可能性を大いに広げることができる。本願で説明した実
施形態を実行する場合、非線形から線形のパラメータ無しの増分ローディング（incremen
tal-loading）への圧縮においていくらかの損失が認められるが、非線形の連想装置を、
インターネットの最大の規模及び無線装置の最小の規模の両方において、機械学習に対す
る新しい可能性を開くために線形の大きさ及び速度で今では物理的に実現することができ
る。
【０１０４】
［最大射影を規定する重みを含む人工ニューロン］
本発明のいくつかの実施形態は、前述したように、べき級数の分離と前の／次の計数と
に基づいている。しかしながら、ここで説明する本発明のいくつかの実施形態は、最大射
影を用いて関連付けを損失なく圧縮することができ、またヘテロ連想及び自己連想の呼び
戻しの両方の多くの用途に使用することができる。
【０１０５】
最大射影の理論的な説明を最初に行う。次に、本発明のいくつかの実施形態による最大
射影を含むニューラルネットワークの実施形態の説明を行う。最後に、本発明のいくつか
の実施形態による読取り及び書込みの詳細な説明を行う。
【０１０６】
＜最大射影の理論的説明＞
本発明のいくつかの実施形態によれば、断層撮影の再構成という関連のない分野におけ
る概念が、情報損失の潜在的な問題を解決するために有益であることが明らかとなった。
特に、行列用の行および列の重みを２進数の行列のエッジ方向の射影から探知することが
できるという、ディジタル断層撮影の問題を考えてみる。
【０１０７】
完全行列の行および列の合計を、図２３に示すように、前の／次の合計の断層画像の生
成として考えてみる。行／列の合計は、そのような行列の計算では一般に｛Ｒ，Ｓ｝とし
て示される。「行」及び「列」という用語は、二次元の行列では絶対的な方向ではなく、
２つの異なる次元を示すために使用されていることは理解されよう。このため、「行」及
び「列」という用語は、全体を通して入れ替えることができる。
【０１０８】
ここで図２３を参照すると、前の／次の及び行／列の射影は、三角行列に対して等価に
できることが分かる。図２３は、どのように「前の」重みをＲにおける「行」の重みへと
、すなわち行列の全ての行の合計のベクトルへとマッピングすることができるかを示して
いる。Ｓすなわち行列の「列」の重みに、「次の」重みをマッピングすることができる。
以下の説明には、行列数学のより一般的な表示として｛Ｒ，Ｓ｝表示が使用される。この
ことは、極めて大きな行列に対する本願の実施形態の潜在的な適用可能性も示す。
【０１０９】
本発明の実施形態は、ローレンツによる発見を利用することができる。ローレンツは、
２進行列内のビットのいくつかの配列は「最大」であることを見出した。これは、全ての
ビットをパッキング内にホール（holes）を生成させずに１つのコーナにうまく「パック
」するような方法で、行および列を再ソートすることができるということである。本発明
のいくつかの実施形態では、本発明のいくつかの実施形態の中で説明したようなべき級数
の分離は、ビット行列（２進値のみを含む行列の集合）を生成するために使用できる。こ
のビット行列から、｛Ｒ，Ｓ｝射影を効率的に処理及び使用できる。
【０１１０】
第１に、情報を失わずに行列の行および列を再ソートできることが示される。図２４は
、ビット行列とそのソートされていない｛Ｒ，Ｓ｝射影とを示している。次に、｛Ｒ，Ｓ
｝の合計が降順になるように、行列をソートすることができる。図２５は、そのようなソ
ートされた射影の行列を示す。ここでは、大部分の１のビットが左上にあることに注意さ
れたい。図２４の影をつけた部分は、最大ビットのパッキングのこの領域の外側に全ての
ビットがあるように、図２５ではより良く統合及び整理される。非最大領域は「スイッチ
」と呼ばれる。その理由は、ビットは｛Ｒ，Ｓ｝射影を変えずに異なる構成の中に移動又
はスイッチできるからである。
【０１１１】
ローレンツは図２６に示すように｛Ｒ，Ｓ｝射影によって、最大行列そのような最大ビ
ットのパッキングを有するソートされた行列を完全に決定できることも発見した。行射影
は最大のＲ（Maximal R）と表わされ、列射影は最大のＳ（Maximal S）と表わされる。こ
の図では、射影は、スイッチ内にあるビットを除いた最大にパックされた行列の部分のみ
を示す。射影と行列は等価であり、相互に決定することができる。このため、完全行列は
射影と可逆である。
【０１１２】
断層撮影については、このことは、いくつかの射影を再ソートすることができ、またビ
ット位置を射影から決定できることを意味している。ローレンツは、ｉ及びｊのインデッ
クスが付いた行列のソートされた射影を考えると、最大行列の任意の要素ａijも公式ａij
＝１ ｉｆｆ ｒi≧ｊによって求めることができると判断した。言い換えると、行の射影
（ｒi）が列のインデックスｊ以上である場合またその場合のみ、ビットをオンにする。
【０１１３】
図２７は、最大射影を示す｛Ｒ，Ｓ｝及び行および列のインデックスを示す｛Ｒ’，Ｓ
’｝の最大行列を示す。｛ξ，Ψ｝は、これらの射影及びインデックスの入力ラベルを示
す。図２７の影をつけて強調したように、行インデックス４及び列インデックス５の関連
部はONである。列インデックス５が行射影８よりも小さいため、この関連部は上記のよう
に計算することができる。ローレンツの公式では、ｒi＝８≧ｊ＝５となる。このため、
ａ4,5はONである。このことは、図２７でＤ・Ｎ＝ＯＮで示すように、ＤはＮと明確な関
連付けを有していることを意味する。
【０１１４】
多くの行列及びそれらの射影が最大になるようなことはないことは理解されよう。むし
ろ、最大の行列は多くの行列の中でも特殊な場合である。しかしながら、図２５に示すよ
うに、ソートすることによって、１つの連続した最大領域が存在するが、非最大のホール
もまだ残るように｛Ｒ，Ｓ｝を配列することができる。
【０１１５】
そのようなホールは「スイッチ」又は「４−スイッチ」と呼ばれる。そのようなスイッ
チの最も簡単な状態が、図２３の影をつけた領域に示される。この場合、そのような対角
線配列では、２ビットがオンで２ビットがオフである。４つの位置が、図２３に示した２
つの異なる配列が可能なスイッチを形成する。射影は一般に、スイッチ内のビットの位置
を決定できない。このため、４−スイッチが２進行列とその射影との間の不確定性及び非
可逆性の原因である。しかしながら、４−スイッチがそのようなエラーの唯一の原因であ
ることは周知である。このことは、行列が最大にならないようにするための唯一の数学的
な対象であることが知られている。
【０１１６】
＜最大射影を示す重みを含む人工ニューロン＞
本発明のいくつかの実施形態では、前述したべき級数の分離及び／又は射影の計数を使
用できるが、連想メモリ内の最大射影も使用できる。これらの新しいシステム、方法及び
／又はコンピュータプログラムの製品により、メモリからの読取り及びメモリへの書込み
の両方の動作を改良できる。一般的に言うと、最大行列の特性を使用することにより、読
取り速度を向上できる。さらに、下記に一層詳細に説明するように、４−スイッチによる
損失の原因を知ることにより、損失のない読取り及び書込みができるようになる。
【０１１７】
＜最大射影を含む人工ニューロン＞
ここで図２８を参照すると、本発明のいくつかの実施形態による人工ニューロンのブロ
ック図が示されている。図２８に示すように、本発明のいくつかの実施形態による人工ニ
ューロン２８００は複数の入力部２８１０ａ〜２８１０ｍ及び複数のデンドライト２８２
０ａ〜２８２０ｍを含み、デンドライトのそれぞれの１つは複数の入力部２８１０ａ〜２
８１０ｍのそれぞれの１つに関連付けされている。図２８の実施形態では、それぞれのデ
ンドライト２８２０ａ〜２８２０ｍは、重み２0〜２nを示すそれぞれのべき級数の重み２
８３０ａ〜２８３０ｎを含む。重みは概ね計数用の記入子であり、別個の物理的実体であ
る必要はないことは理解されよう。図２８の実施形態では、べき級数内のそれぞれの重み
２８３０はそれぞれの射影２８４０を含む。図２８の実施形態では、重み２８３０ａ〜２
８３０ｎのべき級数内のそれぞれの累乗に対する射影２８４０はソートされて、それぞれ
の最大射影２８９０ａ〜２８９０ｎ、すなわち、関連した累乗に対して最大になるように
配列された複数の射影を規定する。関連した累乗に対する射影は、ルータ２９００によっ
て、例えば前述した方法で射影長によりマッピングされ、ソートされ又はインデックスが
付けられて、最大射影２８９０ａ〜２８９０ｎを規定する、マッピングされ、インデック
スが付けられ又はソートされた射影を提供する。ルータ２９００の中では、べき級数の各
累乗に対して別個のマッピング、ソート又はインデックス付けが行われる。
【０１１８】
いくつかの実施形態では、べき級数内の少なくともいくつかの重み２８３０ａ〜２８３
０ｎは、少なくとも１つのスイッチ２８５０も含む。射影及び／又はスイッチは特定の時
点には存在しないが、本発明のいくつかの実施形態では、べき級数内の全ての重み位置に
おける射影２８４０に対して記入子が提供され、また重み２８３０ａ〜２８３０ｎのべき
級数内の各累乗に対して少なくとも１つのスイッチが提供される。いくつかの実施形態で
は、重み２８３０ａ〜２８３０ｎのべき級数は基数２の重みのべき級数であり、この場合
、最大射影２８９０ａ〜２８９０ｎは複数の最大行射影及び／又は複数の最大列射影を含
む。別の実施形態では、最大行射影及び／又は最大列射影は、べき級数内の重みによって
示される、それぞれ行射影及び列射影の合計によってそれぞれソートされる。全てのデン
ドライト２８２０が重み２８３０のべき級数を含んでいるわけではなく、また全ての重み
２８３０が射影２８４０を含んでいるわけではないことも理解されよう。このため、いく
つかの実施形態では、少なくともいくつかのデンドライト２８２０は重みのべき級数を含
み、またべき級数の少なくとも１つの累乗内の少なくともいくつかの重みが最大射影２８
９０を規定している。
【０１１９】
図２８の説明をさらに続ける。人工ニューロン２８００の実施形態には、関連する入力
部における入力信号に応答するトレースすなわち活性化ベクトル（activation vector）
２８６０も含む。以後詳細に説明するように、トレース２８６０は入力信号の活性化を最
大行射影及び／又は最大列射影２８９０内の位置にマッピングするように構成される。ト
レース２８６０は、活性化をスイッチ２８５０にもマッピングする。
【０１２０】
さらに図２８を参照する。リーダ２８７０は最大行射影及び／又は最大列射影２８９０
内の活性化されたサブセットをトレース２８６０から決定し、活性化されたサブセットの
各列に対してその列のインデックス以上の最小の行射影を選択するように構成される。別
の実施形態では、リーダ２８７０は、関連した列のインデックス以上の最小の行射影を活
性化されたサブセットの列に対して蓄積し、これにより、入力信号の重みとの関連付けを
得るようにさらに構成される。
【０１２１】
なおも図２８を参照すると、ライタ２８８０も含まれて、このライタは、最大射影２８
９０及びスイッチ２８５０の中にトレース２８６０を埋め込むように構成される。いくつ
かの実施形態では、以下に詳細に説明するが、ライタ２８８０は、トレース２８６０と最
大射影２８４０との間に冗長な射影を見つけるように構成された行列圧縮部（matrix com
pressor）を含む。
【０１２２】
当業者は、他の実施形態では、デンドライト２８２０ａ〜２８２０ｍは重み２８３０ａ
〜２８３０ｎのべき級数を含む必要がないことも理解されよう。むしろ、べき級数の中に
はない１つ以上の重みが提供される。この場合、少なくともいくつかのデンドライトに対
する少なくともいくつかの重みが最大射影２８４０を規定する。この重みはルータ２９０
０によってソートされ、最大射影及びスイッチ２８５０を作る。これにより、本発明の実
施形態による最大射影及びスイッチが、本発明の実施形態による重みのべき級数に対して
別々に使用される。
【０１２３】
＜読取り＞
前述した本発明のいくつかの実施形態により、線形の読取り及び書込みが可能になった
。このことは、関連付行列が二次的にスケーリングされることを考える場合は望ましい。
しかしながら、関連付けのサブセットまでも計算するためには、前の／次の重みの集合の
全体を始めから終わりまでスキャンする必要がある。以下に説明する本発明のいくつかの
実施形態により、行および列射影のアレイ全体の長さには無関係に、個々の関連付けの読
取りを行うことができる。関連付けの強さをビットの集合の中に各行列に１つづつ分割す
ることができることを考えると、行および列内の任意の２つＡ及びＢの入力を照合するこ
とによって、各ビットのレベルを読み取ることができる。各行列内のＡ及びＢの射影及び
インデックスを知ることにより、Ａ及びＢがそのビットに対して関連しているかどうかを
判断できる。
【０１２４】
このことは、極めて大きなニューロンに対しても行うことができる。特に、いくつかの
実施形態では、読取り及び書込みは所定の入力ベクトルの大きさのみに依存し、ニューロ
ン全体の大きさに依存する必要はない。多くの用途においては、読み取られるベクトルは
通常、ニューロンメモリ全体における機能空間全体の数分の一である。例えば、いくつか
の実施形態では、例えメモリ全体が１０Ｋ〜１００Ｋの可能な属性値を持つ場合でも、１
００個の属性値のベクトルを数ミリセカンドで読み取ることができる。
【０１２５】
これに反して、読取り（及び書込み）時間は、一般に、ベクトル内の各属性値を他の属
性値のそれぞれについて検討する必要がある場合には二乗の時間がかかる。要求が多いい
くつかの用途については、入力ベクトルの大きさは１Ｋ〜１０Ｋとすることができる。例
え読取り時間が１Ｍまでは関連付行列の大きさに無関係であっても、この幾何学的なスケ
ーリングをさらに向上させることができる。
【０１２６】
図２９は、図２８のトレース２９６０のようなトレースベクトルの活性化を示す。前述
したいくつかの実施形態におけるように、トレースは入力刺激（input stimulation）を
示す。図２８の入力ベクトル２８１０ａ〜２８１０ｍのような入力ベクトルのそれぞれの
素子は、行列に対する入力線によって示される。入力ベクトルを与えると、トレースは全
ての適当な行および列にマッピングされる。
【０１２７】
例えば、図２９に示すように、トレースＴの入力項は｛Ａ，Ｂ，Ｄ，Ｆ，Ｇ，Ｊ，Ｋ，
Ｎ，Ｐ，Ｑ，Ｒ，Ｔ｝を含み、この特定の行列はＪ〜Ｖとの関連付けＡ〜Ｉを記憶する。
これらの入力の活性化は、行列の行及び／又は列内のそれらの位置に対してマッピングさ
れる。このトレースの活性化に対して、図２９は影をつけたセルのように、アクティブな
行とアクティブな列との間のアクティブな関連付けも強調して示す。アクティブな行およ
び列はより暗い網掛けで強調表示され、特定の関連付けに対するそれらの交点、すなわち
行列内のセルを示す。このトレースは、図２９内では２５の関連付けを活性化する。
【０１２８】
図２９及び他の多くの図面の中に明確な行列が示されているが、本発明の実施形態を説
明するためには、本発明の実施形態によるシステム、方法及び／又はコンピュータプログ
ラムの製品の一部として使用する必要はないことが理解されよう。既に説明したように、
射影自体は行列を表示するのに十分である。行列は二次的にスケールされるが、射影は直
線的にスケールされる。下記の実施形態は、トレースの活性化の読取り及び蓄積を線形の
時間で行うために射影のみを使用する。
【０１２９】
図３０は、図２９で活性化された行列のサブセットを示す。活性化されたサブセットも
最大行列であるため、活性化された射影もこの行列のビットを表示及び読取りを行う場合
には損失が生じない。図３０において、｛Ｒ，Ｓ｝は最初の射影を表示し続けるが、活性
化されたサブセットを示すために｛＋Ｒ，＋Ｓ｝と表示する。同様に、｛＋Ｒ’，＋Ｓ’
｝は、活性化された本来のインデックスを示す。また、｛＋Ｒ”，＋Ｓ”｝はサブセット
の行列のインデックスを示し、＋Ｔは活性化されたトレースのサブセットを示す。
【０１３０】
最初の射影と｛＋Ｒ”，＋Ｓ”｝の加算のみを考えると、これは｛＋Ｒ，＋Ｓ｝の大き
さまで線形の時間で計算することができ、これらの実施形態は＋Ｒ≧＋Ｓ’のような＋Ｒ
の最小の可能な射影を（各列に対して）選択する。言い換えると、＋Ｓ”は行の射影がそ
れに到達するために十分に長い必要があるような列のインデックスを示す。言い方を変え
ると、概念上の観点からすると、列に到達するほど十分長い活性化された行の射影がある
場合、その行射影及びそれより長い全ての行射影は列に到達できる。射影は階数の順序で
あるため、＋Ｒ’は最初の行列内のそのような行の数を示す。読取り要求は列に到達でき
る活性化された行の数にのみ関心があるため、＋Ｒ”はそのような活性化された行の数を
与える。図３０では、いかにこれらの＋Ｒ”の値がそれぞれの列内の活性化の数に対応す
るかを見ることができる。
【０１３１】
最大行列の１つのセルに対する上記の推論は、線形の時間内で全ての活性化されたセル
をカバーするように拡張できる。このことは、図２９から理解することができる。第１の
行（Ｒ’＝１）及び１３であるその射影（Ｒ）を見ると、それは下側又は１３であるイン
デックス（Ｓ’）における全ての列の活性化（Ｓ）に拡張できる。列１１はそのような最
大のインデックスであり、７番目のそのような活性化されたインデックスである。このた
め、１３の活性化された射影は７個の列と交差する。これらの交差は２５の１つの計数に
蓄積することができるか、又は活性化自体の最大射影とすることができる。｛７，７，５
，４，２｝のようなこのサブセットの射影は、行当たりのサブセットの関連付けの数を説
明する。トレースの全「点数」は２５の関連付けとして蓄積できるが、それぞれの特定の
関連付けは完全に呼び戻される。例えば、Ａのサブセットの射影は７であり、これはＡが
真のトレースの集合｛Ａ，Ｂ，Ｄ，Ｆ，Ｇ，Ｊ，Ｋ，Ｎ，Ｐ，Ｑ，Ｒ，Ｔ｝内に他の項を
有する行列内に７の関連付けを有することを意味する。
【０１３２】
より具体的に言うと、図３１は、本発明のいくつかの実施形態に基づいて読取りを実行
する動作のフローチャートである。Ｒ及びＳの両方は行列に関して同じ情報を含むため、
どちらも使用できる。しかしながら、図３１では、新しい行および列射影の両方の構築及
び戻りが示されている。
【０１３３】
ここで図３１を参照する。トレース内の各Activated Value（活性値、ＡＶ）に対して
（ブロック３１００）、活性化された属性値が行（ブロック３１０１）又は列（ブロック
３１１１）のいずれかに含まれる。全てのそのような行および列は、ブロック３１０２及
びブロック３１１２でそれらの射影｛＋Ｒ，＋Ｓ｝及びそれらのインデックス｛＋Ｒ’，
＋Ｓ’｝に従って蓄積される。次に、図３１の左側を検討すると、＋Ｓ内の最小の射影及
び＋Ｒ’内の最小のインデックスから始めて（ブロック３１０３）、射影がインデックス
以上である（インデックスに「到達する」）場合（ブロック３１０４）、Ｒから活性化さ
れた射影はサブセットの行列内の＋Ｓのインデックスに等しい（ブロック３１０６）。そ
うでない場合は、＋Ｓ内の次に高い射影が評価され（ブロック３１０５）、これらの動作
は射影がインデックスに到達して（ブロック３１０６）、＋Ｓ”から新しい射影がマーク
されるまで繰り返される。これらの動作は、＋Ｒ’内の各連続するインデックスに対して
繰り返される。射影はブロック３１０７において戻される。列に対する類似の動作が、ブ
ロック３１１３〜ブロック３１１６で実行される。
【０１３４】
射影はソートされた順序（最大射影）となるので、＋Ｓの最後の値は、＋Ｒ’の次の繰
返しを開始するための最小の可能な値になる。言い換えると、この最後の特性により、本
発明の実施形態は＋Ｒ’又は＋Ｓのどちらか大きい方の寸法まで時間的に線形になること
ができる。
【０１３５】
各圧縮された行列からのこれらのビットの蓄積は、関連する重みを構築するために整数
として蓄積することができ、これらの整数はヘテロ連想及び自己連想の呼び戻しの両方に
使用できる。このため、本発明のいくつかの実施形態では、任意の他の属性値に対する任
意の属性値の正確な計数値は、損失なしに再構成することができる。本発明のいくつかの
実施形態の中でヘテロ連想機能に対して説明したような計数の全体的な蓄積に加えて、本
発明のいくつかの実施形態は自己連想の正確な計算−任意の他の属性値に対する任意の属
性値の計数−に対応できる。
【０１３６】
下記の代数は、この線形の読取りからどのように計算を集めることができるかを実証し
ている。特に、条件付き確率の加算は、下記のように、べき級数の射影の加算から計算す
ることができる。
【０１３７】
Ｂのような任意の変数とＡのような目標変数との間の関連付けの条件付き確率は、Ｐｒ
ｏｂ（Ａ｜Ｂ）として与えられる。これはＡＢ／Ｂとして計算することができ、ここでＡ
ＢはＡＢに関連付けされている回数であり、ＢはＢに対する全ての関連付けの合計である
。これら２つの値は、最大行列の射影から読み取ることができる。前述したように、分子
ＡＢがオンかオフかを判断することは可能である。分母Ｂは、Ｂの全ての関連付けを示す
射影全体の値である。
【０１３８】
しかしながら、二次式の時間ではなく線形の時間内で最大行列に含まれた全ての条件付
き確率を読み取るために（各組合せの読取り）、前述した線形の読取りを使用できる。下
記のように、２つの条件付き確率を蓄積する必要性を仮定する。
Ｐ（Ａ｜Ｂ）＋Ｐ（Ａ｜Ｃ）＝ＡＢ／Ｂ＋ＡＣ／Ｃ＝（ＡＢ＋ＡＣ）／（Ｂ＋Ｃ）
そのような加算は同時確率の近似に過ぎないが、この公式はここではＡＢ＋ＡＣ及びＢ及
びＣを計算することによって、最大行列から線形の時間内で蓄積することができる。本発
明のいくつかの実施形態のべき級数を使用することによって、任意の関連付けの整数値を
そのべき級数表示の中に分解することができる。ＡＢ及びＡＣの整数の重みは、下記の式
のように分解できる。
ＡＢ＝１＊ＡＢ１＋２＊ＡＢ２＋４＊ＡＢ４
ＡＣ＝１＊ＡＣ１＋２＊ＡＣ２＋４＊ＡＣ４
ここで、ＡＢ１は２0（１）におけるビットを表し、ＡＢ２は２1（２）におけるビットを
表すなど、これは２2（４）まで続く。各要素は、ＡＢ４が２2（４）により乗算されるよ
うに、その累乗の強度によって乗算される。これらの項は下記のように再配列される。
ＡＢ＋ＡＣ＝１＊（ＡＢ１＋ＡＣ１）＋２＊（ＡＢ２＋ＡＣ２）＋４＊（ＡＢ４＋
ＡＣ４）
前述した線形の読取りは、ここではＡＢ１及びＡＣ１のような合計を計算するために利用
できる。言い換えると、２0行列におけるＢ及びＣのＡに対する組み合わせた関連付計数
は、この行列内のＡのサブセット射影によって与えられる。｛Ａ，Ｂ，Ｃ｝のトレースを
考えると、Ａのサブセット射影は下記のようになる。
ｒＡ１＝ＡＢ１＋ＡＣ１
ここで、ｒＡ１はべき級数内の第１の行列の射影に対するＡのサブセットの行射影を示す
。べき級数全体にわたるサブセット射影の合計は、下記のように計算される。
ｒＡ＝ｒＡ１＋２＊ｒＡ２＋４＊ｒＡ４
ここで、ｒＡは全てのべき級数全体にわたる他の項に対するＡの関連付強度を示す。この
関連付強度を条件付き確率の合計に変換するために、ｒＡは下記のようにＢ及びＣの重み
全体によって分割される。
Ｐ（Ａ｜Ｂ）＋Ｐ（Ａ｜Ｃ）＝ｒＡ／（Ｂ＋Ｃ）
従って、Ｂの全重みは、べき級数内の全射影の合計から蓄積できる。例えば、Ｂの行射影
が２0行列内で５に等しく、２1行列内で３に等しい場合は、Ｂ＝１＊５＋２＊３＝１１に
なる。
【０１３９】
要約すると、多くの行列計算は、行列が最大の場合は線形時間内で計算できる。そうす
るためには、計算は前述したようなべき級数表示に分解され、それぞれの項は各べき級数
レベルのサブセットの射影又は全射影として収集可能及び読取り可能である。他の実施形
態では、べき級数の分解は最大射影と一緒に使用する必要はない。多くの２つ一組の条件
付き確率に対する線形時間内の同時計算は、そのような線形読取りの１つの例であるが、
他の多くの方法（例えば、変化量の測定）も本発明の実施形態に基づいて可能である。
【０１４０】
＜書込み＞
本発明のいくつかの実施形態による書込み動作をここで説明する。線形時間内で最大行
列を読み取る前述した能力を考え、これらの実施形態においてはそのような最大行列をど
のように抽出し、最大及び非最大の両方の区画を管理するかを説明する。
【０１４１】
離散型の断層撮影の目標は、これらの射影から行列内のビットの内部位置を評価するこ
とである。断層撮影の用途では、射影が与えられる。行列自体は対象物の中に隠されてい
て、断層撮影法は行列内部を「見て」、医用画像形成などのために行列を再生するために
使用される。連想メモリの書込み動作は、反対の問題を示すことがある。関連付行列は与
えられており、メモリは全ての関連付けをそのような効率的な射影の中に圧縮する。
【０１４２】
全ての関連付けがべき級数内の最大行列として配列されることが理想的である。そうな
る場合、前述した本発明のいくつかの実施形態の中で仮定したように、前の／次の射影は
線形形式でビットの圧縮を完全に示すことができる。しかしながら、そうでない場合は、
多くの関連付行列は最大となる区域を生ずるが、図２５及び図３２に示すように、残留す
る４スイッチも含む。最大区域は高く圧縮されるが、最初に４スイッチの存在及び位置を
求める必要がある。この４スイッチの問題を解決すれば、そのときは本発明のいくつかの
実施形態に基づいて、本発明のいくつかの実施形態における前の／次の計数の損失が多い
圧縮を減らす又は取り除くことができる。
【０１４３】
スイッチを発見する１つの方法は、行列の最大部分を非最大の部分から分離することで
ある。既に説明したように、射影をソートすることは、対角線に沿ってスイッチを集める
ことにつながる。次に、多くのソート技術を使用できる。いくつかの実施形態では、｛Ｒ
，Ｓ｝の特別な特性を除いて、Ｃソート（C-Sort）と呼ばれる従来の技術を使用できる。
Ｃソートは直線的にスケールするが、特別な仮定が必要なため多くは使用されない、すな
わち、ソートされる最大数はソートされる項数よりも大きくすることはできない。しかし
ながら、｛Ｒ，Ｓ｝射影はこの特性を有している。特に、ソートされた数はある行又は列
における他の行又は列に対する関連付けの数を示すため、関連付け数は行又は列の数より
も大きくなることはない。このため、Ｃソートは最大射影をソートするために使用できる
。しかしながら、従来のジャバソート（Ｊａｖａ（登録商標）ｓｏｒｔ）などの他の多くのソートプログラム
も使用できる。
【０１４４】
射影がソートされると、次に記載する動作は４スイッチの座標を決定できる。図３２が
実施例として提供される。図３３は、本発明のいくつかの実施形態に基づいてスイッチを
発見するために使用できる動作のフローチャートである。
【０１４５】
ここで図３２及び図３３を参照する。スイッチを発見する（ブロック３３００）ために
、ブロック３３０２で「カーン（karn）」が計算される。ローレンツの方法に関して、Ｌ
（Ｒ）及びＬ（Ｓ）内のＬは、｛Ｒ，Ｓ｝射影の相互参照を示す。この計算に名前を与え
るために、「カーン」が「階数」のアナグラムとして使用される。各列に対して（例えば
）、Ｌ（Ｓ）＝ｍａｘＲ’｜Ｒ≧Ｓ’となる（ブロック３３０３）。同様に、Ｌ（Ｒ）＝
ｍａｘＳ’｜Ｓ≧Ｒ’である。言い換えると、Ｒのカーン（ブロック３３０２）は、ゼロ
ベースのインデクシング方式を用いて、行射影がＲの列インデックス以上であるような最
大の行インデックスである。例えば、図３２では、項ＣのＬＲは、たとえその射影が８に
等しいとしても、１１に等しい。これは、列インデックス１１は、列射影２がＣのゼロベ
ースのインデックスよりも大きい最大インデックスであるからである。ゼロベースのイン
デックス＝２を作るＣに対するＲ’は３である。このため、１１番目の列射影≧Ｃのゼロ
ベースのインデックス、２≧２、となる。概念的には、そのようなＬＳ及びＬＲの値は、
不確実性の「エッジ」−最大区域及び各行および列に対するスイッチの外側のエッジ−を
決定するために見ることができる。
【０１４６】
なおも図３３を参照する。ブロック３３０１及びブロック３３０５において、部分和が
比較される。言い換えると、ΣＲ，ΣＳ，ΣＬ（Ｒ），及びΣＬ（Ｓ）がそれぞれ、行お
よび列の最初のインデックスから最後のインデックスまで計算される。ΣＳ＜ΣＬ（Ｓ）
及びΣＲ＜ΣＬ（Ｒ）の場合はいつでも、行および列射影の「交差」がある。そのような
交差は行列の変数領域によって生じ、４スイッチの位置を示す。例えば、図３２において
、入力項Ｃに対する部分和は互いに等しくない。ΣＲ＝３４であり、一方ΣＬ（Ｒ）＝３
５である。言い換えると、射影の連続和（running sum）は、外側エッジの連続和よりも
小さい。これらの値が同じになる場合、射影は最大になる。不確実性の外側エッジが射影
よりも大きい場合は、全てのビットは「パック」されない。行Ｃにスイッチがある。これ
らの部分和が再度互いに等しくなる場合、スイッチは終了するが、スイッチはこの点を含
む。このため、行Ｄ及び行Ｅもスイッチの一部である。
【０１４７】
さらに図３３を参照する。ブロック３３０６及びブロック３３０７において、動作は間
隔を置いて実行される。４スイッチを含む座標間隔が、行および列の互いとの交差を関連
付けすることによって発見される。例えば、図３２は、行［Ｃ，Ｅ］が１つの間隔を形成
し、一方［Ｇ，Ｈ］が別の間隔を形成することを示している。同様に、［Ｌ，Ｏ］及び［
Ｒ，Ｔ］が列間隔を形成する。基本的な形状を使用して、４スイッチのコーナ座標（ブロ
ック３３０９）の中にこれらの間隔を関連付けする（ブロック３３０８）ことができる。
そのようなスイッチが行列の対角線上に存在するという制約を考えると、［Ｃ，Ｅ］行間
隔は［Ｒ，Ｔ］列間隔と交差し、一方［Ｇ，Ｈ］間隔は［Ｌ，Ｏ］間隔と交差する。各ス
イッチのコーナを決定する（ブロック３３１０）と、ＣＲは１つのスイッチの左上のコー
ナにあるのに対して、ＥＴは右下のコーナにある。一旦これらの位置が決定される（ブロ
ック３３１１）と、高く圧縮された｛Ｒ，Ｓ｝射影及び残余のスイッチの中に最大値を分
離することができる。
【０１４８】
スイッチを発見することは書込み動作の一部に過ぎないことは理解されよう。完全なシ
ステムは射影の各べき級数の最大部分を発見し記憶するだけではなく、残余のスイッチも
記憶できる。多くの従来の技術を使用して、スイッチを最大射影から別個のものとして表
示できるが、２進数の行列として明確に記憶することは、本発明のいくつかの実施形態の
中で使用できる１つの概念的に率直な技術である。
【０１４９】
図３４は動作３４００のフローチャートであり、最大射影と図３４では「小さい」行列
と呼ぶスイッチ行列との両方を発見するために使用できる。小さいビットパターンはビッ
トアレイであり、そのまま極めて効率的に記憶することができる。行又は列の数がコンピ
ュータの符号化のワード長よりも小さい場合（ブロック３４０１）、この行列は小さい行
列として記憶される（ブロック３４０２）。例えば、３２ビットの整数を使用する場合、
３２ビットの射影が整数内に３２ビットとして記憶され、行列が最大であろうとなかろう
と、書込み及び読取りのためにマシンレベルの動作により処理される。このため、１６ｘ
１６の行列は各行を１６ビットで表示できるのに対して、射影重みの整数表示は３２ビッ
トと仮定できる。
【０１５０】
圧縮はより大きな行列に対して使用できる。この場合、図３３で説明したようなスイッ
チを発見する動作（ブロック３４０３）は、任意のスイッチすなわち「ホール」を返す。
ホールがない場合（ブロック３４０４）、行列はブロック３４０５において最大行列とし
て戻され、その射影として直線的に記憶されることができる。ホールがある場合は、他の
いくつかの検討が行われる。さらなる圧縮が許可されない場合（ブロック３４０６）、動
作はその射影として最大行列を、小さい行列として４スイッチ区域を返す（ブロック３４
０７）。
【０１５１】
他方では、分割することができる比較的大きな４スイッチを持つこともでき、結果とし
て２つの最大行列が生ずる。分割動作（ブロック３４０８）の正確な技術は任意であるが
、始めの非最大の行列を２つに分割することは、少なくとも最大で潜在的に最も面倒なス
イッチを破壊することになる。２つの分割された行列はブロック３４０１に戻されて、そ
れらが小さい行列か、最大行列であるか、又はさらなる分割が必要かどうかが決定される
。
【０１５２】
本発明のいくつかの実施形態に基づいて、新しいトレース入力を現在の行列の中に埋め
込む動作（書込みすなわち記憶）が、図３５で説明される。これらの実施形態では、カプ
セル化におけるオブジェクト指向の特性が使用される。これは全ての関連付けのビットご
との操作を避けることができ、いくつかの実施形態では、現在の表示を最も効率的で標準
的な表示にすることができる。このため、次の説明はマシン間隔の詳細な実現を指定しな
い。むしろ、その説明は多くの方法で実現できるいくつかの目的物の動作を指定する。
【０１５３】
図３５では、すべての行列はIsummableのタイプである（ブロック３５００）。このISu
mmableインターフェースでは、行列表示は３５０１において、その行および列の大きさ並
びにその行および列の射影を報告できる。最大行列及び小さい行列は、他の読取り及び書
込み機構の全てをこの差から切り離すことができるように、このインターフェースを実現
できる。
【０１５４】
さらに、ISummableは再帰的なものとすることができる。いずれか１つのISummableは、
リスト又はネストの中に他のISummableを幾つでも含むことができる。このため、ISummab
leを含むことにより、含まれたISummableの結果として生じた大きさ及び射影を照合する
ことができる。例えば、どの２つの最大射影も合算して、１つのISummableとして扱うこ
とができる。ISummable「ボックス」３５００の外側からは、目的物が３５０１において
その大きさ（getNumRows及びgetNumCols）及び射影（getRowSums及びgetColSums）を報告
できる限り、それが１つの射影、多くの射影、又は小さい２進行列として実現されたもの
から構成されるかどうかは重要ではない。このため、行列の組合せを、それらの集合的な
大きさ及び射影により任意に構成及び処理することができる。
【０１５５】
図３５に示すように、図２８のライタ２８８０の一部とすることができる行列圧縮機３
５０３は、その内部構造を知らなくても、ISummable３５００内の疑問符（？）で示すよ
うに、どのISummable３５００も呼び出すことができる。その仮想的であるが完全な構造
のみを見れば、圧縮機３５０３は、最初の構成から最大行列３５０５及び新しい最適な構
成を作り出すことができる。
【０１５６】
図３６は、第１のトレースからメモリを作るための第１の観察の実施例である。このト
レースは、図３６の中でトレース行列と呼ばれる１つの最大行列の中で説明される。いく
つかの実施形態では、射影がトレース行列を反映できるため、完全な行列は使用されない
。さらに、行射影及び列射影も単独で完全な行列を表示できることを思い出してほしい。
このため、本発明のいくつかの実施形態では、行射影（図３６ではTrace Rと呼ばれる）
のみしか表示する必要がない。第１の観察は、トレースの射影が、図３６では２0Memory 
Matrixと呼ばれる、べき級数の第１のレベルにおいて第１のメモリになる場合である。
【０１５７】
第２の観察は別の新しいトレースの行列であり、これはこの実施例では、完全に満たさ
れた最大の三角行列である。図３７はそのような完全行列は示していないが、新しいトレ
ースを所定のメモリに加えるためのISummableとして、どのように射影を処理できるかを
示している。
【０１５８】
第１に、図３５の行列圧縮部３５０３は、どの素子がメモリと新しいトレースとの間で
冗長的であるかを発見する。これらのビット素子は、他の面のべき級数表示に対する桁上
げになる。前述した読取り方法を考えると、射影を用いてどの素子も決定することができ
る。メモリとトレースの両方でONのどの素子も図３７の桁上げ位置に置かれて、メモリと
トレースの射影が低下される。図３７の場合、トレース全体が桁上げになり、結果として
射影が低下されたメモリが生ずる。
【０１５９】
第２は、図３７に示すように、当初の重みが変更されたので、それらはソートされた順
序ではない、このため、これらは再度ソートされる。
【０１６０】
第３は、行射影、列射影、及び完全行列は等価であり互いから導き出せるため、圧縮機
はcreateMatrix及びそのfindHoles方法（図３４）を実行するために、行射影から列射影
を生成する。カーン及び部分和が計算される（図３３）が、この場合、トレースをこのメ
モリ内に加えることにより、なおも最大であるメモリが結果として生ずるため、ホールは
存在しない。このため、更新され再ソートされた行射影は、べき級数内の第１のメモリを
正確に表示し続ける。図３７に示すように、このメモリはその行射影として記憶されるが
、冗長な列射影は廃棄される。
【０１６１】
図３７では、入力項の順序はその最初の順序から変更されていることに注意されたい。
特に、Ｂ及びＣは交換されている。そのような細部は図３７から除かれているが、本発明
の実施形態は外部の項を内部座標の中にマッピングするためにそのような変更を説明でき
る。説明できない場合は、本発明の実施形態は、項のリストを通して検索するたびに、各
項の射影を発見する必要がある。その代わり、本発明の実施形態は、各項に対してオフセ
ットのマップを保持することができる（ブロック３５０６）。これらのオフセットは、外
部の項からソートされた射影順序の中の内部位置へのマップとしての働きができる。
【０１６２】
最後に、桁上げはべき級数内の次のメモリに加えられるが、まだないため、最初のトレ
ースが図３６で第１のメモリになったように、この桁上げはべき級数内の次のメモリにな
る。
【０１６３】
図３８は、さらに別の実施形態を提供する。この場合この実施形態は、中に１つの小さ
いホールのオフセットとを含む最大射影から成る新しいISummable構成を作り出す。この
場合、最大射影として記憶された、ＣとＥとの間の１つの新しい関連付けが、第１のべき
級数に加算される。しかしながら、関連付けが桁上げされるため、それは加算されるので
はなく除去されることに注意されたい。この記憶された射影に対する加算（実際は除去）
の結果、新しい複合のISummableが作られる。この複合のISummableは既にソートされた順
序であるため、再ソートする必要はない。上述したfindSwitches動作（図３３）は、この
第１のべき級数の射影のＣＥの関連付けが実行された後、１つの小さい新しいホールを計
算する。射影のみからの判断では、ＣがＥ又はＤと結び付いているかどうか（またそれに
より、Ｂがこの時Ｅ又はＤと結び付いているかどうか）は不明である。しかしながら、IS
ummableの複合体を系統立てて調査することによって、真の状態を決定し、スイッチの明
確な行列の中に記憶することができる。スイッチの射影を最大射影から除くことによって
、射影の最大性が維持される。さらに、この実施例では、射影はスイッチを取り除いた後
でもソートの順序で続くため、再ソートを行う必要はない。
【０１６４】
要約すると、ISummableの事例の中の２つの行列の直接的な構成に対して、行列圧縮機
３５０３は、関連付けされた射影を分析することによって最適な新しいISummable３５０
７を構築できる。本発明のいくつかの実施形態の中で説明したような桁上げ行列を、同じ
方法で取り扱うことができる。桁上げ結果は、例えば、上記の線形の方法によって１つの
ビットレベルから読み取ることができ、第１のレベルの最初のトレースの行列と同様に、
次のビットレベルの構成の中で使用できる
【０１６５】
効率良くするために、各行列のインデックスは局所的で、より大きな行列のオフセット
に関連する。これらのオフセット３５０８，３５０９を使用して、アプリケーションの属
性値のインデックスと前述した全ての実施形態の中で使用できる局所的なインデックスと
の間を中継することができる。そのようなオフセットは、他の点では最大行列内のスイッ
チ（「ホール」）の位置を示すこともできる。
【０１６６】
他の技術はある程度の圧縮を行うことができるかもしれないが、他の技術は本発明の実
施形態の少なくとも１つを複製せずに、本発明の実施形態のレベルの圧縮を行うことはで
きない。特に、情報理論によれば、数の２進符号化はその最も効率的な符号化として知ら
れている。本発明のいくつかの実施形態に基づいて、重みをべき級数のビット行列の中に
分離することにより、この理想的な符号化を保存できる。任意の数の２進符号化と同様に
、この分離のスケーリング効果は、全体的に任意の対を成す関連付けの最大数（任意の非
２進行列内の最大数）に対して対数となることである。そのような対数のスケーリングは
、他の任意の１つの分離又は畳込みに取って代わられることはない。
【０１６７】
さらに、通常の行列の重み計数が２進の行列（重み無しの図表）に分割されると、４ス
イッチが解決すべき１つの唯一の問題であることが示されている。具体的に言うと、４ス
イッチの問題が｛Ｒ，Ｓ｝射影から行列を再構成する上での唯一の問題であることは周知
である。本発明の実施形態は、そのようなスイッチを識別、分離、及び分割することによ
ってその問題に取り組むことができる。このため、べき級数の分離は、分解に対する最良
の可能な主要な技術であり、この方式に従えば、本願で説明したようなスイッチについて
の固有の問題に対する１つの唯一の解決法がある。
【０１６８】
図面及び明細書の中で、本発明の実施形態を開示してきた。特定の用語が使用されるが
、それらの用語は一般的で説明のためのみに使用されたものであり、限定する目的で使用
したのではない。本発明の範囲は、以下の特許請求の範囲において述べる。
【図１】
2010015579.tif 000003
【図２】
2010015579.tif 000004
【図３】
2010015579.tif 000005
【図４】
2010015579.tif 000006
【図５】
2010015579.tif 000007
【図６】
2010015579.tif 000008
【図７】
2010015579.tif 000009
【図８】
2010015579.tif 000010
【図９】
2010015579.tif 000011
【図１０】
2010015579.tif 000012
【図１１】
2010015579.tif 000013
【図１２】
2010015579.tif 000014
【図１３】
2010015579.tif 000015
【図１４】
2010015579.tif 000016
【図１５】
2010015579.tif 000017
【図１６】
2010015579.tif 000018
【図１７Ａ】
2010015579.tif 000019
【図１７Ｂ】
2010015579.tif 000020
【図１７Ｃ】
2010015579.tif 000021
【図１８】
2010015579.tif 000022
【図１９】
2010015579.tif 000023
【図２０】
2010015579.tif 000024
【図２１】
2010015579.tif 000025
【図２２】
2010015579.tif 000026
【図２３】
2010015579.tif 000027
【図２４】
2010015579.tif 000028
【図２５】
2010015579.tif 000029
【図２６】
2010015579.tif 000030
【図２７】
2010015579.tif 000031
【図２８】
2010015579.tif 000032
【図２９】
2010015579.tif 000033
【図３０】
2010015579.tif 000034
【図３１】
2010015579.tif 000035
【図３２】
2010015579.tif 000036
【図３３】
2010015579.tif 000037
【図３４】
2010015579.tif 000038
【図３５】
2010015579.tif 000039
【図３６】
2010015579.tif 000040
【図３７】
2010015579.tif 000041
【図３８】
2010015579.tif 000042
【手続補正書】
【提出日】平成21年9月7日(2009.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれが入力信号を受け付ける複数の入力部と、前記複数の入力部のそれぞれの１つとそれぞれが関連付けされている複数のデンドライトを模擬するための記憶要素を複数含むデンドライト状態記憶部とを含むニューロンを模擬する連想記憶装置を動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対応する記憶要素に、前記入力信号の値によって連想記憶を行うための重みのべき級数の累乗の係数の値を格納するステップと、ここで、前記べき級数の少なくとも１つの累乗における前記係数の少なくともいくつかは、前記入力部それぞれに対応するデンドライトの連想カウントを有し前記係数を要素とする行列の最大射影を規定するものであり、
デンドライトの間に伝搬される信号を波動として模擬するために用いられる波動記憶部の記憶要素に、前記重みを調整するための値を格納するステップと、
前記重みを調整するための値から前記行列の最大射影の活性化されたサブセットを決定するステップと、
活性化されたサブセットの各列に対して、その列のインデックス以上の最小の行射影を選択するステップと、
前記列のインデックス以上の前記最小の行射影を累積して前記入力信号の関連付けを取得するステップと
を含む方法。
【請求項２】
前記格納するステップが、前記べき級数の少なくとも１つの累乗の係数の値を、前記デンドライト状態記憶部の記憶要素のうち、前記行列の少なくとも１つのスイッチとなる行列要素の範囲に対応する記憶要素に格納するステップをさらに含み、ここで、前記スイッチは、前記行列の行列要素において前の計数および後の計数に対応する該行列の射影を変えずに移動させることができる行列要素の範囲として規定されることを特徴とする請求項１に記載の方法。
【請求項３】
前記重みのべき級数が基数２の重みのべき級数であり、前記格納するステップが、前記係数のうち、前記べき級数の少なくとも１つの累乗の重みに対応する係数を生成して、最大行射影及び／又は最大列射影を規定する範囲の行列要素に対応するデンドライト状態記憶部の記憶要素に格納するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記格納するステップが、前記行射影及び／又は前記列射影の合計によりソートすることによって、前記最大行射影及び／又は前記最大列射影をそれぞれ生成して記憶するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記最大行射影及び／又は前記最大列射影の位置に前記入力信号の活性化をマッピングし、前記重みを変化させるトレースを模擬するステップをさらに含み、前記波動記憶部の記憶要素が、前記トレース記憶部の値によって前の計数および後の計数を更新するために用いられることを特徴とする請求項３に記載の方法。
【請求項６】
前記最大行射影及び／又は前記最大列射影を規定するために、ルータによって前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピングして記憶するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項７】
前記最大行射影及び／又は前記最大列射影を規定するために、ルータによって前記べき級数の少なくとも１つの累乗における前記少なくともいくつかの重みをマッピングして記憶するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記マッピングするステップに応答して前記最大行射影及び／又は前記最大列射影の中で活性化されたサブセットを決定するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影をリーダによって選択するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して前記リーダによって蓄積するステップをさらに含み、これにより、前記入力信号の前記重みに対する関連付けを得ることを特徴とする請求項８に記載の方法。
【請求項１０】
ライタによって、前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項１１】
前記埋め込むステップが、
前記ライタによって、前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記格納するステップが、
前記それぞれのデンドライトに対してそれぞれの重みのべき級数を生成して前記デンドライト状態記憶部の記憶要素に格納するステップを含み、前記べき級数のそれぞれの累乗における前記それぞれの重みが前記最大射影を規定することを特徴とする請求項１に記載の方法。
【請求項１３】
それぞれが入力信号を受け付ける複数の入力部と、前記複数の入力部のそれぞれの１つとそれぞれが関連付けされている複数のデンドライトを模擬するための記憶要素を複数含むデンドライト状態記憶部とを含むニューロンを模擬する連想記憶装置を動作させる方法であって、前記方法が、
前記デンドライトの少なくともいくつかに対応する前記デンドライト状態記憶部の記憶要素に、前記入力信号の値によって連想記憶を行うための重みを示す値を格納するステップと、ここで、前記重みの少なくともいくつかは、前記入力部それぞれに対応するデンドライトの連想カウントを有し前記重みを要素とする行列の最大射影を規定するものであり、
デンドライトの間に伝搬される信号を波動として模擬するために用いられる波動記憶部の記憶要素に、前記重みを調整するための値を格納するステップと、
前記重みを調整するための値から前記行列の最大射影の活性化されたサブセットを決定するステップと、
活性化されたサブセットの各列に対して、その列のインデックス以上の最小の行射影を選択するステップと、
前記列のインデックス以上の前記最小の行射影を累積して前記入力信号の関連付けを取得するステップと
を含む、方法。
【請求項１４】
前記格納するステップが、前記重みの少なくともいくつかを、前記デンドライト状態記憶部の記憶要素のうち、前記行列の少なくとも１つのスイッチとなる行列要素の範囲に対応する記憶要素に格納するステップをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記格納するステップが、前記デンドライト状態記憶部の記憶要素の最大射影から、前記少なくともいくつかのデンドライトに対して最大行射影及び／又は最大列射影を生成して記憶するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記格納するステップが、それぞれ前記行射影及び／又は前記列射影の合計によりソートすることによって前記最大行射影及び／又は前記最大列射影を生成して記憶するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記最大行射影及び／又は前記最大列射影の位置に前記入力信号の活性化をマッピングするためのデータを記憶するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記最大行射影及び／又は前記最大列射影を規定するために、前記少なくともいくつかの射影をマッピングするためのデータを記憶するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記最大行射影及び／又は前記最大列射影を規定するために、前記少なくともいくつかの射影をマッピングするためのデータを記憶するステップをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記マッピングするステップに応答して、前記最大行射影及び／又は前記最大列射影における活性化されたサブセットを決定して記憶するステップと、
前記活性化されたサブセットの各列に対して、前記列のインデックス以上の最小の行射影を選択するステップと
をさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２１】
前記関連付けされた列のインデックス以上の前記最小の行射影を前記活性化されたサブセットの列に対して蓄積するステップをさらに含み、これにより、前記入力信号の前記重みに対する関連付けを得ることを特徴とする請求項２０に記載の方法。
【請求項２２】
ライタによって、前記最大射影及び前記スイッチの中に前記マッピングされた活性化を埋め込むステップをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２３】
前記埋め込むステップが、
前記ライタによって、前記マッピングされた活性化と前記最大射影との間に冗長な射影を発見するステップを含むことを特徴とする、請求項２２に記載の方法。
【請求項２４】
前記格納するステップが、
前記複数のデンドライトに対して前記最大射影を生成して記憶するステップを含むことを特徴とする、請求項１３に記載の方法。
【請求項２５】
コンピュータに、請求項１から２４のいずれか１項に記載のステップを実行させるためのプログラム。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2010015579.tif 000043
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2010015579.tif 000044
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2010015579.tif 000045
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2010015579.tif 000046
【外国語明細書】
2010015579.tif 000047
2010015579.tif 000048
2010015579.tif 000049
2010015579.tif 000050
2010015579.tif 000051
2010015579.tif 000052
2010015579.tif 000053
2010015579.tif 000054
2010015579.tif 000055
2010015579.tif 000056
2010015579.tif 000057
2010015579.tif 000058
2010015579.tif 000059
2010015579.tif 000060
2010015579.tif 000061
2010015579.tif 000062
2010015579.tif 000063
2010015579.tif 000064
2010015579.tif 000065
2010015579.tif 000066
2010015579.tif 000067
2010015579.tif 000068
2010015579.tif 000069
2010015579.tif 000070
2010015579.tif 000071
2010015579.tif 000072
2010015579.tif 000073
2010015579.tif 000074
2010015579.tif 000075
2010015579.tif 000076
2010015579.tif 000077
2010015579.tif 000078
2010015579.tif 000079
2010015579.tif 000080
2010015579.tif 000081
2010015579.tif 000082
2010015579.tif 000083
2010015579.tif 000084
2010015579.tif 000085
2010015579.tif 000086
2010015579.tif 000087
2010015579.tif 000088
2010015579.tif 000089
2010015579.tif 000090
2010015579.tif 000091
2010015579.tif 000092
2010015579.tif 000093
2010015579.tif 000094
2010015579.tif 000095
2010015579.tif 000096
2010015579.tif 000097
2010015579.tif 000098
2010015579.tif 000099
2010015579.tif 000100
2010015579.tif 000101
2010015579.tif 000102
2010015579.tif 000103
2010015579.tif 000104
2010015579.tif 000105
2010015579.tif 000106
2010015579.tif 000107
2010015579.tif 000108
2010015579.tif 000109
2010015579.tif 000110
2010015579.tif 000111
2010015579.tif 000112
2010015579.tif 000113
2010015579.tif 000114
2010015579.tif 000115
2010015579.tif 000116
2010015579.tif 000117
2010015579.tif 000118
2010015579.tif 000119
2010015579.tif 000120
2010015579.tif 000121
2010015579.tif 000122
2010015579.tif 000123
2010015579.tif 000124
2010015579.tif 000125
2010015579.tif 000126
2010015579.tif 000127
2010015579.tif 000128
2010015579.tif 000129
2010015579.tif 000130
2010015579.tif 000131
2010015579.tif 000132
2010015579.tif 000133
2010015579.tif 000134
2010015579.tif 000135
2010015579.tif 000136
2010015579.tif 000137
2010015579.tif 000138