(57)【要約】      （修正有）【課題】所定のまたは所望の出力目標に基づく事前トレーニングや、別のオブジェクトを認識するための再トレーニングを必要としないニューラルネットワークを提供する。【解決手段】複数のニューロンを含むニューラルネットワークであって、その複数のニューロンのうちの任意の１つのニューロン４１と、自身またはその複数のニューロンのうちの別のニューロン４３とが、その複数のニューロンのうちのさらに別のニューロン４２との活性結合を介して関連付けられることが可能であるニューラルネットワーク。【選択図】図４
2010092491.tif 000002
【特許請求の範囲】
【請求項１】
人工ニューラルネットワークであって、
（ａ）複数のニューロンを含み、
（ｂ）複数のニューロンそれぞれが、メモリを有するプロセッサであると共に配列をなし、
（ｃ）複数のニューロンが、複数の要素ニューロンと複数の構造ニューロンとを含み、
（ｄ）全ての要素ニューロン及び構造ニューロンが、他の要素及び構造ニューロンと活性結合を介して関連付けられるように構成され、
（ｅ）要素ニューロンそれぞれが、
（ｉ）人工ニューラルネットワークへの一意な入力値を表し、一意な値が、刺激と、イベントと、パターン内のシーケンスと、イベントのシーケンスと、要素刺激と、定義済み要素パターンと、定義済み要素データ要素と、基本入力刺激と、処理中の情報の出力刺激とからなる群から選択される少なくとも一つであり、
（ｉｉ）構造ニューロンによって活性化されたときの出力として一意な値を表すように構成され、
（ｆ）構造ニューロンそれぞれが、
（ｉ）それが関連付けニューロンとして有する、複数のニューロンのうちのニューロンのペアから入力を受け取り、
（ｉｉ）表現のためのニューロンのペアを活性化するために、ニューロンのペアへの出力として、入力を表現するように構成される人工ニューラルネットワーク。
【請求項２】
複数のニューロンのうちのいずれか一つのニューロンが、複数のニューロンのうちのニューロンと、複数のニューロンのうちの更に別にニューロンとの活性結合を介して関連付けられることができ、更に別のニューロンが、複数の構造ニューロンのうちの一つである、請求項１に記載の人工ニューラルネットワーク。
【請求項３】
それぞれの構造ニューロンが、それが関連付けているニューロンのペアによるパターンの結合された情報を表現し、構造ニューロンがニューロンのペアから入力を受け取る請求項１に記載の人工ニューラルネットワーク。
【請求項４】
複数の要素ニューロンが、ニューラルネットワークのルートレベルにある請求項１に記載の人工ニューラルネットワーク。
【請求項５】
ニューロンのペアが、要素ニューロン及び要素ニューロンと、要素ニューロン及び構造ニューロンと、構造ニューロン及び要素ニューロンと、構造ニューロン及び構造ニューロンとからなる群から選択される少なくとも一つを含む請求項１に記載の人工ニューラルネットワーク。
【請求項６】
複数のニューロンのそれぞれが、起動ニューロンと、被関連付けニューロンと、関連付けニューロンとからなる群から選択される一つまたは複数であり、起動ニューロンが、関連付けニューロンへの結合を介して被関連付けニューロンと関連付けられる請求項１に記載の人工ニューラルネットワーク。
【請求項７】
起動ニューロンと、被関連付けニューロンと、関連付けニューロンとが、処理される入力の時間と空間と強度と規模と相対位置とのうちの少なくとも一つである近接特性に基づいて結合される請求項６に記載の人工ニューラルネットワーク。
【請求項８】
複数のニューロンのペアを形成するために、それぞれの起動ニューロンが複数の被関連付けニューロンと関連付けられることができる請求項６に記載の人工ニューラルネットワーク。
【請求項９】
複数のニューロンのペアを形成するために、それぞれの被関連付けニューロンが複数の起動ニューロンと関連付けられることができる請求項６に記載の人工ニューラルネットワーク。
【請求項１０】
起動ニューロンが入力を受け取り、被関連付けニューロンが入力を受け取り、入力が全ての、起動ニューロン及び被関連付けニューロンの関連付けニューロンに送信され、起動ニューロン及び被関連付けニューロンの両方の関連付けニューロンがそのとき活性化されて出力を生成することができる請求項６に記載の人工ニューラルネットワーク。
【請求項１１】
被関連付けニューロンが活性化され、起動ニューロンと同時と起動ニューロンの後とからなる群から選択される方法で出力を生成することができる請求項１０に記載の人工ニューラルネットワーク。
【請求項１２】
起動ニューロン及び被関連付けニューロンの活性化又は出力の生成も近接特性に基づく請求項１０に記載の人工ニューラルネットワーク。
【請求項１３】
起動ニューロン及び被関連付けの近接活性化又は起動ニューロン及び被関連付けの出力の生成によって、起動ニューロンと新たな関連付けニューロンとの間及び被関連付けニューロンと新たな関連付けニューロンとの間の新たな結合と共に存在するものがなければ新たな関連付けニューロンを生成することと、起動ニューロンと関連付けニューロンとの間及び被関連付けニューロンと関連付けニューロンとの間に存在する結合を強化することと、関連付けニューロンを強化することとからなる群から選択される少なくとも一つが行われる請求項１２に記載の人工ニューラルネットワーク。
【請求項１４】
強化が、関連付けニューロンがどの程度、起動ニューロンと被関連付けニューロンとから入力を受け取るかの頻度数を保持することによる請求項１３に記載の人工ニューラルネットワーク。
【請求項１５】
関連付けニューロンが、起動ニューロンと被関連付けニューロンとによって表されるものの和を表す請求項６に記載の人工ニューラルネットワーク。
【請求項１６】
一度、関連付けニューロンが結果を表すと、結果は別のニューロンで生成される必要がない請求項６に記載の人工ニューラルネットワーク。
【請求項１７】
複数の要素ニューロンが人工ニューラルネットワークへの全ての入力を受け取り、人工ニューラルネットワークからの全ての出力を提供する請求項１に記載の人工ニューラルネットワーク。
【請求項１８】
全てのニューロンが値、情報及びパターンのうちの少なくとも一つを表し、
処理がニューロンの関連付け、構造ニューロンが関連付けたニューロンのペアの表現、及び要素ニューロンによって表される値、情報又はパターンの表現のうちの少なくとも一つである、請求項１に記載の人工ニューラルネットワーク。
【請求項１９】
表現時に、ニューラルネットワークが表す要素ニューロンを表現するためにより多くのステップが必要である場合に、ニューラルネットワークのレベルがニューラルネットワーク構造内のより深いレベルになる請求項１に記載の人工ニューラルネットワーク。
【請求項２０】
ニューロンのペアの関連付けを行うことが学習であり、ニューロンのペアの表現を行うことが表現である請求項１に記載の人工ニューラルネットワーク。
【請求項２１】
学習を行うフォワードモードと表現を行うリバースモードとを有する双方向性である請求項１９に記載の人工ニューラルネットワーク。
【請求項２２】
入力データではなく関連付けを保存して、関連付けのパターンの中でパターンを表現する請求項１に記載の人工ニューラルネットワーク。
【請求項２３】
それぞれの要素ニューロンが、感覚ニューロンと運動ニューロンとからなる群から選択される請求項１に記載の人工ニューラルネットワーク。
【請求項２４】
それぞれの構造ニューロンが、複数の要素ニューロンを表す請求項１に記載の人工ニューラルネットワーク。
【請求項２５】
複数のニューロンそれぞれが、表現されることができる請求項１に記載の人工ニューラルネットワーク。
【請求項２６】
記憶のために必要な要素ニューロン及び構造ニューロンの数が、処理される入力の性質によって決まる請求項１に記載の人工ニューラルネットワーク。
【請求項２７】
記憶が、受け取られた入力の頻度を保存することである請求項１に記載の人工ニューラルネットワーク。
【請求項２８】
それぞれのニューロンが、配列をなすノードであり、それぞれのノードが、複数のポインタを有する請求項６に記載の人工ニューラルネットワーク。
【請求項２９】
複数のポインタが、表現するための２つのポインタと、関連付けを表す更なるポインタを含む請求項２８に記載の人工ニューラルネットワーク。
【請求項３０】
それぞれのノード内のそれぞれのポインタが、別のニューロンのアドレスと、要素ニューロンの要素値と、頻度数とからなる群から選択される少なくとも一つを含む請求項２８に記載の人工ニューラルネットワーク。
【請求項３１】
ポインタの数が、人工ニューラルネットワークによって実行される機能に依存し、それぞれのニューロンについてのポインタの数が少なくとも２である請求項２８に記載の人工ニューラルネットワーク。
【請求項３２】
ニューロンへのそれぞれのポインタの機能が、起動と、関連付けと、後続と、起動ニューロンの次の後続と、先行と、関連付けニューロンの次の先行とからなる群から選択される請求項２８に記載の人工ニューラルネットワーク。
【請求項３３】
要素ニューロンのための少なくとも一つのポインタが、要素値を表す請求項２８に記載の人工ニューラルネットワーク。
【請求項３４】
全てのニューロンが、配列をなす、固定長のアドレス可能なノードである請求項２８に記載の人工ニューラルネットワーク。
【請求項３５】
株価動向の監視および予測、インターネットの監視、インターネットセキュリティ、コンピュータウィルスの検出、コンピュータスパムの検出、音声およびテキスト内の句の認識、音声およびテキスト内の節の認識、盗用の検出、バイオインフォマティクス（生物情報学）、視覚認識、セマンティクス解析、データオントロジの表現、ロボット工学、およびデータ圧縮からなる群から選択される少なくとも一つに用いられる請求項１に記載の人工ニューラルネットワーク。
【請求項３６】
人工ニューラルネットワークであって、
（ａ）複数のニューロンを含み、
（ｂ）複数のニューロンそれぞれが、メモリを有するプロセッサであると共に配列をなし
（ｃ）複数のニューロンが、複数の要素ニューロンと複数の構造ニューロンとを含み、
（ｄ）全ての要素ニューロン及び構造ニューロンが、他の要素及び構造ニューロンと活性結合を介して関連付けられるように構成され、
（ｅ）要素ニューロンそれぞれが
（ｉ）人工ニューラルネットワークシステムへ入力されることができる一意な値を表し、一意な値が、刺激と、イベントと、パターン内のシーケンスと、イベントのシーケンスとからなる群から選択される少なくとも一つであり、
（ｉｉ）出力として一意の値を表現するように構成され、
（ｆ）それぞれの構造ニューロンが、それが関連付けている、複数のニューロンのうちのニューロンのペアから入力を受け取り、ニューロンのペアが、両方の要素ニューロンと、両方の構造ニューロンと、１つの構造ニューロン及び１つの要素ニューロンと、１つの要素ニューロンと１つの構造ニューロンとからなる群から選択されるように構成される人工ニューラルネットワーク。
【請求項３７】
複数の要素ニューロンが、ニューラルネットワークのルートレベルにあり、それぞれの要素ニューロンが、一意な値を表し、一意な値が、刺激と、イベントと、パターン内のシーケンスと、イベントのシーケンスと、要素刺激と、定義済み要素パターンと、定義済み要素データ要素と、基本入力刺激と、処理中の情報の出力刺激とからなる群から選択される少なくとも一つである請求項３６に記載の人工ニューラルネットワーク。
【請求項３８】
それぞれの要素ニューロンが、感覚ニューロンと運動ニューロンとからなる群から選択される請求項３６に記載の人工ニューラルネットワーク。
【請求項３９】
全てのニューロンが、値、情報及びパターンの少なくとも一つを表し、処理が、ニューロンの関連付け、構造ニューロンによって関連付けられたニューロンのペアの表現、及び要素ニューロンによって表される値、情報又はパターンの表現の少なくとも一つである請求項３６に記載の人工ニューラルネットワーク。
【請求項４０】
ニューロンの関連付けが、複数のより深いより深いレベルで表され、複数のより深いレベルでのレベルの数が、処理又は表現されるパターンの範囲によって決まり、構造ニューロンが、複数の要素ニューロンを表す請求項３６に記載の人工ニューラルネットワーク。
【請求項４１】
記憶を表すために必要な要素ニューロン及び構造ニューロンの数が、処理される入力の性質によって決まる請求項４０に記載の人工ニューラルネットワーク。
【請求項４２】
複数のニューロンのうちのいずれか一つが、複数のニューロンのうちのニューロンと、複数のニューロンのうちのさらに別のニューロンとの活性結合を介して関連付けられることができ、さらに別のニューロンが、複数の構造ニューロンのうちの一つである請求項３６に記載の人工ニューラルネットワーク。
【請求項４３】
学習であるフォワードモード、及び表現であるリバースモードを有する双方向性である請求項３６に記載の人工ニューラルネットワーク。
【請求項４４】
入力データではなく関連付けを保存し、関連付けのパターンの中でパターンを表現する請求項３６に記載の人工ニューラルネットワーク。
【請求項４５】
複数のニューロンそれぞれが、表現されることができる請求項３６に記載の人工ニューラルネットワーク。
【請求項４６】
人工ニューラルネットワークであって、
（ａ）複数のニューロンを含み、
（ｂ）複数のニューロンそれぞれが、メモリを有するプロセッサであると共に配列をなし、
（ｃ）複数のニューロンが、複数の要素ニューロンと複数の構造ニューロンとを含み、
（ｄ）全ての要素ニューロン及び構造ニューロンが、他の要素及び構造ニューロンと活性結合を介して関連付けられるように構成され、
（ｅ）要素ニューロンそれぞれが、
（ｉ）人工ニューラルネットワークシステムへの入力としえる一意な値を表し、一意な値が、刺激と、イベントと、パターン内のシーケンスと、イベントのシーケンスと、要素刺激と、定義済み要素パターンと、定義済み要素データ要素と、基本入力刺激と、処理中の情報の出力刺激とからなる群から選択される少なくとも一つであり、
（ｉｉ）出力として一意な値を表すように構成され、
（ｆ）複数の構造ニューロン全てが、当該複数の構造ニューロンが導出され、又は表される要素ニューロンにおいて、表現されえるように構成される人工ニューラルネットワーク。
【請求項４７】
学習であるフォワードモード、及び表現であるリバースモードを有する双方向性である請求項４６に記載の人工ニューラルネットワーク。
【請求項４８】
入力データではなく関連付けを保存し、関連付けのパターンの中でパターンを認識する請求項４６に記載の人工ニューラルネットワーク。
【請求項４９】
それぞれの要素値を表現しえる全ての要素ニューロンとそれらが関連付けるニューロンのペアを表現しえる全ての構造ニューロンとを有する双方向性である請求項４６に記載の人工ニューラルネットワーク。
【請求項５０】
人工ニューラルネットワークであって、
（ａ）複数のニューロンを含み、
（ｂ）複数のニューロンそれぞれが、メモリを有するプロセッサであると共に配列におけるノードであり、
（ｃ）複数のニューロンが、複数の要素ニューロンと複数の構造ニューロンとを含み、
（ｄ）全ての要素ニューロン及び構造ニューロンが、他の要素及び構造ニューロンと結合を介して関連付けられるように構成され、
（ｅ）双方向性であって、構造ニューロンが要素ニューロンからの入力イベントから生成されるフォワードモードと、入力イベントが要素ニューロンから表現されるリバースモードとで動作可能な人工ニューラルネットワーク。
【請求項５１】
フォワードモードが学習であり、リバースモードが表現である請求項５０に記載の人工ニューラルネットワーク。
【請求項５２】
入力データではなく関連付けを保存する請求項５０に記載の人工ニューラルネットワーク。
【請求項５３】
関連付けのパターンの中でパターンを表現して認識する請求項５０に記載の人工ニューラルネットワーク。
【請求項５４】
複数のニューロンを含む人工ニューラルネットワークを構築する方法であって、複数のニューロンが、複数の要素ニューロンと複数の構造ニューロンとを含み、
要素ニューロンが表す一意なイベントを定義し、
全ての定義済みイベントについて表される一意な値の総数に対して、必要な数の要素ニューロンを作成し、一意な値が、刺激と、イベントと、パターン内のシーケンスと、イベントのシーケンスと、要素刺激と、定義済み要素パターンと、定義済み要素データ要素と、基本入力刺激と、処理中の情報の出力刺激とからなる群から選択される少なくとも一つであり、
複数の要素ニューロンが、人工ニューラルネットワークへの全ての入力を受け取り、人工ニューラルネットワークからの全ての出力が、複数の要素ニューロンからであり、
複数の構造ニューロンを生成し、構造ニューロンそれぞれが、複数のニューロンのペアの関連付けによって生成され、
複数の構造ニューロンそれぞれが、ニューロンのペアによる活性化についての出力を生成するように構成され、ニューロンのペアが、起動ニューロンと被関連付けニューロンとを含み、複数のニューロンの関連付けが、近接特性に基づいたものであり、
複数の構造ニューロンそれぞれが、ニューロンのペアを表現するように構成される方法。
【請求項５５】
複数のニューロンのうちのいずれか一つが、複数のニューロンのうちのニューロンと、複数のニューロンのうちのさらに別のニューロンとの活性結合を介して関連付けられることができ、さらに別のニューロンが、複数の構造ニューロンのうちの一つである請求項５４に記載の方法。
【請求項５６】
全ての要素ニューロンが、それぞれの要素値を表現することができ、全ての構造ニューロンが、それらが関連付けるニューロンのペアを表現することができる請求項５４に記載の方法。
【請求項５７】
ニューロンのペアが、要素ニューロンを有する要素ニューロンと、構造ニューロンを有する要素ニューロンと、要素ニューロンを有する構造ニューロンと、構造ニューロンを有する構造ニューロンとからなる群から選択される請求項５６に記載の方法。
【請求項５８】
複数のニューロンのそれぞれが、起動ニューロンと、被関連付けニューロンと、関連付けニューロンとからなる群から選択される一つまたは複数であり、起動ニューロンが、関連付けニューロンへの結合を介して被関連付けニューロンと関連付けられる請求項５４に記載の方法。
【請求項５９】
起動ニューロンと、被関連付けニューロンと、関連付けニューロンとが、処理される入力の時間と空間と強度と規模と相対位置とからなる群から選択される近接特性に基づいて結合される請求項５８に記載の方法。
【請求項６０】
再現時に、要素ニューロンを表現するためにより多くのステップが必要である場合に、ニューラルネットワークのレベルが、人工ニューラルネットワーク構造内のより深いレベルである請求項５４に記載の方法。
【請求項６１】
起動ニューロンが入力を受け取り、被関連付けニューロンが入力を受け取り、入力が、起動ニューロン及び被関連付けニューロンそれぞれの全ての関連付けニューロンに送信され、起動ニューロン及び被関連付けニューロン両方の関連付けニューロンが、その際活性化され、出力を生成することができる請求項５８に記載の方法。
【請求項６２】
被関連付けニューロンが活性化され、又は起動ニューロンと同時と起動ニューロンの後とからなる群から選択される方法で出力を生成する請求項６１に記載の方法。
【請求項６３】
起動ニューロンの活性化、又は起動ニューロンからの出力の生成、並びに被関連付けニューロンの活性化、又は被関連付けニューロンからの出力の生成が、近接特性に基づく請求項６１に記載の方法。
【請求項６４】
起動ニューロン及び被関連付けニューロンの近接活性化、又は起動ニューロン及び被関連付けニューロンからの出力の生成によって、起動ニューロンと新たな関連付けニューロンとの間及び被関連付けニューロンと新たな関連付けニューロンとの間の新しいシナプス結合を含む新たな関連付けニューロンの生成、起動ニューロンと関連付けニューロンとの間及び被関連付けニューロンと関連付けニューロンとの間の既存のシナプスシナプス結合の強化、並びに関連付けニューロンの強化からなる群から選択される少なくとも一つが行われる請求項６３に記載の方法。
【請求項６５】
強化が、関連付けニューロンがどの程度、起動ニューロンと被関連付けニューロンとから入力を受け取るかの頻度数を保持することによる請求項６４に記載の方法。
【請求項６６】
関連付けニューロンが、起動ニューロンと被関連付けニューロンとによって表されるものの和を表す請求項５８に記載の方法。
【請求項６７】
記憶が、複数の要素刺激を表し、それぞれの要素刺激が、要素ニューロンによって直接表される請求項５４に記載の方法。
【請求項６８】
記憶を表すために必要な要素ニューロンの数が、処理される入力の性質によって決まる請求項５４に記載の方法。
【請求項６９】
それぞれのニューロンが、配列をなす、固定長のアドレス可能なノードであり、それぞれのノードが、複数のポイントを有する請求項５４に記載の方法。
【請求項７０】
複数の要素ニューロンが、ニューラルネットワークのルートレベルにある請求項５４に記載の方法。
【請求項７１】
複数のニューロンのペアを形成するために、それぞれの起動ニューロンが複数の被関連付けニューロンと関連付けられることができる請求項５８に記載の方法。
【請求項７２】
複数のニューロンのペアを形成するために、それぞれの被関連付けニューロンが複数の起動ニューロンと関連付けられることができる請求項５８に記載の方法。
【請求項７３】
一度、関連付けニューロンが結果を表すと、結果は別のニューロンで生成される必要がない請求項５８に記載の方法。
【請求項７４】
複数の要素ニューロンが人工ニューラルネットワークへの全ての入力を受け取り、人工ニューラルネットワークからの全ての出力を提供する請求項５４に記載の方法。
【請求項７５】
全てのニューロンが値、情報及びパターンのうちの少なくとも一つを表し、
処理がニューロンの関連付け、構造ニューロンが関連付けたニューロンのペアの表現、及び要素ニューロンによって表される値、情報又はパターンの表現のうちの少なくとも一つである、請求項５４に記載の方法。
【請求項７６】
ニューロンのペアの関連付けを行うことが学習であり、ニューロンのペアの表現を行うことが表現である請求項５４に記載の方法。
【請求項７７】
人工ニューラルネットワークが、学習を行うフォワードモードと表現を行うリバースモードとを有する双方向性である請求項７６に記載の方法。
【請求項７８】
人工ニューラルネットワークが、入力データではなく関連付けを保存して、関連付けのパターンの中でパターンを表現する請求項５４に記載の方法。
【請求項７９】
それぞれの要素ニューロンが、感覚ニューロンと運動ニューロンとからなる群から選択される請求項５４に記載の方法。
【請求項８０】
それぞれの構造ニューロンが、複数の要素ニューロンを表す請求項５４に記載の方法。
【請求項８１】
複数のニューロンそれぞれが、表現されることができる請求項５４に記載の方法。
【請求項８２】
複数のポインタが、表現するための２つのポインタと、関連付けを表す更なるポインタを含む請求項６９に記載の方法。
【請求項８３】
それぞれのノード内のそれぞれのポインタが、別のニューロンのアドレスと、要素ニューロンの要素値と、頻度数とからなる群から選択される少なくとも一つを含む請求項８２に記載の方法。
【請求項８４】
ポインタの数が、人工ニューラルネットワークによって実行される機能に依存し、それぞれのニューロンについてのポインタの数が少なくとも２である請求項８２に記載の方法。
【請求項８５】
ニューロンへのそれぞれのポインタの機能が、起動と、関連付けと、後続と、起動ニューロンの次の後続と、先行と、関連付けニューロンの次の先行とからなる群から選択される請求項８２に記載の方法。
【請求項８６】
要素ニューロンのための少なくとも一つのポインタが、要素値を表す請求項８２に記載の方法。
【請求項８７】
全てのニューロンが、配列をなす、固定長のアドレス可能なノードである請求項８２に記載の方法。
【請求項８８】
人工ニューラルネットワークが、株価動向の監視および予測、インターネットの監視、インターネットセキュリティ、コンピュータウィルスの検出、コンピュータスパムの検出、音声およびテキスト内の句の認識、音声およびテキスト内の節の認識、盗用の検出、バイオインフォマティクス（生物情報学）、視覚認識、セマンティクス解析、データオントロジの表現、ロボット工学、およびデータ圧縮からなる群から選択される少なくとも一つに用いられる請求項５４に記載の方法。
【請求項８９】
請求項５４に記載の方法を実施するために、１つまたは複数の機能を１つまたは複数のプロセッサ及び／又はメモリに実行させるように構成されたコンピュータプログラムコードを含む、コンピュータで使用可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークに関し、特に、時間、空間、強度、規模、および相対位置を含む１つまたは複数の特性に基づくニューラルネットワークに関するが、それのみには限定されず、学習、知識取得、発見、データマイニング、および表現のうちの１つまたは複数に適用可能である。
【背景技術】
【０００２】
従来のニューラルネットワークは、一般に、ヘブ学習（Hebbian learning）の単一解釈に基づく。この基本的なヘブ概念は、「同時発火するニューロン同士が結合する」と述べられることが多い。事実上の解釈によれば、「結合」は、２つのニューロンをつなぐシナプスによってもたらされる。シナプスの後のニューロンと同時に発火するシナプスの前のニューロン、またはシナプスの前のニューロンと同時に発火するシナプスの後のニューロンの重要度／確率を反映するようにシナプスの結合強度が修正または重み付けされる。
【０００３】
この概念を用いて、いくつかの入力ニューロンをいくつかの出力ニューロンにシナプスを介して関連付けるニューラルネットワークが開発されてきた。入力ニューロンは入力状態を定義し、出力ニューロンは、望ましい出力状態を定義する。
【０００４】
したがって、従来のニューラルネットワークのほとんどすべてが、３つの層（入力ニューロン層、隠れニューロン層、および出力ニューロン層）の概念に基づいている。図１および２は、従来のニューラルネットワークを示す図である。
【０００５】
そのようなニューラルネットワークのトレーニングは、その最も基本的な形式においては、特定の入力状態を入力ニューロンすべてに与え、その入力状態を表す特定の出力ニューロンを選択し、隠れ層においてシナプスの強度または重みを調節することによって行われる。すなわち、トレーニングは、望ましい出力を認識しているという前提で実施される。トレーニングが完了した後は、様々な入力状態を与えることは、様々な信頼レベルで活性化された様々な出力ニューロンをもたらす。したがって、入力イベントの認識は、元のトレーニング状態と現在の入力状態とがどの程度一致するかに依存する。
【０００６】
そのようなニューラルネットワークは、一般に、望ましい出力ニューロンの数や、望ましい結果の精度に応じて、何百あるいは何千もの異なる入力状態による大規模な反復トレーニングを必要とする。この結果として得られる実際のネットワークは、１０００万の相互結合シナプスまたはシナプスを表す重みを有する、わずか１万程度の入出力ニューロンの組み合わせの規模である（現在あるニューラルネットワークは、１０１２個のニューロンと１０１６個のシナプス結合とを有する人間の脳の規模と比較すると非常に小さい）。
【０００７】
さらに、従来のネットワークは、あらかじめ定義された出力ニューロンを生成することを前提とするトレーニングをした後に、入力として用いられたトレーニングセットとよく似た入力を認識することが可能である。従来のニューラルネットワークは、望ましい目標が出力ニューロンによって表されている、事前の想定を用いてトレーニングされるように、独立した学習を行うことができない。従来のニューラルネットワークは、出力層の任意の出力ニューロンの刺激に基づいて入力状態を表現または再現することができない。
【０００８】
従来のニューラルネットワークは、独立した入力状態をネットワークに与えられることを前提にトレーニングされており、その場合、トレーニングの順序は一般に重要ではない。大規模な反復トレーニングが完了すると、出力ニューロンは、入力状態がネットワークに与えられる順序にあまり依存しなくなる。従来のニューラルネットワークは、現在の入力状態に完全に基づく出力を提供する。入力状態が与えられる順序は、ネットワークの、入力状態を認識する機能と関係がない。
【０００９】
従来のニューラルネットワークは、以下に示す問題点の一部またはすべてを有する可能性がある。
１．所定のまたは所望の出力目標に基づく事前トレーニングが必要である、すなわち、学習しない。
２．トレーニングで用いられた入力状態とよく似た入力状態（オブジェクト）しか認識できない。
３．計算が高度であるため、低速である。
４．計算上の制約から、比較的少数のニューロンしか表すことができない。
６．別のオブジェクトを認識するためには再トレーニングが必要である。
７．出力ニューロンに刺激を与えて入力オブジェクトを表現または再現することができない。
８．すべての入力ニューロンが同時に刺激されることが前提である。
９．創造的でなく、イベントを表現または再現することができない。トレーニングで用いられたイベントしか識別／認識できない。
１０．同時に発火するか、短い間隔で連続して発火するニューロンがシナプスでリンクされることを前提としているが、個々のニューロン、またはニューロンの発火順序を識別しない。
１１．隠れ層の各ニューロンが複数の入力ニューロンからの入力を同時に受信する可能性がある。
【発明の概要】
【００１０】
第１の態様によれば、複数のニューロンを含み、この複数のニューロンのうちの任意の１つが、自分自身、または、その複数のニューロンのうちの他の任意のニューロンと、複数のニューロンのうちの更に別のニューロンとの活性結合を介して結び付くことが可能であるニューラルネットワークが提供される。このプロセスを学習と称する。
【００１１】
第２の態様によれば、複数の要素ニューロンと任意のペアのニューロン間の関連付けを表す複数の構造ニューロンとを含み、そのニューロンのペアは、両方とも要素ニューロン、両方とも構造ニューロン、１つが構造ニューロンで１つが要素ニューロン、および１つが要素ニューロンで１つが構造ニューロンのペアからなる群から選択されるニューラルネットワークが提供される。
【００１２】
各構造ニューロンは、ニューロンのペアによって表される結合された情報または記憶を表すことが可能である。構造ニューロンを形成するために結合されたニューロンのペアを再現するプロセスを、表現と称する。各構造ニューロンは、２つのニューロンからのみ入力を受信することが可能である。
【００１３】
ニューラルネットワーク構造のルートレベルにおいて、複数の要素ニューロンを表すことが可能であり、各要素ニューロンは、要素刺激、定義済み要素パターン、および定義済み要素データ要素のうちの少なくとも１つを表すことが可能である。各要素ニューロンは、処理される情報の基本入力刺激および出力刺激の一方または両方を表すことが可能である。各要素ニューロンは、感覚ニューロン、運動ニューロン、皮質内ニューロン、および皮質間ニューロンからなる群から選択される脳内ニューロンの等価物であることが可能である。ニューロンによって表される情報は記憶であることが可能であり、処理は学習または表現であることが可能である。
【００１４】
複数のニューロン関連付けは、複数のより深いニューラルレベルで表されることが可能である。複数のより深いレベルのレベル数は、処理または表現される記憶またはパターンの範囲によって決定可能である（ただし、記憶は複数の要素ニューロンを表す）。この記憶を表すために必要な要素ニューロンおよび構造ニューロンの数は、処理される記憶の性質によって決定可能である。
【００１５】
第３の態様によれば、関連付けによってリンクされた複数のニューロンを含み、同じか、より深い、ニューラルネットワークのレベルにあるニューロンのすべての関連付けが表現可能であるニューラルネットワークが提供される
【００１６】
第４の態様によれば、複数のニューロンを含み、配列のなかの一意にアドレス指定が可能なノードによって各ニューロンが表されるニューラルネットワークが提供される。
【００１７】
第５の態様によれば、複数のニューロンを含み、配列のなかの単一ノードによって各ニューロンの全体が表されるニューラルネットワークが提供される。
【００１８】
第６の態様によれば、配列を成す複数のノードを含み、配列内の各ノードはポインタを含むニューラルネットワークが提供される。各ポインタは、配列内の特定ノードの一意アドレスを表す、ノードのデータ要素であって、各アドレスは、複数のニューロンのうちのニューロンを表す。各ポインタは、シナプス結合を表す。
【００１９】
第７の態様では、配列を成す複数のニューロンを含むニューラルネットワークが提供され、アレイの各ノードには、表現し、記憶を学習するポインタが含まれる。
【００２０】
最後から２番目の態様は、複数のニューロンを含み、各ニューロンは配列を成すノードによって表され、各ノードは複数のポインタを有し、各ノード内の各ポインタは特定かつ固有の機能を有するニューラルネットワークを提供する。ポインタが要素レベルまたはルートレベルのニューロン内で要素刺激の値を表すことが可能な場合を除き、各ポインタは別のニューロンのアドレスを含む。必要とされるポインタの数は、ニューラルネットワークによって実行される機能によって異なることが可能である。学習および表現の機能を実行するニューラルネットワークの場合、必要なポインタの数は４以上であると考えられる。
【００２１】
このように、複数のニューロンの中の各ニューロンは、その複数のニューロンを表す配列の中の、同サイズのノードによって表されることが可能である。各ノードは一定数のポインタを格納する。
【００２２】
ニューロンを表すために用いられる配列の中のノードは、ポインタ以外に、各ニューロンの特性に関連する付加データ要素を保持することも可能である。各ニューロンの活性化の頻度、その関連付けの強度、その他を表すためにデータ要素を定義することが可能である。
【００２３】
本発明はさらに、上述の方法を実施するために１つまたは複数の機能を１つまたは複数のプロセッサに実行させるように構成されたコンピュータプログラムコードを含む、コンピュータで使用可能な媒体にまで拡張される。
【００２４】
最後の態様では、双方向性を有し、ノードが入力から導出または作成される順方向と、入力がノードから導出される逆方向とで動作可能なニューラルネットワークが提供される。順方向は学習であり、逆方向は表現である。
【００２５】
ニューラルネットワークは、株価動向の監視および予測、インターネットの監視、インターネットのセキュリティ、コンピュータウィルスおよびスパムの検出、データ圧縮、音声およびテキスト内の句の認識、音声およびテキスト内の節の認識、盗用の検出、バイオインフォマティクス（生物情報学）、視覚認識、オントロジのセマンティクス解析および表現、ロボット工学などのうちの１つ以上に用いられる。
【図面の簡単な説明】
【００２６】
【図１】従来のニューラルネットワーク構造を示す図である。
【図２】別の従来のニューラルネットワーク構造を示す図である。
【図３】２つのニューロンとシナプスとの間の既存の関係を示す図である。
【図４】本発明による、３つのニューロンの間の関係を示す図である。
【図５】本発明の処理フローを示すフローチャートである。
【図６】ニューロンとポインタ／リンクとの間の関係を示す図である。
【図７（ａ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｂ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｃ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｄ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｅ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｆ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｇ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｈ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｉ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｊ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｋ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｌ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｍ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図７（ｎ）】関連付けを説明する、イベントのシーケンスを示す図である。
【図８】学習プロセスのフローチャートである。
【図９】マッチングプロセスのフローチャートである。
【図１０】学習プロセスの間のニューロン作成のフローチャートである。
【図１１】ニューロンの表現プロセスのフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の理解および実務への応用が容易になるように、以下、本発明の、限定的でない例に過ぎない、好ましい実施形態について、添付図面を参照しながら説明する。
【００２８】
好ましい態様によれば、本発明は、ニューラルネットワークと、そのようなニューラルネットワークをニューロンの関連付けによって構築する方法とを提供する。ニューロンの関連付けは、記憶を形成するために、時間、空間、強度、規模、および相対位置のうちの少なくとも１つを含む特性に基づく。記憶は、（要素ニューロンによって表される）入力刺激または（要素ニューロンによって表される）出力アクションの一方または両方によって自然に構成される。
【００２９】
本発明はさらに、複数の要素刺激を表す、構造ニューロンによって表される記憶のうちの１つ以上の記憶の再現および表現の一方または両方を可能にする。ニューラルネットワークは、学習したもの以外の新しいアクションやアイデアを表現することができる可能性を有しており、そのように創造性を発揮することが可能である。入力刺激としては、聴覚、視覚、触覚、その他の刺激のうちの１つ以上のものが考えられる。出力刺激としては、移動、運動、音声、その他の刺激のうちの１つ以上のものが考えられ、それぞれは、しかるべき要素ニューロンによって定義される。
【００３０】
従来のニューラルネットワークは、同時に活性化している２つのニューロン（ニューロンＡおよびＢ）が、それらの間に活性シナプス結合を作成するか、既存のシナプス結合を強化するという前提に基づいている。これを図３に示す。図３は、２つのニューロンと１つのシナプスとを示している。
【００３１】
本発明の一態様によれば、２つのニューロンを刺激または活性化すると、別の第３のニューロン（関連付けニューロン）を介して、それらの間に関連付けが作成される。これを図４に示す。図４は、３つのニューロン４１、４２、および４３と、２つのシナプス４４および４５とを示している。便宜上、この基本的なニューラル構造を、本明細書を通して、「ニューロンアセンブリ」と称する。ニューロン４１、４２、および４３は、時間、空間、強度、規模、および相対位置のうちの少なくとも１つを含む、最も近い特性に基づいて、互いに関連付けられることが可能である。ニューロン４３は、このニューラル構造において、ニューロン４１、４２の両方よりレベルが深くなる。ニューロン４１、４２は、そのニューラル構造の同じレベルであっても、異なるレベルであってもよい。ニューラルネットワーク構造におけるニューロンの深さまたはレベルは、そのニューロンが表す要素ニューロンを表現するために必要なステップ数に基づく。
【００３２】
ニューラル構造はニューロンを含み、その各ニューロンは、データ、イベント、オブジェクト、概念、またはアクションの記憶を表す。各ニューロンによって表される情報のタイプは様々であり、ニューラルネットワークを構成する（感覚および／または運動ニューロン刺激を表す）要素ニューロンによって異なる。要素刺激は、各ニューラルネットワーク構造のルートレベルで保持される要素ニューロン内でのみ表される。より深い（後続）レベルのニューロン（構造ニューロン）は、他のニューロンの関連付けだけを表し、自身では、感覚刺激、運動刺激、要素刺激などの値を格納しない。
【００３３】
ニューラル構造内の各ニューロンは、２つのニューロンだけの関連付けを表すことが可能である。その一つが起動ニューロンであって、もう一つが被関連付けニューロンである。しかし、各ニューロンは、関連付けニューロンを介して、無限の数の関連付けに、起動ニューロンおよび／または被関連付けニューロンとして参加することが可能である。起動ニューロン４１は、ニューロン４３のような後続ニューロンを任意の数だけ有することが可能である。ここでは、ニューロン４１の後続ニューロンは、ニューロン４１を起動ニューロンとする関連付けニューロン（４３）である。もう一つのニューロン４２は、先行ニューロンを任意の数だけ有することが可能である。ニューロン４２の先行ニューロンは、ニューロン４２を被関連付けニューロンとする関連付けニューロン（４３）である。したがって、ニューロン４３は、関連付けニューロンとも、ニューロン４１の後続ニューロンとも、ニューロン４２の先行ニューロンともいえる。
【００３４】
関連付けは、要素ニューロン４１、４２のうちの起動ニューロンである方によって行われ、一方は被関連付けニューロンである。ニューロン４１を起動ニューロンとし、ニューロン４２を被関連付けニューロンとすると、ニューロン４１が活性化または発火したときに、関連付けニューロン４３が増強される。ニューロン４１の発火と同時に、またはニューロン４１の発火に続いて、ニューロン４２が活性化または発火しても、関連付けニューロン４３は増強される。それによってニューロン４３は活性化したと見なされる。関連付けニューロン４３が存在しなかった場合（すなわち、起動ニューロン４１と被関連付けニューロン４２とを関連付けるニューロンが存在しなかった場合）は、関連付けニューロン４３が作成されてから活性化される。存在していた場合は、活性化されるだけである。ニューロン４１および４２の近接活性化または近接発火が行われると、関連付けニューロン４３が活性化し、ニューロン４１とニューロン４３との間、およびニューロン４２とニューロン４３との間で活性結合の作成、または既存のシナプス結合の強化が行われる。関連付けニューロン４３は、他の２つのニューロン４１、４２から学習したことの総和を表す。この総和は、記憶トレース、２つのニューロンの経験の組み合わせ、イベントのシーケンス、イベントの近接度などのうちの１つ以上を含むことが可能である。いったん関連付けニューロンが活性化するか作成されて所望の記憶またはイベントが表された場合、その所望の記憶またはイベントは別のニューロンで再作成される必要がない。
【００３５】
近接度、近接活性化または近接発火の定義は、各ニューラルネットワークの動作規則によって設定される。近接度（「ΔＰ」）は、レベル内及びレベル間で変動する可能性があり、表される要素ニューロンのタイプに応じて変動する可能性がある。ニューラルネットワーク内で深いレベルにあるニューロンほど、近接している可能性が低いため、ΔＰは大きくなる可能性がある。ΔＰが時間または時間的イベントを表している場合、ΔＰは、ゼロ、数ミリ秒、あるいは数秒の短さの場合もあれば、数分、数時間、数日、あるいは数週間の長さの場合もある。現実世界では同時に発生したイベントであっても、シナプス活性化または発火の時間の違いや、樹木状発火経路の長さの違いに基づいて時間的に表される可能性がある。さらに、ニューラル構造によって表される記憶またはイベントの処理要件によっても変わる可能性がある。ΔＰはまた、オブジェクト間またはイベント間の空間関係を表すことも可能であり、脳内のニューロンのトポロジ的な空間関係を表すことも可能である。
【００３６】
本発明によるニューラルネットワークは、以下の２つの基本要素からなる。
１．要素ニューロン。これは、要素刺激、感覚ニューロンまたは運動ニューロン、または必要に応じてそのような要素データを表すことが可能である。これらは、ニューラルネットワークを構築する基になる要素ニューロンまたはルートニューロンである。表される経験、イベントまたは情報のタイプに応じて、様々なタイプの要素ニューロンを定義することが可能である。たとえば、聴覚皮質を表す場合、要素ニューロンは、個々の異なる音を表すことになりうる。要素ニューロンは、いくつかの異なるタイプの要素ニューロンを組み込むことが可能である。そのようなものとしては、たとえば、音のエネルギーまたは音の強度（ボリューム）を表すセットや、音の周波数を表す別のセットなどがある。
【００３７】
においと味を表す場合は、味覚用の要素ニューロンのセットと、嗅覚用の別のセットとを用いることが可能である。
【００３８】
視覚の場合は、神経節細胞によって表されるように、色付円錐体、桿状体、エッジ、コントラスト、動きなどを表す要素ニューロンのセットを用いるか、または特に、光受容器ニューロンを表す要素ニューロンのセットを用いることが可能である。
【００３９】
皮膚受容器の場合は、接触−機械的受容器ニューロン、温度−熱受容器ニューロン、痛み−侵害受容器ニューロンなどに対応する要素ニューロンを用いることが可能である。運動は、動きを引き起こす、様々なタイプの運動ニューロンによって表されることが可能である。
【００４０】
感覚ニューロンが活性化または発火すると、感覚ニューロンは、特定の場所の特定の細胞または感覚器官から特定の形のエネルギーを受け取ったことを、シナプスまたは神経細胞を介して脳の様々な領域に伝える。すべての感覚ニューロンが、同様の中央処理メカニズムを有する。運動ニューロンが脳内で活性化または発火すると、運動ニューロンは、身体の特定の場所で筋肉の収縮を引き起こして、動きを発生させる。感覚ニューロンがイベントを検出すると、感覚ニューロンはそのデータを脳に送り、脳のニューラル構造内でそのデータが処理される。
【００４１】
人工の要素ニューロンも定義可能である。たとえば、ニューラル構造を用いて英語のテキストを処理する場合は、英字と句読点とを表す要素ニューロンのセットを定義することが可能である。中国語の場合は、各漢字、および漢字のサブセットに対して要素ニューロンを定義することが可能である。ニューラル構造を用いてタンパク質配列を処理する場合は、２０種類のアミノ酸、またはそのサブセットを表すように要素ニューロンを定義することが可能である。発話の場合は、音素その他に対応する音を発生させる様々な筋肉収縮を引き起こすように、様々な運動ニューロンを定義することが可能である。
【００４２】
要素ニューロンは、起動ニューロンおよび被関連付けニューロンになることはできるが、関連付けニューロンになることはできない。
【００４３】
２．構造ニューロン。これはニューラル構造を表す。ニューラル構造は、図４に示すように、他のニューロンの関連付けを表すニューロンからなる。他のニューロンは、感覚ニューロンであっても、運動ニューロンであっても、他の構造ニューロンであってもよい。このように、ニューラル構造は、大きくなって、より多くの情報を表すことが可能である。
【００４４】
構造ニューロンを用いて、要素ニューロンの様々なセットを表す、構造ニューロン間の関連付けの形成を行うことも可能である。たとえば、英字要素ニューロンの関連付けによって表された英単語「ｂａｌｌ」（ボール）と、視覚要素ニューロンの関連付けによって表された形状「ｂａｌｌ」との間に関連付けを形成することが可能である。このようにして、異なる皮質、又は異なるニューラルネットワークにまたがる、情報の関連付けを可能にするニューラルネットワークを構築することが可能である。形状「ｂａｌｌ」と、運動ニューロンの関連付けによって表される、発声される単語「ｂａｌｌ」との間に別の関連付けを存在させることによって、音素ニューロンによる音「ｂａｌｌ」の発生を可能にすることができる。
【００４５】
構造ニューロンは、時間、空間、強度、規模、相対位置などの特性に基づいて相互に関連付けられる。ニューラル構造によって発話を表す場合の関連付けは、発話表現に用いられる音素、単語、句、節などのシーケンスを表す時間的性質の関連付けになる。同様に、テキストを処理する場合や本を読む場合の個々の文字の処理は、単語、句、節などを構築する時間的性質の処理であろう。また、脳内の多数のニューロンは、空間的または局所解剖学的に系統立てられている。たとえば、視覚、聴覚、触覚、痛覚などに対応するニューロンはそうである。そういうものとして空間特性を表すニューラル構造を構築することが可能である。たとえば、視覚的光景を表すニューラル構造を形成する場合は、近接度、近くのオブジェクトと遠くのオブジェクト、または高いオブジェクトと低いオブジェクトに基づいて、エッジ、線、曲線、オブジェクトまたはパターンを表すニューロンを、画素を表す要素ニューロンを線または曲線に関連付けるニューラル構造に関連付けることができる。これにより、環境の３次元マップが構築される。
【００４６】
同じニューラル構造を用いて、空間および時間で定義される４つの次元の任意のいずれかにある情報を表すことが可能である。
【００４７】
上述のように、空間ニューラル構造によって表される形状「ｂａｌｌ」は、時間ニューラル構造によって表される、発声される単語「ｂａｌｌ」に関連付けられることが可能である。
【００４８】
構造ニューロンは、関連付けニューロンである。また、構造ニューロンは、起動ニューロンおよび被関連付けニューロンの一方または両方になることも可能である。
【００４９】
ニューラル構造内で関連付けのルートレベルにある要素ニューロンを組み合わせると、皮質（ニューロンアセンブリ）内で特定の要素機能または特性を表す構造ニューロンの作成が可能になる。ニューラル構造は、ニューラル構造内での動的な関連付けによる、機能の組み合わせの表現を可能にする。感覚ニューロンによって誘起される、新皮質内の神経（ニューラル）作用は、常に脳内の様々な領域に分散される。感覚系では、脳の様々な領域が、同じ入力刺激の様々な態様（空間／時間／強度／規模／相対位置）を処理することが可能である。提案するニューラル構造は、首尾一貫した概念／知覚認識および挙動を表すための領域内ニューラル関連付けを可能にする。ニューラル構造内での関連付け（皮質間の関連付け）のレベルが深いほど、より複雑な情報または挙動を表すことが可能になる。
【００５０】
ニューロンは、その機能、特性、レベル、性質などに応じて、編成、分類、または命名されることが可能である。ニューロンは、特定の次元について定義されることも可能である。特定の次元とは、時間、距離、空間、長さ、高さ、ピッチ、振幅、または他の任意の定義可能な特性である。
【００５１】
その特定の次元において、任意の２つのニューロンを、それらの相対的な、または関連する事象、位置、規模並びに大きさによって区別することが可能である。この相対的な位置づけは、ΔＰで表される。
【００５２】
ニューラルネットワークを構築するための基本となる要素は、相対位置によって関連付けられた任意の２つの活性ニューロンＡおよびＢに対して、シナプスを介してニューロンＡおよびＢの両方と結合されている第３のニューロンＣが存在することである。そのようなニューロンが存在しない場合は、そのようなニューロンとその結合とを作成することが可能である。したがって、ニューロンＣは、ニューロンＡとニューロンＢとを、それらの相対位置を維持しながら互いに関連付ける。ＡとＢとは、それらの相対位置において隣接または連続することが可能であるが、必須ではない。したがって、ニューロンＣは、イベントを表す任意の２つのニューロンＡおよびＢを関連付けることが可能であり、それらのイベントは、同時であっても、隣接していても、連続であっても、隣接していなくても、非連続であっても、部分的に重なっていてもよい。
【００５３】
関連付けの論理は、活性化または発火した任意の２つの活性ニューロンＡおよびＢについて、それらの一方が起動ニューロンになるというものである。第３のニューロンＣは、起動ニューロンと第２のニューロンとを、それらの活性化または発火の順序を維持しながら関連付ける。したがって、ニューロンＣは、起動ニューロンのイベントとそれに続く第２のニューロンのイベントとの結合イベントを表す。この新しいニューロンＣは、その後、他のニューロンとの結合に参加（して新しい関連付けを作成）することが可能であり、さらに同様のことを続けることが可能である。
【００５４】
新しいニューロンを作成する場合の基本ルールは、ニューロンＡが活性化または発火し、それと同時に、またはそれに続いてニューロンＢが活性化または発火した場合に、新しいニューロンＣが構築され、場合によって活性化または発火して、ニューロンＡとニューロンＢとの関連付け（すなわち、時間または空間におけるイベントＡＢの関連付け）を表すことが可能であるということである。先行のイベントまたは関連付けによってニューロンＣが既に存在している場合、ニューロンＣは同様に、さらに再活性化または再発火して、後続の、既存または新しい活性化に参加することが可能になり、それによって、新しい関連付けを形成することが可能になる。これによって、無限の数の関連付けおよび／または関係を有するニューラルネットワークを構築することが可能になる。
【００５５】
新しいニューラルネットワークを作成する基本フローを表すフローチャートを図５に示す。この好ましい実施例は、要素イベントの単純なシーケンスを処理する場合の処理ステップとモデルの適用とを示している。
【００５６】
図５では、まず、５０で、ニューラルネットワークまたはニューラルネットワークを表す配列を初期設定する。５１で、各要素ニューロンのタイプまたはカテゴリを定義する。これらは、たとえば、テキスト、視覚、ピッチ、色、エッジ、音、体積、味覚、臭覚、色付円錐体、桿状体、痛覚、コントラスト、動き、筋肉の動き、神経節細胞、光受容器、触覚、機械的受容器、温度、熱受容器、侵害受容器、運動、言語、文字、字、単語などに関連することが可能である。
【００５７】
５２で、要素ニューロンを定義／プログラム／入力する。「その要素ニューロンは既に存在しているか？」という質問を行う（５３）。定義済み要素ニューロンの各定義済みタイプについて表される値の１つ１つについて、すべての要素ニューロンを作成して、それらをルートニューロンに後続ニューロンのリストとして添付しなければならない。ルートニューロンは、ニューラルネットワークを表す配列の中のノード０によって表される。質問への答えがＮＯ（いいえ）の場合は、新しい要素ニューロンを作成し（５４）、処理を（５２）に戻す。ＹＥＳ（はい）の場合は、５５に進む。５５で、ニューロンを関連付けるルールを定義する。あるいは、学習プロセス中に新しい要素ニューロンが発生すれば、そのときにその要素ニューロンを定義することも可能である。
【００５８】
次に、第１の（または次の起動）ニューロンを見つける（５６）。このニューロンをニューロンＡとする。次に、後続のニューロン（ニューロンＢ）を見つける（５７）。ニューロンＡとニューロンＢとの関連付けが既に存在する場合（５８）は、処理を５６に戻す。存在しない場合は、ニューロンＡとニューロンＢとの関連付けまたは組み合わせを表すものとしてニューロンＣを作成し（５９）、処理を５６に戻す。このプロセスでは、ニューロンＣを関連付けニューロンとすることが可能である。
【００５９】
図８は、図５のステップ５６〜５９をより詳細に示したフローチャートである。ここでのニューラル処理または学習は、要素ニューロンイベントのパターンまたはシーケンスで表される経験である。
【００６０】
ステップ８１で、イベントのパターンまたはシーケンスの最初の要素イベントにイベントポインタを設定する。ステップ８２で、合致するニューロンを見つける。この合致するニューロンは、ニューラルネットワークにおいて、イベントポインタによって示されているイベントのパターンまたはシーケンスの、先頭イベント（または先頭の一連のイベント）と合致するニューロン（記憶）である。この合致するニューロンを、起動ニューロン（ニューロンＡ）と定義する。次に、ニューラルネットワークに関する定義済みルールに従って、次のイベントを示すよう、イベントポインタを更新する。
【００６１】
次に、ステップ８３で、別の合致するニューロンを見つける。このニューロン（記憶）も、イベントのパターンまたはシーケンスにおいて、イベントポインタによって示されている１つまたは複数のイベントに対応する。この、もう１つの合致するニューロンを、被関連付けニューロン（ニューロンＢ）と定義する。次に、ニューラルネットワークに関する定義済みルールに従って、次のイベントを示すよう、イベントポインタを更新する。このようにして、反対の任意のルールを仮定して、新しい関連付けニューロンまたは関連付けが常に作成される。一般には、ニューロンＣは、まだ存在していない可能性がある。存在していたとすれば、ステップ８２で合致している。
【００６２】
１つのパスの処理が完了した後、必要であれば、同じデータまたはイベントシーケンスを再度処理して、それに応じてニューラルネットワーク構造を拡張することが可能である。
【００６３】
次に、ステップ８４で、これまで使用されていなかった別のニューロンを見つける。これを、ステップ８５で、関連付けニューロン（ニューロンＣ）として作成する。８６で、処理中のイベントのパターンまたはシーケンスの中のイベントがなくなるまで、ステップ８２〜８５の処理を繰り返す。
【００６４】
図９は、図８の、合致するニューロンを見つける処理ステップ８２および８３をより詳細に示したものである。
【００６５】
ステップ９１で、ルートニューロンを示すことにより、合致するニューロンへのポインタをゼロに設定する。合致するニューロンの各後続ニューロン（ステップ９２）について、その後続ニューロンの完全な表現と、処理中のイベントのパターンまたはシーケンスにおける、次の、１つまたは複数のイベント、並びにシーケンスとが合致するかどうかを調べて判定する。合致する場合は、ステップ９３に進む。ステップ９３では、合致するニューロンへのポインタを、その、イベントのパターンまたはシーケンスと合致する後続ニューロンを示すように設定する。さらに、イベントポインタを、イベントのパターンまたはシーケンスの、まだ合致していない残りのものを示すように調節することも可能である。次に、処理をステップ９２に戻して続行する。ステップ９２の結果、合致しない場合、ステップ９４で、合致するニューロンへのポインタを、最後に合致したニューロンを示すところまで戻して、ステップ９５で処理を終了する。
【００６６】
図１０は、図８の、関連付けニューロンを作成するステップ８５の処理をより詳細に示したものである。ステップ１０１で、関連付けニューロンの、起動ニューロンへのポインタを、起動ニューロンへのポイントに設定し、ステップ１０２で、関連付けニューロンの、被関連付けニューロンへのポインタを被関連付けニューロンに設定する。関連付けニューロンが（活性化したばかり、または作成されたばかりで）後続ニューロンを持たないので、その、後続ニューロンへのポインタをゼロに設定する（ステップ１０３）。次に、関連付けニューロンの、次のニューロンへのポインタを、起動ニューロンの、後続ニューロンへのポインタと同じに設定する。最後に、ステップ１０５で、起動ニューロンの、後続ニューロンへのポインタを、関連付けニューロンを示すように設定する。これによって、関連付けニューロンが、起動ニューロンの後続ニューロンのリストの最初のエントリになる。
【００６７】
共通の特性を表す要素ニューロンのグループを、皮質に編成することが可能である。したがって、第１の視覚特性に関連するニューロンのグループ（たとえば、色に関するニューロンのグループ）と、第２の視覚特性（たとえば、形状）に関連する第２のグループと、第３の視覚特性（たとえば、大きさ）に関連する第３のグループと、その他のグループとを含む視覚皮質を有することが可能である。あるニューラルネットワークにあって、個々のパターンまたはイベントを表す構造ニューロンが、別のニューラルネットワークでは要素ニューロンであることが可能である。複数のニューラルネットワーク（およびそれらの中のニューロン）によって表しうる複数の皮質を連結し、関連付けて、統合学習環境だけでなく、インテリジェントに動作する能力も提供することが可能な統合「頭脳」を形成することが可能である。
【００６８】
従来のニューラルネットワークは、一般に一方向である。これは、ある特定の入力に対して出力が導出可能であることを意味する。しかしながら、それらのニューラルネットワークは、逆方向に動作することができない。すなわち、与えられた出力から、入力を導出することは不可能である。
【００６９】
本発明は、任意のニューロンの構築につながる、イベントのシーケンスを表現することを可能にする、「表現」の機能を提供する。表現の意義は、表現によって、イベントの完全なシーケンスが単一ニューロンによって表されることが可能になること、および、その単一ニューロンを活性化することによってそのシーケンスが再現可能であって、その関連付けを表すニューロンが、作成されたときと同じ相対位置または順序にある起動ニューロンと被関連付けニューロンであることなどである。このように、完全な経験または記憶（イベントのシーケンス）を表す単一ニューロンを表現して経験を再現することが可能である。
【００７０】
表現機能は、ニューラル構造内のニューロンごとに、起動ニューロンへのポインタと被関連付けニューロンへのポインタの形で実装される。
【００７１】
表現を図１１に示す。表現が必要になると、まず、ステップ１１１で、表現されるニューロンの、起動ニューロンへのポインタがゼロに等しいかどうかを調べる。ＹＥＳであれば、表現されるニューロンは要素ニューロンに間違いなく、処理をステップ１１４に戻す。ステップ１１４では、表現は、要素ニューロンを表すための、被関連付けニューロンに格納されている要素イベントまたは要素値の活性化である。値がゼロでない場合は、ステップ１１２を開始する。ステップ１１２では、表現されるニューロンの、起動ニューロンへのポインタによって示されるニューロンを表現する。ステップ１１３では、表現されるニューロンの、被関連付けニューロンへのポインタによって示されるニューロンを表現する。記憶を表すすべての要素ニューロンが表現されるまで、これを続ける。
【００７２】
ネットワーク内の各ニューロンは、アドレス指定可能なノード配列においてその場所が識別されるアドレスを有する。ノード配列では、各ノードが単一ニューロンを表している。ニューロンへのポインタはすべて、ニューロン配列内の単一ニューロンを表すノードのアドレスを参照する。アドレスまたはポインタのビットサイズは、ニューラルネットワークを表す配列において表すことが可能なニューロンの最大数に影響を及ぼす。たとえば、ポインタのアドレスサイズが３２ビットの場合は、２３２（４，２９４，９６７，２９６）個のニューロンからなるニューラルネットワークを構築することが可能である。
【００７３】
各ニューロンは、従来の配列または構造の単一固定長ノードによって表される。配列に格納可能なニューロンの数は、以下のように、使用可能な総記憶領域（内部および／または外部）と、ポインタアドレスアーキテクチャとに依存する。 
（ａ）１６ビットのポインタアドレスアーキテクチャは、２１６個のニューロンまで可能である。これは、６．４×１０３個のニューロンである。
（ｂ）３２ビットのポインタアドレスアーキテクチャは、２３２個のニューロンまで可能である。これは、４．１×１０９個のニューロンである。
（ｃ）４８ビットのポインタアドレスアーキテクチャは、２４８個のニューロンまで可能である。これは、２．７×１０１４個のニューロンである。
（ｄ）６４ビットのポインタアドレスアーキテクチャは、２６４個のニューロンまで可能である。これは、１．８×１０１９個のニューロンである。
【００７４】
人間の脳は約１０１２個のニューロンを有するので、４８ビットのポインタアドレスアーキテクチャは、１００人分の脳の容量に匹敵するといえる。最新のコンピュータは６４ビットアドレッシングをサポートしているので、１０１９個のニューロンからなるニューラル構造を表現する容量を有することが可能である。これは、一千万人の脳が連結されたサイズに匹敵する。
【００７５】
ニューラルネットワークを表現するために、ノードは、最低でも４個のポインタからなる。各ポインタは、別のニューロンのアドレスを含む。上述のように、アドレスサイズを３２ビットにすると、最大２３２（４０億）個のニューロンからなるニューラルネットワークの構築が可能になる。
【００７６】
図６に示すように、各ニューロンは、最も基本的な実装の場合で、４個のポインタ／リンク（Ｐ１、Ｐ２、Ｐ３、およびＰ４）で表されることが可能である。各ポインタは、別のニューロンのアドレスまたは場所へのリンクである。一般に、ニューロンは４個のポインタを有する。これは、表現機能を有するインテリジェントなニューラルネットワークを作成するために必要な最小限の個数である。ただし、ニューロンは、さらなる機能を提供するために、５個以上のポインタを有することが可能である。たとえば、起動ニューロンＡと被関連付けニューロンＢとの関連付けを表現するためにニューロンＣを作成する場合は、以下のポインタがニューロンＣに必要である。
Ｐ１−起動ニューロン（すなわち、ニューロンＡ）へのポインタ
Ｐ２−関連付けの形成に参加する他方のニューロン（すなわち、ニューロンＢ）へのポインタ
Ｐ３−ニューロンＣを起動ニューロンとする、より深いレベルのニューロンのリストへのポインタ（ＬｓＣ）（ニューロンＣの、後続ニューロンへのポインタ）
Ｐ４−ニューロンＡを起動ニューロンとする、次のニューロンへのポインタ（ＬＡ）（ニューロンＡの「次の後続ニューロンへの」ポインタ）
【００７７】
必要であれば、被関連付けニューロンの先行ニューロンの情報を与えるために、さらなるポインタをニューロンＣについて定義することも可能である。たとえば、以下のポインタを定義することが可能である。
Ｐ５−ニューロンＣを被関連付けニューロンとする、より深いレベルのニューロンのリストへのポインタ（ＬｐＣ）（先行ニューロンへのポインタ）
Ｐ６−ニューロンＢを被関連付けニューロンとする、リスト内の次のニューロンへのポインタ（ＬＢ）（「次の先行ニューロンへの」ポインタ)
【００７８】
より深いレベルのニューロンは、イベントの複雑なシーケンスを表すことが可能である。各構造ニューロンは少なくとも１つの起動ニューロンと１つの被関連付けニューロンとを有するので、レベル１０の単一ニューロンは、最大２１０（１０２４）個の要素イベントのシーケンスを表すことが可能である。ニューロンが同じレベルのニューロンとだけ関連付けられることが可能であるというのは、必要条件ではない。
【００７９】
したがって、イベントの新しいシーケンスを格納する場合は、イベントストリーム内の既存のイベントシーケンスを表す既存ニューロンを識別して、新しいニューロンを構築することによってそれらを互いに関連付けることだけが必要である。たとえば、それぞれが１，０２４個のイベントと５１２個のイベントである２つのイベントシーケンスがある場合は、１，５３６個のイベントのイベントシーケンスを表す、単一の新しいニューロンを構築することが可能である。このようにして、ニューラルネットワーク内で、新しいシーケンス／イベント情報を無駄なく表すことが可能である。
【００８０】
これを図７に示す。図７は、「Ｔｈｅ  ｃａｔ  ｓａｔ  ｏｎ  ｔｈｅ  ｍａｔ．（その猫はマットの上でうずくまっていた。）」という文についてのテキスト処理および学習から導出される可能なニューラルネットワークを示す図である。矢印線は、起動ニューロンと関連付けニューロンとの結合を示し、丸印線は、被関連付けニューロンと関連付けニューロンとの結合を示す。
【００８１】
図７（ａ）では、レベル０にある第１の要素ニューロン７０１と第２の要素ニューロン７０２とが、文字「Ｔ」および「Ｈ」を認識または表し、これらが関連付けられ、レベル１の関連付けニューロン７１１によって表される文字結合「ＴＨ」が形成される。
【００８２】
図７（ｂ）は、文字「Ｅ」を認識する第３の要素ニューロン７０３と、スペース「＾」を認識する第４の要素ニューロン７０４とを示す。これら２つが互いに関連付けられて、レベル１の関連付けニューロン７１２によって表される結合「Ｅ＾」が形成される。レベル１の構造ニューロン７１１および７１２が関連付けられて、関連付けニューロン７２１によって表される、識別可能な単語「ＴＨＥ＾」が形成される。
【００８３】
図７（ｃ）、（ｄ）、および（ｅ）では、レベル０にある次の２つの要素ニューロン７０５および７０６がそれぞれ文字「Ｃ」および「Ａ」を認識し、それらが関連付けられて、レベル１の関連付けニューロン７１３によって表される文字結合「ＣＡ」が形成される。
【００８４】
文字「Ｔ」および「＾」については、ニューロン７０１がニューロン７０４と関連付けられ、結合「Ｔ＾」を表す関連付けニューロン７１４がレベル１に作成される。次にニューロン７１４および７１３が関連付けられ、関連付けニューロン７２２がレベル２に作成され、それによって、識別可能な単語「ＣＡＴ＾」が形成される（図７（ｅ））。次に、ニューロン７２１および７２２が関連付けられ、その結果として、レベル３の関連付けニューロン７３１において、句「ＴＨＥ＾ＣＡＴ＾」が形成されることが可能である（図７（ｆ）および７（ｇ））。
【００８５】
単語「ＳＡＴ＾」については、図７（ｈ）に示すように、ニューロン７０７が文字「Ｓ」を認識し、ニューロン７０６と関連付けられ、結果として、レベル１の関連付けニューロン７１５において、文字結合「ＳＡ」がを形成される。レベル１においてニューロン７１５がニューロン７１４と関連付けられ（「Ｔ＾」）、その結果として、レベル２の関連付けニューロン７２３において、識別可能な単語「ＳＡＴ＾」が形成される。
【００８６】
図７（ｉ）および７（ｊ）では、ニューロン７０８および７０９がそれぞれ文字「Ｏ」および「Ｎ」を認識し、それらが関連付けられて、レベル１にある関連付けニューロン７１６によって表される文字結合（および単語）「ＯＮ」が形成される。ニューロン７１６がニューロン７０４と関連付けられ、結果として、レベル２の関連付けニューロン７２４において、識別可能な単語「ＯＮ＾」が形成される。レベル２のニューロン７２３がニューロン７２４と関連付けられ、結果として、レベル３の関連付けニューロン７３２において、句「ＳＡＴ＾ＯＮ」が形成される。レベル３のニューロン７３１および７３２が関連付けられ、結果として、レベル４のニューロン７４１において、句「ＴＨＥ＾ＣＡＴ＾ＳＡＴ＾ＯＮ＾」が形成される。
【００８７】
図７（ｋ）および７（ｌ）では、ニューロン７０１０が文字「Ｍ」を認識し、ニューロン７０６と関連付けられ、結果として、レベル１のニューロン７１７において、文字結合「ＭＡ」が形成される。ニューロン７１７はニューロン７１２と関連付けられ（「Ｔ＾」）、結果として、ニューロン７２５において、識別可能な単語「ＭＡＴ＾」が形成される。ニューロン７２１がニューロン７２５と関連付けられ（「ＴＨＥ＾」）、結果として、ニューロン７３３において、句「ＴＨＥ＾ＭＡＴ＾」が形成される。
【００８８】
ニューロン７４１および７３３が関連付けられ、結果として、レベル５のニューロン７５１において、文「ＴＨＥ＾ＣＡＴ＾ＳＡＴ＾ＯＮ＾ＴＨＥ＾ＭＡＴ」が形成されることが可能である。各関連付けニューロンが、多くても１つの起動ニューロンと１つの被関連付けニューロンしか有しないことは明らかである。ただし、ニューロンは、後続ニューロンと先行ニューロンとを複数有することが可能である。たとえば、要素ニューロン７０１「Ｔ」は、「ＴＨ」（７１１）を表す後続ニューロンと、「Ｔ＾」（７１４）を表す後続ニューロンとを有する。要素ニューロン７０６「Ａ」は、「ＣＡ」（７１３）、「ＳＡ」（７１５）、および「ＭＡ」（７１７）を表す３つの先行ニューロンを有する。
【００８９】
図７（ｍ）に示した文を拡張するために、レベル０のニューロン７０１１が文字「Ｄ」を認識する。ニューロン７０１１は、ニューロン７０４と関連付けられ、結果として、ニューロン７１９において、結合「Ｄ＾」を形成する。ニューロン７０６が、ニューロン７０９と関連付けられ、結果として、ニューロン７２０において、結合「ＡＮ」を形成する。ニューロン７２０は、ニューロン７１９と関連付けられ、結果として、ニューロン７２６において、結合「ＡＮＤ＾」を形成する。ニューロン７３３が、ニューロン７２６と関連付けられ、結果として、ニューロン７４２において、結合「ＴＨＥ＾ＭＡＴ＾ＡＮＤ＾」を形成する。ニューロン７４１および７４２が関連付けられ、結果として、ニューロン７５２において、句「ＴＨＥ＾ＣＡＴ＾ＳＡＴ＾ＯＮ＾ＴＨＥ＾ＭＡＴ＾ＡＮＤ＾」を表す結合が形成されることが可能である。
【００９０】
図７（ｎ）では、レベル０において、各要素ニューロンが１文字しか表していないことを示している。レベル１の各ニューロンは、２文字の関連付けを表す。レベル２の各ニューロンは、最大４文字の関連付けを表すことが可能である。レベル３の各ニューロンは、最大８文字の関連付けを表すことが可能である。レベル４の各ニューロンは、最大１６文字の関連付けを表すことが可能である。レベル５の各ニューロンは、最大３２文字の関連付けを表すことが可能である。レベル６以降もレベルごとに２倍になり、レベル１０では、各ニューロンが最大１，０２４文字の関連付けを表すことが可能である。さらに、レベル２０では、各ニューロンが最大１，０４８，５７６個の要素イベントの関連付けを表すことが可能である。
【００９１】
自明であるように、テキスト認識では、必要な要素ニューロンの数はごく限られている。以下に示すそれぞれに対して、１つの要素ニューロンが必要である。
１．アルファベットの大文字の２６個の文字。
２．アルファベットの小文字の２６個の文字。
３．１０個の数字
４．標準的な英数字キーボードにおける３２個の区切り文字および同様の文字
５．必要になる可能性がある、他の任意の特殊文字（たとえば、ギリシャ文字など）
【００９２】
必要な構造ニューロンの数と必要な構造ニューロンのレベルの数とは、学習プロセス中で、ニューラルネットワークを用いる結果として増大する可能性がある。テキスト認識の例で言えば、関連する文書の数、関連する学習イベントの規模、文書内の言語の使用状況、および単語、句、節、文、段落、章、巻などの最大限の数が、結果として得られるニューラルネットワーク構造の規模に影響を及ぼす。たとえば、テキスト認識に本発明を用いて、ウィリアムシェークスピアの全戯曲を記録したとして、１つ目の戯曲を記録し終わった時点で特定の数「Ｎ１」の構造ニューロンがあるとする。その同じニューラルネットワークで２つ目の戯曲を記録した場合、必要なニューロンの総数は、それぞれの戯曲を単独処理した場合に必要なニューロン数の単純な算術和にはならないであろう。１つ目の戯曲のために作成されたニューロン以外に、２つ目の戯曲を処理するために必要になったニューロンだけがＮ１に追加され、増補された総数Ｎ２が与えられる。既に存在していた文字、単語、句、節、文などに対応するニューロンは追加されないが、それらの新しい関連付けが追加される。３つ目の戯曲が記録されると、新たに必要になったニューロンが同様に追加され、Ｎ３が与えられる。
【００９３】
最後の戯曲が記録された時点では、必要なニューロンの数の増加は多くはないであろう。主な増加は、ニューロン構造のより深いレベルでのもので、そこでは新しい関連付けが追加される。最も深いレベルは、全戯曲をまるごと表すのに必要なすべての関連付けを有する単一ニューロンであろう。
【００９４】
各レベルの各ニューロンは、任意のレベルの他の任意のニューロンと関連付けられて、第３のニューロンにおいて結果を与えることが可能なので、利用できる潜在的な順列および組み合わせの数は非常に大きくなる。
【００９５】
図７での考察から、ニューロン７５１において結果「ＴＨＥ＾ＣＡＴ＾ＳＡＴ＾ＯＮ＾ＴＨＥ＾ＭＡＴ」を与えるために用いることが可能な結合は様々に存在する。たとえば、レベル１では、図示されたように、以下の結合が記録される。
「ＴＨ」、「Ｅ＾」、「ＣＡ」、「Ｔ＾」、「ＳＡ」、「ＯＮ」、および「ＭＡ」
その他の結合も可能である。たとえば、次の結合が可能である。
「ＴＨ」、「ＨＥ」、「Ｅ＾」、「ＣＡ」、「ＡＴ」、「Ｔ＾」、「ＯＮ」、「Ｎ＾」、および「ＭＡ」
【００９６】
この後に、レベル２の可能な結合のさらなる範囲が続くことが可能である。ニューラルネットワークを使用することの所望の目的にあったルールを採用して、結合を低減または削除することによって、効率を高めることが可能である。
【００９７】
レベル１０のニューロンについて考えると、レベル１０のニューロンは、最大１，０２４個の要素イベントのシーケンスを表すことが可能である。その１つ目の要素は、要素レベルまたはルートレベルへのポインタに従うことによって表現可能である。これによって、相対的に迅速な表現が可能になる。
【００９８】
要素ニューロンは、学習に関してと、表現時の両方で頻繁に活性化されうる。純粋なバイナリ実装の場合は、単一のレベル１ニューロンによって、２つの要素ニューロンまたはルートレベルニューロンを表現するか関連付けることが可能である。レベル２ニューロンによって、２つのレベル１ニューロンを表現するか関連付けることが可能である。それ以上のレベルについても同様である。１，０２４個の要素イベントのシーケンスが活性化し、これらがネットワークによって学習／表現される場合は、各レベルにおいて、以下の数のニューロンが処理され、
１，０２４        レベル０
５１２        レベル１
２５６        レベル２
１２８        レベル３
６４        レベル４
３２        レベル５
１６        レベル６
８        レベル７
４        レベル８
２        レベル９
１        レベル１０
要素イベントの全シーケンスが表される。
【００９９】
ルートレベルにおいてニューロンの発火の基本的な時間間隔が１ミリ秒であったとすると、レベル１０ニューロンは、１０２４ミリ秒ごとに一度（あるいは１秒ごとに一度）だけ活性化または発火することになる。したがって、ニューラル構造を表す配列が、識別可能な記憶ブロック／領域の組み合わせとして表された場合は、深いレベルのニューロンほど、学習および表現の性能に影響を及ぼすことなく、より低速の記憶領域に格納されることが可能である。
【０１００】
好ましいニューラルネットワーク構造では、要素ニューロンは、ニューラルネットワーク構造のルートニューロンを、自身の起動ニューロンとする。これによって、要素ニューロンをあらかじめ定義しなくても、無限の数の要素ニューロンを稼働中に作成することが可能になる。あるいは、構造内の所定のニューラル記憶領域に要素ニューロンを割り当てることが可能であり、これによって、各要素ニューロンを直接アドレス指定すること（たとえば、ＡＳＣＩＩテキスト文字の場合は８ビット）、２５６個の要素ニューロンアドレスをあらかじめ割り当てること（０〜２５５）、および最初の構造ニューロンのアドレスをアドレス２５６に置くことが可能である。
【０１０１】
好ましくは、任意の時点でニューラル構造の任意の場所に新しい要素ニューロンを追加して、完全な柔軟性を与えることが可能である。あらかじめ定義された領域を要素ニューロンに用いる場合は、ルートニューロンに添付された、後続ニューロンのリストを検索する必要がないので処理がより高速になりうる。
【０１０２】
要素ニューロンは、ゼロに設定された、すなわち、（存在しようがしまいが）ルートニューロンを示している、起動ニューロンへのポインタと、その要素ニューロンによって表される要素イベントの値に設定された、被関連付けニューロンへのポインタとによって表されることが可能である。要素ニューロンは、その起動ニューロンの値が常にゼロなので、常に容易に特定または識別されることが可能である。したがって、ニューロンを表現する際には、いつ要素ニューロンに到達したかが容易にわかる。それは、起動ニューロンの値がゼロで、ルートニューロンを示しているからである。提供されているニューラルネットワークの本質に影響を及ぼすことなく、要素ニューロンの定義に別の方法を用いてもよい。
【０１０３】
好ましくは、起動ニューロンの新しい後続ニューロンが、リストの最前部に単純に追加される。したがって、それらは、起動ニューロンに直接添付される。このようにして、最新の記憶トレースが容易に表現される。
【０１０４】
ただし、後続ニューロンのリストを維持するために、様々なオプションが利用可能である。ニューラル構造は、ニューラルネットワーク構造の機能を追加するために、ユーザが選択する任意の方法でこの機能が使用されることを可能にする。たとえば、新しい関連付けニューロンをリストの末尾に追加することが可能である。あるいは、リストを番号順、アルファベット順などで維持することが可能である。同様に、頻繁にアクセスされるニューロンをリストの前方、または最前部に移して、常に、より新しく活性化された記憶ほど、よりアクセスしやすいようにすることが可能である。これは、古い記憶ほど、リストの後方に置かれ、表現を経験する可能性が低いという意味でもある。
【０１０５】
このように、必要に応じて、シナプス結合の強度を表す重みを用いることなく、リストの順序を用いて、起動ニューロンの後続ニューロンの相対シナプス強度または活性化レベルを表すことが可能である。
【０１０６】
任意のニューロンによって表される記憶は、単純に、起動ニューロンへのポインタによって表されるニューロンを表現して関連付けニューロンへのポインタによって表されるニューロンを表現することによって表現されることが可能である。起動ニューロンへのポインタがゼロの場合は、要素ニューロンの要素値を表現することが可能である。ゼロでない場合は、起動ニューロンへのポインタについて処理を繰り返すことが可能である。すなわち、要素ニューロンの、起動ニューロンへのポインタ、要素ニューロンの、被関連付けニューロンへのポインタなどを表現することが可能である。このように、部分を順序よく表現することによって任意のニューロンを完全に表現することが可能である。
【０１０７】
学習した知識を表すニューラルネットワーク構造を作成することが可能である。たとえば、以下のテキスト文を入力するとする。
ＬＵＣＹ＾ＩＳ＾ＣＲＹＩＮＧ＾ＵＮＤＥＲ＾ＴＨＥ＾ＴＡＢＬＥ＾．
ＪＯＨＮ＾ＩＳ＾ＰＬＡＹＩＮＧ＾ＩＮ＾ＴＨＥ＾ＰＡＲＫ＾．
ＰＥＴＥＲ＾ＩＳ＾ＲＥＡＤＩＮＧ＾ＩＮ＾ＴＨＥ＾ＣＨＡＩＲ＾．
ＭＡＲＹ＾ＩＳ＾ＳＬＥＥＰＩＮＧ＾ＵＮＤＥＲ＾ＴＨＥ＾ＴＲＥＥ＾．
ＪＯＨＮ＾ＩＳ＾ＲＵＮＮＩＮＧ＾ＩＮ＾ＴＨＥ＾ＲＡＣＥ＾．
ＰＥＴＥＲ＾ＩＳ＾ＰＬＡＹＩＮＧ＾ＯＮ＾ＴＨＥ＾ＳＷＩＮＧ＾．
ＭＡＲＹ＾ＩＳ＾ＴＡＬＫＩＮＧ＾ＯＮ＾ＴＨＥ＾ＰＨＯＮＥ＾．
【０１０８】
以下の句または記憶を表すニューロンを作成することが可能である。
ＩＳ  ＣＲＹＩＮＧ
ＩＳ  ＲＵＮＮＩＮＧ
ＩＳ  ＲＥＡＤＩＮＧ
ＩＳ  ＳＬＥＥＰＩＮＧ
ＩＳ  ＰＬＡＹＩＮＧ
ＩＳ  ＴＡＬＫＩＮＧ
【０１０９】
このケースでは、「ＩＳ＾」は、後続ニューロンを６個有する。
【０１１０】
同様に、以下の句または記憶を作成することが可能である。
ＵＮＤＥＲ  ＴＨＥ  ＴＡＢＬＥ
ＵＮＤＥＲ  ＴＨＥ  ＴＲＥＥ
ＩＮ  ＴＨＥ  ＰＡＲＫ
ＩＮ  ＴＨＥ  ＣＨＡＩＲ
ＩＮ  ＴＨＥ  ＲＡＣＥ
ＯＮ  ＴＨＥ  ＳＷＩＮＧ
ＯＮ  ＴＨＥ  ＰＨＯＮＥ
【０１１１】
したがって、ＬＵＣＹはＩＳ  ＣＲＹＩＮＧに関連付けられるが、ＩＳは、異なる６個の動作に関連付けられる。ＩＳの代替後続ニューロンの表現を変更することによって、以下のように、最大６個の異なる句／節を表現することが可能である。
ＬＵＣＹ  ＩＳ  ＣＲＹＩＮＧ
ＬＵＣＹ  ＩＳ  ＲＵＮＮＩＮＧ
ＬＵＣＹ  ＩＳ  ＲＥＡＤＩＮＧ
ＬＵＣＹ  ＩＳ  ＳＬＥＥＰＩＮＧ
ＬＵＣＹ  ＩＳ  ＰＬＡＹＩＮＧ
ＬＵＣＹ  ＩＳ  ＴＡＬＫＩＮＧ
【０１１２】
１つ目の句だけが学習されているが（ニューラルネットワークに入力されているが）、ＪＯＨＮ、ＰＥＴＥＲ、ＭＡＲＹなどについても同じことを行うことが可能である。
【０１１３】
実際には、構造「＊＊  ＩＳ」および「ＩＳ  ＊＊」に基づいて新しい表現を生成することが可能である。すなわち、以下のとおりである。
ＬＵＣＹ  ＩＳ              ＩＳ  ＣＲＹＩＮＧ
ＪＯＨＮ  ＩＳ              ＩＳ  ＲＵＮＮＩＮＧ
ＭＡＲＹ  ＩＳ              ＩＳ  ＲＥＡＤＩＮＧ
ＬＵＣＹ  ＩＳ              ＩＳ  ＳＬＥＥＰＩＮＧ
ＰＥＴＥＲ  ＩＳ            ＩＳ  ＰＬＡＹＩＮＧ
ＩＳ  ＴＡＬＫＩＮＧ
【０１１４】
したがって、すべてが構文として正しく、意味論的にも正しい３０（５×６）個の句／節を作成または表現することが可能である。以下も同様である。
ＯＮ  ＴＨＥ                ＴＨＥ  ＴＡＢＬＥ
ＩＮ  ＴＨＥ                ＴＨＥ  ＰＡＲＫ
ＵＮＤＥＲ  ＴＨＥ          ＴＨＥ  ＣＨＡＩＲ
ＴＨＥ  ＴＲＥＥ
ＴＨＥ  ＲＡＣＥ
ＴＨＥ  ＳＷＩＮＧ
ＴＨＥ  ＰＨＯＮＥ
これらは、すべてが構文としては正しいが、意味論的にはすべてが正しいとは言えない性質の２１（３×７）個の句／節を生成する可能性を与える。
【０１１５】
これら２つのセットを結合すると、次の構造になる。
｛＊｝  ＩＳ  ｛＊｝  （＊）  ＴＨＥ  ｛＊｝．
【０１１６】
これにより、わずか７個の入力文の学習で、｛５｝ＩＳ｛６｝＊｛３｝ＴＨＥ｛７｝の表現、すなわち、５×６×３×７＝６３０個の可能な表現が与えられる。したがって、このニューラルモデルによって、記憶のニューラル構造の学習および構築が可能になり、さらに、それらのニューロンまたは記憶を、ユーザが定義したプロセスに従って結合して、新しい表現または動作を作成することが可能になる。脳は、以前に学習したことを用いて、構文として可能な新しい概念または提案を探求することが可能である。何百万個ものニューロンがあれば、何十億もの、構文として正しい文を表現することが可能である。つまり、ニューラルネットワーク構造は、創造的な表現のための理想的な方法を与える。
【０１１７】
前述のニューラルネットワークを用いることによって、以下に述べるようなシステムが可能である。
・学習が可能である。
・表現機能がある。
・データではなく関連付けを格納する。
・コンピュータのメモリおよびストレージの空間を効率よく使用する。
・計算効率がよい。
【０１１８】
したがって、ニューラルネットワークは、関連付けのパターンの中のパターンを認識することが可能である。そうしたことから、ニューラルネットワークは、たとえば、株価動向の監視および予測、インターネットの監視、セキュリティ、コンピュータウィルスの検出、音声およびテキスト内の句の認識、音声およびテキスト内の節の認識、盗用の検出、データ圧縮など、様々な産業で役立ちうる。
【０１１９】
前述の、ニューラルネットワークの構造およびプロセスは、ソフトウェアまたはハードウェアの形で実装されることが可能である。ハードウェアで実装する場合は、チップの一部、専用チップの全部、またはチップの配列として実装することが可能であり、そのすべてが要素ニューロンおよび／または構造ニューロンである。要素ニューロンおよび構造ニューロンは、チップの一部であるか、専用ニューロンのメモリ配列にあることが可能である。すべてのニューロンが存在しているので、データの１つ目のパス上で、１つ目の要素ニューロンがデータの１つ目の要素を学習する。たとえば、図７の例の大文字Ｔである。その次の要素ニューロンは、その次の、データの要素を学習する。図７の例をまた用いると、小文字の「ｈ」である。以降も同様である。要素ニューロンと、ニューラルネットワークのより低いレベルにあるニューロンとは、より深いレベルで関連付けを作成するためにより頻繁に活性化するので、最大性能を得るためには、より高いプロセッサ速度が必要になりうる。深いレベルにあるニューロンほど、活性化する頻度が低く、したがって、より低いプロセッサ速度で記憶装置に格納されることが可能である。
【０１２０】
したがって、感覚ニューロン、運動ニューロン、およびシナプス結合を含む、ニューロンの概念に基づいて、ニューラルネットワークが提供される。脳内の各ニューロンは、配列内またはメモリ内の単一ノードによって、単純な様式で表されることが可能である。ニューロンは、配列内またはメモリ内の固定長ノードである。各シナプス結合は、各ノード内で、他のニューロンへのポインタによって表されることが可能である。配列内のニューラルノードは、データ配列内の他のニューロンへのポインタだけで排他的に構成されることが可能である。ただし、運動ニューロンまたは感覚ニューロンは、外部環境と対話するための感覚値または運動値を含む。各ニューロンは、他のニューロンとの結合を含む。ニューロンは、処理を支援すること、関連付けを作成するルールにおいて用いられること、および表現のために、必要に応じて、たとえば、学習中の活性化の頻度、後続ニューロンの数、先行ニューロンの数など、他の情報も保持することが可能である。
【０１２１】
感覚ニューロンまたは運動ニューロンに対応する要素ニューロンは、外部入力装置や外部出力装置とのインターフェースおよび対話のために定義されることが可能である。
【０１２２】
ニューラルネットワークは、ニューラル構造の作成およびニューラル結合の横断についての適切なルールにより、ニューロンおよびシナプス結合に基づいて、表され、構築されることが可能である。ニューラルネットワークは、ニューロン間に関連付けを作成することによって学習する。どのニューロンについても、その表現が再現および表現されることが可能であり、他のニューロンとの、複数の関連付けの探求と、その関連付けの順列とが、再現または表現されることが可能である。ニューロンは記憶を表すことが可能であり、記憶は、ニューロンの表現として定義される。
【０１２３】
外部感覚ニューロンイベントの経験と接したり、それを学習したり処理したりすることと、入力された経験の記憶を作成することとは、ニューロンによって、およびニューロン間の新しい結合によって表される。
【０１２４】
外部運動ニューロンイベントのアクティビティと接したり、それを学習したり表したりすることと、出力されたアクションの記憶を作成することとは、新しいニューロンによって、およびニューロン間の新しい結合によって表される。
【０１２５】
ニューラルネットワークは、学習することが可能であり、記憶を表現または再現することが可能であり、外部環境と対話したり外部環境に対して自身を表現したりすることが可能であり、考えること（前述のように、代替ニューロン関連付けを探求することとして定義されるプロセス）と自身を創造的に表現することとが可能である。
【０１２６】
本発明はさらに、先述の方法を実施するために１つまたは複数の機能を１つまたは複数のプロセッサに実行させるようにカスタマイズされたコンピュータプログラムコードまたは専用に構築されたデジタルプロセッサチップを含む、コンピュータで使用可能な媒体にまで拡張される。
【０１２７】
ここまで、本発明の好ましい実施形態について説明してきたが、当業者であれば、本発明から逸脱することなく、設計、構造、または動作の細部において様々な変形や修正が可能である。
【図１】
2010092491.tif 000003
【図２】
2010092491.tif 000004
【図３】
2010092491.tif 000005
【図４】
2010092491.tif 000006
【図５】
2010092491.tif 000007
【図６】
2010092491.tif 000008
【図７（ａ）】
2010092491.tif 000009
【図７（ｂ）】
2010092491.tif 000010
【図７（ｃ）】
2010092491.tif 000011
【図７（ｄ）】
2010092491.tif 000012
【図７（ｅ）】
2010092491.tif 000013
【図７（ｆ）】
2010092491.tif 000014
【図７（ｇ）】
2010092491.tif 000015
【図７（ｈ）】
2010092491.tif 000016
【図７（ｉ）】
2010092491.tif 000017
【図７（ｊ）】
2010092491.tif 000018
【図７（ｋ）】
2010092491.tif 000019
【図７（ｌ）】
2010092491.tif 000020
【図７（ｍ）】
2010092491.tif 000021
【図７（ｎ）】
2010092491.tif 000022
【図８】
2010092491.tif 000023
【図９】
2010092491.tif 000024
【図１０】
2010092491.tif 000025
【図１１】
2010092491.tif 000026
【外国語明細書】
2010092491000001.pdf