(57)【要約】【解決手段】  特定のタスクを実行するように適応された神経システムを開発する方法及びシステムにおいて、神経システムの母集団が選択され、各システムが、相互結合されたニューロンの配列を含み、代表的ゲノムに符号化される。所定のゲノムに関して、処理遺伝子が、各ニューロンの神経出力関数を符号化する。各ニューロンからの結合が、それぞれ重み関数を含む一以上の結合遺伝子によって符号化される。特定のタスクが、試行期間中に実行され、パフォーマンスが連続的に監視される。（連続的に監視したパフォーマンスからの）強化信号が、処理遺伝子と結合遺伝子のそれぞれと関連付けられた関数への入力として印加される。試行の終わりに、特定のタスクを実行するための適合度が、印加される強化信号の関数として決定される。神経システムの新しい世代を形成するために、最も高い適合値を有する母集団の神経システムを表す１組のゲノムが選択される。【選択図】図１
2007504576.tif 000002
【特許請求の範囲】
【請求項１】
特定の神経システムを代表的ゲノムに符号化する方法であって、神経システムが、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化する段階と、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化する段階と、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成する段階と含む方法。
【請求項２】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子が、ニューロン間の様々なタイプの相互作用を符号化する、請求項１に記載の方法。
【請求項３】
処理遺伝子が、対応するニューロンのための神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の特定の関数としてニューロン出力を提供する請求項２の方法。
【請求項４】
処理遺伝子内で符号化された神経出力関数が、内部ノードと葉ノードを有する数学的表現ツリーの形で符号化され、前記内部ノードが１組の数学演算子を表し、前記葉ノードが、前記数学的表現ツリーへの１組の末端入力を表す、請求項３に記載の方法。
【請求項５】
選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項２に記載の方法。
【請求項６】
前記ゲノムの１群の遺伝子を、同様に処理遺伝子と結合遺伝子を含む別のゲノムの１群の遺伝子と交換することができる、請求項５に記載の方法。
【請求項７】
前記結合遺伝子がそれぞれ、別のニューロンに対するニューロン結合の位置を符号化し、更に結合と関連付けられた重みを符号化する、請求項２に記載の方法。
【請求項８】
前記結合遺伝子をそれぞれ突然変異させることができる、請求項７に記載の方法。
【請求項９】
前記結合遺伝子はそれぞれ特定数の構成要素に細分され、各構成要素は機能的能力を構成する、請求項３に記載の方法。
【請求項１０】
前記構成要素の１つが、対応する結合の重みを決定する重み関数を符号化する強度サブ遺伝子を含む、請求項９に記載の方法。
【請求項１１】
前記強度サブ遺伝子が、関連した１組の演算子を有する数学的表現ツリーによって表される、請求項１０に記載の方法。
【請求項１２】
前記演算子の組のうちの少なくとも１つが、神経システムがそのニューロン結合を再構成することを可能にする一以上の演算子を含む、請求項１１に記載の方法。
【請求項１３】
結合を再構成する前記演算子が、新しいニューロン結合を作成する第１の演算子と、ニューロンとニューロン結合を除去する第２の演算子を含む、請求項１２に記載の方法。
【請求項１４】
処理遺伝子内の第１の演算子が、ニューロンに選択的に指示して各結合タイプごとに１つの新しい結合を作り、強度サブ遺伝子内の第１の演算子が、ニューロンに選択的に指示してサブ遺伝子のタイプの新しい結合だけを作る、請求項１３に記載の方法。
【請求項１５】
処理遺伝子内の第２の演算子が、神経システムからニューロンと結合を除去し、強度サブ遺伝子内の第２の演算子が、サブ遺伝子の結合だけを除去する、請求項１３に記載の方法。
【請求項１６】
前記結合遺伝子がそれぞれ、複数のパラメータサブ遺伝子を含み、各パラメータサブ遺伝子が、特定の値か数学的表現ツリーのいずれかを選択的に符号化するように配置された、請求項２に記載の方法。
【請求項１７】
前記パラメータサブ遺伝子のうちの１つが、カウントサブ遺伝子を含み、前記カウントサブ遺伝子が、各タイプのニューロンによって作られる各タイプの結合の数を指定する、請求項１６に記載の方法。
【請求項１８】
前記パラメータサブ遺伝子が、ニューロンへの各結合がどこに進むかを集合的に決定する方向サブ遺伝子とレンジサブ遺伝子を含む、請求項１６に記載の方法。
【請求項１９】
前記パラメータサブ遺伝子のうちの１つが、それぞれの結合がリンクするニューロンの種類を示すターゲットサブ遺伝子を含む、請求項１６に記載の方法。
【請求項２０】
前記方法が、前記結合遺伝子の前記サブ遺伝子を選択的に突然変異させる段階を含む、請求項１６に記載の方法。
【請求項２１】
処理遺伝子と強度サブ遺伝子がそれぞれ、特定の形式と対応する入力とを有する出力関数を符号化し、前記出力関数の少なくとも１つが、前記神経システムを選択的に訓練する際に使用される対応する入力に印加される正強化信号と負強化信号に応答する、請求項１１に記載の方法。
【請求項２２】
特定の用途に使用するための神経システムを構築する方法であって、
一以上のタイプのニューロンを配列で表し、更に前記ニューロン間の一以上のタイプの相互作用を表すようにゲノムを符号化する段階と、
前記ゲノム内で符号化された前記ニューロンを、最初の数が前記用途によって少なくとも部分的に決定される入力ニューロンとして前記神経システムに挿入する段階と、
それぞれの入力ニューロン間の結合を選択的に構築する段階と、
新しいニューロンを選択的に作成する段階とを含む方法。
【請求項２３】
前記ゲノムによって表される各ニューロンが、処理遺伝子によって符号化された神経出力関数を有し、様々なタイプのニューロンがそれぞれ、様々なタイプの処理遺伝子によって符号化され、ニューロン間の前記相互作用がそれぞれ、結合遺伝子によって符号化され、様々なタイプの相互作用がそれぞれ、様々なタイプの結合遺伝子によって符号化される、請求項２２に記載の方法。
【請求項２４】
前記ニューロン間の一以上のタイプの相互作用の前記符号化された表現が、構築する結合の数を指定し、結合が行われるターゲット領域を決定し、結合が行われるニューロンのタイプを示す、請求項２２に記載の方法。
【請求項２５】
ニューロン結合を構築する段階が、
特定のターゲット領域内の第１の位置を選択する段階と、
見つかったニューロンが特定のタイプである場合に、前記第１の位置で見つかったニューロンとの結合を形成する段階と、
前記第１の位置で見つかったニューロンが前記特定のタイプのものでない場合、ニューロンを探索するための第２の位置を選択する段階と、
前記第１の位置でニューロンを見つけることができなかった場合に、前記第１の位置に前記特定のタイプのニューロンを作成する段階とを含む、請求項２４に記載の方法。
【請求項２６】
前記ニューロン間の前記相互作用の前記符号化表現が、グループから選択された一以上の条件を選択的に指定し、前記グループが、前記特定のターゲット領域内で前記特定のタイプの既存のニューロンを見つけることができなかった場合だけ前記特定のタイプのニューロンを作成する条件を含み、前記特定のタイプの既存のニューロンへの結合が、前記特定のターゲット領域内に新しいニューロンを作成する空所を見つけることができない場合だけ行われ、新しいニューロンの作成が許可されず、既存のニューロンへの結合が許可されない、請求項２５に記載の方法。
【請求項２７】
新しいニューロンの作成が、一以上の新しい結合の作成を必要とし、前記新しい結合が、既存のニューロンに結合するか、或いは新しいシナプス後ニューロンを作成し、前記結合作成プロセスが、既存のニューロンへの全ての新しい結合が行われるか、神経システム内のニューロンの最大数に関する予め設定された制限に達するまで続く、請求項２６に記載の方法。
【請求項２８】
前記神経システムが完成したときに、作成される最後の１組のニューロンが出力ニューロンとして指定される、請求項２７に記載の方法。
【請求項２９】
前記神経システムが、多数の異なる回路組み合わせを含む、請求項２８に記載の方法。
【請求項３０】
前記神経システムが、特定の数の次元を有する配列を含む、請求項２９に記載の方法。
【請求項３１】
特定のタスクを実行するように適応された神経システムを開発する方法であって、
相互結合されたニューロンの配列をそれぞれ含む神経システムの母集団を選択する段階と、
各神経システムを代表的ゲノムに符号化する段階であって、所定の神経システムのゲノムが、対応する処理遺伝子内の各ニューロンの神経出力関数を符号化し、一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化し、各結合遺伝子が重み関数を含む段階と、
試行期間中に前記所定の神経システムを動作させて前記特定のタスクを実行する段階と、
前記試行期間中に前記所定の神経システムのパフォーマンスを連続的に監視する段階と、
前記連続的に監視したパフォーマンスから決定された強化信号を、前記所定の神経システムの各処理遺伝子の神経出力関数への入力として、また各結合遺伝子の重み関数への入力としての印加する段階と、
前記試行期間が終わった後で前記特定のタスクを実行するために前記所定の神経システムの適合性を決定する段階とを含む方法。
【請求項３２】
前記強化信号が、時間ステップの総数Ｔに含まれる時間ステップｔで受け取った正強化信号ＰＲtと負強化信号ＮＲtとを含む、請求項３１に記載の方法。
【請求項３３】
前記特定のタスクを実行するための前記所定の神経システムの適合度Ｆが、次の関係式から決定される、請求項３２に記載の方法。
2007504576.tif 000004
【請求項３４】
最も高い適合値を有するように決定された前記母集団の神経システムをそれぞれ表す１組の前記ゲノムが、、神経システムの新しい世代を形成する際に使用するために選択される、請求項３３に記載の方法。
【請求項３５】
各ゲノムが、一連の選択試行にかけられ、以前の適応性の損失を検出するために定期的にテストされる、請求項３３に記載の方法。
【請求項３６】
前記選択試行がそれぞれ、知能と関連付けられた特性を作り出すように配置された、請求項３５に記載の方法。
【請求項３７】
特定の神経システムを代表的ゲノムに符号化するためのコンピュータシステムであって、
神経システムが相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、前記コンピュータシステムが、
一以上のプロセッサと、
プロセッサに結合されたコンピュータ可読媒体とを含み、この媒体が、前記プロセッサによって読み取られ、それにより前記プロセッサに、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化させ、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化させ、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成させるように構成されたプロセッサ命令を含むコンピュータシステム。
【請求項３８】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子がニューロン間の異なるタイプの相互作用を符号化する、請求項３７に記載のコンピュータシステム。
【請求項３９】
処理遺伝子が、対応するニューロンの神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の指定された関数としてニューロン出力を提供する、請求項３８に記載のコンピュータシステム。
【請求項４０】
前記方法が、選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項３８に記載のコンピュータシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本願は、２００３年１月１７日に出願された米国仮出願番号６０／４４０，８８３号の特典を請求するものであり、この出願の内容を本明細書の一部を構成するものとしてここに引用する。
【技術分野】
【０００２】
本発明は、人工知能に関し、より詳細には人工知能を開発するシステム及び方法に関する。
【背景技術】
【０００３】
１９４０年代にコンピュータが紹介されて以来、人間の精神の最も高い能力の１つである知能の人工的な複製に強い関心が払われてきた。このコンピュータ科学の部門は人工知能（ＡＩ）として知られており、その目的は、言語理解、問題解決、パターン認識、学習、不完全又は不確かな情報からの推論等、人間の知能と関連した特性を示す機械を作り出すことである。
【０００４】
数十年間の研究において、人工知能への主要なアプローチとして、ますます複雑になるアルゴリズム、より高速のコンピューターハードウェア、並びにより大きいメモリ、データベース及び知識ベースの開発が行われたが、これらは引き続き課題として残っている。この技術により、人工知能研究者達は、チェスをしたり病状を診断したりするような特定のタスクを、手順と目的が正確に定義されて変化しない限り、うまく実行するエキスパートシステムを開発してきた。しかしながら、その精巧さにもかかわらず、そのようなシステムの能力は、システム自体の知能ではなくて設計者の知能を反映するものである。
【０００５】
そのよい例は、ＩＢＭTMによって開発されたＤＥＥＰ  ＢＬＵＥTMコンピュータチェスシステムである。ＤＥＥＰ  ＢＬＵＥTMシステムは、前進できるいくつかのチェス位置の多くの計算を必要とする力ずくの探索と、高度なスコアリングと探索のヒューリスティクスと、その時点での世界ランク上位の人間チェスプレーヤを負かすことができた序盤及び終盤データベースを組み合わせたものを使用した。しかしながら、チェスの観客が見たものは、一般的な知能の功績ではなく、単に特定の問題を解決するための力ずくの計算の勝利であった。機械知能のテストとして、チェスは妥当な選択のように思えることがあるが、その理由は、人間のチェスをする能力が、人間の知能を他の複雑な問題に利用する能力のはっきりした指標であるからである。しかしながら、チェスはうまくできるが他の分野の基本的な問題を解決できない人間は、自閉症の人と同様に知的であるとは考えられない。ＤＥＥＰ  ＢＬＵＥTMシステムにはチェス以外の能力がなく、チェスに勝ったからといって一般的な知能を達成できるとは限らない。
【０００６】
従って、特定のタスクを模倣するためにコンピュータをプログラミングすることは、熟練したプログラマが明確に定義された問題を解くアルゴリズムを考案できたとしても、恐らく本当の人工知能を実現することにはならない可能性がある。それよりもむしろ、変化する環境において、動的で汎用的で予期しない問題に適応できる学習及び問題解決能力が必要とされる。
【０００７】
この手法の欠点の１つの理由は、知能の表面的挙動だけをモデル化し、その基礎的なダイナミクスをモデル化していないことである。グランドマスターレベルのチェスをすることは知的な人間の行為であるが、その人間を知的にしているものは、その人間がチェスをどのように考えているかである。場合によっては、実際的で人工的な代替案には、システムのわずかないくつかの関連する挙動をシミュレーションするだけで十分である。例えば、人工芝は、フットボール用の緑の競技面としての芝生の実用的な代用品である。しかし、人工芝が、光合成をし、野生生物を引き寄せ、或いは土地に栄養素を導入することを期待されるとしたら、ウェブ状のゴム格子に織り込まれた緑色のプラスチックポリマーは不満足な設計である。知能を作り出すためには、人間の脳の挙動の一部分だけをモデル化するのではなく、人間の脳が知能をどのように作り出すかをモデル化することが望ましい。
【０００８】
残念ながら、人間の脳は複雑すぎて、その脳の構造と低レベルの機能を複製することによって脳のダイナミクスを直接モデル化することはできない。例えば、人間の脳は、数百万の相互に結合されたニューロンの複雑なネットワークである。知能を司る領域である大脳皮質は、それ自体に数十の異なる領域があり、各領域に約６個の異なる層がある。各層には、それ自体に幾つかの異なるタイプのニューロンの構成があり、各タイプのニューロンは、入ってきた刺激に対して、そのニューロン自体の固有の発火（firing）レート及び強度でそれ自体のやりかたで応答する。ニューロンのタイプ、構成、及びダイナミクスとニューロン間の結合には、脳の層、領域及び部位（region）全体にわたって大きなばらつきがある。神経科学の文献には、様々なニューロン及び結合タイプの説明はたくさんあるが、脳の内部の働きから知性がどのように生まれるかに関する適切な理論はまだない。人工知能研究者達は、脳がどのように知能を実現するかを理解することなく、脳を模倣して知能を再現することに大変苦労している。
【０００９】
人間の脳の単純化されたモデルでさえ、汎用的な知能の達成には成功していない。例えば、１つの手法は、層状に配列され結合された「人工ニューロン」からなる人工ニューラルネットワークを使用することによって人間の脳の活動をシミュレーションすることである。図１８は、３つの人工ニューロン１８０３、１８０５及び１８０７の入力層１８０１と、通常は１つの隠れ層１８０９（人工ニューロン１８１１、１８１３、１８１５、及び１８１７）と、人工ニューロン１８２１及び１８２３を有する出力層１８１９とを含む人工ニューラルネットワーク１８００を示す。各層１８０１、１８０９及び１８１９は完全に相互結合されており、信号処理はフィードフォワード型であり、これは、所定の層内の各人工ニューロンが、前の層内の全ての人工ニューロンから入力信号を受け取って、次の層内の全ての人工ニューロンに出力信号を送ることを意味する。各人工ニューロンは、その入力の重み付け加算の関数として出力を生成し、人工ニューラルネットワークの出力は全体として、全ての結合重み（connection weights）に依存する。ほとんどの人工ニューラルネットワークは、図１８に示したものよりも多数の人工ニューロンを有するが、この複数層のフィードフォワード構造より複雑なことはまれである。
【００１０】
人工ニューラルネットワークは、プログラミングと実行の２つの連続した段階で動作する。プログラミング段階で、人工ニューラルネットワークは、光学式文字認識用のアルファベット文字等の１組の学習パターンを入力層１８０１に印加し、出力層１８１９に適切な出力が生成されるまで全ての人工ニューロンの結合重みを調整することによって訓練される。プログラミング段階が完了すると、人工ニューラルネットワークは、実行段階の準備ができ、人工ニューラルネットワークは、訓練セットに予め示されたパターンに対して人工ニューラルネットワークに印加される入力を分類するために使用される。人工ニューラルネットワークは、特に手書き文字や他の文字認識の用途では、パターンの認識と分類においてある程度成功してきており、ノイズの多いデータに対して極めてロバストな場合がある。しかしながら、人工ニューラルネットワークが実行段階に入ると、新しいパターンを認識する能力は、結合重みが新しい訓練セットで完全にプログラムしなおされるまで固定される。例えば、人工ニューラルネットワークが、アルファベット文字を光学的に認識するように訓練されている場合、アルファベットに新しい文字を増やすには、人工ニューラルネットワークの結合重みをリセットし最初から訓練しなければならない。
【００１１】
この固有の制限のため、人工ニューラルネットワークは、生物学的な神経システムと表面的かつ用語的に類似しているにもかかわらず、人工知能に対する他のアプローチよりも進歩する見込みがほとんどない。人工ニューラルネットワークとエキスパートシステムは違ったようにプログラムされるが、その結果は、基本的に同じであり、正確で予め決められた一連の計算を実行するが、知能の他のサインを学習したり表示したりすることができない比較的静的なシステムである。
【００１２】
２００２年７月２３日に発行された「Adaptive Neural Learning System」と題する米国特許第６，４２４，９６１号に開示されているように（この明細書の内容は本明細書の一部を形成するものとして引用される）、私は、神経発火（neural firing）の時間的近さとシステム活動レベルに基づいて負強化（negative reinforcement）と正強化（positive reinforcement）によってその結合重みを調整しなおすことができるニューラル学習システムを発明した。従って、私のニューラル学習システムは適応性があり、新しい問題のためにニューラル学習システムを最初からプログラムしなおすことなく、新しいパターンを認識したり新しいタスクを実行したりするために、実行中にそのプログラミングを調整することができる。更に、従来の人工ニューラルネットワークの基礎的なフィードフォワード構成の代わりに、私のニューラル学習システムのニューロンは、様々なサイズと複雑さのフィードバックループで結合することができる。
【００１３】
従来の人工ニューラルネットワークと比較して、私のニューラル学習システムは、人間の脳の複雑さをよりよく表すことができるが、知能を実現するために人間の脳の複雑さをどれだけシミュレーションしなければならないかがまだはっきりしていない。脳の複雑さは、確かに、知能を実現するのに十分であるが、この複雑さの多くは、例えば体温の維持、筋肉運動の調整や他の活動に使用される、知能とは無関係である可能性がある。実際に、脳の複雑さの一部分は全く使用されない可能性があり、これは、あまり知的でない人間の祖先からの各世代に機能的中間物を完全に生成しなければならなかった長い進化の過程の遺物である。
【００１４】
従って、脳の複雑さの多くは、実際には、知能を実現するためには必然的な進化の副産物として以外は不要なことがあり、これは、人間の脳の精密な構造を詳細に再現することが、成功のための実際的な手段ではないことを示している。しかしながら、予めプログラムされている１つのタスクだけを極端にうまく実行できる間抜けな召使いではなくて、真に知的な機械を開発できる、人工知能における画期的な発明が依然として必要とされている。
【発明の開示】
【課題を解決するための手段】
【００１５】
本発明は、進化の特定の結果を複製したり従来技術のシステムで行われてきたような特定のタスクを実行したりしようとするのではなく、純粋な人工知能を作成する取り組みに係る。本発明では、進化メカニズム自体が知能を示すシステムの開発に使用される。人工知能研究における長い間の失敗は、適応神経システムの生成を適合性が知能によって判断される競争力のある厳密な選択方式にかけることによって対処される。このプロセスの結果、人工知能が得られる。
【００１６】
１つの実施形態において、本発明は、特定の神経システムを代表的ゲノムに符号化する方法を提供し、神経システムは、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有する。この方法は、所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によってニューロン入力をニューロン出力に変換する仕様を符号化し、所定のニューロンからの結合を一以上の対応する結合遺伝子によって符号化する段階を含む。神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令してゲノムを形成する。ゲノムは、様々なタイプの処理遺伝子と結合遺伝子を含み、各タイプの処理遺伝子は異なるタイプのニューロンを符号化し、各タイプの結合遺伝子は、ニューロン間の様々なタイプの相互作用を符号化することが好ましい。また、方法は、選択された処理遺伝子と結合遺伝子に突然変異操作を実行する段階を含むことが好ましい。
【００１７】
本発明の更に他の実施形態は、特定の用途に使用するための神経システムを構築又は組み立てる方法を対象とし、ゲノムは、一以上のタイプのニューロンを配列で表し、ニューロン間の一以上の相互作用を表すように符号化される。方法は、ゲノム内で符号化されたニューロンを入力ニューロンとして神経システムに挿入し、それぞれの入力ニューロン間の結合を選択的に構築し、新しいニューロンを選択的に作成する段階を含む。
【００１８】
本発明のさらに別の実施形態は、特定のタスクを実行するように適応された神経システムを開発する方法を対象とする。この方法は、神経システムの母集団を選択する段階を含み、各神経システムは、相互結合されたニューロンの配列を含み、各神経システムを代表的ゲノムに符号化する。所定の神経システムのゲノムは、対応する処理遺伝子内の各ニューロンごとに神経出力関数を符号化し、それぞれ重み関数を含む一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化する。方法は、更に、試行期間中に指定されたタスクを実行するように所定の神経システムを操作し、試行期間中に所定の神経システムのパフォーマンスを連続的に監視する段階を含む。連続的に監視されたパフォーマンスから決定された強化信号が、所定の神経システムのそれぞれの処理遺伝子と結合遺伝子の関数に入力として印加される。試行期間の終わりに、指定されたタスクを実行する所定の神経システムの適合性が決定される。適合性は強化信号の関数として決定されると有用である。
【００１９】
本発明の更に他の態様、特長及び利点は、本発明を実施するように意図された最良の態様を含む幾つかの特定の実施形態と実施態様を単に示すことによって、以下の詳細な説明から容易に明らかである。本発明は、また、その他の異なる実施形態が可能であり、その幾つかの詳細は全て、本発明の精神及び範囲から逸脱することなく、様々な明らかな態様で修正することができる。従って、図面と説明は、本質的に例示と見なされ、限定として見なされるべきでない。
【００２０】
本発明は、添付図面の図において限定ではなく例として示されており、図において類似の参照番号は類似の要素を示す。
【発明を実施するための最良の形態】
【００２１】
人工知能を開発するためのシステム、方法及びソフトウェアを説明する。以下の記述では、説明のために、本発明の完全な理解を提供するために多数の特定の詳細を述べる。しかしながら、そのような特定の詳細なしに或いは等価な構成によって本発明を実施できることは当業者には明らかである。他の例において、本発明を無駄に不明瞭にするのを避けるために、周知の構造と装置はブロック図形式で示す。
【００２２】
Ｉ．仮想進化 
人工知能の探究は幻想ではなく、本物の知能は、これまで進化によって作り出されてきた。知能の基礎となるメカニズムの理解はまだその黎明期にあるが、突然変異、淘汰、再生の基礎となるメカニズムの理解は、他の科学分野と同じくらい成熟している。従って、本発明の１つの態様は、知能を再び生成するために、かつて本物の知能を生成してきた進化メカニズムを利用することと関係する。
【００２３】
図１は、ゲノムを符号化する段階（phase or step）（１０１）と、ゲノムから新しい神経システム即ち脳を構築する段階（１０３）と、新しい神経システムをテストする段階（０１５）と、ゲノムを選択する段階（１０７）と、継続／終了する段階（１０９）と、再生する段階（１１３）と、突然変異させる段階（１１５）とを含む、本発明の１つの態様による仮想進化を使用して人工知能を開発するプロセスの概要である。
【００２４】
段階１０１で、１組の仮想ゲノムが生成され、各仮想ゲノムは、対応するタイプの神経システムを符号化し表現する。デジタル的な実施形態において、仮想ゲノムは、処理遺伝子（processing gene）と結合遺伝子（connection gene）を表す一連のビットを含み、このビットは、様々なタイプの相互結合されたニューロンからなる神経システムを組み立てるためのパラメータを指定する。仮想ゲノムの１つの実施形態は、後で詳しく説明する。
【００２５】
段階１０３で、それぞれのゲノムから新しい神経システムを構築する。新しい神経システムを組み立てるために、対応するゲノム内の符号化されたニューロンが、入力ニューロンとして提供され、入力ニューロンの最初の数は、新しい神経システムの意図された用途によって決定される。次に、それぞれの入力ニューロンの間に結合が作成され、更に他のニューロンとその間の結合が、指定された規則又は原理に従って作成される。新しい神経システムを構築する手順は、後で更に詳しく説明する。
【００２６】
試験段階１０５で、試行期間中に指定されたタスクを実行するように新しい神経システムを操作する。試行期間中にシステムのパフォーマンスを連続的に監視し、監視したパフォーマンスに応じて、正強化信号及び／又は負強化信号を新しい神経システムに入力として印加する。新しい神経システムをテストする手順は、同様に、後で更に詳しく説明する。本発明の極めて有用な実施形態において、試行期間の終わりに、印加された強化信号から、特定のタスクを実行するための新しい神経システムの適合性が計算される。
【００２７】
段階１０７は、仮想進化の選択段階に関係する。選択試行において示された各神経システムの適合性が決定された後で、母集団内により知的な神経システムを含むゲノムのサブセットが選択される。ゲノムは、それぞれの対応する神経システムの実測適合性レベルを比較することによって選択される。対応する神経システムの実測適合性に基づいてゲノムを選択する様々な方法を使用することができる。例えば、選択は、順位（例えば、上位１０個、或いは最も適合性の高い１０％）、絶対閾値（適合性の実測値がＸより大きい全てのゲノム）、又は確率（例えば、適合性実測値により重み付けされたゲノムをランダムに選択する）に基づくことができる。他の方法も使用することができ、ゲノムの存続は、実測された知能と積極的に関連付けられる。
【００２８】
段階１０９は、仮想進化プロセスを継続するか終了するかの決定に関係する。この決定は、生成された世代の数、費やされた時間の長さ、達成される知能適合性スコア、プロジェクトの貨幣原価、進化履歴等を含む様々な因子に依存することがある。実際に、仮想進化は無制限に進行してもよく、知的神経システムは、必要に応じて現行母集団からサンプリングされる。仮想進化の実行を終了する判断が肯定的な場合は、プロセスは終了し（段階１１１）、現行母集団内の神経システムは、知能を必要とする用途に使用する準備ができる。
【００２９】
一方、仮想進化プロセスが継続する場合は、選択段階１０７から残存したゲノムの母集団から次世代の仮想ゲノムが生成される（段階１１３）。再生するには、次世代のために選択された母集団内のゲノムの少なくとも１つ又は複数を複写することを必要とする。しかしながら、実際には、再生段階は、その後に続く概念的に別個の突然変異段階１１５と組み合わされることが多く、新しいゲノムの一部分は確率論的に混乱する。突然変異は、また、複数の親ゲノム間の再結合を必要とすることがある。全ての再生されたゲノムやゲノムの全ての遺伝子が突然変異しなければならないわけではなく、実際に、突然変異率は、知的神経システムが母集団を維持できるほどの低さであることが好ましい。
【００３０】
段階１１５の突然変異の後で、仮想進化プロセスは段階１０３に戻り、そこで、次世代の神経システムが、段階１０９の終了状態がトリガされるまで、前述のような段階１０３〜段階１０７と、段階１１３及び段階１１５のサイクルにかけられる。
【００３１】
コンピュータ科学者達は、遺伝的アルゴリズムや他の人工的な進化方法を四半世紀以上にわたって実験してきており、直接アルゴリズム技法では実際的でない多くの問題に対するソリューションを見つけた。しかしながら、知能を作り出す役割を負った進化システムの設計は、典型的な進化計算問題の実践者に普通でない多くの課題を課す。
【００３２】
例えば、遺伝的アルゴリズムのほとんどの用途では、解空間の構造が前もって適切に特徴付けられており、従って、進化プロセスは、１組の予め定義されたパラメータを微調整するだけでよい。従って、プログラミング段階で人工ニューラルネットワークの結合重み値を見つけるために遺伝的アルゴリズムを使用することができる。人工ニューラルネットワークの構造はかなり厳格であり、研究は、主に、隠れ層内に使用する人工ニューロンの数を決定することに限定される。これに比べて、本物の知的神経システムの構造はあまりよく理解されておらず、従って、新しいパラメータと構造を作り出す際に生物進化と同じくらい創造的な能力を持つ必要がある。具体的には、新しいタイプ、配列及びダイナミクスの神経処理要素とその相互関係、並びにそのような要素と相互関係のシステム全体を、人工ニューラルネットワークと同じくらい単純なものから皮質回路と同じくらい複雑なものに進化させることが望ましい。
【００３３】
別の例として、競合する個体間のパフォーマンスの定量的比較が簡単なほとんどの進化計算問題と違って、知能のように抽象的で一般的な特徴を選択するパフォーマンスメトリクスは設計が困難である。しかしながら、幾つかの原理を明確に表現することができる。変化する環境に適応し、推理を行って推論を導き出し、広範な選択肢から最適な行動方針を選択する能力に関して個体をテストしなければならない。特に、個体は、プログラマによって与えられた特定の命令を実施するのではなく、正と負の環境フィードバックに連続的に応えることによってそのようなことを自分でどのように行うかを学習できなければならない。中等学校の１０歳の少年少女に施される知能テストが、幼稚園の５歳の少年少女に施されるものよりも難しいのと全く同じように、選択方式自体は、母集団が有能になるほど困難になることがある。
【００３４】
ＩＩ．ゲノム 
適切な進化システムの設計における第１の課題は、仮想ゲノムの構造を決定することである。ゲノムを構成する基本的な遺伝子構成単位は、人工脳内の潜在的な処理要素と相互作用の大きな世界を構成できるほど十分に汎用性がなければならない。一方、遺伝子構成単位は、システムが主に知能と無関係な構造を進化させるほど一般的かつ汎用的であってはならない。従って、人工知能を開発するための基本的な遺伝子構成単位は、脳の構成単位、即ちニューロンを含むことが好ましい。換言すると、知能システムのゲノムは、様々な種類のニューロンとニューロン間の様々な種類の相互作用のために符号化する遺伝子を含むことが好ましい。
【００３５】
ゲノムの１つの例を図２に示し、この図において、各ニューロンは、処理遺伝子（長方形）とそれに続く一以上の結合遺伝子（六辺形）によって符号化されている。具体的には、ゲノム２００は一連の遺伝子からなり、第１のタイプのニューロンは、処理遺伝子２０１と結合遺伝子２０３及び２０５を含み、第２のタイプのニューロンは、処理遺伝子２０７と結合遺伝子２０９によって表され、第３のタイプのニューロンは、処理遺伝子２１１と結合遺伝子２１３、２１５及び２１７によって符号化されている。
【００３６】
この実施形態において、処理遺伝子は、各ニューロンがその出力をどのように計算するかを指定し、各ニューロンが幾つか含む場合がある結合遺伝子は、その出力を他のニューロンにどのように送るかを指定する。ゲノムは、ゲノムが符号化する神経システム内の正確な数、構成及び結合を指定する必要がないことが好ましく、そうでないと、ゲノムが、神経システム自体と同じくらい複雑になる。実際には、本発明の幾つかの実施形態において、学習が人間の中で行われるのと同じように様々なニューロン間で結合が作成され破壊されることが望ましいので、この詳細レベルでの指定は、望ましくない結果を生むことがある。それによりもむしろ、ゲノム内の各タイプのニューロンの数と全てのニューロンの互いに対する物理的配置を含む対応する神経システムのネットワーク構成は、ゲノム内で符号化された情報から発生する。従って、ゲノムは、神経学習システムの特定の実例や構成の青写真ではなく、神経システムを組み立てる構成単位の凝縮した表現であることが好ましい。
【００３７】
凝縮したゲノムのもう１つの利点は、ゲノムに適用される突然変異によって挙動の変化が生じる可能性があることである。遺伝子レベルの突然変異については後で説明するが、ゲノムレベルの突然変異は、図１の突然変異段階１１１で適用することができる。例えば、１対のゲノムを２つのランダムな位置で分割し両側を交換することによって、様々な遺伝子の内部表現に関係なくゲノムレベルで交差突然変異（cross-over mutation）を適用することができる。削除及び挿入操作は、１つのゲノムから一以上の遺伝子を削り、その遺伝子を別の遺伝子に結合することができる。
【００３８】
また、母集団の細分と移動を実施して、遺伝的変化の別の原因を提供することができる。ゲノムレベルの交差及び削除／挿入が同じ部分母集団のメンバ間でのみ行われるように母集団が細分されたとき、様々な部分母集団は、それぞれ異なる成功の程度の解空間の異なるセクタをそれぞれ調査する部分的に分離された遺伝的実体（genetic entity）になる。従って、母集団の細分化によって、母集団全体の中に見られる遺伝的多様性が高まり、成功した遺伝ソリューションが見つかる可能性が高くなる。部分母集団間でゲノムを臨時に移動することにより、１つの部分母集団内の適応的に有利にされた遺伝子を遺伝子プールの残りの部分に分配することができる。
【００３９】
図２に示したゲノムは、ほとんどの微生物のゲノムのように染色体の複製が１つしかない半数体であるが、本発明の他の実施形態のゲノムは、冗長性とより微調整された遺伝子制御を提供する二倍体（人間のように対になる染色体を有する）、三倍体、又は倍数体でもよい。実際に、倍数関係は動的でよく、１ゲノム当たりの姉妹染色体の最適数は進化によって決定される。
【００４０】
Ａ．処理遺伝子 
処理遺伝子は、各ニューロンが入力を出力にどのように変換するか決定する。ニューロンへの入力は、環境から或いはニューロンに結合された他のニューロンの出力からのものであり、その出力は、それらのニューロンの結合のそれぞれの重みによって修正されている。次に、各ニューロンは、その入力の関数を実行し、得られる出力は、ネットワーク内の他のニューロンへの入力になるか或いは環境に伝達される。この処理のダイアグラムを図３に示し、この図では、ニューロン３０１にｋ個の結合があり、ｘiは、結合ｉ∈１．．ｋの入力信号を表し（これは、別のニューロン又は環境入力から生成される出力である）、ｗiは、結合の強さ（weight）を表す。ニューロン３０１の出力ｙは、全てのｘとｗの関数である。
【００４１】
最も単純な処理関数の１つは、「パーセプトロン」と呼ばれる人工ニューラルネットワークに使用された基本タイプのニューロンに見られる。パーセプトロンは、ｙ＝｛Σｘiｗi≧θの場合に１、Σｘiｗi＜θの場合に−１｝のしきい値ゲートティング関数（thresholdgating function）を実行し、ここで、ｘiは、結合ｉ∈１．．ｋから受け取った入力、ｗiは、対応する結合の強さ、θは、ニューラルしきい値である。換言すると、パーセプトロンの出力は、重み付けした入力Σｘiｗiがしきい値θを越えた場合に１（１）、他の場合は出力が負１（−１）である。人工ニューラルネットワークパーセプトロンの一般的な変形は、入力の加算にシグマ関数（sigmoidal function）を実行する。シグマ関数は、ｙ＝（１＋ｅ-((Σxiwi)-θ）-1である。このシグマ関数の出力は０〜１の範囲であり、中間値はＳ字形曲線に従う。
【００４２】
さらに高度な例は、米国特許第６，４２４，９６１号に示されている、この特許に示されているニューロンの幾つかは、負強化信号ＮＲを処理関数に組み込む。この処理関数は、ｙ＝｛Σｘiｗi≧ｑの場合は１、Σｘiｗi＜ｑの場合は０｝であり、ここで、ｑ＝｛ニューロンが最近発火した場合はθ、ニューロンが最近発火していない場合はθ−ＮＲである｝。操作中、負強化信号ＮＲは、不活性ニューロンの神経しきい値を一時的に低下させ、それにより神経システム内の発火活動が高まり、それにより新しい神経経路が作成され古い経路が破壊される。負強化信号ＮＲの振幅は、しきい値の低下量を決定する。
【００４３】
以上その他の神経出力関数は、仮想ゲノムの遺伝子の処理において符号化される。本発明の１つの実施形態によれば、神経出力関数は、人工進化下位分野の遺伝プログラミング（ＧＰ）で使用されるような数学的表現ツリー（mathematical expression tree）として符号化される。具体的には、神経出力関数を示す数式は、（入れ子にされた挿入ステートメント等の）標準形式に標準化され、標準化された形式に対応する内部ノードと葉ノードの木構造として表される。内部ノードは数学演算子に対応し、数学演算子は、内部ノードのすぐ下のノードからの値に関数や他の数学演算を対応させる。葉ノードは、木の一番下にあり、数学的表現ツリーに入力される定数、変数及び他の末端（terminal）を表す。
【００４４】
葉ノードに使用することができる１組の末端と内部ノードの１組の演算子は、神経入力から神経出力への様々なマッピングの進化を可能にするように十分に単純で一般的であることが好ましい。本発明の１つの実施形態の末端セットと演算子セットをまとめたものをそれぞれ表１と表２に示す。
【００４５】
表１
記号                末端
−１から９            整数
ＩＮ            ニューラル入力
ＣＩ                累積入力
ＬＦ            最終発火からの時間
ＯＦ            最終発火の出力
ＰＲ                正強化  
ＮＲ                負強化  
ＲＧ              レジスタ
【００４６】
表１において、末端セットは、−１から９の整数と、ニューロンがその処理演算に組み込む可能性のあるシステム変数とを含む。例えば、神経入力ＩＮは、経路の現行時間間隔にわたって受け取った重み付けされた入力の和を表す。累積入力ＣＩは、最後に発火してから（例えば、ニューロンが最後に非ゼロを出力してからの時間間隔にわたって）受け取った重み付けされた全ての入力の和を表す。神経出力は、発火頻度、バースト頻度、バースト強度、又は神経活動の他の測定値の人工的類似物として解釈することができる。末端セットは、また、正強化ＰＲ信号及び負強化ＮＲ信号を含む。これらの信号は、より詳細に後で説明するように、ネットワークの訓練を支援するように処理される。レジスタＲＧは最初はゼロであり、ＳＴＲ（記憶）演算子が評価されるたびに値を記憶する。
【００４７】
表２
記号                演算子
＋          ｙ＝ａ＋ｂ
−          ｙ＝ａ−ｂ
＊          ｙ＝ａ×ｂ
％          ｙ＝｛ｂ≠０の場合はａ／ｂ、ｂ＝０の場合は１｝
ＥＸＰ        ｙ＝ａb
ＬＩＮ        ｙ＝ｂｘａ＋０．５（ｙ∈［０，１］）
ＳＩＧ        ｙ＝１／（１＋ｅbxa）
ＴＲＩ        ｙ＝１−｜ｂｘａ｜（ｙ＞０）
ＲＡＤ        ｙ＝ｅ-(bxa)2
ＴＨＲ        ｙ＝｛ａ＜ｂの場合は０、ａ≧ｂの場合はａ）
ＳＴＰ        ｙ＝｛ａ＜ｂの場合は０、ａ≧ｂの場合は１）
ＳＴＲ        ｙ＝ａ。ｙをレジスタに記憶する
【００４８】
表２の演算子セットは、集合的に様々な神経処理関数の構成単位として働くことができる算術演算子と非線形演算子を含む。表２において、変数ａは、演算子への主入力と考えられ、ｂは、例えばＬＩＮ、ＳＩＧ、ＴＲＩ及びＲＡＤ関数の勾配やＴＨＲ及びＳＴＰ演算のしきい値等の演算子の出力曲線の形状の変調パラメータと考えられる。
【００４９】
この節の初めに説明した神経処理関数は、遺伝プログラミング木を使用して処理遺伝子に符号化することができる。図４に示したように、例えばしきい値が３．５の単純な人工ニューラルネットワークパーセプトロンを実現することができる。 
具体的には、出力関数ｙ＝｛Σｘiｗi≧θの場合に１、Σｘiｗi＜θの場合に−１｝は、完全に括弧に入れた標準式（（（ＩＮ  ＳＴＰ（７／２）×２）−１）として、それぞれ表１と表２に演算子と末端に関して構成することができ、ここで、７／２は３．５の値を生成するために使用され、ＩＮはΣｘiｗiを表し、演算×２−１は、ＳＴＰ演算子の出力を強制的に範囲［０，１］から［−１，１］にするために使用される。
従って、数学的表現ツリー４０１は、内部ノード４０３を含み、内部ノード４０３は、内部ノード４０５と４０７（末端記号１を保持する）からの値を演算する演算子−を保持する。内部ノード４０５は、演算子＊を含み、内部ノード４０９と４１１から２の値を得る。内部ノード４０９は、葉ノード４１３（ＩＮ末端を保持する）と内部ノード４１５からの値に関して演算するＳＴＰ関数を符号化し、内部ノード４１５は、葉ノード４１９では７、葉ノード４１７では２に関する除法の％演算を含む。
【００５０】
神経処理関数は、図４のパーセプトロンより込み入っていることがある。例えば、しきい値３．５のシグマ人工ニューラルネットワークパーセプトロンの出力関数は、図５に示したような数学的表現ツリー５０１として実現される。図６に示したもう１つの例として、数学的表現ツリー６０１は、しきい値３の出力関数を使用し、その結果、入力がそのしきい値よりも低い場合に出力はゼロになり、しきい値より高い場合に出力が２〜５の範囲になり、中間の値は入力の大きさに正比例する。
【００５１】
私の米国特許第６，４２４，９６１号に記載された適応神経学習システムの神経処理関数の幾つかはもっと込み入っている。例えば、１つの適応神経学習処理関数は、ニューロンが最近発火していない場合だけ、負強化ＮＲによって低下する可変しきい値を使用する。更に、神経入力は、現行時間間隔の間に受け取った重み付け入力ＩＮからなるだけでなく、最新の発火以来の時間間隔ごとに受け取った累積入力ＣＩを含む。累積入力ＣＩは、それぞれの通過時間と共に増大することがあるが、その神経入力に対する影響は、時間と共に着実に減少し、例えば、累積入力ＣＩは、ニューロンが最後に発火されてから時間間隔ごとに０．９倍に減少し、即ち０．９LFだけ減少する。組み合わされた入力がしきい値以上である場合、ニューロンは出力１で発火し、そうでない場合、出力はゼロである。この関数は、初期しきい値が３．５に設定され、最新５つの時間間隔として「最近」定義されたものであり、図７の数学的表現ツリー７０１によって表すことができる。
【００５２】
進化は突然変異を伴い、処理関数を数学的表現ツリーとして表す１つの利点は、全ての木が構文的に有効な表現であることである。この特徴によって進化プロセスの効率が改善され、その理由は、突然変異によって有効な処理関数が得られ、生物学的進化を上回る異なる利点が得られ、突然変異により存続できない子孫ができる可能性があるためである。数学的表現ツリーで行うことができる突然変異操作には、点（point）と交差（crossover）の少なくとも２種類がある。図８に示した点突然変異は、数学的表現ツリー内の確率論的に決定された個々のノードに確率論的に決定された値を代入する。図８において、数学的表現ツリー８０１は、突然変異した数学的表現ツリー８０３を作成するために２つの点突然変異を受ける。
【００５３】
交差突然変異は、２つの遺伝子型間の遺伝物質の相互交換を引き起こし、親の遺伝的混合物である子孫が生成される。図９に示したように、交差は、それぞれの親数学的表現ツリー（９０１，９０３）内からのランダムな分岐クラスタを選択し、それらを交換して２つの子孫木（９０５，９０７）を生成することによって作用する。
【００５４】
末端、関数及び突然変異演算子のこのレパートリにより、神経入力から神経出力への種々様々な可能なマッピングを処理遺伝子内で符号化することができ、仮想母集団は、新規なタイプのニューロンを進化させ最適化することができる。
【００５５】
Ｂ．結合遺伝子 
結合遺伝子は、結合重みの値をどのように生成するかを指定し、どのニューロンが他のどのニューロンに結合するかを決定する。結合遺伝子は、処理遺伝子よりも多くの情報を指定するので複雑になる。図１０に示したような１つの実施形態において、結合遺伝子１００１は、５つのサブ遺伝子、即ちカウントサブ遺伝子１００３、方向サブ遺伝子１００５、レンジサブ遺伝子１００７、ターゲットサブ遺伝子１００９、及び強度サブ遺伝子１０１１に細分される。
【００５６】
カウントサブ遺伝子１００３、方向サブ遺伝子１００５、レンジサブ遺伝子１００７、及びターゲットサブ遺伝子１００９は、ニューロンを神経システム内でどのように配線するかを指定する。これらのサブ遺伝子はそれぞれ、結合が行われる数、結合が向かう場所、結合が達することができ距離、結合するニューロンのタイプを決定するパラメータを符号化する。１つの実施形態において、各カウントサブ遺伝子１００３、方向サブ遺伝子１００５、レンジサブ遺伝子１００７、及びターゲットサブ遺伝子１００９は、１０個の異なる対立遺伝子（allele）又は値に対応する０から９までの１つの整数を持つ。表３に、カウントサブ遺伝子１００３、方向サブ遺伝子１００５、及びレンジサブ遺伝子１００７の対立遺伝子を示す。
【００５７】
表３
対立遺伝子    カウント      ＤＩＲ．      範囲
０          １          −３          １
１          １          −２          ２
２          ２          −１          ５
３          ２            ０          １０
４          ４            １          ２０
５          ４            ２          ５０
６          ８            ３          ２〜５
７        １２          任意          ５〜１０
８        ２０          任意          １０〜２０
９        ４０          任意          ２０〜５０
【００５８】
カウントサブ遺伝子１００３は、各タイプのニューロンによって行われる結合の数を指定し、例えば、対立遺伝子３は、２つの結合があることを意味する。各ニューロンによって行われる結合の総数は、ニューロンの結合遺伝子のそれぞれのカウント対立遺伝子の和である。方向サブ遺伝子１００５とレンジサブ遺伝子１００７は、それぞれの結合が進む場所を決定する。方向サブ遺伝子１００５に格納された方向対立遺伝子は、結合がどの方向にいくつの層を突き抜けるかを指定する。例えば、数−３〜３は、結合を向けるために後（負の場合）又は前（正の場合）にいくつのニューラル層があるかを示し、ここでゼロは、結合が出発ニューロンと同じ層に留まることを意味し、「任意」は、結合が任意の方向に進むことができることを意味する。レンジサブ遺伝子１００７内のレンジ対立遺伝子は、ニューロン内で測った距離で、単一層内で結合が互いにどれだけ離れていることができるかを指定する。
【００５９】
ターゲットサブ遺伝子１００９は、結合が連携すべきニューロンの種類を示す。この値は、意図されたターゲットニューロンタイプの相対染色体位置を示す。例えば、図１１を参照すると、４つのニューロンタイプ１１０１、１１０３、１１０５及び１１０７を有するゲノムがある。矢印は、タイプ１１０３によって行われる結合の可能なターゲットタイプを指す。ターゲット対立遺伝子は、従うべき矢印を決定し、０は、結合が、それ自体と同じタイプのニューロンに行われることを意味し、１は、結合が、右に１つ先の染色体位置にあるタイプに行われることを意味し、２は、２つ先のタイプへの結合を意味し、以下同様である。ゲノムの端に達すると、カウントは反対側から再び始まり、従ってこの例では、１、５、及び９の対立遺伝子は、全てタイプ１１０５を指す。
【００６０】
突然変異は、結合の挙動を変化させるために、カウントサブ遺伝子１００３、方向サブ遺伝子１００５、レンジサブ遺伝子１００７、及びのターゲットサブ遺伝子１００９に作用することができる。１つの実施形態において、対立遺伝子の値を増減させるが、他のタイプの点突然変異を使用することができる。そのような突然変異は、神経システムの回路に大きな影響を及ぼすものもあり、何も影響を及ぼさないものもある。
【００６１】
図１０を再び参照すると、強度サブ遺伝子１０１１は、結合の重みを決定する重み関数を符号化する。重みは、結合を介して伝わる信号に働く調整可能な増幅器である。ニューロンが発火するたびに、重み関数の出力が、処理関数の出力と掛けられ、得られた積が、結合の他端にある「シナプス後」ニューロンに送られる。重みの変化は、神経システムの発火ダイナミクスに影響を及ぼし、これは最終的に神経システムの挙動と知能を変化させる可能性がある。適正な挙動を学習するには適正な重みを見つける必要があり、重み関数がそのプロセスを可能にする。
【００６２】
強度サブ遺伝子１０１１は、処理遺伝子の数学的表現ツリーと類似の数学的表現ツリーによって表すことができる。１つの実施形態において、強度サブ遺伝子は、表２に示した関数セットと、以下の表４の末端によって補った表１に示した末端セットを使用する。
【００６３】
表４
記号                    追加の末端
ＬＰ          シナプス後ニューロンの最終発火からの時間
ＯＰ          シナプス後ニューロンの最終発火の出力
ＷＴ          現在の重み
【００６４】
これらの末端のうちの２つは、シナプス後ニューロンの特性であり、ＬＰはシナプス後ニューロンが最後に発火してからの時間（間隔）であり、ＯＰは、シナプス後ニューロンの最後の発火の出力である。３番目の末端は、結合の現在の重みＷＴである。ＷＴの値は、最初０に設定されるが、神経システムのライフサイクル中にその重み関数の出力を反映する。
【００６５】
図１２は、強度サブ遺伝子１０１１において符号化されたＨｅｂｂｉａｎ重み関数を示す。Ｈｅｂｂの規則により、順序付けによって因果関係が示唆され、そのような関係が強化されなければならないので、シナプス前ニューロンの発火がシナプス後ニューロンの発火のすぐ後にあるときは重みが強くなる。発火がそのように関連付けられないときは重みが弱くなる。例えば、重み値が１〜３の範囲の場合は、シナプス前発火とシナプス後発火の間の時間の長さが特定の時間間隔数（例えば、５）の範囲内にあるときは重みが常に０．２だけ増え、シナプス前ニューロンが別の時間間隔数（例えば、１５）の間使用されていなかったときは重みが０．２だけ減少する。
【００６６】
もう１つの重み関数は、私の米国特許第６，４２４，９６１号に記載されたニューラル学習システムに使用されている。この関数は、やはりＨｅｂｂｉａｎであるが、重み変化の大きさが一定でなく、結合重みが起こり得る最低値と最高値に引きつけられるように終点で安定したアトラクタ（attractor）を作成する形状の増大曲線と減少曲線をたどる。重みが低いときは、増大が小さくかつ減少が大きく、これにより重みがほぼ最低にとどまるようにバイアスがかけられる。しかしながら、重みが高いときは、増大が大きくかつ減分が小さく、重みは最高に留まるように傾斜される。板挟みになった重みは、アトラクタの１つにすぐに引っ張られ、アトラクタに着いた後は、アトラクタにとどまる傾向がある。重みをあるアトラクタから別のアトラクタにシフトするには、繰り返しかつ正確に相関されたシナプス前発火とシナプス後発火或いは長い不活性期間が必要である。
【００６７】
この重み関数は、神経システムの動作を安定させる。重みのほとんどが適所に固定された状態では、神経経路が、ノイズ、劣化、又は他の経路との相互作用によって容易に妨害されることはない。重み関数は、また、正強化を含むことができる。例えば、１つの実施形態における正強化信号ＰＲは、０でも１でもよい。０のとき、正強化信号ＰＲは無効である。１のとき、強化される予定の重みは、直ちに最大値まで完全に強化され、初期の因果関係が強化される。このようにして、正強化信号ＰＲは、報酬を与えられた挙動（rewarded bihavior）を現在生成している任意の遷移経路を凍結することができる。
【００６８】
これらの特徴は、図１３に示した２つの分岐クラスタによって実施することができる。左側のクラスタ１３０１は、強化するときに重みをどれだけ大きくするかを決定する重み表現ツリー（weight expression tree）の一部である。右側のクラスタ１３０３は、弱める必要があるときに重みどれだけ小さくするかを決定する。重み表現ツリーの残りの部分は、分かりやすくするために示されていない。
【００６９】
ゲノムの複雑さを高めて、知能を達成する新しい方法の発見をさらに創造的にする更に他の方法がある。例えば、その表現ツリーの関数セット内のループと条件命題を使用して、遺伝暗号をより精巧なものにすることができる。正常な分岐クラスタを捕捉して単一ノードに縮小することができ、それにより共適応遺伝子フラグメントがユニットとして進化することができる。また、結合パラメータサブ遺伝子は、それそれが有する１０個の対立遺伝子よりも複雑なネットワークエンジニアリング機能を指定する任意の数の対立遺伝子を有することができる。
【００７０】
Ｃ．神経システムの組織化 
符号化された後、ゲノムは、神経システムを組織化する準備ができる。１つの実施形態において、神経システムは、例えば新しい結合を作成し、新しいニューロンを作成し、新しい結合を作成するニューロンの大規模な並列連鎖反応で自己組織化する。最初に、神経システムに、ゲノム内で最初に見つかったタイプのニューロンが種子として植え付けられる。これらは、入力ニューロンを構成し、最初の数は、神経システムを構築する用途によって必要とされるように構成される。次に、入力ニューロンの対応する結合遺伝子１００１内に指定された情報を使用して、入力ニューロンのために結合が構築される。具体的には、カウントサブ遺伝子１００３は、構築する結合の数を指定し、方向サブ遺伝子１００５とレンジサブ遺伝子１００７は、新しい結合を行なうためのターゲット領域を決定し、ターゲットサブ遺伝子１００９は、新しい結合が結合しようとしているニューロンのタイプを示す。新しい結合は全て、そのレンジ内で好ましいランダムな位置を選択する。正しいタイプのニューロンが見つかった場合は、そのニューロンへの結合が行われる。一方、異なるタイプのニューロンが見つかった場合は、別の位置を選択して再び試みる。その場所でニューロンが見つからなかった場合は、その場所で正しいタイプの新しいニューロンを作成し、結合を完成する。これらの結合は、あきらめて新しいニューロンを作成する前にターゲット領域全体から正しいタイプのニューロンを探索する。
【００７１】
また、新しいニューロンが作成されるたびに、その新しいニューロンの新しい結合が作成される。いくつかの結合が既存のニューロンにつながり、他の結合が新しいシナプス後ニューロンを作成する。ニューロンの作成と結合の作成のこの連鎖反応は、全ての新しい結合が既存のニューロンへの結合によって使い尽くされるか、予め設定されたニューロンの最大数の制限に達するまで続く。神経システムが完成したとき、ゲノム内の最後のタイプの作成された最後のニューロンが、出力ニューロンとして指定される。 
【００７２】
この脳構築メカニズムと遺伝暗号は、広範囲の神経回路の進化を可能にし、異なる回路の多数の組み合わせが同一神経システム内に存在することができ、それにより、神経システムの異なる領域が個別の処理タスクのために進化することができる。ちょうどニューロン自体がニューロン間の様々な出力関数とタイプを進化させることができるように、神経システムは、その相互関係に様々なレベルの複雑さを有する様々なモジュール型構成要素を有することができる。従って、神経システムは、知能に対する要求が必要とするのと同じくらい入り組みかつ階層的に複雑になるように進化することができる。
【００７３】
１つの実施形態によれば、神経システムは、任意のサイズに成長することができる。図１４は、６つのニューロンタイプと１１の結合タイプのゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ及びターゲット対立遺伝子から構築された神経システム１４０１を示す。各ニューロンタイプは、その結合タイプと共に、異なる色で示され、ニューロンは三角形として示され、結合はその間の線として示されている。結合タイプのパラメータサブ遺伝子は、小括弧で示されているが（計算、方向、レンジ及びターゲット）、処理遺伝子と強度サブ遺伝子は示されていない。図の神経システム１４０１は、４つのニューロンから始まり、上限は５０であった。しかし、これらの数は構成可能であり、本発明は、いかなる特定初期入力ニューロン数や特定の成長限度にも限定されない。
【００７４】
本発明の実施形態による神経システムは、また、任意の次元数で成長することができる。図１４に、全ての神経層が水平線である２次元ネットワークを作成した１次元配列の入力ニューロンを示す。同様に、最初の２次元配列の入力ニューロンは、全ての神経層が水平面である３次元ネットワークを作成することができる。実際には、多次元の神経ネットワークが可能であるが、高い次元は、ハードウェアで実施するには困難な場合がある。
【００７５】
Ｄ．動的回路 
本発明のもう１つの態様は、神経システムの動作寿命中にニューロン間の結合を作成したり破壊したりすることを可能にすることによって、知能の学習と達成のフレキシビリティを高めることに関する。本発明のこの態様による神経システムは、表５に示したように遺伝プログラムの演算子セットを２つ増やすだけでその結合を再構成する能力を有する。
【００７６】
表５
記号                  動的演算子
ＮＥＷ        ｙ＝｛ａ＝ｂの場合に０，ｎｅｗ（）、ａ≠ｂの場合に１｝
ＤＩＥ        ｙ＝｛ａ＝ｂの場合に０，ｄｉｅ（）、ａ≠ｂの場合に１｝
【００７７】
ＮＥＷ演算子の入力引き数が等しいときは、そのニューロンは新しい結合を作成する。処理遺伝子において、ＮＥＷ演算子は、ニューロンに選択的に指示して各結合タイプに１つの新しい結合を作成させる。強度サブ遺伝子において、ＮＥＷ演算子は、ニューロンに選択的に指示してそのサブ遺伝子タイプの新しい結合だけを作成させる。それぞれの新しい結合は、結合遺伝子１１０１の規則に従って作成され、従って、例えば、新しい結合の幾つかは前と同じニューロンにつながり、幾つかは他のニューロンにつながり、幾つかは新しいニューロンにつながり、これにより新しい結合が作成される。従って、等しい入力を有するＮＥＷ演算子を実行することにより、前述のような一回の自己組織化が始まる。
【００７８】
ＤＩＥ演算子は、ネットワークからニューロンと結合を除去する。処理遺伝子において、ニューロン全体は、その結合の全てと共に破壊される。強度サブ遺伝子では、そのサブ遺伝子の結合を破壊するだけでよい。
【００７９】
図１５と図１６の分岐クラスタは、その動作中の関数を示す。図１５の分岐１５０１は、処理遺伝子の一部分であり、従ってニューロンは、ニューロンが２５６時間ステップよりも長くアイドル状態の場合に自己破壊するが、そうでいない場合はその出力に影響はない。
【００８０】
一方、図１６は、ＮＥＷ演算子とＤＩＥ演算子の両方を含む強度サブ遺伝子内の数学的表現ツリー１６０１を示す。数学的表現ツリー１６０１によって実施される重み関数は、ゼロの最小重みを有するＨｅｂｂｉａｎである。長い不活動状態の後で、この結合は自分自身を置き換えて次に自己破壊するが、ここでは、活動状態は、そのシナプス前ニューロン発火やシナプス後ニューロン発火の頻度だけでなく、これらの発火が、結合が２つの間の因果関係に関与していることを示唆するように関連付けられるかどうかによって測定される。数学的表現ツリー１６０１のレジスタは、時間間隔ごとに増分するが、重みがその最低値を超えるとゼロにリセットされる（Ｈｅｂｂｉａｎ相関を示す）。レジスタが１２５に達すると、新しい結合が作成され、この結合は破壊される。
【００８１】
無駄なニューロンと結合を置き換えることができる神経システムは、学習と暗記の高い能力を有する。また、回路の動的作成によって、神経システムは、新しい知覚又は認識要求を満たすように回路を自動的に配線しなおす入り組んだフィードバック機構によって神経経路を進化させることができる。換言すると、本発明のこの態様による神経システムは、ちょうど人間の脳と同じように新しい状況と環境に適応することができる。
【００８２】
ＩＩＩ．適合性方式（FITNESS REGIME）
自然淘汰は適者生存のことであり、本発明の１つの態様における選択は、最も賢いものが生き残ることである。図１を再び参照すると、神経システムの母集団は、一連の選択試行で競う（段階１０３）。各試行において、神経システムは、知能をある程度必要とするタスクを行うように訓練され、そのタスクを実行するように各神経システムをどれだけうまく訓練できるかにより、そのゲノムが次世代まで生き残るかどうかが決まる。母集団が進化して試行がうまくいったら、母集団は次の試行に移る。それぞれの新しい試行が、知能の新しい態様を構築し、従ってそれぞれの試行が完了した後で、神経システムはだんだん知的になる。
【００８３】
適合性方式の設計で重要なことは、特定のタスクを実行できるがさらに特定のタスクを実行するように訓練できる神経システムが進化されないことである。一方、ほとんどの人工進化プロジェクトにおいて、全ての遺伝子型は、実施する準備ができているソリューション候補であり、各遺伝子型は、そのソリューションがうまくいくかどうかを基準に選択される。しかしながら、本発明のこの態様に従って開発されていた神経システムは、それぞれ白紙状態で始まり、役立つようになる前に訓練する必要があり、従来人工的進化によって生成されていた剛構造よりも汎用的かつ有能である。
【００８４】
この神経システムを訓練するために使用される方法は、従来の人工ニューラルネットワークを訓練するために使用されたものと異なってもよい。人工ニューラルネットワークは、ネットワークの出力が適正になるまで全ての内部重みをほんの少しずつ修正する手の込んだ一連の演算によって訓練される。そのような方法に多くの制限があり、その主な制限は、このように訓練された人工ニューラルネットワークが、新しいものを何も学習できないことである。人工ニューラルネットワークがどれだけよく訓練されたかに関係なく、それらの人工ニューラルネットワークは、経験から学習したり「学習」したことを新しい方式に適応したりすることもしない。
【００８５】
神経システムの訓練方法は、従来の人工ニューラルネットワークに使用されたものよりも単純かつ強力でよい。例えば、スキナー理論の行動条件付けを使用して神経システムを訓練することができ、出力が好ましいときは正強化（ＰＲ）信号が送られ、出力が好ましくないときは負強化（ＮＲ）信号が送られる。そのような神経システムは、環境的フィードバックを利用し、環境的フィードバックに最も応答する神経システムは、正強化探求挙動と負強化回避挙動の精巧なレパ−トリを最も学習し、最適化し、維持できるものである。
【００８６】
従って、次の式を使用して適合性を直接測定することができる。          
2007504576.tif 000003
【００８７】
ここで、ＰＲtとＮＲtはそれぞれ、時間ステップｔで受け取った正強化信号と負強化信号、Ｔは、その現在の試行を克服するために各脳に割り当てられた時間ステップの総数である。最も高い得点のゲノムが、世代の終わりごとに選別され（段階１０３）、段階１０９と１１１によって次世代の少しだけ知的な神経システムを導入する。代替として、他の神経システムに対する適合性方式のパフォーマンスに基づいて適合性を測定することができる。
【００８８】
この種の強化学習は、前述のような米国特許第６，４２４，９６１号に記載のニューラル学習システムと共に使用することができる。そのような神経システムは、負強化に応答して不活性ニューロンのしきい値を一時的に低くし、正強化に応答してＨｅｂｂｉａｎ強化された重みをその最大値に高める。これは、効率的で有効な訓練メカニズムであるが、強化に応答する他の関数があり、それらの関数の幾つかの方が優れている場合があり、従ってそに関数を見つけることが望ましい。
【００８９】
示した進化システムは、より優れたメカニズムの発見を支援することができる。負強化と正強化は、ゲノム内の遺伝暗号の重要な構成要素であり、ゲノムは、その構成要素を演算に組み込む様々な方法を見つけることができる。神経システムに正強化を引き出す挙動をうまく記憶させ、負強化を引き出す挙動をより迅速に取り変えるそのような演算は、選択的な利点を有する。何世代も後で、ゲノムは、極めてよく訓練された神経システムを生成することができる。
【００９０】
各ゲノムをその先行する試行で訓練に関して定期的にテストして、ゲノムがその蓄積された適応度を失わないようにすることができる。また、このことは、同じ種類の神経システムが、多くの異なる環境で訓練できなければならず、また多くの異なる種類の神経入力を処理するように学習できなければならないことを意味する。
【００９１】
従って、後で説明する選択試行は、多くの様々なタイプの認識問題を含む。その問題の幾つかは空間的に動的でよく、幾つかは時間的に動的でよい。問題の幾つかは入力の暗記を必要とすることがあり、幾つかは少数の限界パターンの詳細な識別を必要とすることがある。また問題の幾つかは、詳細な分析を必要とすることがあり、幾つかは、迅速な意志決定を必要とすることがある。合格したゲノムは、全てのそのような状況に対処していることが好ましい。
【００９２】
選択試行の処理タスクは、共通な１つの特徴、即ち知能を含むように設計されている。当然ながら、初期の試行は、あまり多くの知能を必要としないが、難しい試行に合格するようになるほど、神経システムは有能になる。それぞれの新しい選択的な挑戦により、神経システムは、高くなる複雑な環境的要求を理解するためのより高い精巧さを持つようになる。しかしながら、それらのタスクのどれも、力ずくの計算を必要とせず、即ち、従来のコンピュータが適切に計算することができる。一方、選択試行で実行されるタスクは、データを分析し、パターンを識別し、類似性を導き、結果を予測し、決定するために、力ずくではなく知的な学習を引き出すことである。
【００９３】
１つの展開において、ゲーム、制御システム及び画像分析の３つのカテゴリのうちの１つから選択試行が選択される。そのような分野は、少なくとも２つの理由により選択される。第１に、これらの分野は、多くの異なるスキルレベルと多くの異なる種類の知的要件を有する課題を提供し、従って、様々な態様の知能を少しずつ開発するには理想的である。第２に、これらの分野は商品価値を有する。
【００９４】
試行の完了は、神経システムが、次の進化段階、即ち実世界に進む準備ができたことを示す。市場は、その時からだいたい選択要件を決定することができ、神経システムは、その要求を満たすように進化することができる。神経システムは、その時までに、知能を必要とする新しいスキルを学習することができる。
【００９５】
Ａ．人工ニューラルネットワークのエミュレーション
この試行は、１対の入力と出力の関連付けを記憶する従来の人工ニューラルネットワークが行うことができる能力を選択する。具体的には、所定の入力に応じて所定の出力を生成するように人工ニューラルネットワークを訓練することができ、それにより、後でその実行段階で人工ニューラルネットワークに入力が提示されたときに、人工ニューラルネットワークが関連付けられた出力を生成するようになる。従って、この試行は、特定の入力に出力が適正なときに正強化信号ＰＲを提供し、出力が適正でないときに負強化信号ＮＲを提供することによって、人工ニューラルネットワークをエミュレートするように訓練することができる神経システムを開発する。この試行で成功した神経システムは、従来の人工ニューラルネットワークのパターン整合をエミュレートする能力を進化させることができるものである。
【００９６】
Ｂ．順応
この試行は、従来の人工ニューラルネットワークが最初からプログラミングしなおさなければ修正できない間違いを修正する神経システムのフレキシビリティを開発する。この順応フレキシビリティを選択するとき、神経システムは、最初に、人工ニューラルネットワークのエミュレーション試行の場合のように、関連付けられた入力と出力の複雑な組み合わせを学習するように訓練される。次に、入力と出力の関連付けの幾つかが変更され、その結果、前に正強化された出力によって負強化信号が引き出される。負強化信号は、神経システムが正強化信号を生成する新しい出力を見つけるまで持続する。この選択試行において、成功神経システムは、新しい答えを学習する能力を習得するものである。
【００９７】
Ｃ．シモン（Simon）
この試行では、神経システムは、特に一連の入力を特定の順序で記憶するために、時間を理解することを基礎に訓練される能力がテストされる。この能力を選択するために、神経システムは、シモン（各プレーヤが、だんだん長くなる入力のシーケンスを交代で思い出す子供のゲーム）で遊ぶために作成される。神経システムは、シーケンス自体に新しいエントリを提供するように要求されることはないが、新しい入力を記憶し、ゲームの各順番でシーケンス全体を正しい順序で思い出すことが期待される。神経システムが入力の順序を正しく暗唱するかどうかによって、正強化信号と負強化信号が印加される。しかしながら、神経システムがあるシーケンスの正しい出力を出力し、任意の瞬間の正しい出力がシーケンス内の位置に依存するので、学習プロセスは、メモリに記憶されたデータ間の関係のパターンを処理する能力を必要とする。シモン試行に成功した神経システムは、連続的な入力刺激を必要とすることなく一連の出力の生成を制御する能力を進化させる。
【００９８】
Ｄ．ナビゲーション 
ナビゲーション試行では、神経システムは、単純な制御システムを学習する。神経システムへの入力は、前方道路の２次元画像でよく、これは、レーシングカービデオゲームでプレーヤが見るものを簡単にしたものである。神経システムの出力は、車の操縦、即ち左折、直進、右折を制御する仮想アクチュエータでよい。従って、神経システムは、道路から外れるか障害物に衝突する負強化と、道路に留まり衝突事故を起こさない正強化をナビゲートするように訓練される。それぞれの動きが、近づく障害物や急カーブを考慮しなければならないので、この試行は計画を必要とする。それぞれの動作の正強化又は負強化の結果が、動作が行われたすぐ後で感じられる必要はないので、この試行は、計画立案が可能なように神経システムの時間理解を将来を含むように拡張する。従って、成功神経システムは、将来の目標物と障害を識別する能力を実証するものであり、決定する際に現在の要求だけでなく将来の要求も考慮される。
【００９９】
Ｅ．テトリス
この試行は、進化する神経システムの計画立案能力に基づく。この試行の入力は、よく知られたテトリス形状が落下して下に溜まっていく２次元ゲームグリッドであり、出力は、４つの形状操作のうちの１つ、即ち左移動、右移動、右回転、又は左回転に対応する。負強化は、スタックの高さを高くするために利用され、正強化は列を除去するために利用される。列を除去してスタックの高さを最小にするために、成功神経システムは、隙間を埋めるに有利にしたり空いたセルの埋めるのを回避するような発見的戦略を開発する能力を得る。しかしながら、正強化又は負強化は、神経システムのそのような特定の戦略を教示する特定の目的には利用されず、むしろ、神経システムは、その結果の利点（例えば、スタックの高さ）に関してのみ正強化又は負強化される。人間のプレーヤが、ゲームを最も上手にする方法を自分のために学習するのとまるで同じように、成功神経システムも、そのような戦略が何であるかを具体的に伝えることなく、テトリスをするのに有効な戦略を独力で学習する。従って、この試行は、ソリューションのステップが何であるかを予め伝えることなく所定の問題を解決する方法を理解する能力を開発した神経システムを選択する。これは、従来の人工ニューラルネットワークと人工知能の能力よりも優れた知能の極めて重要な態様である。
【０１００】
Ｆ．ナビゲーションの一般化 
学習したものを一般化する能力は、従来の神経モデルが達成できなかったことが有名な知能の重要な構成要素である。これまでの試行に成功した神経システムでも、極めてうまく一般化することを期待されるとは限らない。例えば、これまでの試行に成功した神経システムは、１０Ｘ１５のサイズのゲームグリッド上ではうまくプレイできるが、７Ｘ１７のゲームグリッド上ではほとんどプレイの能力を発揮できないように訓練されていた。プレイ面のサイズのこのわずかな変化は、人間の子どもにとって概念的な問題はほとんどないが、従来の人工知能システムを無能力化する。従って、この試行では、成功神経システムが所定の試行の予期しない変形で有能になるように一般化する能力が選択される。
【０１０１】
１つの手法は、テトリスよりも少し容易な試行、例えばナビゲーションから始めることによって、一般化のための基礎とすることである。一般化ナビゲーション試行において、神経システムは、入力ニューロンの大きな２次元配列で作成され、神経システムの仮想世界の認識に寄与するプレイ面のサイズと入力ニューロン空間のサブセットは、訓練の過程ごとに変化する。神経システムは、複数のサイズで様々にサイズと位置が決められたサブセットの入力ニューロンを有するゲームグリッドを次々と移動する能力がテストされる。このタスクの一般化は、その知覚フィールドが広がる幅と深さに関係なく、道路の縁を回避し道路の障害物を回避する学習を必要とする。次の試行では、テトリスが一般化される。
【０１０２】
Ｇ．テトリスの一般化 
様々なサイズのプレイフィールド全体にわたってテトリスのゲームをすることを一般化する能力は、テトリスのダイナミクスがナビゲーションのダイナミクスよりに激しく変更されるので、一般化ナビゲーション試行に合格する能力よりも高度である。一般化ナビゲーション試行と同じように、各神経システムは、様々なサイズのプレイ面とその神経入力空間のサブセットがテストされる。任意サイズのゲームグリッドの有能なテトリスプレーヤになるために、神経システムは、その知覚フィールド内で見つけることができる場所に関係なくかなり複雑なパターンを識別することを学習し、従ってこの試行に成功した神経システムは、複雑で動的なデータパターンの理解を一般化する能力を示す。
【０１０３】
Ｈ．エレベータのスケジューリング 
この試行は、人通りの多い建物内の一群のエレベータの効率的な利用者乗降スケジューリングを決定する実世界の用途を有する。しかしながら、このタスクを管理する制御システムの設計は驚くほど難しく、特に、各エレベータオペレータが、実際に、（１）乗車要求のある近づきつつある階で停止すべきかどうかと、（２）要求がないときにどこに行くべきかの２つだけを決定することが考慮される。エレベータの挙動の他の態様は、例えば、現在の方向で降車要求がある場合には向きを反転してはならないことやエレベータが一杯過ぎる場合に乗車要求に応答してはならないことを指示する規則によってエレベータを管理することができる。人工知能研究者達は、エレベータスケジューリングに長い間関心を持ってきており、単純な発見的方法から、複雑な統計計算を必要とする極めて複雑な戦略まで多くのアルゴリズムを開発してきた。
【０１０４】
しかしながら、全てのスケジューリングアルゴリズムは、エレベータスケジューリングシステムは、特定のパターンの乗客の流れにはうまく対応できるが、そのスケジューリングシステムは、乗客の流れのパターンが変化するとうまく対応できない可能性がある、という問題に直面している。実際に、乗客の流れの変化はよくあることである。朝はオフィス建物内のほとんどの乗客がロビーから高い階に移動するが、夕方は人の流れが逆になる。別の建物には複数階にまたがる複数の会社が存在する場合があり、会社が移り変わるときに階の中の人の流れのパターンが変化する。知的エレベータスケジューラは、このような種類の変化に応じて自分自信を最適化できなければならない。
【０１０５】
この試行では、予想外の通行パターンのためにエレベータスケジューリングを最適化しかつ通行パターンが変化したときにスケジューリングを再調整して、エレベータスケジューリングが最適のままになるように訓練することができる神経システムを進化させる。乗車要求から乗車までの時間と、乗車から降車までの時間という簡単に定量化された２つのパフォーマンスの尺度があるので、訓練の負帰還と正帰還は単純でよい。従って、そのような時間の増大には負強化が適用され、減少には正強化が適用される。成功神経システムは、エレベータサービスを連続的に最適化するためにこのように訓練できるものであり、大きな建物内で有用である。
【０１０６】
Ｉ．交通信号のスケジューリング 
多くの街には、交通の流れを円滑に維持するために街区の信号灯を調整する集中管理交通信号システムがある。都市計画者が交通信号のタイミングを最適化するのを支援するために、交通の流れを様々なスケジュールでシミュレートできるソフトウェアパッケージが開発されており、計画者達は、そのソフトウェアを使用して様々なタイミングパターンを試して、その道路に適したスケジュールを見つける。しかしながら、交通パターンは常に、短期的には天候、時刻、曜日、ローカルイベント、景気、及び道路工事による変化の影響を受け、長期的には人口、居住選択、仕事習慣の変化による影響を受ける。予測不能な変化が多すぎて、予め符号化された交通管理システムは定期的な再プログラミングなしにはうまく動作しない。一方、知的スケジューラは、交通パターンが変化したとき交通の流れをどのように改善するかを常に学習し、必要に応じて新しいソリューションを開発することを期待されている。
【０１０７】
この試行では、神経システムは、これを正確に行うように訓練できるように進化する。この訓練は、青信号で車が通過する頻度と赤信号で車が停止する時間の長さに応じて正強化と負強化を適用することによって達成することができる。仮想シミュレーションにおいて、道路上の全ての車のアイドル時間を測定することができる。実際には、タクシー、バス、及び他の市有車両に、データ収集センサを配置することができる。この一定のデータの流れによって、神経システムは、交通信号を真に知的な方法で管理することができる。第２の試行以来適応する能力が改良されてきており、神経システムは、現在では、複雑な条件に自然に適応するように訓練されている。その結果、神経システムは、これまで見たこともない複雑な問題に対する適切なソリューションを見つける能力を示すようになった。
【０１０８】
Ｊ．ＣＡＰＴＣＨＡ 
前述の試行の幾つかは、知覚フィールド内でかなり複雑なパターンを識別することができる神経システムの開発を必要とする。この試行では、神経システムは、ＣＡＰＴＣＨＡ（Completely Automatic Public Turing test to tell Computers and Humans Apart）をうまく騙すように進化する。ＣＡＰＴＣＨＡは、ネットワーク接続の他端にいるユーザが実際に人間であるかどうかを検証するために設計されたテストであり、自動化されたスクリプトによるスパムメール発信者の電子メールアドレス取得を防ぐのに有用である。ＣＡＰＴＣＨＡの１つの形態は、ランダムな文字のランダムに歪められた文字列を表示させ、歪んだ文字をユーザに読み取ることを要求する。人間はそのような文字を容易に読み取ることができるが、現在のコンピュータプログラムはできない。このテストを開発するＣＡＰＴＣＨＡプロジェクトは、ウェブサイト上に生成されたランダムな文字を８０％を超える精度で読み取ることができる人工エージェントの設計を人工知能業界に要求してきた。この試行により、ＣＡＰＴＣＨＡの要求に応えることができる十分に進んだ画像処理能力を有する神経システムが開発された。
【０１０９】
Ｋ．さらに他の試行 
訓練可能で実際的な目的により、知能を得る段階としてさらに他の試行を使用することができる。例えば、１つの目的は、所定の動作の結果（即ち、正強化と負強化）がずっと後まで感じられないときに学習する能力である。ナビゲーションから始まる試行は全て、これをある程度有するが、動作と結果の間の遅延はかなり小さい。チェッカー（checkers）、ゴー（go）、コネクトフォー（connect four）、ドットアンドボックス（dots and boxes）などのほとんどの実際のゲームでは、所定の動きは、とても良いかとても悪い可能性がある、とても良いかとても悪いは、かなり長い時間分からない可能性がある。従って、この能力を開発する選択試行としてゲームを使用することができるが、より市場性のある可能性のあるシステムを制御することもできる。
【０１１０】
もう１つの目的は、最初に開始された記憶が相互に関係付けられるシモン試行に基づく詳細かつパターン化された長期記憶である。この目的を推進する１つの試行は、迷路をナビゲートしその迷路を覚える方法を学習するように神経システムを訓練することである。壁にぶつかったときに負強化を引き出し、また、様々な種類の報酬のための正強化が迷路の様々な角にあってもよい。神経システムは、渇きや飢えとよく似た負強化信号と関連する入力指標を有し、迷路内のそれぞれの様々な報酬は、それぞれの指標から負強化を軽減する。従って、神経システムが入力指標を感じるたびに、神経システムは、その報酬の場所にまっすぐに行くことを学習する。
【０１１１】
ＩＶ．倒立振り子問題の解決
本発明の１つの実施形態を使用して、工学において有名な倒立振り子問題を解くことができる。この問題の古典的な一次元バージョンにおいて、車輪付きカートにヒンジ式に取り付けられた振り子が、カートを左右に押すことにより真っ直ぐに立つようにバランスをとられる。このシステムは、極めて動的かつ非線形的である。またシステムは極めて不安定である。ひとつ誤ると振り子が倒れて壊れる。
【０１１２】
この問題は、また、制御理論において単なる学術的課題を越えるものである。倒立振り子問題は、ロボット工学、ＳＥＧＷＡＹTM人間運搬装置、海上石油掘削基地のような様々な用途に見られる。この問題の１つのバージョンは、ロケット科学にも見られ、ロケットが空に向かって発射するとき、ロケットは、その推力ベクトル上で正確にバランスが維持されなければならず、そうでないと制御を失うことになる。ソリューションの幾つかは、極めて高度である。スペースシャトルのベクトル制御システムは、船の位置を監視し、必要に応じて、上昇中ずっと２０ミリ秒おきに１組のジンバル式姿勢制御ロケットから修正バーストを発射する。
【０１１３】
制御理論学者達は、伝統的な工学的アルゴリズム、遺伝的アルゴリズム、ファジイ論理システム、エキスパートシステム、及び人工ニューラルネットワークを使用して、様々な種類の倒立振り子ソリューションを開発してきた。そのような方法は全て、１つの重要な制限によってうまくいき、そのような方法によって生成されたソリューションは、極めて特殊な１組の問題条件でのみうまくいくことができる。問題の何らかの態様が変化した場合は、新しいパラメータに基づいて新しいソリューションを生成しなければならない。このソリューションは、経験から学習せず、また学習したものを新しい状況に適用もしない。
【０１１４】
例えば、倒立振り子の応用例は、異なる質量や長さのバランスをとる作業を突然課されたり斜めに配置されたりする可能性があり、或いは持続的な突風、地面又はヒンジ部分の摩擦、若しくは経路上の障害物に遭遇する可能性がある。制御機構自体の部品の損耗を含む任意の数の新しい状況が生じる可能性があり、前述の方法の全てが失敗する可能性が高い。知的コントローラは変化に対処できるはずである。
【０１１５】
本発明の実施形態による知能の進化した神経システムは、学習をやめず、新しいことに対する準備ができている。倒立振り子試行は、この能力を、複雑なタスクの状況で開発する。最初の幾つかの試行は、問題の極めて単純化された仮想バージョンである。後者のバージョンは、だんだん難しくなり、だんだん動的になる。これらの試行に合格できる神経システムは、極めて有用に利用される知的挙動の基本的な態様を示す。
【０１１６】
Ａ．倒立振り子試行１ 
第１の目標は、正強化と負強化に応答する神経システムを改良することである。表６に、倒立振り子問題の簡略化されたバージョンを習得するように神経システムを訓練するために使用される強化信号をまとめる。
表６
出力            
入力        ＜０        ０          ＞０
１０        Ｐ          Ｎ          Ｎ
０１        Ｎ          Ｎ          Ｐ
【０１１７】
各神経システムには、右に１つと左に１つの２つの入力ニューロンがある。任意の瞬間において、そのような入力の値は、振り子が傾いている方向を示し、左側の１は左に傾いていることを意味し、右側の１は右に傾いていることを意味する。出力ニューロンは、神経システムがカートを動かしたい方向を示し、０より小さい値は左に押すことを意味し、０より大きい値は右に押すことを意味する。これらの指定は、この特定の表しか学習できない神経システムを進化させないようにするためにかなり頻繁に変更されることがある。表内のエントリは、その活動の結果としてどの強化信号が神経システムに送られたかを示し、Ｐは正（ＰＲ＝１かつＮＲ＝０）を意味し、Ｎは負（ＰＲ＝０かつＮＲ＝１）を意味する。
【０１１８】
他の選択試行と同じように、正強化を生成する活動を覚え負強化を生成する活動を回避する神経システムは、生成の終わりに選択されたものである。これらは、学習方法を最も良く知っている神経システムである。
【０１１９】
Ｂ．倒立振り子試行２ 
この試行では、神経システムが考慮する新しい因子である振り子の角速度が導入される。カートをどのように動かすかの決定は、押す方向の他に押す大きさを決定することを必要とする。従って、この試行は、前の試行よりも複雑である。
【０１２０】
神経システムには、この試行のために、振り子の角度と速度のための２つの入力ニューロンがあり、その出力は、前と同じように解釈される（０より小さい出力はひとつの方向に押すことを意味し、０より大きい出力は他の方向に押すことを意味する）。
【０１２１】
試行には２つの部分がある。最初の幾つかの世代には、可能な入力は３つの値しかない。神経システムがこれを習得したとき、その数は例えば５に増える。神経システムが振り子を中心に維持するように押すときは、神経システムは正強化を受け取るが、間違った方向に押した場合、振り子は倒れ、負強化を受け取る。この試行のデータ表のために生成される計算は、倒立振り子コントローラの品質を測定するために制御理論学者によって使用される１組の標準的なテストパラメータに基づくことができる。
【０１２２】
Ｃ．倒立振り子試行３ 
この試行以降、可能な入力値は、２つ、３つ又は５つだけでなく、正確な振り子の角度と角速度を含む、問題領域内の任意の数でよくなる。この試行は、また、異なる強化方式（reinforcement regime）を有する。最初の２つの試行では、神経システムは、その動作に基づいて条件付けされていたが、神経システム上のこの試行から、それらの動作の結果に基づいて、即ち振り子がどれだけよくバランスがとれた状態で維持されたかに基づいて条件付けされる。正強化は、鉛直角が３度より小さいときに、振り子のその頂点に対する近さに関して提供される。負強化は、角度が３度よりも大きいときに、振り子のその頂点からの距離に関して提供される。最初に、振り子は、どちら側にも１５度よりも揺れないように制限されるが、神経システムが集合的にだんだん賢くなるにつれて、この制限が緩和され、条件がだんだん難しくされる。
【０１２３】
Ｄ．倒立振り子試行４ 
この試行では、カート位置とカート速度のために更に２つの入力ニューロンが使用される。これらの入力は、振り子角度と振り子速度と共に、振り子を制御するのに十分な状態を各神経システムに提供する。カート位置は、この試行から初めて、軌道上に制限が置かれるので重要であり、カートを軌道の中心からどちらの側にも２．４メートルより押すことはできない。（２．４メートルは、倒立振り子基準試験に使用される標準の軌道制限である。）境界のために、所定のカートの位置と速度の場合に、所定の振り子の位置と速度の正確な動作が可能でない時もある。成功神経システムは、その動作を計画するために訓練可能なものである。
【０１２４】
Ｅ．倒立振り子試行５ 
この試行により、神経システムは、最新技術と競合し得るようになるが、更にもう１つの策略を学習する必要があり、それは、今後できるだけ軌道の中心近くにカートを維持することである。従って、振り子をカート上の中心に置くこととカートを軌道上の中心に置くことの２つの目的があり、行うかことを決定するときにこの両方の目的と４つ全ての変数を考慮しなければならない。
【０１２５】
２つの目的により、２つの強化方式がある。即ち、脳が一方の目的を達成する正強化と他方の目的を達成しない負強化と同時に受け取ることを意味する。また、両方の目的を達成するか又は達成しなかった場合は、２つの信号が組み合わされる。各タイプの信号の合計は、０から１の範囲でよいが（試行間の一貫性のために）、その制約の範囲内で強化を任意の方法で配分することができる。振り子が調整することの方が難しいので、中心からずれた振り子は中心からずれたカートよりも悪いと見なされる場合がある。従って、負強化は、カート位置よりも振り子角度に強く適用される。
【０１２６】
この試行を習得した後で、神経システムは、パフォーマンスの定性的基準と定量的基準によって標準的な倒立振り子基準試験にかけられる。当然ながら、そのような基準試験は、変化する問題の状態に対応する方法の学習をテストせず、その理由は、既存のどのソリューションもそれを行えないからである。これは、次の試行が何のためのものであり、また他のタイプのコントローラを上回る大幅な改善がある場所である。
【０１２７】
Ｆ．倒立振り子試行６ 
この試行では、神経システムは、ＮＡＳＡのＮＥＡＲ（Near-Earth Asteroid Rendezvous）ミッションの疑似未来バージョンのロボットマニピュレータアームを調整するアクチュエータ回路の制御を学習する。神経システムは、振り子の長さ（ロボットがアームを伸縮するとき）、質量（アームが様々な重量の物体を掴むとき）、遊動環境（roving environment）（ロボットが障害物や丘と遭遇するとき）、及び重力強度（様々な小惑星を調査したり宇宙を飛行するとき）の変化から、全ての種類の変化条件の操作をテストされる。不定期の太陽フレア又は飛行中性微子が、機械アームの一部分の短絡を引き起こしたり、アクチュエータの挙動を不安定にしたりすることがある。
【０１２８】
神経システムは、振り子角度、振り子速度、カート位置、及びカート速度の４つの情報ストリームにアクセスし、更に正強化と負強化のフィードバックを有する。何かが適正に動作していないとき、神経システムは、それが分かりそれに関して行うべきことを分かっている。
【０１２９】
更に多くの試行を設計することができる。多くの可能性がある。例えば、完全な成功か完全な失敗だけのために強化信号を提供することができ、神経システムの間で何もフィードバックがなく、或いは、角速度やカート速度のデータの入力の一部が制限されることがあり、神経システムは、角度とカート位置が時間の経過と共にどのように変化するかを監視することによって、その値を推測しなければならない。また、神経システムは、常に全てかゼロの力を常に印加する代わりに、カートに可変的な力を印加するように訓練されてもよい。
【０１３０】
Ｖ．計算モデリング 
人工知能を開発するために必要な計算リソースは膨大なものになることがある。数万の世代のために選択されたそれぞれ数十の遺伝子とサブ遺伝子を有する何万もの個別のゲノムがあるので、人工の世界は、最新技術のスーパーコンピュータでさえ負担が大きくなり過ぎることがある。
【０１３１】
この問題は、複数の別々に進化する母集団がある場合には更に悪化する。しかしながら、それには幾つかの正当な理由がある。第１に、様々な母集団を有するより大きな遺伝子型多様性があり、各母集団は選択試行に対する様々な遺伝的ソリューションを見つける。訓練が終わって、高度に進化した母集団の要素が、その最終的な特化のために選択されるとき、特定のタスクにおいて幾つかの遺伝的組み合わせが他よりもうまく働くことが分かる場合がある。更に他のどの母集団も、特定の問題に最適なものを選択するための遺伝的多様性の蓄えを大幅に増やす。
【０１３２】
更に、知的神経システムのそのような原型は全て、知能の神経的基礎を研究する刺激的な機会を提供する。今日の神経解剖学には、込み入って複雑な神経回路を有する知的な脳（即ち、人間の脳）の実用モデルが１つしかなく、その一部分が人工的な進化の場合があり、科学者は、何が我々を知的にしているかを理解することに、１００年以上前のゴルジ体着色剤より近づいていない。しかし、それぞれ知能をそれ自体の方法で実現する多くの実用モデルによって、比較神経解剖学者達は、最終的に帰納的な科学を実践することができる。全てのさらに他の母集団は、知能の共通性の探索における多くのさらに他の手掛かりを意味する。
【０１３３】
計算問題に取り組むために、同時に使用されるプロジェクトに数千台のコンピュータによって進化世界を分散グリッド上に実装することができる。幸運にも、本発明の幾つかの態様は、特に、例えばグローバスプロジェクト（Globus Project）によるツールキットを使用する並列マルチタスクに適している。進化プロセス選択試行の自動化により、新しいゲノムとその試行のバッチが、グリッド上にある休止中のコンピュータに外注される。結果がどっと流れ込むため、知的財産を守る安全な環境で新しいバッチが逆に分散される。分散計算によって、地球上全体に分散されたコンピュータにおいて適応し増大する進化する母集団の広大な仮想世界を、単一のデスクトップから作成し管理することができる。
【０１３４】
代替として、仮想進化世界は、１つの屋根の下で結合されたコンピュータの分散グリッドである国産のＢｏｅｗｕｌｆクラスタ上に実装することができる。販売代理店からひとかたまり単位でそれぞれわずか６０ドルで入手できる数十台の不要な旧型ＰＣの在庫から、並はずれたスーパーコンピューティングを実現することができた。コンピュータは遅い場合があるが、常時専用化されており、パケットは、安全でない深さのインターネットではなく数メートル（a few yards）のイーサネットTMを移動するだけでよい。
【０１３５】
図１７は、本発明による実施形態が、独立型で実施されてもよくマルチコンピュータグリッド又はクラスタ内の１台のコンピュータとして実施されてもよいコンピュータシステム１７００を示す。コンピュータシステム１７００は、情報を伝えるためのバス１７０１又は他の通信機構と、情報を処理するためにバス１７０１に結合されたプロセッサ１７０３とを有する。コンピュータシステム１７００は、また、情報並びにプロセッサ１７０３によって実行されるび命令を記憶するためにバス１７０１に結合された、ランダムアクセスメモリ（ＲＡＭ）や他のダイナミックストレージ装置等のメインメモリ１７０５を有する。メインメモリ１７０５は、また、プロセッサ１７０３による命令の実行中に一時的数値変数や他の中間情報を記憶するために使用することができる。コンピュータシステム１７００は、更に、バス１７０１に結合され、プロセッサ１７０３のために静的情報と命令を記憶する読み取り専用メモリ（ＲＯＭ）１７０７や他の静的記憶装置を含む。バス１７０１には、磁気ディスクや光ディスク等の記憶装置１７０９が情報と命令を永続的に記憶するために結合されている。
【０１３６】
コンピュータシステム１７００は、バス１７０１によって、コンピュータユーザに情報を表示するための陰極線管（ＣＲＴ）、液晶ディスプレイ、アクティブマトリクス表示装置、プラズマディスプレイ等の表示装置１７１１に結合されてもよい。プロセッサ１７０３に情報とコマンドの選択物を伝えるために、英数字や他のキーを有するキーボード等の入力装置１７１３がバス１７０１に接続されている。別のタイプのユーザ入力装置は、プロセッサ１７０３に方向情報とコマンドの選択を伝え、表示装置１７１１上のカーソル移動を制御するための、マウス、トラックボール、カーソル方向キー等のカーソル制御機構１７１５である。
【０１３７】
本発明の１つの実施形態によれば、人工知能の開発は、メインメモリ１７０５に収容された命令の配列を実行するプロセッサ１７０３に応じて、コンピュータシステム１７００によって提供される。そのような命令は、記憶装置１７０９等の別のコンピュータ可読媒体からメインメモリ１７０５に読み込むことができる。プロセッサ１７０３は、メインメモリ１７０５に収容された命令の配列を実行することによって、本明細書に示したプロセス段階を実行する。多重処理機構内の一以上のプロセッサは、また、メインメモリ１７０５内に収容された命令を実行するために使用されることもある。代替の実施形態において、本発明の実施形態を実施するために、ソフトウェア命令の代わり又はソフトウェア命令と組み合わせて配線回路を使用することができる。もう１つの例において、フィールドプログラマブル論理アレイ（ＦＰＧＡ）等の再構成可能なハードウェアを使用することができる。その論理ゲートの機能と接続トポロジは、一般にメモリルックアップ表をプログラムすることによって実行時にカスタマイズ可能である。従って、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【０１３８】
コンピュータシステム１７００は、また、バス１７０１に結合された通信インタフェース１７１７を有する。通信インタフェース１７１７は、ローカルネットワーク１７２１に接続されたネットワークリンク１７１９につながる双方向データ通信を実現する。例えば、通信インタフェース１７１７は、デジタル加入者線路（ＤＳＬ）カード、ケーブルモデム、総合デジタル通信網（ＩＳＤＮ）カード、電話モデム、又はデータ通信接続を対応するタイプの通信線路に提供する任意の他の通信インタフェースでよい。もう１つの例として、通信インタフェース１７１７は、互換性のあるＬＡＮにデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カード（例えば、イーサネット又は非同期伝送モデル（ＡＴＭ）ネットワーク）である。無線リンクを実施することもできる。そのような任意の実施形態において、通信インタフェース１７１７は、様々なタイプの情報を表すデジタルデータを伝える電気信号、電磁気信号又は光信号を送受信する。更に、通信インタフェース１７１７は、ユニバーサルシリアルバス（ＵＳＢ）インタフェース、ＰＣＭＣＩＡ（ＰＣメモリカード国際協会）インタフェース等の周辺装置インタフェース装置を有することができる。図１７には１つの通信インタフェース１７１７を示したが、複数の通信インタフェースを使用することもできる。
【０１３９】
ネットワークリンク１７１９は、一般に、一以上のネットワークを介して他のデータ装置へのデータ通信を可能にする。例えば、ネットワークリンク１７１９は、ローカルネットワーク１７２１を介して、ネットワーク１７２５（例えば、広域ネットワーク（ＷＡＮ）、又は現在では一般に「インターネット」と呼ばれる広域パケットデータ通信ネットワーク）或いはサービスプロバイダによって操作されるデータ機器への接続を有するホストコンピュータ１７２３に結合することができる。ローカルネットワーク１７２１とネットワーク１７２５は両方とも、情報と命令を伝えるために電気信号、電磁気信号又は光信号を使用する。コンピュータシステム１７００とデジタルデータを通信する様々なネットワーク並びにネットワークリンク１７１９上で通信インタフェース１７１７を介した信号は、情報と命令を伝える搬送波の例示的な形である。
【０１４０】
コンピュータシステム１７００は、ネットワーク、ネットワークリンク１７１９、及び通信インタフェース１７１７を介して、メッセージを送り、プログラムコードを含むデータを受け取ることができる。インターネットの例において、サーバ（図示せず）は、ネットワーク１７２５、ローカルネットワーク１７２１、及び通信インタフェース１７１７を介して、本発明の実施形態を実現するアプリケーションプログラムに属する要求コードを送ることができる。プロセッサ１７０３は、送られたコードを受け取っている間に実行しかつ／又はそのコードを後で実行するために記憶装置１７０９や他の不揮発性記憶装置に記憶することができる。このようにして、コンピュータシステム１７００は、アプリケーションコードを搬送波の形で得ることができる。
【０１４１】
本明細書で使用されている用語「コンピュータ可読媒体」は、実行のためにプロセッサ１７０３に命令を提供することに関係する任意の媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体を含むがこれらに限定されない任意の形態をとることができる。不揮発性媒体には、例えば、記憶装置１７０９等の光ディスク又は磁気ディスクがある。揮発性媒体には、メインメモリ１７０５等のダイナミックメモリがある。伝送媒体には、バス１７０１を構成する配線を含む同軸ケーブル、銅線及び光ファイバがある。伝送媒体は、また、無線周波数（ＲＦ）及び赤外線（ＩＲ）データ通信の間に生成されるような音、光又は電磁波の形態をとることができる。コンピュータ可読媒体の一般的な形態には、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、ＣＤ−ＲＯＭ、ＣＤＲＷ、ＤＶＤ、他の光媒体、パンチカード、紙テープ、光学マークシート、穴又は他の光学的認識可能なしるしのパターンを有する他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の任意のメモリチップ又はカートリッジ、搬送波、又はコンピュータが読み取ることができる他の任意の媒体がある。
【０１４２】
実行のためにプロセッサに命令を提供する際に、様々な形態のコンピュータ可読媒体が必要とされることがある。例えば、本発明の少なくとも一部分を実行するための命令は、最初に、リモートコンピュータの磁気ディスク上に保持されることがある。そのようなシナリオでは、リモートコンピュータは、メインメモリに命令をロードし、モデムを使用し電話線を介してその命令を送る。ローカルコンピュータシステムのモデムは、電話線上のデータを受け取り、赤外線トランスミッタを使用してデータを赤外線信号に変換し、その赤外線信号を、携帯情報端末（ＰＤＡ）やラップトップ型コンピュータ等の携帯用計算処理装置に送る。携帯用計算処理装置の赤外線検出器は、赤外線信号で送られた情報と命令を受け取って、そのデータをバスに入れる。バスは、データをメインメモリに送り、そこからプロセッサは命令を取り出し実行する。必要に応じて、メインメモリが受け取った命令を、プロセッサによる実行の前又は後で記憶装置に記憶することができる。
【０１４３】
本発明を幾つかの実施形態と関連して説明したが、本発明は、添付の特許請求の範囲内にある様々な明らかな改良及び等価機構を対象として含みまたこれらに限定されない。
【図面の簡単な説明】
【０１４４】
【図１】本発明の１つの実施形態の動作を示すフローチャートである。
【図２】ゲノムの実施形態を示す図である。
【図３】処理ニューロンの実施形態を示す図である。
【図４】基本的なパーセプトロンの出力関数の表現ツリーを示す図である。
【図５】パーセプトロンのシグマ出力関数の表現ツリーを示す図である。
【図６】ニューロンのより精巧な出力関数の表現ツリーを示す図である。
【図７】本発明の実施形態による負強化を使用する出力関数の表現ツリーを示す図である。
【図８】点突然変異を示す図である。
【図９】交差突然変異を示す図である。
【図１０】本発明の１つの実施形態による結合遺伝子を示す図である。
【図１１】図１０に示したターゲットサブ遺伝子の１つの実施形態の操作を示す図である。
【図１２】強度サブ遺伝子において符号化されたＨｅｂｂｉａｎ重み関数の表現ツリーを示す図である。
【図１３】図１０による強度サブ遺伝子において符号化された二極Ｈｅｂｂｉａｎ重み関数の表現ツリーを示す図である。
【図１４】図１０に示した実施形態によるゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ対立遺伝子、及びターゲット対立遺伝子から構築された神経システムを示す図である。
【図１５】ニューロンを除去する表現ツリーを示す図である。
【図１６】１つの実施形態におけるＨｅｂｂｉａｎ動的回路再生関数の表現ツリーを示す図である。
【図１７】本発明の実施形態を実現するために使用できるコンピュータシステムを示す図である。
【図１８】従来の人工ニューラルネットワークの図である。
【図１】
2007504576.tif 000005
【図２】
2007504576.tif 000006
【図３】
2007504576.tif 000007
【図４】
2007504576.tif 000008
【図５】
2007504576.tif 000009
【図６】
2007504576.tif 000010
【図７】
2007504576.tif 000011
【図８】
2007504576.tif 000012
【図９】
2007504576.tif 000013
【図１０】
2007504576.tif 000014
【図１１】
2007504576.tif 000015
【図１２】
2007504576.tif 000016
【図１３】
2007504576.tif 000017
【図１４】
2007504576.tif 000018
【図１５】
2007504576.tif 000019
【図１６】
2007504576.tif 000020
【図１７】
2007504576.tif 000021
【図１８】
2007504576.tif 000022
【国際調査報告】
2007504576.tif 000023