人工知能を開発するためのシステム及び方法
【解決手段】
特定のタスクを実行するように適応された神経システムを開発する方法及びシステムにおいて、神経システムの母集団が選択され、各システムが、相互結合されたニューロンの配列を含み、代表的ゲノムに符号化される。所定のゲノムに関して、処理遺伝子が、各ニューロンの神経出力関数を符号化する。各ニューロンからの結合が、それぞれ重み関数を含む一以上の結合遺伝子によって符号化される。特定のタスクが、試行期間中に実行され、パフォーマンスが連続的に監視される。(連続的に監視したパフォーマンスからの)強化信号が、処理遺伝子と結合遺伝子のそれぞれと関連付けられた関数への入力として印加される。試行の終わりに、特定のタスクを実行するための適合度が、印加される強化信号の関数として決定される。神経システムの新しい世代を形成するために、最も高い適合値を有する母集団の神経システムを表す1組のゲノムが選択される。
特定のタスクを実行するように適応された神経システムを開発する方法及びシステムにおいて、神経システムの母集団が選択され、各システムが、相互結合されたニューロンの配列を含み、代表的ゲノムに符号化される。所定のゲノムに関して、処理遺伝子が、各ニューロンの神経出力関数を符号化する。各ニューロンからの結合が、それぞれ重み関数を含む一以上の結合遺伝子によって符号化される。特定のタスクが、試行期間中に実行され、パフォーマンスが連続的に監視される。(連続的に監視したパフォーマンスからの)強化信号が、処理遺伝子と結合遺伝子のそれぞれと関連付けられた関数への入力として印加される。試行の終わりに、特定のタスクを実行するための適合度が、印加される強化信号の関数として決定される。神経システムの新しい世代を形成するために、最も高い適合値を有する母集団の神経システムを表す1組のゲノムが選択される。
【発明の詳細な説明】
【発明の詳細な説明】
【0001】
本願は、2003年1月17日に出願された米国仮出願番号60/440,883号の特典を請求するものであり、この出願の内容を本明細書の一部を構成するものとしてここに引用する。
【技術分野】
【0002】
本発明は、人工知能に関し、より詳細には人工知能を開発するシステム及び方法に関する。
【背景技術】
【0003】
1940年代にコンピュータが紹介されて以来、人間の精神の最も高い能力の1つである知能の人工的な複製に強い関心が払われてきた。このコンピュータ科学の部門は人工知能(AI)として知られており、その目的は、言語理解、問題解決、パターン認識、学習、不完全又は不確かな情報からの推論等、人間の知能と関連した特性を示す機械を作り出すことである。
【0004】
数十年間の研究において、人工知能への主要なアプローチとして、ますます複雑になるアルゴリズム、より高速のコンピューターハードウェア、並びにより大きいメモリ、データベース及び知識ベースの開発が行われたが、これらは引き続き課題として残っている。この技術により、人工知能研究者達は、チェスをしたり病状を診断したりするような特定のタスクを、手順と目的が正確に定義されて変化しない限り、うまく実行するエキスパートシステムを開発してきた。しかしながら、その精巧さにもかかわらず、そのようなシステムの能力は、システム自体の知能ではなくて設計者の知能を反映するものである。
【0005】
そのよい例は、IBMTMによって開発されたDEEP BLUETMコンピュータチェスシステムである。DEEP BLUETMシステムは、前進できるいくつかのチェス位置の多くの計算を必要とする力ずくの探索と、高度なスコアリングと探索のヒューリスティクスと、その時点での世界ランク上位の人間チェスプレーヤを負かすことができた序盤及び終盤データベースを組み合わせたものを使用した。しかしながら、チェスの観客が見たものは、一般的な知能の功績ではなく、単に特定の問題を解決するための力ずくの計算の勝利であった。機械知能のテストとして、チェスは妥当な選択のように思えることがあるが、その理由は、人間のチェスをする能力が、人間の知能を他の複雑な問題に利用する能力のはっきりした指標であるからである。しかしながら、チェスはうまくできるが他の分野の基本的な問題を解決できない人間は、自閉症の人と同様に知的であるとは考えられない。DEEP BLUETMシステムにはチェス以外の能力がなく、チェスに勝ったからといって一般的な知能を達成できるとは限らない。
【0006】
従って、特定のタスクを模倣するためにコンピュータをプログラミングすることは、熟練したプログラマが明確に定義された問題を解くアルゴリズムを考案できたとしても、恐らく本当の人工知能を実現することにはならない可能性がある。それよりもむしろ、変化する環境において、動的で汎用的で予期しない問題に適応できる学習及び問題解決能力が必要とされる。
【0007】
この手法の欠点の1つの理由は、知能の表面的挙動だけをモデル化し、その基礎的なダイナミクスをモデル化していないことである。グランドマスターレベルのチェスをすることは知的な人間の行為であるが、その人間を知的にしているものは、その人間がチェスをどのように考えているかである。場合によっては、実際的で人工的な代替案には、システムのわずかないくつかの関連する挙動をシミュレーションするだけで十分である。例えば、人工芝は、フットボール用の緑の競技面としての芝生の実用的な代用品である。しかし、人工芝が、光合成をし、野生生物を引き寄せ、或いは土地に栄養素を導入することを期待されるとしたら、ウェブ状のゴム格子に織り込まれた緑色のプラスチックポリマーは不満足な設計である。知能を作り出すためには、人間の脳の挙動の一部分だけをモデル化するのではなく、人間の脳が知能をどのように作り出すかをモデル化することが望ましい。
【0008】
残念ながら、人間の脳は複雑すぎて、その脳の構造と低レベルの機能を複製することによって脳のダイナミクスを直接モデル化することはできない。例えば、人間の脳は、数百万の相互に結合されたニューロンの複雑なネットワークである。知能を司る領域である大脳皮質は、それ自体に数十の異なる領域があり、各領域に約6個の異なる層がある。各層には、それ自体に幾つかの異なるタイプのニューロンの構成があり、各タイプのニューロンは、入ってきた刺激に対して、そのニューロン自体の固有の発火(firing)レート及び強度でそれ自体のやりかたで応答する。ニューロンのタイプ、構成、及びダイナミクスとニューロン間の結合には、脳の層、領域及び部位(region)全体にわたって大きなばらつきがある。神経科学の文献には、様々なニューロン及び結合タイプの説明はたくさんあるが、脳の内部の働きから知性がどのように生まれるかに関する適切な理論はまだない。人工知能研究者達は、脳がどのように知能を実現するかを理解することなく、脳を模倣して知能を再現することに大変苦労している。
【0009】
人間の脳の単純化されたモデルでさえ、汎用的な知能の達成には成功していない。例えば、1つの手法は、層状に配列され結合された「人工ニューロン」からなる人工ニューラルネットワークを使用することによって人間の脳の活動をシミュレーションすることである。図18は、3つの人工ニューロン1803、1805及び1807の入力層1801と、通常は1つの隠れ層1809(人工ニューロン1811、1813、1815、及び1817)と、人工ニューロン1821及び1823を有する出力層1819とを含む人工ニューラルネットワーク1800を示す。各層1801、1809及び1819は完全に相互結合されており、信号処理はフィードフォワード型であり、これは、所定の層内の各人工ニューロンが、前の層内の全ての人工ニューロンから入力信号を受け取って、次の層内の全ての人工ニューロンに出力信号を送ることを意味する。各人工ニューロンは、その入力の重み付け加算の関数として出力を生成し、人工ニューラルネットワークの出力は全体として、全ての結合重み(connection weights)に依存する。ほとんどの人工ニューラルネットワークは、図18に示したものよりも多数の人工ニューロンを有するが、この複数層のフィードフォワード構造より複雑なことはまれである。
【0010】
人工ニューラルネットワークは、プログラミングと実行の2つの連続した段階で動作する。プログラミング段階で、人工ニューラルネットワークは、光学式文字認識用のアルファベット文字等の1組の学習パターンを入力層1801に印加し、出力層1819に適切な出力が生成されるまで全ての人工ニューロンの結合重みを調整することによって訓練される。プログラミング段階が完了すると、人工ニューラルネットワークは、実行段階の準備ができ、人工ニューラルネットワークは、訓練セットに予め示されたパターンに対して人工ニューラルネットワークに印加される入力を分類するために使用される。人工ニューラルネットワークは、特に手書き文字や他の文字認識の用途では、パターンの認識と分類においてある程度成功してきており、ノイズの多いデータに対して極めてロバストな場合がある。しかしながら、人工ニューラルネットワークが実行段階に入ると、新しいパターンを認識する能力は、結合重みが新しい訓練セットで完全にプログラムしなおされるまで固定される。例えば、人工ニューラルネットワークが、アルファベット文字を光学的に認識するように訓練されている場合、アルファベットに新しい文字を増やすには、人工ニューラルネットワークの結合重みをリセットし最初から訓練しなければならない。
【0011】
この固有の制限のため、人工ニューラルネットワークは、生物学的な神経システムと表面的かつ用語的に類似しているにもかかわらず、人工知能に対する他のアプローチよりも進歩する見込みがほとんどない。人工ニューラルネットワークとエキスパートシステムは違ったようにプログラムされるが、その結果は、基本的に同じであり、正確で予め決められた一連の計算を実行するが、知能の他のサインを学習したり表示したりすることができない比較的静的なシステムである。
【0012】
2002年7月23日に発行された「Adaptive Neural Learning System」と題する米国特許第6,424,961号に開示されているように(この明細書の内容は本明細書の一部を形成するものとして引用される)、私は、神経発火(neural firing)の時間的近さとシステム活動レベルに基づいて負強化(negative reinforcement)と正強化(positive reinforcement)によってその結合重みを調整しなおすことができるニューラル学習システムを発明した。従って、私のニューラル学習システムは適応性があり、新しい問題のためにニューラル学習システムを最初からプログラムしなおすことなく、新しいパターンを認識したり新しいタスクを実行したりするために、実行中にそのプログラミングを調整することができる。更に、従来の人工ニューラルネットワークの基礎的なフィードフォワード構成の代わりに、私のニューラル学習システムのニューロンは、様々なサイズと複雑さのフィードバックループで結合することができる。
【0013】
従来の人工ニューラルネットワークと比較して、私のニューラル学習システムは、人間の脳の複雑さをよりよく表すことができるが、知能を実現するために人間の脳の複雑さをどれだけシミュレーションしなければならないかがまだはっきりしていない。脳の複雑さは、確かに、知能を実現するのに十分であるが、この複雑さの多くは、例えば体温の維持、筋肉運動の調整や他の活動に使用される、知能とは無関係である可能性がある。実際に、脳の複雑さの一部分は全く使用されない可能性があり、これは、あまり知的でない人間の祖先からの各世代に機能的中間物を完全に生成しなければならなかった長い進化の過程の遺物である。
【0014】
従って、脳の複雑さの多くは、実際には、知能を実現するためには必然的な進化の副産物として以外は不要なことがあり、これは、人間の脳の精密な構造を詳細に再現することが、成功のための実際的な手段ではないことを示している。しかしながら、予めプログラムされている1つのタスクだけを極端にうまく実行できる間抜けな召使いではなくて、真に知的な機械を開発できる、人工知能における画期的な発明が依然として必要とされている。
【発明の開示】
【課題を解決するための手段】
【0015】
本発明は、進化の特定の結果を複製したり従来技術のシステムで行われてきたような特定のタスクを実行したりしようとするのではなく、純粋な人工知能を作成する取り組みに係る。本発明では、進化メカニズム自体が知能を示すシステムの開発に使用される。人工知能研究における長い間の失敗は、適応神経システムの生成を適合性が知能によって判断される競争力のある厳密な選択方式にかけることによって対処される。このプロセスの結果、人工知能が得られる。
【0016】
1つの実施形態において、本発明は、特定の神経システムを代表的ゲノムに符号化する方法を提供し、神経システムは、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有する。この方法は、所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によってニューロン入力をニューロン出力に変換する仕様を符号化し、所定のニューロンからの結合を一以上の対応する結合遺伝子によって符号化する段階を含む。神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令してゲノムを形成する。ゲノムは、様々なタイプの処理遺伝子と結合遺伝子を含み、各タイプの処理遺伝子は異なるタイプのニューロンを符号化し、各タイプの結合遺伝子は、ニューロン間の様々なタイプの相互作用を符号化することが好ましい。また、方法は、選択された処理遺伝子と結合遺伝子に突然変異操作を実行する段階を含むことが好ましい。
【0017】
本発明の更に他の実施形態は、特定の用途に使用するための神経システムを構築又は組み立てる方法を対象とし、ゲノムは、一以上のタイプのニューロンを配列で表し、ニューロン間の一以上の相互作用を表すように符号化される。方法は、ゲノム内で符号化されたニューロンを入力ニューロンとして神経システムに挿入し、それぞれの入力ニューロン間の結合を選択的に構築し、新しいニューロンを選択的に作成する段階を含む。
【0018】
本発明のさらに別の実施形態は、特定のタスクを実行するように適応された神経システムを開発する方法を対象とする。この方法は、神経システムの母集団を選択する段階を含み、各神経システムは、相互結合されたニューロンの配列を含み、各神経システムを代表的ゲノムに符号化する。所定の神経システムのゲノムは、対応する処理遺伝子内の各ニューロンごとに神経出力関数を符号化し、それぞれ重み関数を含む一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化する。方法は、更に、試行期間中に指定されたタスクを実行するように所定の神経システムを操作し、試行期間中に所定の神経システムのパフォーマンスを連続的に監視する段階を含む。連続的に監視されたパフォーマンスから決定された強化信号が、所定の神経システムのそれぞれの処理遺伝子と結合遺伝子の関数に入力として印加される。試行期間の終わりに、指定されたタスクを実行する所定の神経システムの適合性が決定される。適合性は強化信号の関数として決定されると有用である。
【0019】
本発明の更に他の態様、特長及び利点は、本発明を実施するように意図された最良の態様を含む幾つかの特定の実施形態と実施態様を単に示すことによって、以下の詳細な説明から容易に明らかである。本発明は、また、その他の異なる実施形態が可能であり、その幾つかの詳細は全て、本発明の精神及び範囲から逸脱することなく、様々な明らかな態様で修正することができる。従って、図面と説明は、本質的に例示と見なされ、限定として見なされるべきでない。
【0020】
本発明は、添付図面の図において限定ではなく例として示されており、図において類似の参照番号は類似の要素を示す。
【発明を実施するための最良の形態】
【0021】
人工知能を開発するためのシステム、方法及びソフトウェアを説明する。以下の記述では、説明のために、本発明の完全な理解を提供するために多数の特定の詳細を述べる。しかしながら、そのような特定の詳細なしに或いは等価な構成によって本発明を実施できることは当業者には明らかである。他の例において、本発明を無駄に不明瞭にするのを避けるために、周知の構造と装置はブロック図形式で示す。
【0022】
I.仮想進化
人工知能の探究は幻想ではなく、本物の知能は、これまで進化によって作り出されてきた。知能の基礎となるメカニズムの理解はまだその黎明期にあるが、突然変異、淘汰、再生の基礎となるメカニズムの理解は、他の科学分野と同じくらい成熟している。従って、本発明の1つの態様は、知能を再び生成するために、かつて本物の知能を生成してきた進化メカニズムを利用することと関係する。
【0023】
図1は、ゲノムを符号化する段階(phase or step)(101)と、ゲノムから新しい神経システム即ち脳を構築する段階(103)と、新しい神経システムをテストする段階(015)と、ゲノムを選択する段階(107)と、継続/終了する段階(109)と、再生する段階(113)と、突然変異させる段階(115)とを含む、本発明の1つの態様による仮想進化を使用して人工知能を開発するプロセスの概要である。
【0024】
段階101で、1組の仮想ゲノムが生成され、各仮想ゲノムは、対応するタイプの神経システムを符号化し表現する。デジタル的な実施形態において、仮想ゲノムは、処理遺伝子(processing gene)と結合遺伝子(connection gene)を表す一連のビットを含み、このビットは、様々なタイプの相互結合されたニューロンからなる神経システムを組み立てるためのパラメータを指定する。仮想ゲノムの1つの実施形態は、後で詳しく説明する。
【0025】
段階103で、それぞれのゲノムから新しい神経システムを構築する。新しい神経システムを組み立てるために、対応するゲノム内の符号化されたニューロンが、入力ニューロンとして提供され、入力ニューロンの最初の数は、新しい神経システムの意図された用途によって決定される。次に、それぞれの入力ニューロンの間に結合が作成され、更に他のニューロンとその間の結合が、指定された規則又は原理に従って作成される。新しい神経システムを構築する手順は、後で更に詳しく説明する。
【0026】
試験段階105で、試行期間中に指定されたタスクを実行するように新しい神経システムを操作する。試行期間中にシステムのパフォーマンスを連続的に監視し、監視したパフォーマンスに応じて、正強化信号及び/又は負強化信号を新しい神経システムに入力として印加する。新しい神経システムをテストする手順は、同様に、後で更に詳しく説明する。本発明の極めて有用な実施形態において、試行期間の終わりに、印加された強化信号から、特定のタスクを実行するための新しい神経システムの適合性が計算される。
【0027】
段階107は、仮想進化の選択段階に関係する。選択試行において示された各神経システムの適合性が決定された後で、母集団内により知的な神経システムを含むゲノムのサブセットが選択される。ゲノムは、それぞれの対応する神経システムの実測適合性レベルを比較することによって選択される。対応する神経システムの実測適合性に基づいてゲノムを選択する様々な方法を使用することができる。例えば、選択は、順位(例えば、上位10個、或いは最も適合性の高い10%)、絶対閾値(適合性の実測値がXより大きい全てのゲノム)、又は確率(例えば、適合性実測値により重み付けされたゲノムをランダムに選択する)に基づくことができる。他の方法も使用することができ、ゲノムの存続は、実測された知能と積極的に関連付けられる。
【0028】
段階109は、仮想進化プロセスを継続するか終了するかの決定に関係する。この決定は、生成された世代の数、費やされた時間の長さ、達成される知能適合性スコア、プロジェクトの貨幣原価、進化履歴等を含む様々な因子に依存することがある。実際に、仮想進化は無制限に進行してもよく、知的神経システムは、必要に応じて現行母集団からサンプリングされる。仮想進化の実行を終了する判断が肯定的な場合は、プロセスは終了し(段階111)、現行母集団内の神経システムは、知能を必要とする用途に使用する準備ができる。
【0029】
一方、仮想進化プロセスが継続する場合は、選択段階107から残存したゲノムの母集団から次世代の仮想ゲノムが生成される(段階113)。再生するには、次世代のために選択された母集団内のゲノムの少なくとも1つ又は複数を複写することを必要とする。しかしながら、実際には、再生段階は、その後に続く概念的に別個の突然変異段階115と組み合わされることが多く、新しいゲノムの一部分は確率論的に混乱する。突然変異は、また、複数の親ゲノム間の再結合を必要とすることがある。全ての再生されたゲノムやゲノムの全ての遺伝子が突然変異しなければならないわけではなく、実際に、突然変異率は、知的神経システムが母集団を維持できるほどの低さであることが好ましい。
【0030】
段階115の突然変異の後で、仮想進化プロセスは段階103に戻り、そこで、次世代の神経システムが、段階109の終了状態がトリガされるまで、前述のような段階103〜段階107と、段階113及び段階115のサイクルにかけられる。
【0031】
コンピュータ科学者達は、遺伝的アルゴリズムや他の人工的な進化方法を四半世紀以上にわたって実験してきており、直接アルゴリズム技法では実際的でない多くの問題に対するソリューションを見つけた。しかしながら、知能を作り出す役割を負った進化システムの設計は、典型的な進化計算問題の実践者に普通でない多くの課題を課す。
【0032】
例えば、遺伝的アルゴリズムのほとんどの用途では、解空間の構造が前もって適切に特徴付けられており、従って、進化プロセスは、1組の予め定義されたパラメータを微調整するだけでよい。従って、プログラミング段階で人工ニューラルネットワークの結合重み値を見つけるために遺伝的アルゴリズムを使用することができる。人工ニューラルネットワークの構造はかなり厳格であり、研究は、主に、隠れ層内に使用する人工ニューロンの数を決定することに限定される。これに比べて、本物の知的神経システムの構造はあまりよく理解されておらず、従って、新しいパラメータと構造を作り出す際に生物進化と同じくらい創造的な能力を持つ必要がある。具体的には、新しいタイプ、配列及びダイナミクスの神経処理要素とその相互関係、並びにそのような要素と相互関係のシステム全体を、人工ニューラルネットワークと同じくらい単純なものから皮質回路と同じくらい複雑なものに進化させることが望ましい。
【0033】
別の例として、競合する個体間のパフォーマンスの定量的比較が簡単なほとんどの進化計算問題と違って、知能のように抽象的で一般的な特徴を選択するパフォーマンスメトリクスは設計が困難である。しかしながら、幾つかの原理を明確に表現することができる。変化する環境に適応し、推理を行って推論を導き出し、広範な選択肢から最適な行動方針を選択する能力に関して個体をテストしなければならない。特に、個体は、プログラマによって与えられた特定の命令を実施するのではなく、正と負の環境フィードバックに連続的に応えることによってそのようなことを自分でどのように行うかを学習できなければならない。中等学校の10歳の少年少女に施される知能テストが、幼稚園の5歳の少年少女に施されるものよりも難しいのと全く同じように、選択方式自体は、母集団が有能になるほど困難になることがある。
【0034】
II.ゲノム
適切な進化システムの設計における第1の課題は、仮想ゲノムの構造を決定することである。ゲノムを構成する基本的な遺伝子構成単位は、人工脳内の潜在的な処理要素と相互作用の大きな世界を構成できるほど十分に汎用性がなければならない。一方、遺伝子構成単位は、システムが主に知能と無関係な構造を進化させるほど一般的かつ汎用的であってはならない。従って、人工知能を開発するための基本的な遺伝子構成単位は、脳の構成単位、即ちニューロンを含むことが好ましい。換言すると、知能システムのゲノムは、様々な種類のニューロンとニューロン間の様々な種類の相互作用のために符号化する遺伝子を含むことが好ましい。
【0035】
ゲノムの1つの例を図2に示し、この図において、各ニューロンは、処理遺伝子(長方形)とそれに続く一以上の結合遺伝子(六辺形)によって符号化されている。具体的には、ゲノム200は一連の遺伝子からなり、第1のタイプのニューロンは、処理遺伝子201と結合遺伝子203及び205を含み、第2のタイプのニューロンは、処理遺伝子207と結合遺伝子209によって表され、第3のタイプのニューロンは、処理遺伝子211と結合遺伝子213、215及び217によって符号化されている。
【0036】
この実施形態において、処理遺伝子は、各ニューロンがその出力をどのように計算するかを指定し、各ニューロンが幾つか含む場合がある結合遺伝子は、その出力を他のニューロンにどのように送るかを指定する。ゲノムは、ゲノムが符号化する神経システム内の正確な数、構成及び結合を指定する必要がないことが好ましく、そうでないと、ゲノムが、神経システム自体と同じくらい複雑になる。実際には、本発明の幾つかの実施形態において、学習が人間の中で行われるのと同じように様々なニューロン間で結合が作成され破壊されることが望ましいので、この詳細レベルでの指定は、望ましくない結果を生むことがある。それによりもむしろ、ゲノム内の各タイプのニューロンの数と全てのニューロンの互いに対する物理的配置を含む対応する神経システムのネットワーク構成は、ゲノム内で符号化された情報から発生する。従って、ゲノムは、神経学習システムの特定の実例や構成の青写真ではなく、神経システムを組み立てる構成単位の凝縮した表現であることが好ましい。
【0037】
凝縮したゲノムのもう1つの利点は、ゲノムに適用される突然変異によって挙動の変化が生じる可能性があることである。遺伝子レベルの突然変異については後で説明するが、ゲノムレベルの突然変異は、図1の突然変異段階111で適用することができる。例えば、1対のゲノムを2つのランダムな位置で分割し両側を交換することによって、様々な遺伝子の内部表現に関係なくゲノムレベルで交差突然変異(cross-over mutation)を適用することができる。削除及び挿入操作は、1つのゲノムから一以上の遺伝子を削り、その遺伝子を別の遺伝子に結合することができる。
【0038】
また、母集団の細分と移動を実施して、遺伝的変化の別の原因を提供することができる。ゲノムレベルの交差及び削除/挿入が同じ部分母集団のメンバ間でのみ行われるように母集団が細分されたとき、様々な部分母集団は、それぞれ異なる成功の程度の解空間の異なるセクタをそれぞれ調査する部分的に分離された遺伝的実体(genetic entity)になる。従って、母集団の細分化によって、母集団全体の中に見られる遺伝的多様性が高まり、成功した遺伝ソリューションが見つかる可能性が高くなる。部分母集団間でゲノムを臨時に移動することにより、1つの部分母集団内の適応的に有利にされた遺伝子を遺伝子プールの残りの部分に分配することができる。
【0039】
図2に示したゲノムは、ほとんどの微生物のゲノムのように染色体の複製が1つしかない半数体であるが、本発明の他の実施形態のゲノムは、冗長性とより微調整された遺伝子制御を提供する二倍体(人間のように対になる染色体を有する)、三倍体、又は倍数体でもよい。実際に、倍数関係は動的でよく、1ゲノム当たりの姉妹染色体の最適数は進化によって決定される。
【0040】
A.処理遺伝子
処理遺伝子は、各ニューロンが入力を出力にどのように変換するか決定する。ニューロンへの入力は、環境から或いはニューロンに結合された他のニューロンの出力からのものであり、その出力は、それらのニューロンの結合のそれぞれの重みによって修正されている。次に、各ニューロンは、その入力の関数を実行し、得られる出力は、ネットワーク内の他のニューロンへの入力になるか或いは環境に伝達される。この処理のダイアグラムを図3に示し、この図では、ニューロン301にk個の結合があり、xiは、結合i∈1..kの入力信号を表し(これは、別のニューロン又は環境入力から生成される出力である)、wiは、結合の強さ(weight)を表す。ニューロン301の出力yは、全てのxとwの関数である。
【0041】
最も単純な処理関数の1つは、「パーセプトロン」と呼ばれる人工ニューラルネットワークに使用された基本タイプのニューロンに見られる。パーセプトロンは、y={Σxiwi≧θの場合に1、Σxiwi<θの場合に−1}のしきい値ゲートティング関数(thresholdgating function)を実行し、ここで、xiは、結合i∈1..kから受け取った入力、wiは、対応する結合の強さ、θは、ニューラルしきい値である。換言すると、パーセプトロンの出力は、重み付けした入力Σxiwiがしきい値θを越えた場合に1(1)、他の場合は出力が負1(−1)である。人工ニューラルネットワークパーセプトロンの一般的な変形は、入力の加算にシグマ関数(sigmoidal function)を実行する。シグマ関数は、y=(1+e-((Σxiwi)-θ)-1である。このシグマ関数の出力は0〜1の範囲であり、中間値はS字形曲線に従う。
【0042】
さらに高度な例は、米国特許第6,424,961号に示されている、この特許に示されているニューロンの幾つかは、負強化信号NRを処理関数に組み込む。この処理関数は、y={Σxiwi≧qの場合は1、Σxiwi<qの場合は0}であり、ここで、q={ニューロンが最近発火した場合はθ、ニューロンが最近発火していない場合はθ−NRである}。操作中、負強化信号NRは、不活性ニューロンの神経しきい値を一時的に低下させ、それにより神経システム内の発火活動が高まり、それにより新しい神経経路が作成され古い経路が破壊される。負強化信号NRの振幅は、しきい値の低下量を決定する。
【0043】
以上その他の神経出力関数は、仮想ゲノムの遺伝子の処理において符号化される。本発明の1つの実施形態によれば、神経出力関数は、人工進化下位分野の遺伝プログラミング(GP)で使用されるような数学的表現ツリー(mathematical expression tree)として符号化される。具体的には、神経出力関数を示す数式は、(入れ子にされた挿入ステートメント等の)標準形式に標準化され、標準化された形式に対応する内部ノードと葉ノードの木構造として表される。内部ノードは数学演算子に対応し、数学演算子は、内部ノードのすぐ下のノードからの値に関数や他の数学演算を対応させる。葉ノードは、木の一番下にあり、数学的表現ツリーに入力される定数、変数及び他の末端(terminal)を表す。
【0044】
葉ノードに使用することができる1組の末端と内部ノードの1組の演算子は、神経入力から神経出力への様々なマッピングの進化を可能にするように十分に単純で一般的であることが好ましい。本発明の1つの実施形態の末端セットと演算子セットをまとめたものをそれぞれ表1と表2に示す。
【0045】
表1
記号 末端
−1から9 整数
IN ニューラル入力
CI 累積入力
LF 最終発火からの時間
OF 最終発火の出力
PR 正強化
NR 負強化
RG レジスタ
【0046】
表1において、末端セットは、−1から9の整数と、ニューロンがその処理演算に組み込む可能性のあるシステム変数とを含む。例えば、神経入力INは、経路の現行時間間隔にわたって受け取った重み付けされた入力の和を表す。累積入力CIは、最後に発火してから(例えば、ニューロンが最後に非ゼロを出力してからの時間間隔にわたって)受け取った重み付けされた全ての入力の和を表す。神経出力は、発火頻度、バースト頻度、バースト強度、又は神経活動の他の測定値の人工的類似物として解釈することができる。末端セットは、また、正強化PR信号及び負強化NR信号を含む。これらの信号は、より詳細に後で説明するように、ネットワークの訓練を支援するように処理される。レジスタRGは最初はゼロであり、STR(記憶)演算子が評価されるたびに値を記憶する。
【0047】
表2
記号 演算子
+ y=a+b
− y=a−b
* y=a×b
% y={b≠0の場合はa/b、b=0の場合は1}
EXP y=ab
LIN y=bxa+0.5(y∈[0,1])
SIG y=1/(1+ebxa)
TRI y=1−|bxa|(y>0)
RAD y=e-(bxa)2
THR y={a<bの場合は0、a≧bの場合はa)
STP y={a<bの場合は0、a≧bの場合は1)
STR y=a。yをレジスタに記憶する
【0048】
表2の演算子セットは、集合的に様々な神経処理関数の構成単位として働くことができる算術演算子と非線形演算子を含む。表2において、変数aは、演算子への主入力と考えられ、bは、例えばLIN、SIG、TRI及びRAD関数の勾配やTHR及びSTP演算のしきい値等の演算子の出力曲線の形状の変調パラメータと考えられる。
【0049】
この節の初めに説明した神経処理関数は、遺伝プログラミング木を使用して処理遺伝子に符号化することができる。図4に示したように、例えばしきい値が3.5の単純な人工ニューラルネットワークパーセプトロンを実現することができる。
具体的には、出力関数y={Σxiwi≧θの場合に1、Σxiwi<θの場合に−1}は、完全に括弧に入れた標準式(((IN STP(7/2)×2)−1)として、それぞれ表1と表2に演算子と末端に関して構成することができ、ここで、7/2は3.5の値を生成するために使用され、INはΣxiwiを表し、演算×2−1は、STP演算子の出力を強制的に範囲[0,1]から[−1,1]にするために使用される。
従って、数学的表現ツリー401は、内部ノード403を含み、内部ノード403は、内部ノード405と407(末端記号1を保持する)からの値を演算する演算子−を保持する。内部ノード405は、演算子*を含み、内部ノード409と411から2の値を得る。内部ノード409は、葉ノード413(IN末端を保持する)と内部ノード415からの値に関して演算するSTP関数を符号化し、内部ノード415は、葉ノード419では7、葉ノード417では2に関する除法の%演算を含む。
【0050】
神経処理関数は、図4のパーセプトロンより込み入っていることがある。例えば、しきい値3.5のシグマ人工ニューラルネットワークパーセプトロンの出力関数は、図5に示したような数学的表現ツリー501として実現される。図6に示したもう1つの例として、数学的表現ツリー601は、しきい値3の出力関数を使用し、その結果、入力がそのしきい値よりも低い場合に出力はゼロになり、しきい値より高い場合に出力が2〜5の範囲になり、中間の値は入力の大きさに正比例する。
【0051】
私の米国特許第6,424,961号に記載された適応神経学習システムの神経処理関数の幾つかはもっと込み入っている。例えば、1つの適応神経学習処理関数は、ニューロンが最近発火していない場合だけ、負強化NRによって低下する可変しきい値を使用する。更に、神経入力は、現行時間間隔の間に受け取った重み付け入力INからなるだけでなく、最新の発火以来の時間間隔ごとに受け取った累積入力CIを含む。累積入力CIは、それぞれの通過時間と共に増大することがあるが、その神経入力に対する影響は、時間と共に着実に減少し、例えば、累積入力CIは、ニューロンが最後に発火されてから時間間隔ごとに0.9倍に減少し、即ち0.9LFだけ減少する。組み合わされた入力がしきい値以上である場合、ニューロンは出力1で発火し、そうでない場合、出力はゼロである。この関数は、初期しきい値が3.5に設定され、最新5つの時間間隔として「最近」定義されたものであり、図7の数学的表現ツリー701によって表すことができる。
【0052】
進化は突然変異を伴い、処理関数を数学的表現ツリーとして表す1つの利点は、全ての木が構文的に有効な表現であることである。この特徴によって進化プロセスの効率が改善され、その理由は、突然変異によって有効な処理関数が得られ、生物学的進化を上回る異なる利点が得られ、突然変異により存続できない子孫ができる可能性があるためである。数学的表現ツリーで行うことができる突然変異操作には、点(point)と交差(crossover)の少なくとも2種類がある。図8に示した点突然変異は、数学的表現ツリー内の確率論的に決定された個々のノードに確率論的に決定された値を代入する。図8において、数学的表現ツリー801は、突然変異した数学的表現ツリー803を作成するために2つの点突然変異を受ける。
【0053】
交差突然変異は、2つの遺伝子型間の遺伝物質の相互交換を引き起こし、親の遺伝的混合物である子孫が生成される。図9に示したように、交差は、それぞれの親数学的表現ツリー(901,903)内からのランダムな分岐クラスタを選択し、それらを交換して2つの子孫木(905,907)を生成することによって作用する。
【0054】
末端、関数及び突然変異演算子のこのレパートリにより、神経入力から神経出力への種々様々な可能なマッピングを処理遺伝子内で符号化することができ、仮想母集団は、新規なタイプのニューロンを進化させ最適化することができる。
【0055】
B.結合遺伝子
結合遺伝子は、結合重みの値をどのように生成するかを指定し、どのニューロンが他のどのニューロンに結合するかを決定する。結合遺伝子は、処理遺伝子よりも多くの情報を指定するので複雑になる。図10に示したような1つの実施形態において、結合遺伝子1001は、5つのサブ遺伝子、即ちカウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、ターゲットサブ遺伝子1009、及び強度サブ遺伝子1011に細分される。
【0056】
カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びターゲットサブ遺伝子1009は、ニューロンを神経システム内でどのように配線するかを指定する。これらのサブ遺伝子はそれぞれ、結合が行われる数、結合が向かう場所、結合が達することができ距離、結合するニューロンのタイプを決定するパラメータを符号化する。1つの実施形態において、各カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びターゲットサブ遺伝子1009は、10個の異なる対立遺伝子(allele)又は値に対応する0から9までの1つの整数を持つ。表3に、カウントサブ遺伝子1003、方向サブ遺伝子1005、及びレンジサブ遺伝子1007の対立遺伝子を示す。
【0057】
表3
対立遺伝子 カウント DIR. 範囲
0 1 −3 1
1 1 −2 2
2 2 −1 5
3 2 0 10
4 4 1 20
5 4 2 50
6 8 3 2〜5
7 12 任意 5〜10
8 20 任意 10〜20
9 40 任意 20〜50
【0058】
カウントサブ遺伝子1003は、各タイプのニューロンによって行われる結合の数を指定し、例えば、対立遺伝子3は、2つの結合があることを意味する。各ニューロンによって行われる結合の総数は、ニューロンの結合遺伝子のそれぞれのカウント対立遺伝子の和である。方向サブ遺伝子1005とレンジサブ遺伝子1007は、それぞれの結合が進む場所を決定する。方向サブ遺伝子1005に格納された方向対立遺伝子は、結合がどの方向にいくつの層を突き抜けるかを指定する。例えば、数−3〜3は、結合を向けるために後(負の場合)又は前(正の場合)にいくつのニューラル層があるかを示し、ここでゼロは、結合が出発ニューロンと同じ層に留まることを意味し、「任意」は、結合が任意の方向に進むことができることを意味する。レンジサブ遺伝子1007内のレンジ対立遺伝子は、ニューロン内で測った距離で、単一層内で結合が互いにどれだけ離れていることができるかを指定する。
【0059】
ターゲットサブ遺伝子1009は、結合が連携すべきニューロンの種類を示す。この値は、意図されたターゲットニューロンタイプの相対染色体位置を示す。例えば、図11を参照すると、4つのニューロンタイプ1101、1103、1105及び1107を有するゲノムがある。矢印は、タイプ1103によって行われる結合の可能なターゲットタイプを指す。ターゲット対立遺伝子は、従うべき矢印を決定し、0は、結合が、それ自体と同じタイプのニューロンに行われることを意味し、1は、結合が、右に1つ先の染色体位置にあるタイプに行われることを意味し、2は、2つ先のタイプへの結合を意味し、以下同様である。ゲノムの端に達すると、カウントは反対側から再び始まり、従ってこの例では、1、5、及び9の対立遺伝子は、全てタイプ1105を指す。
【0060】
突然変異は、結合の挙動を変化させるために、カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びのターゲットサブ遺伝子1009に作用することができる。1つの実施形態において、対立遺伝子の値を増減させるが、他のタイプの点突然変異を使用することができる。そのような突然変異は、神経システムの回路に大きな影響を及ぼすものもあり、何も影響を及ぼさないものもある。
【0061】
図10を再び参照すると、強度サブ遺伝子1011は、結合の重みを決定する重み関数を符号化する。重みは、結合を介して伝わる信号に働く調整可能な増幅器である。ニューロンが発火するたびに、重み関数の出力が、処理関数の出力と掛けられ、得られた積が、結合の他端にある「シナプス後」ニューロンに送られる。重みの変化は、神経システムの発火ダイナミクスに影響を及ぼし、これは最終的に神経システムの挙動と知能を変化させる可能性がある。適正な挙動を学習するには適正な重みを見つける必要があり、重み関数がそのプロセスを可能にする。
【0062】
強度サブ遺伝子1011は、処理遺伝子の数学的表現ツリーと類似の数学的表現ツリーによって表すことができる。1つの実施形態において、強度サブ遺伝子は、表2に示した関数セットと、以下の表4の末端によって補った表1に示した末端セットを使用する。
【0063】
表4
記号 追加の末端
LP シナプス後ニューロンの最終発火からの時間
OP シナプス後ニューロンの最終発火の出力
WT 現在の重み
【0064】
これらの末端のうちの2つは、シナプス後ニューロンの特性であり、LPはシナプス後ニューロンが最後に発火してからの時間(間隔)であり、OPは、シナプス後ニューロンの最後の発火の出力である。3番目の末端は、結合の現在の重みWTである。WTの値は、最初0に設定されるが、神経システムのライフサイクル中にその重み関数の出力を反映する。
【0065】
図12は、強度サブ遺伝子1011において符号化されたHebbian重み関数を示す。Hebbの規則により、順序付けによって因果関係が示唆され、そのような関係が強化されなければならないので、シナプス前ニューロンの発火がシナプス後ニューロンの発火のすぐ後にあるときは重みが強くなる。発火がそのように関連付けられないときは重みが弱くなる。例えば、重み値が1〜3の範囲の場合は、シナプス前発火とシナプス後発火の間の時間の長さが特定の時間間隔数(例えば、5)の範囲内にあるときは重みが常に0.2だけ増え、シナプス前ニューロンが別の時間間隔数(例えば、15)の間使用されていなかったときは重みが0.2だけ減少する。
【0066】
もう1つの重み関数は、私の米国特許第6,424,961号に記載されたニューラル学習システムに使用されている。この関数は、やはりHebbianであるが、重み変化の大きさが一定でなく、結合重みが起こり得る最低値と最高値に引きつけられるように終点で安定したアトラクタ(attractor)を作成する形状の増大曲線と減少曲線をたどる。重みが低いときは、増大が小さくかつ減少が大きく、これにより重みがほぼ最低にとどまるようにバイアスがかけられる。しかしながら、重みが高いときは、増大が大きくかつ減分が小さく、重みは最高に留まるように傾斜される。板挟みになった重みは、アトラクタの1つにすぐに引っ張られ、アトラクタに着いた後は、アトラクタにとどまる傾向がある。重みをあるアトラクタから別のアトラクタにシフトするには、繰り返しかつ正確に相関されたシナプス前発火とシナプス後発火或いは長い不活性期間が必要である。
【0067】
この重み関数は、神経システムの動作を安定させる。重みのほとんどが適所に固定された状態では、神経経路が、ノイズ、劣化、又は他の経路との相互作用によって容易に妨害されることはない。重み関数は、また、正強化を含むことができる。例えば、1つの実施形態における正強化信号PRは、0でも1でもよい。0のとき、正強化信号PRは無効である。1のとき、強化される予定の重みは、直ちに最大値まで完全に強化され、初期の因果関係が強化される。このようにして、正強化信号PRは、報酬を与えられた挙動(rewarded bihavior)を現在生成している任意の遷移経路を凍結することができる。
【0068】
これらの特徴は、図13に示した2つの分岐クラスタによって実施することができる。左側のクラスタ1301は、強化するときに重みをどれだけ大きくするかを決定する重み表現ツリー(weight expression tree)の一部である。右側のクラスタ1303は、弱める必要があるときに重みどれだけ小さくするかを決定する。重み表現ツリーの残りの部分は、分かりやすくするために示されていない。
【0069】
ゲノムの複雑さを高めて、知能を達成する新しい方法の発見をさらに創造的にする更に他の方法がある。例えば、その表現ツリーの関数セット内のループと条件命題を使用して、遺伝暗号をより精巧なものにすることができる。正常な分岐クラスタを捕捉して単一ノードに縮小することができ、それにより共適応遺伝子フラグメントがユニットとして進化することができる。また、結合パラメータサブ遺伝子は、それそれが有する10個の対立遺伝子よりも複雑なネットワークエンジニアリング機能を指定する任意の数の対立遺伝子を有することができる。
【0070】
C.神経システムの組織化
符号化された後、ゲノムは、神経システムを組織化する準備ができる。1つの実施形態において、神経システムは、例えば新しい結合を作成し、新しいニューロンを作成し、新しい結合を作成するニューロンの大規模な並列連鎖反応で自己組織化する。最初に、神経システムに、ゲノム内で最初に見つかったタイプのニューロンが種子として植え付けられる。これらは、入力ニューロンを構成し、最初の数は、神経システムを構築する用途によって必要とされるように構成される。次に、入力ニューロンの対応する結合遺伝子1001内に指定された情報を使用して、入力ニューロンのために結合が構築される。具体的には、カウントサブ遺伝子1003は、構築する結合の数を指定し、方向サブ遺伝子1005とレンジサブ遺伝子1007は、新しい結合を行なうためのターゲット領域を決定し、ターゲットサブ遺伝子1009は、新しい結合が結合しようとしているニューロンのタイプを示す。新しい結合は全て、そのレンジ内で好ましいランダムな位置を選択する。正しいタイプのニューロンが見つかった場合は、そのニューロンへの結合が行われる。一方、異なるタイプのニューロンが見つかった場合は、別の位置を選択して再び試みる。その場所でニューロンが見つからなかった場合は、その場所で正しいタイプの新しいニューロンを作成し、結合を完成する。これらの結合は、あきらめて新しいニューロンを作成する前にターゲット領域全体から正しいタイプのニューロンを探索する。
【0071】
また、新しいニューロンが作成されるたびに、その新しいニューロンの新しい結合が作成される。いくつかの結合が既存のニューロンにつながり、他の結合が新しいシナプス後ニューロンを作成する。ニューロンの作成と結合の作成のこの連鎖反応は、全ての新しい結合が既存のニューロンへの結合によって使い尽くされるか、予め設定されたニューロンの最大数の制限に達するまで続く。神経システムが完成したとき、ゲノム内の最後のタイプの作成された最後のニューロンが、出力ニューロンとして指定される。
【0072】
この脳構築メカニズムと遺伝暗号は、広範囲の神経回路の進化を可能にし、異なる回路の多数の組み合わせが同一神経システム内に存在することができ、それにより、神経システムの異なる領域が個別の処理タスクのために進化することができる。ちょうどニューロン自体がニューロン間の様々な出力関数とタイプを進化させることができるように、神経システムは、その相互関係に様々なレベルの複雑さを有する様々なモジュール型構成要素を有することができる。従って、神経システムは、知能に対する要求が必要とするのと同じくらい入り組みかつ階層的に複雑になるように進化することができる。
【0073】
1つの実施形態によれば、神経システムは、任意のサイズに成長することができる。図14は、6つのニューロンタイプと11の結合タイプのゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ及びターゲット対立遺伝子から構築された神経システム1401を示す。各ニューロンタイプは、その結合タイプと共に、異なる色で示され、ニューロンは三角形として示され、結合はその間の線として示されている。結合タイプのパラメータサブ遺伝子は、小括弧で示されているが(計算、方向、レンジ及びターゲット)、処理遺伝子と強度サブ遺伝子は示されていない。図の神経システム1401は、4つのニューロンから始まり、上限は50であった。しかし、これらの数は構成可能であり、本発明は、いかなる特定初期入力ニューロン数や特定の成長限度にも限定されない。
【0074】
本発明の実施形態による神経システムは、また、任意の次元数で成長することができる。図14に、全ての神経層が水平線である2次元ネットワークを作成した1次元配列の入力ニューロンを示す。同様に、最初の2次元配列の入力ニューロンは、全ての神経層が水平面である3次元ネットワークを作成することができる。実際には、多次元の神経ネットワークが可能であるが、高い次元は、ハードウェアで実施するには困難な場合がある。
【0075】
D.動的回路
本発明のもう1つの態様は、神経システムの動作寿命中にニューロン間の結合を作成したり破壊したりすることを可能にすることによって、知能の学習と達成のフレキシビリティを高めることに関する。本発明のこの態様による神経システムは、表5に示したように遺伝プログラムの演算子セットを2つ増やすだけでその結合を再構成する能力を有する。
【0076】
表5
記号 動的演算子
NEW y={a=bの場合に0,new()、a≠bの場合に1}
DIE y={a=bの場合に0,die()、a≠bの場合に1}
【0077】
NEW演算子の入力引き数が等しいときは、そのニューロンは新しい結合を作成する。処理遺伝子において、NEW演算子は、ニューロンに選択的に指示して各結合タイプに1つの新しい結合を作成させる。強度サブ遺伝子において、NEW演算子は、ニューロンに選択的に指示してそのサブ遺伝子タイプの新しい結合だけを作成させる。それぞれの新しい結合は、結合遺伝子1101の規則に従って作成され、従って、例えば、新しい結合の幾つかは前と同じニューロンにつながり、幾つかは他のニューロンにつながり、幾つかは新しいニューロンにつながり、これにより新しい結合が作成される。従って、等しい入力を有するNEW演算子を実行することにより、前述のような一回の自己組織化が始まる。
【0078】
DIE演算子は、ネットワークからニューロンと結合を除去する。処理遺伝子において、ニューロン全体は、その結合の全てと共に破壊される。強度サブ遺伝子では、そのサブ遺伝子の結合を破壊するだけでよい。
【0079】
図15と図16の分岐クラスタは、その動作中の関数を示す。図15の分岐1501は、処理遺伝子の一部分であり、従ってニューロンは、ニューロンが256時間ステップよりも長くアイドル状態の場合に自己破壊するが、そうでいない場合はその出力に影響はない。
【0080】
一方、図16は、NEW演算子とDIE演算子の両方を含む強度サブ遺伝子内の数学的表現ツリー1601を示す。数学的表現ツリー1601によって実施される重み関数は、ゼロの最小重みを有するHebbianである。長い不活動状態の後で、この結合は自分自身を置き換えて次に自己破壊するが、ここでは、活動状態は、そのシナプス前ニューロン発火やシナプス後ニューロン発火の頻度だけでなく、これらの発火が、結合が2つの間の因果関係に関与していることを示唆するように関連付けられるかどうかによって測定される。数学的表現ツリー1601のレジスタは、時間間隔ごとに増分するが、重みがその最低値を超えるとゼロにリセットされる(Hebbian相関を示す)。レジスタが125に達すると、新しい結合が作成され、この結合は破壊される。
【0081】
無駄なニューロンと結合を置き換えることができる神経システムは、学習と暗記の高い能力を有する。また、回路の動的作成によって、神経システムは、新しい知覚又は認識要求を満たすように回路を自動的に配線しなおす入り組んだフィードバック機構によって神経経路を進化させることができる。換言すると、本発明のこの態様による神経システムは、ちょうど人間の脳と同じように新しい状況と環境に適応することができる。
【0082】
III.適合性方式(FITNESS REGIME)
自然淘汰は適者生存のことであり、本発明の1つの態様における選択は、最も賢いものが生き残ることである。図1を再び参照すると、神経システムの母集団は、一連の選択試行で競う(段階103)。各試行において、神経システムは、知能をある程度必要とするタスクを行うように訓練され、そのタスクを実行するように各神経システムをどれだけうまく訓練できるかにより、そのゲノムが次世代まで生き残るかどうかが決まる。母集団が進化して試行がうまくいったら、母集団は次の試行に移る。それぞれの新しい試行が、知能の新しい態様を構築し、従ってそれぞれの試行が完了した後で、神経システムはだんだん知的になる。
【0083】
適合性方式の設計で重要なことは、特定のタスクを実行できるがさらに特定のタスクを実行するように訓練できる神経システムが進化されないことである。一方、ほとんどの人工進化プロジェクトにおいて、全ての遺伝子型は、実施する準備ができているソリューション候補であり、各遺伝子型は、そのソリューションがうまくいくかどうかを基準に選択される。しかしながら、本発明のこの態様に従って開発されていた神経システムは、それぞれ白紙状態で始まり、役立つようになる前に訓練する必要があり、従来人工的進化によって生成されていた剛構造よりも汎用的かつ有能である。
【0084】
この神経システムを訓練するために使用される方法は、従来の人工ニューラルネットワークを訓練するために使用されたものと異なってもよい。人工ニューラルネットワークは、ネットワークの出力が適正になるまで全ての内部重みをほんの少しずつ修正する手の込んだ一連の演算によって訓練される。そのような方法に多くの制限があり、その主な制限は、このように訓練された人工ニューラルネットワークが、新しいものを何も学習できないことである。人工ニューラルネットワークがどれだけよく訓練されたかに関係なく、それらの人工ニューラルネットワークは、経験から学習したり「学習」したことを新しい方式に適応したりすることもしない。
【0085】
神経システムの訓練方法は、従来の人工ニューラルネットワークに使用されたものよりも単純かつ強力でよい。例えば、スキナー理論の行動条件付けを使用して神経システムを訓練することができ、出力が好ましいときは正強化(PR)信号が送られ、出力が好ましくないときは負強化(NR)信号が送られる。そのような神経システムは、環境的フィードバックを利用し、環境的フィードバックに最も応答する神経システムは、正強化探求挙動と負強化回避挙動の精巧なレパ−トリを最も学習し、最適化し、維持できるものである。
【0086】
従って、次の式を使用して適合性を直接測定することができる。
【0087】
ここで、PRtとNRtはそれぞれ、時間ステップtで受け取った正強化信号と負強化信号、Tは、その現在の試行を克服するために各脳に割り当てられた時間ステップの総数である。最も高い得点のゲノムが、世代の終わりごとに選別され(段階103)、段階109と111によって次世代の少しだけ知的な神経システムを導入する。代替として、他の神経システムに対する適合性方式のパフォーマンスに基づいて適合性を測定することができる。
【0088】
この種の強化学習は、前述のような米国特許第6,424,961号に記載のニューラル学習システムと共に使用することができる。そのような神経システムは、負強化に応答して不活性ニューロンのしきい値を一時的に低くし、正強化に応答してHebbian強化された重みをその最大値に高める。これは、効率的で有効な訓練メカニズムであるが、強化に応答する他の関数があり、それらの関数の幾つかの方が優れている場合があり、従ってそに関数を見つけることが望ましい。
【0089】
示した進化システムは、より優れたメカニズムの発見を支援することができる。負強化と正強化は、ゲノム内の遺伝暗号の重要な構成要素であり、ゲノムは、その構成要素を演算に組み込む様々な方法を見つけることができる。神経システムに正強化を引き出す挙動をうまく記憶させ、負強化を引き出す挙動をより迅速に取り変えるそのような演算は、選択的な利点を有する。何世代も後で、ゲノムは、極めてよく訓練された神経システムを生成することができる。
【0090】
各ゲノムをその先行する試行で訓練に関して定期的にテストして、ゲノムがその蓄積された適応度を失わないようにすることができる。また、このことは、同じ種類の神経システムが、多くの異なる環境で訓練できなければならず、また多くの異なる種類の神経入力を処理するように学習できなければならないことを意味する。
【0091】
従って、後で説明する選択試行は、多くの様々なタイプの認識問題を含む。その問題の幾つかは空間的に動的でよく、幾つかは時間的に動的でよい。問題の幾つかは入力の暗記を必要とすることがあり、幾つかは少数の限界パターンの詳細な識別を必要とすることがある。また問題の幾つかは、詳細な分析を必要とすることがあり、幾つかは、迅速な意志決定を必要とすることがある。合格したゲノムは、全てのそのような状況に対処していることが好ましい。
【0092】
選択試行の処理タスクは、共通な1つの特徴、即ち知能を含むように設計されている。当然ながら、初期の試行は、あまり多くの知能を必要としないが、難しい試行に合格するようになるほど、神経システムは有能になる。それぞれの新しい選択的な挑戦により、神経システムは、高くなる複雑な環境的要求を理解するためのより高い精巧さを持つようになる。しかしながら、それらのタスクのどれも、力ずくの計算を必要とせず、即ち、従来のコンピュータが適切に計算することができる。一方、選択試行で実行されるタスクは、データを分析し、パターンを識別し、類似性を導き、結果を予測し、決定するために、力ずくではなく知的な学習を引き出すことである。
【0093】
1つの展開において、ゲーム、制御システム及び画像分析の3つのカテゴリのうちの1つから選択試行が選択される。そのような分野は、少なくとも2つの理由により選択される。第1に、これらの分野は、多くの異なるスキルレベルと多くの異なる種類の知的要件を有する課題を提供し、従って、様々な態様の知能を少しずつ開発するには理想的である。第2に、これらの分野は商品価値を有する。
【0094】
試行の完了は、神経システムが、次の進化段階、即ち実世界に進む準備ができたことを示す。市場は、その時からだいたい選択要件を決定することができ、神経システムは、その要求を満たすように進化することができる。神経システムは、その時までに、知能を必要とする新しいスキルを学習することができる。
【0095】
A.人工ニューラルネットワークのエミュレーション
この試行は、1対の入力と出力の関連付けを記憶する従来の人工ニューラルネットワークが行うことができる能力を選択する。具体的には、所定の入力に応じて所定の出力を生成するように人工ニューラルネットワークを訓練することができ、それにより、後でその実行段階で人工ニューラルネットワークに入力が提示されたときに、人工ニューラルネットワークが関連付けられた出力を生成するようになる。従って、この試行は、特定の入力に出力が適正なときに正強化信号PRを提供し、出力が適正でないときに負強化信号NRを提供することによって、人工ニューラルネットワークをエミュレートするように訓練することができる神経システムを開発する。この試行で成功した神経システムは、従来の人工ニューラルネットワークのパターン整合をエミュレートする能力を進化させることができるものである。
【0096】
B.順応
この試行は、従来の人工ニューラルネットワークが最初からプログラミングしなおさなければ修正できない間違いを修正する神経システムのフレキシビリティを開発する。この順応フレキシビリティを選択するとき、神経システムは、最初に、人工ニューラルネットワークのエミュレーション試行の場合のように、関連付けられた入力と出力の複雑な組み合わせを学習するように訓練される。次に、入力と出力の関連付けの幾つかが変更され、その結果、前に正強化された出力によって負強化信号が引き出される。負強化信号は、神経システムが正強化信号を生成する新しい出力を見つけるまで持続する。この選択試行において、成功神経システムは、新しい答えを学習する能力を習得するものである。
【0097】
C.シモン(Simon)
この試行では、神経システムは、特に一連の入力を特定の順序で記憶するために、時間を理解することを基礎に訓練される能力がテストされる。この能力を選択するために、神経システムは、シモン(各プレーヤが、だんだん長くなる入力のシーケンスを交代で思い出す子供のゲーム)で遊ぶために作成される。神経システムは、シーケンス自体に新しいエントリを提供するように要求されることはないが、新しい入力を記憶し、ゲームの各順番でシーケンス全体を正しい順序で思い出すことが期待される。神経システムが入力の順序を正しく暗唱するかどうかによって、正強化信号と負強化信号が印加される。しかしながら、神経システムがあるシーケンスの正しい出力を出力し、任意の瞬間の正しい出力がシーケンス内の位置に依存するので、学習プロセスは、メモリに記憶されたデータ間の関係のパターンを処理する能力を必要とする。シモン試行に成功した神経システムは、連続的な入力刺激を必要とすることなく一連の出力の生成を制御する能力を進化させる。
【0098】
D.ナビゲーション
ナビゲーション試行では、神経システムは、単純な制御システムを学習する。神経システムへの入力は、前方道路の2次元画像でよく、これは、レーシングカービデオゲームでプレーヤが見るものを簡単にしたものである。神経システムの出力は、車の操縦、即ち左折、直進、右折を制御する仮想アクチュエータでよい。従って、神経システムは、道路から外れるか障害物に衝突する負強化と、道路に留まり衝突事故を起こさない正強化をナビゲートするように訓練される。それぞれの動きが、近づく障害物や急カーブを考慮しなければならないので、この試行は計画を必要とする。それぞれの動作の正強化又は負強化の結果が、動作が行われたすぐ後で感じられる必要はないので、この試行は、計画立案が可能なように神経システムの時間理解を将来を含むように拡張する。従って、成功神経システムは、将来の目標物と障害を識別する能力を実証するものであり、決定する際に現在の要求だけでなく将来の要求も考慮される。
【0099】
E.テトリス
この試行は、進化する神経システムの計画立案能力に基づく。この試行の入力は、よく知られたテトリス形状が落下して下に溜まっていく2次元ゲームグリッドであり、出力は、4つの形状操作のうちの1つ、即ち左移動、右移動、右回転、又は左回転に対応する。負強化は、スタックの高さを高くするために利用され、正強化は列を除去するために利用される。列を除去してスタックの高さを最小にするために、成功神経システムは、隙間を埋めるに有利にしたり空いたセルの埋めるのを回避するような発見的戦略を開発する能力を得る。しかしながら、正強化又は負強化は、神経システムのそのような特定の戦略を教示する特定の目的には利用されず、むしろ、神経システムは、その結果の利点(例えば、スタックの高さ)に関してのみ正強化又は負強化される。人間のプレーヤが、ゲームを最も上手にする方法を自分のために学習するのとまるで同じように、成功神経システムも、そのような戦略が何であるかを具体的に伝えることなく、テトリスをするのに有効な戦略を独力で学習する。従って、この試行は、ソリューションのステップが何であるかを予め伝えることなく所定の問題を解決する方法を理解する能力を開発した神経システムを選択する。これは、従来の人工ニューラルネットワークと人工知能の能力よりも優れた知能の極めて重要な態様である。
【0100】
F.ナビゲーションの一般化
学習したものを一般化する能力は、従来の神経モデルが達成できなかったことが有名な知能の重要な構成要素である。これまでの試行に成功した神経システムでも、極めてうまく一般化することを期待されるとは限らない。例えば、これまでの試行に成功した神経システムは、10X15のサイズのゲームグリッド上ではうまくプレイできるが、7X17のゲームグリッド上ではほとんどプレイの能力を発揮できないように訓練されていた。プレイ面のサイズのこのわずかな変化は、人間の子どもにとって概念的な問題はほとんどないが、従来の人工知能システムを無能力化する。従って、この試行では、成功神経システムが所定の試行の予期しない変形で有能になるように一般化する能力が選択される。
【0101】
1つの手法は、テトリスよりも少し容易な試行、例えばナビゲーションから始めることによって、一般化のための基礎とすることである。一般化ナビゲーション試行において、神経システムは、入力ニューロンの大きな2次元配列で作成され、神経システムの仮想世界の認識に寄与するプレイ面のサイズと入力ニューロン空間のサブセットは、訓練の過程ごとに変化する。神経システムは、複数のサイズで様々にサイズと位置が決められたサブセットの入力ニューロンを有するゲームグリッドを次々と移動する能力がテストされる。このタスクの一般化は、その知覚フィールドが広がる幅と深さに関係なく、道路の縁を回避し道路の障害物を回避する学習を必要とする。次の試行では、テトリスが一般化される。
【0102】
G.テトリスの一般化
様々なサイズのプレイフィールド全体にわたってテトリスのゲームをすることを一般化する能力は、テトリスのダイナミクスがナビゲーションのダイナミクスよりに激しく変更されるので、一般化ナビゲーション試行に合格する能力よりも高度である。一般化ナビゲーション試行と同じように、各神経システムは、様々なサイズのプレイ面とその神経入力空間のサブセットがテストされる。任意サイズのゲームグリッドの有能なテトリスプレーヤになるために、神経システムは、その知覚フィールド内で見つけることができる場所に関係なくかなり複雑なパターンを識別することを学習し、従ってこの試行に成功した神経システムは、複雑で動的なデータパターンの理解を一般化する能力を示す。
【0103】
H.エレベータのスケジューリング
この試行は、人通りの多い建物内の一群のエレベータの効率的な利用者乗降スケジューリングを決定する実世界の用途を有する。しかしながら、このタスクを管理する制御システムの設計は驚くほど難しく、特に、各エレベータオペレータが、実際に、(1)乗車要求のある近づきつつある階で停止すべきかどうかと、(2)要求がないときにどこに行くべきかの2つだけを決定することが考慮される。エレベータの挙動の他の態様は、例えば、現在の方向で降車要求がある場合には向きを反転してはならないことやエレベータが一杯過ぎる場合に乗車要求に応答してはならないことを指示する規則によってエレベータを管理することができる。人工知能研究者達は、エレベータスケジューリングに長い間関心を持ってきており、単純な発見的方法から、複雑な統計計算を必要とする極めて複雑な戦略まで多くのアルゴリズムを開発してきた。
【0104】
しかしながら、全てのスケジューリングアルゴリズムは、エレベータスケジューリングシステムは、特定のパターンの乗客の流れにはうまく対応できるが、そのスケジューリングシステムは、乗客の流れのパターンが変化するとうまく対応できない可能性がある、という問題に直面している。実際に、乗客の流れの変化はよくあることである。朝はオフィス建物内のほとんどの乗客がロビーから高い階に移動するが、夕方は人の流れが逆になる。別の建物には複数階にまたがる複数の会社が存在する場合があり、会社が移り変わるときに階の中の人の流れのパターンが変化する。知的エレベータスケジューラは、このような種類の変化に応じて自分自信を最適化できなければならない。
【0105】
この試行では、予想外の通行パターンのためにエレベータスケジューリングを最適化しかつ通行パターンが変化したときにスケジューリングを再調整して、エレベータスケジューリングが最適のままになるように訓練することができる神経システムを進化させる。乗車要求から乗車までの時間と、乗車から降車までの時間という簡単に定量化された2つのパフォーマンスの尺度があるので、訓練の負帰還と正帰還は単純でよい。従って、そのような時間の増大には負強化が適用され、減少には正強化が適用される。成功神経システムは、エレベータサービスを連続的に最適化するためにこのように訓練できるものであり、大きな建物内で有用である。
【0106】
I.交通信号のスケジューリング
多くの街には、交通の流れを円滑に維持するために街区の信号灯を調整する集中管理交通信号システムがある。都市計画者が交通信号のタイミングを最適化するのを支援するために、交通の流れを様々なスケジュールでシミュレートできるソフトウェアパッケージが開発されており、計画者達は、そのソフトウェアを使用して様々なタイミングパターンを試して、その道路に適したスケジュールを見つける。しかしながら、交通パターンは常に、短期的には天候、時刻、曜日、ローカルイベント、景気、及び道路工事による変化の影響を受け、長期的には人口、居住選択、仕事習慣の変化による影響を受ける。予測不能な変化が多すぎて、予め符号化された交通管理システムは定期的な再プログラミングなしにはうまく動作しない。一方、知的スケジューラは、交通パターンが変化したとき交通の流れをどのように改善するかを常に学習し、必要に応じて新しいソリューションを開発することを期待されている。
【0107】
この試行では、神経システムは、これを正確に行うように訓練できるように進化する。この訓練は、青信号で車が通過する頻度と赤信号で車が停止する時間の長さに応じて正強化と負強化を適用することによって達成することができる。仮想シミュレーションにおいて、道路上の全ての車のアイドル時間を測定することができる。実際には、タクシー、バス、及び他の市有車両に、データ収集センサを配置することができる。この一定のデータの流れによって、神経システムは、交通信号を真に知的な方法で管理することができる。第2の試行以来適応する能力が改良されてきており、神経システムは、現在では、複雑な条件に自然に適応するように訓練されている。その結果、神経システムは、これまで見たこともない複雑な問題に対する適切なソリューションを見つける能力を示すようになった。
【0108】
J.CAPTCHA
前述の試行の幾つかは、知覚フィールド内でかなり複雑なパターンを識別することができる神経システムの開発を必要とする。この試行では、神経システムは、CAPTCHA(Completely Automatic Public Turing test to tell Computers and Humans Apart)をうまく騙すように進化する。CAPTCHAは、ネットワーク接続の他端にいるユーザが実際に人間であるかどうかを検証するために設計されたテストであり、自動化されたスクリプトによるスパムメール発信者の電子メールアドレス取得を防ぐのに有用である。CAPTCHAの1つの形態は、ランダムな文字のランダムに歪められた文字列を表示させ、歪んだ文字をユーザに読み取ることを要求する。人間はそのような文字を容易に読み取ることができるが、現在のコンピュータプログラムはできない。このテストを開発するCAPTCHAプロジェクトは、ウェブサイト上に生成されたランダムな文字を80%を超える精度で読み取ることができる人工エージェントの設計を人工知能業界に要求してきた。この試行により、CAPTCHAの要求に応えることができる十分に進んだ画像処理能力を有する神経システムが開発された。
【0109】
K.さらに他の試行
訓練可能で実際的な目的により、知能を得る段階としてさらに他の試行を使用することができる。例えば、1つの目的は、所定の動作の結果(即ち、正強化と負強化)がずっと後まで感じられないときに学習する能力である。ナビゲーションから始まる試行は全て、これをある程度有するが、動作と結果の間の遅延はかなり小さい。チェッカー(checkers)、ゴー(go)、コネクトフォー(connect four)、ドットアンドボックス(dots and boxes)などのほとんどの実際のゲームでは、所定の動きは、とても良いかとても悪い可能性がある、とても良いかとても悪いは、かなり長い時間分からない可能性がある。従って、この能力を開発する選択試行としてゲームを使用することができるが、より市場性のある可能性のあるシステムを制御することもできる。
【0110】
もう1つの目的は、最初に開始された記憶が相互に関係付けられるシモン試行に基づく詳細かつパターン化された長期記憶である。この目的を推進する1つの試行は、迷路をナビゲートしその迷路を覚える方法を学習するように神経システムを訓練することである。壁にぶつかったときに負強化を引き出し、また、様々な種類の報酬のための正強化が迷路の様々な角にあってもよい。神経システムは、渇きや飢えとよく似た負強化信号と関連する入力指標を有し、迷路内のそれぞれの様々な報酬は、それぞれの指標から負強化を軽減する。従って、神経システムが入力指標を感じるたびに、神経システムは、その報酬の場所にまっすぐに行くことを学習する。
【0111】
IV.倒立振り子問題の解決
本発明の1つの実施形態を使用して、工学において有名な倒立振り子問題を解くことができる。この問題の古典的な一次元バージョンにおいて、車輪付きカートにヒンジ式に取り付けられた振り子が、カートを左右に押すことにより真っ直ぐに立つようにバランスをとられる。このシステムは、極めて動的かつ非線形的である。またシステムは極めて不安定である。ひとつ誤ると振り子が倒れて壊れる。
【0112】
この問題は、また、制御理論において単なる学術的課題を越えるものである。倒立振り子問題は、ロボット工学、SEGWAYTM人間運搬装置、海上石油掘削基地のような様々な用途に見られる。この問題の1つのバージョンは、ロケット科学にも見られ、ロケットが空に向かって発射するとき、ロケットは、その推力ベクトル上で正確にバランスが維持されなければならず、そうでないと制御を失うことになる。ソリューションの幾つかは、極めて高度である。スペースシャトルのベクトル制御システムは、船の位置を監視し、必要に応じて、上昇中ずっと20ミリ秒おきに1組のジンバル式姿勢制御ロケットから修正バーストを発射する。
【0113】
制御理論学者達は、伝統的な工学的アルゴリズム、遺伝的アルゴリズム、ファジイ論理システム、エキスパートシステム、及び人工ニューラルネットワークを使用して、様々な種類の倒立振り子ソリューションを開発してきた。そのような方法は全て、1つの重要な制限によってうまくいき、そのような方法によって生成されたソリューションは、極めて特殊な1組の問題条件でのみうまくいくことができる。問題の何らかの態様が変化した場合は、新しいパラメータに基づいて新しいソリューションを生成しなければならない。このソリューションは、経験から学習せず、また学習したものを新しい状況に適用もしない。
【0114】
例えば、倒立振り子の応用例は、異なる質量や長さのバランスをとる作業を突然課されたり斜めに配置されたりする可能性があり、或いは持続的な突風、地面又はヒンジ部分の摩擦、若しくは経路上の障害物に遭遇する可能性がある。制御機構自体の部品の損耗を含む任意の数の新しい状況が生じる可能性があり、前述の方法の全てが失敗する可能性が高い。知的コントローラは変化に対処できるはずである。
【0115】
本発明の実施形態による知能の進化した神経システムは、学習をやめず、新しいことに対する準備ができている。倒立振り子試行は、この能力を、複雑なタスクの状況で開発する。最初の幾つかの試行は、問題の極めて単純化された仮想バージョンである。後者のバージョンは、だんだん難しくなり、だんだん動的になる。これらの試行に合格できる神経システムは、極めて有用に利用される知的挙動の基本的な態様を示す。
【0116】
A.倒立振り子試行1
第1の目標は、正強化と負強化に応答する神経システムを改良することである。表6に、倒立振り子問題の簡略化されたバージョンを習得するように神経システムを訓練するために使用される強化信号をまとめる。
表6
出力
入力 <0 0 >0
10 P N N
01 N N P
【0117】
各神経システムには、右に1つと左に1つの2つの入力ニューロンがある。任意の瞬間において、そのような入力の値は、振り子が傾いている方向を示し、左側の1は左に傾いていることを意味し、右側の1は右に傾いていることを意味する。出力ニューロンは、神経システムがカートを動かしたい方向を示し、0より小さい値は左に押すことを意味し、0より大きい値は右に押すことを意味する。これらの指定は、この特定の表しか学習できない神経システムを進化させないようにするためにかなり頻繁に変更されることがある。表内のエントリは、その活動の結果としてどの強化信号が神経システムに送られたかを示し、Pは正(PR=1かつNR=0)を意味し、Nは負(PR=0かつNR=1)を意味する。
【0118】
他の選択試行と同じように、正強化を生成する活動を覚え負強化を生成する活動を回避する神経システムは、生成の終わりに選択されたものである。これらは、学習方法を最も良く知っている神経システムである。
【0119】
B.倒立振り子試行2
この試行では、神経システムが考慮する新しい因子である振り子の角速度が導入される。カートをどのように動かすかの決定は、押す方向の他に押す大きさを決定することを必要とする。従って、この試行は、前の試行よりも複雑である。
【0120】
神経システムには、この試行のために、振り子の角度と速度のための2つの入力ニューロンがあり、その出力は、前と同じように解釈される(0より小さい出力はひとつの方向に押すことを意味し、0より大きい出力は他の方向に押すことを意味する)。
【0121】
試行には2つの部分がある。最初の幾つかの世代には、可能な入力は3つの値しかない。神経システムがこれを習得したとき、その数は例えば5に増える。神経システムが振り子を中心に維持するように押すときは、神経システムは正強化を受け取るが、間違った方向に押した場合、振り子は倒れ、負強化を受け取る。この試行のデータ表のために生成される計算は、倒立振り子コントローラの品質を測定するために制御理論学者によって使用される1組の標準的なテストパラメータに基づくことができる。
【0122】
C.倒立振り子試行3
この試行以降、可能な入力値は、2つ、3つ又は5つだけでなく、正確な振り子の角度と角速度を含む、問題領域内の任意の数でよくなる。この試行は、また、異なる強化方式(reinforcement regime)を有する。最初の2つの試行では、神経システムは、その動作に基づいて条件付けされていたが、神経システム上のこの試行から、それらの動作の結果に基づいて、即ち振り子がどれだけよくバランスがとれた状態で維持されたかに基づいて条件付けされる。正強化は、鉛直角が3度より小さいときに、振り子のその頂点に対する近さに関して提供される。負強化は、角度が3度よりも大きいときに、振り子のその頂点からの距離に関して提供される。最初に、振り子は、どちら側にも15度よりも揺れないように制限されるが、神経システムが集合的にだんだん賢くなるにつれて、この制限が緩和され、条件がだんだん難しくされる。
【0123】
D.倒立振り子試行4
この試行では、カート位置とカート速度のために更に2つの入力ニューロンが使用される。これらの入力は、振り子角度と振り子速度と共に、振り子を制御するのに十分な状態を各神経システムに提供する。カート位置は、この試行から初めて、軌道上に制限が置かれるので重要であり、カートを軌道の中心からどちらの側にも2.4メートルより押すことはできない。(2.4メートルは、倒立振り子基準試験に使用される標準の軌道制限である。)境界のために、所定のカートの位置と速度の場合に、所定の振り子の位置と速度の正確な動作が可能でない時もある。成功神経システムは、その動作を計画するために訓練可能なものである。
【0124】
E.倒立振り子試行5
この試行により、神経システムは、最新技術と競合し得るようになるが、更にもう1つの策略を学習する必要があり、それは、今後できるだけ軌道の中心近くにカートを維持することである。従って、振り子をカート上の中心に置くこととカートを軌道上の中心に置くことの2つの目的があり、行うかことを決定するときにこの両方の目的と4つ全ての変数を考慮しなければならない。
【0125】
2つの目的により、2つの強化方式がある。即ち、脳が一方の目的を達成する正強化と他方の目的を達成しない負強化と同時に受け取ることを意味する。また、両方の目的を達成するか又は達成しなかった場合は、2つの信号が組み合わされる。各タイプの信号の合計は、0から1の範囲でよいが(試行間の一貫性のために)、その制約の範囲内で強化を任意の方法で配分することができる。振り子が調整することの方が難しいので、中心からずれた振り子は中心からずれたカートよりも悪いと見なされる場合がある。従って、負強化は、カート位置よりも振り子角度に強く適用される。
【0126】
この試行を習得した後で、神経システムは、パフォーマンスの定性的基準と定量的基準によって標準的な倒立振り子基準試験にかけられる。当然ながら、そのような基準試験は、変化する問題の状態に対応する方法の学習をテストせず、その理由は、既存のどのソリューションもそれを行えないからである。これは、次の試行が何のためのものであり、また他のタイプのコントローラを上回る大幅な改善がある場所である。
【0127】
F.倒立振り子試行6
この試行では、神経システムは、NASAのNEAR(Near-Earth Asteroid Rendezvous)ミッションの疑似未来バージョンのロボットマニピュレータアームを調整するアクチュエータ回路の制御を学習する。神経システムは、振り子の長さ(ロボットがアームを伸縮するとき)、質量(アームが様々な重量の物体を掴むとき)、遊動環境(roving environment)(ロボットが障害物や丘と遭遇するとき)、及び重力強度(様々な小惑星を調査したり宇宙を飛行するとき)の変化から、全ての種類の変化条件の操作をテストされる。不定期の太陽フレア又は飛行中性微子が、機械アームの一部分の短絡を引き起こしたり、アクチュエータの挙動を不安定にしたりすることがある。
【0128】
神経システムは、振り子角度、振り子速度、カート位置、及びカート速度の4つの情報ストリームにアクセスし、更に正強化と負強化のフィードバックを有する。何かが適正に動作していないとき、神経システムは、それが分かりそれに関して行うべきことを分かっている。
【0129】
更に多くの試行を設計することができる。多くの可能性がある。例えば、完全な成功か完全な失敗だけのために強化信号を提供することができ、神経システムの間で何もフィードバックがなく、或いは、角速度やカート速度のデータの入力の一部が制限されることがあり、神経システムは、角度とカート位置が時間の経過と共にどのように変化するかを監視することによって、その値を推測しなければならない。また、神経システムは、常に全てかゼロの力を常に印加する代わりに、カートに可変的な力を印加するように訓練されてもよい。
【0130】
V.計算モデリング
人工知能を開発するために必要な計算リソースは膨大なものになることがある。数万の世代のために選択されたそれぞれ数十の遺伝子とサブ遺伝子を有する何万もの個別のゲノムがあるので、人工の世界は、最新技術のスーパーコンピュータでさえ負担が大きくなり過ぎることがある。
【0131】
この問題は、複数の別々に進化する母集団がある場合には更に悪化する。しかしながら、それには幾つかの正当な理由がある。第1に、様々な母集団を有するより大きな遺伝子型多様性があり、各母集団は選択試行に対する様々な遺伝的ソリューションを見つける。訓練が終わって、高度に進化した母集団の要素が、その最終的な特化のために選択されるとき、特定のタスクにおいて幾つかの遺伝的組み合わせが他よりもうまく働くことが分かる場合がある。更に他のどの母集団も、特定の問題に最適なものを選択するための遺伝的多様性の蓄えを大幅に増やす。
【0132】
更に、知的神経システムのそのような原型は全て、知能の神経的基礎を研究する刺激的な機会を提供する。今日の神経解剖学には、込み入って複雑な神経回路を有する知的な脳(即ち、人間の脳)の実用モデルが1つしかなく、その一部分が人工的な進化の場合があり、科学者は、何が我々を知的にしているかを理解することに、100年以上前のゴルジ体着色剤より近づいていない。しかし、それぞれ知能をそれ自体の方法で実現する多くの実用モデルによって、比較神経解剖学者達は、最終的に帰納的な科学を実践することができる。全てのさらに他の母集団は、知能の共通性の探索における多くのさらに他の手掛かりを意味する。
【0133】
計算問題に取り組むために、同時に使用されるプロジェクトに数千台のコンピュータによって進化世界を分散グリッド上に実装することができる。幸運にも、本発明の幾つかの態様は、特に、例えばグローバスプロジェクト(Globus Project)によるツールキットを使用する並列マルチタスクに適している。進化プロセス選択試行の自動化により、新しいゲノムとその試行のバッチが、グリッド上にある休止中のコンピュータに外注される。結果がどっと流れ込むため、知的財産を守る安全な環境で新しいバッチが逆に分散される。分散計算によって、地球上全体に分散されたコンピュータにおいて適応し増大する進化する母集団の広大な仮想世界を、単一のデスクトップから作成し管理することができる。
【0134】
代替として、仮想進化世界は、1つの屋根の下で結合されたコンピュータの分散グリッドである国産のBoewulfクラスタ上に実装することができる。販売代理店からひとかたまり単位でそれぞれわずか60ドルで入手できる数十台の不要な旧型PCの在庫から、並はずれたスーパーコンピューティングを実現することができた。コンピュータは遅い場合があるが、常時専用化されており、パケットは、安全でない深さのインターネットではなく数メートル(a few yards)のイーサネットTMを移動するだけでよい。
【0135】
図17は、本発明による実施形態が、独立型で実施されてもよくマルチコンピュータグリッド又はクラスタ内の1台のコンピュータとして実施されてもよいコンピュータシステム1700を示す。コンピュータシステム1700は、情報を伝えるためのバス1701又は他の通信機構と、情報を処理するためにバス1701に結合されたプロセッサ1703とを有する。コンピュータシステム1700は、また、情報並びにプロセッサ1703によって実行されるび命令を記憶するためにバス1701に結合された、ランダムアクセスメモリ(RAM)や他のダイナミックストレージ装置等のメインメモリ1705を有する。メインメモリ1705は、また、プロセッサ1703による命令の実行中に一時的数値変数や他の中間情報を記憶するために使用することができる。コンピュータシステム1700は、更に、バス1701に結合され、プロセッサ1703のために静的情報と命令を記憶する読み取り専用メモリ(ROM)1707や他の静的記憶装置を含む。バス1701には、磁気ディスクや光ディスク等の記憶装置1709が情報と命令を永続的に記憶するために結合されている。
【0136】
コンピュータシステム1700は、バス1701によって、コンピュータユーザに情報を表示するための陰極線管(CRT)、液晶ディスプレイ、アクティブマトリクス表示装置、プラズマディスプレイ等の表示装置1711に結合されてもよい。プロセッサ1703に情報とコマンドの選択物を伝えるために、英数字や他のキーを有するキーボード等の入力装置1713がバス1701に接続されている。別のタイプのユーザ入力装置は、プロセッサ1703に方向情報とコマンドの選択を伝え、表示装置1711上のカーソル移動を制御するための、マウス、トラックボール、カーソル方向キー等のカーソル制御機構1715である。
【0137】
本発明の1つの実施形態によれば、人工知能の開発は、メインメモリ1705に収容された命令の配列を実行するプロセッサ1703に応じて、コンピュータシステム1700によって提供される。そのような命令は、記憶装置1709等の別のコンピュータ可読媒体からメインメモリ1705に読み込むことができる。プロセッサ1703は、メインメモリ1705に収容された命令の配列を実行することによって、本明細書に示したプロセス段階を実行する。多重処理機構内の一以上のプロセッサは、また、メインメモリ1705内に収容された命令を実行するために使用されることもある。代替の実施形態において、本発明の実施形態を実施するために、ソフトウェア命令の代わり又はソフトウェア命令と組み合わせて配線回路を使用することができる。もう1つの例において、フィールドプログラマブル論理アレイ(FPGA)等の再構成可能なハードウェアを使用することができる。その論理ゲートの機能と接続トポロジは、一般にメモリルックアップ表をプログラムすることによって実行時にカスタマイズ可能である。従って、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【0138】
コンピュータシステム1700は、また、バス1701に結合された通信インタフェース1717を有する。通信インタフェース1717は、ローカルネットワーク1721に接続されたネットワークリンク1719につながる双方向データ通信を実現する。例えば、通信インタフェース1717は、デジタル加入者線路(DSL)カード、ケーブルモデム、総合デジタル通信網(ISDN)カード、電話モデム、又はデータ通信接続を対応するタイプの通信線路に提供する任意の他の通信インタフェースでよい。もう1つの例として、通信インタフェース1717は、互換性のあるLANにデータ通信接続を提供するローカルエリアネットワーク(LAN)カード(例えば、イーサネット又は非同期伝送モデル(ATM)ネットワーク)である。無線リンクを実施することもできる。そのような任意の実施形態において、通信インタフェース1717は、様々なタイプの情報を表すデジタルデータを伝える電気信号、電磁気信号又は光信号を送受信する。更に、通信インタフェース1717は、ユニバーサルシリアルバス(USB)インタフェース、PCMCIA(PCメモリカード国際協会)インタフェース等の周辺装置インタフェース装置を有することができる。図17には1つの通信インタフェース1717を示したが、複数の通信インタフェースを使用することもできる。
【0139】
ネットワークリンク1719は、一般に、一以上のネットワークを介して他のデータ装置へのデータ通信を可能にする。例えば、ネットワークリンク1719は、ローカルネットワーク1721を介して、ネットワーク1725(例えば、広域ネットワーク(WAN)、又は現在では一般に「インターネット」と呼ばれる広域パケットデータ通信ネットワーク)或いはサービスプロバイダによって操作されるデータ機器への接続を有するホストコンピュータ1723に結合することができる。ローカルネットワーク1721とネットワーク1725は両方とも、情報と命令を伝えるために電気信号、電磁気信号又は光信号を使用する。コンピュータシステム1700とデジタルデータを通信する様々なネットワーク並びにネットワークリンク1719上で通信インタフェース1717を介した信号は、情報と命令を伝える搬送波の例示的な形である。
【0140】
コンピュータシステム1700は、ネットワーク、ネットワークリンク1719、及び通信インタフェース1717を介して、メッセージを送り、プログラムコードを含むデータを受け取ることができる。インターネットの例において、サーバ(図示せず)は、ネットワーク1725、ローカルネットワーク1721、及び通信インタフェース1717を介して、本発明の実施形態を実現するアプリケーションプログラムに属する要求コードを送ることができる。プロセッサ1703は、送られたコードを受け取っている間に実行しかつ/又はそのコードを後で実行するために記憶装置1709や他の不揮発性記憶装置に記憶することができる。このようにして、コンピュータシステム1700は、アプリケーションコードを搬送波の形で得ることができる。
【0141】
本明細書で使用されている用語「コンピュータ可読媒体」は、実行のためにプロセッサ1703に命令を提供することに関係する任意の媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体を含むがこれらに限定されない任意の形態をとることができる。不揮発性媒体には、例えば、記憶装置1709等の光ディスク又は磁気ディスクがある。揮発性媒体には、メインメモリ1705等のダイナミックメモリがある。伝送媒体には、バス1701を構成する配線を含む同軸ケーブル、銅線及び光ファイバがある。伝送媒体は、また、無線周波数(RF)及び赤外線(IR)データ通信の間に生成されるような音、光又は電磁波の形態をとることができる。コンピュータ可読媒体の一般的な形態には、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、CDRW、DVD、他の光媒体、パンチカード、紙テープ、光学マークシート、穴又は他の光学的認識可能なしるしのパターンを有する他の任意の物理媒体、RAM、PROM、及びEPROM、FLASH−EPROM、他の任意のメモリチップ又はカートリッジ、搬送波、又はコンピュータが読み取ることができる他の任意の媒体がある。
【0142】
実行のためにプロセッサに命令を提供する際に、様々な形態のコンピュータ可読媒体が必要とされることがある。例えば、本発明の少なくとも一部分を実行するための命令は、最初に、リモートコンピュータの磁気ディスク上に保持されることがある。そのようなシナリオでは、リモートコンピュータは、メインメモリに命令をロードし、モデムを使用し電話線を介してその命令を送る。ローカルコンピュータシステムのモデムは、電話線上のデータを受け取り、赤外線トランスミッタを使用してデータを赤外線信号に変換し、その赤外線信号を、携帯情報端末(PDA)やラップトップ型コンピュータ等の携帯用計算処理装置に送る。携帯用計算処理装置の赤外線検出器は、赤外線信号で送られた情報と命令を受け取って、そのデータをバスに入れる。バスは、データをメインメモリに送り、そこからプロセッサは命令を取り出し実行する。必要に応じて、メインメモリが受け取った命令を、プロセッサによる実行の前又は後で記憶装置に記憶することができる。
【0143】
本発明を幾つかの実施形態と関連して説明したが、本発明は、添付の特許請求の範囲内にある様々な明らかな改良及び等価機構を対象として含みまたこれらに限定されない。
【図面の簡単な説明】
【0144】
【図1】本発明の1つの実施形態の動作を示すフローチャートである。
【図2】ゲノムの実施形態を示す図である。
【図3】処理ニューロンの実施形態を示す図である。
【図4】基本的なパーセプトロンの出力関数の表現ツリーを示す図である。
【図5】パーセプトロンのシグマ出力関数の表現ツリーを示す図である。
【図6】ニューロンのより精巧な出力関数の表現ツリーを示す図である。
【図7】本発明の実施形態による負強化を使用する出力関数の表現ツリーを示す図である。
【図8】点突然変異を示す図である。
【図9】交差突然変異を示す図である。
【図10】本発明の1つの実施形態による結合遺伝子を示す図である。
【図11】図10に示したターゲットサブ遺伝子の1つの実施形態の操作を示す図である。
【図12】強度サブ遺伝子において符号化されたHebbian重み関数の表現ツリーを示す図である。
【図13】図10による強度サブ遺伝子において符号化された二極Hebbian重み関数の表現ツリーを示す図である。
【図14】図10に示した実施形態によるゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ対立遺伝子、及びターゲット対立遺伝子から構築された神経システムを示す図である。
【図15】ニューロンを除去する表現ツリーを示す図である。
【図16】1つの実施形態におけるHebbian動的回路再生関数の表現ツリーを示す図である。
【図17】本発明の実施形態を実現するために使用できるコンピュータシステムを示す図である。
【図18】従来の人工ニューラルネットワークの図である。
【発明の詳細な説明】
【0001】
本願は、2003年1月17日に出願された米国仮出願番号60/440,883号の特典を請求するものであり、この出願の内容を本明細書の一部を構成するものとしてここに引用する。
【技術分野】
【0002】
本発明は、人工知能に関し、より詳細には人工知能を開発するシステム及び方法に関する。
【背景技術】
【0003】
1940年代にコンピュータが紹介されて以来、人間の精神の最も高い能力の1つである知能の人工的な複製に強い関心が払われてきた。このコンピュータ科学の部門は人工知能(AI)として知られており、その目的は、言語理解、問題解決、パターン認識、学習、不完全又は不確かな情報からの推論等、人間の知能と関連した特性を示す機械を作り出すことである。
【0004】
数十年間の研究において、人工知能への主要なアプローチとして、ますます複雑になるアルゴリズム、より高速のコンピューターハードウェア、並びにより大きいメモリ、データベース及び知識ベースの開発が行われたが、これらは引き続き課題として残っている。この技術により、人工知能研究者達は、チェスをしたり病状を診断したりするような特定のタスクを、手順と目的が正確に定義されて変化しない限り、うまく実行するエキスパートシステムを開発してきた。しかしながら、その精巧さにもかかわらず、そのようなシステムの能力は、システム自体の知能ではなくて設計者の知能を反映するものである。
【0005】
そのよい例は、IBMTMによって開発されたDEEP BLUETMコンピュータチェスシステムである。DEEP BLUETMシステムは、前進できるいくつかのチェス位置の多くの計算を必要とする力ずくの探索と、高度なスコアリングと探索のヒューリスティクスと、その時点での世界ランク上位の人間チェスプレーヤを負かすことができた序盤及び終盤データベースを組み合わせたものを使用した。しかしながら、チェスの観客が見たものは、一般的な知能の功績ではなく、単に特定の問題を解決するための力ずくの計算の勝利であった。機械知能のテストとして、チェスは妥当な選択のように思えることがあるが、その理由は、人間のチェスをする能力が、人間の知能を他の複雑な問題に利用する能力のはっきりした指標であるからである。しかしながら、チェスはうまくできるが他の分野の基本的な問題を解決できない人間は、自閉症の人と同様に知的であるとは考えられない。DEEP BLUETMシステムにはチェス以外の能力がなく、チェスに勝ったからといって一般的な知能を達成できるとは限らない。
【0006】
従って、特定のタスクを模倣するためにコンピュータをプログラミングすることは、熟練したプログラマが明確に定義された問題を解くアルゴリズムを考案できたとしても、恐らく本当の人工知能を実現することにはならない可能性がある。それよりもむしろ、変化する環境において、動的で汎用的で予期しない問題に適応できる学習及び問題解決能力が必要とされる。
【0007】
この手法の欠点の1つの理由は、知能の表面的挙動だけをモデル化し、その基礎的なダイナミクスをモデル化していないことである。グランドマスターレベルのチェスをすることは知的な人間の行為であるが、その人間を知的にしているものは、その人間がチェスをどのように考えているかである。場合によっては、実際的で人工的な代替案には、システムのわずかないくつかの関連する挙動をシミュレーションするだけで十分である。例えば、人工芝は、フットボール用の緑の競技面としての芝生の実用的な代用品である。しかし、人工芝が、光合成をし、野生生物を引き寄せ、或いは土地に栄養素を導入することを期待されるとしたら、ウェブ状のゴム格子に織り込まれた緑色のプラスチックポリマーは不満足な設計である。知能を作り出すためには、人間の脳の挙動の一部分だけをモデル化するのではなく、人間の脳が知能をどのように作り出すかをモデル化することが望ましい。
【0008】
残念ながら、人間の脳は複雑すぎて、その脳の構造と低レベルの機能を複製することによって脳のダイナミクスを直接モデル化することはできない。例えば、人間の脳は、数百万の相互に結合されたニューロンの複雑なネットワークである。知能を司る領域である大脳皮質は、それ自体に数十の異なる領域があり、各領域に約6個の異なる層がある。各層には、それ自体に幾つかの異なるタイプのニューロンの構成があり、各タイプのニューロンは、入ってきた刺激に対して、そのニューロン自体の固有の発火(firing)レート及び強度でそれ自体のやりかたで応答する。ニューロンのタイプ、構成、及びダイナミクスとニューロン間の結合には、脳の層、領域及び部位(region)全体にわたって大きなばらつきがある。神経科学の文献には、様々なニューロン及び結合タイプの説明はたくさんあるが、脳の内部の働きから知性がどのように生まれるかに関する適切な理論はまだない。人工知能研究者達は、脳がどのように知能を実現するかを理解することなく、脳を模倣して知能を再現することに大変苦労している。
【0009】
人間の脳の単純化されたモデルでさえ、汎用的な知能の達成には成功していない。例えば、1つの手法は、層状に配列され結合された「人工ニューロン」からなる人工ニューラルネットワークを使用することによって人間の脳の活動をシミュレーションすることである。図18は、3つの人工ニューロン1803、1805及び1807の入力層1801と、通常は1つの隠れ層1809(人工ニューロン1811、1813、1815、及び1817)と、人工ニューロン1821及び1823を有する出力層1819とを含む人工ニューラルネットワーク1800を示す。各層1801、1809及び1819は完全に相互結合されており、信号処理はフィードフォワード型であり、これは、所定の層内の各人工ニューロンが、前の層内の全ての人工ニューロンから入力信号を受け取って、次の層内の全ての人工ニューロンに出力信号を送ることを意味する。各人工ニューロンは、その入力の重み付け加算の関数として出力を生成し、人工ニューラルネットワークの出力は全体として、全ての結合重み(connection weights)に依存する。ほとんどの人工ニューラルネットワークは、図18に示したものよりも多数の人工ニューロンを有するが、この複数層のフィードフォワード構造より複雑なことはまれである。
【0010】
人工ニューラルネットワークは、プログラミングと実行の2つの連続した段階で動作する。プログラミング段階で、人工ニューラルネットワークは、光学式文字認識用のアルファベット文字等の1組の学習パターンを入力層1801に印加し、出力層1819に適切な出力が生成されるまで全ての人工ニューロンの結合重みを調整することによって訓練される。プログラミング段階が完了すると、人工ニューラルネットワークは、実行段階の準備ができ、人工ニューラルネットワークは、訓練セットに予め示されたパターンに対して人工ニューラルネットワークに印加される入力を分類するために使用される。人工ニューラルネットワークは、特に手書き文字や他の文字認識の用途では、パターンの認識と分類においてある程度成功してきており、ノイズの多いデータに対して極めてロバストな場合がある。しかしながら、人工ニューラルネットワークが実行段階に入ると、新しいパターンを認識する能力は、結合重みが新しい訓練セットで完全にプログラムしなおされるまで固定される。例えば、人工ニューラルネットワークが、アルファベット文字を光学的に認識するように訓練されている場合、アルファベットに新しい文字を増やすには、人工ニューラルネットワークの結合重みをリセットし最初から訓練しなければならない。
【0011】
この固有の制限のため、人工ニューラルネットワークは、生物学的な神経システムと表面的かつ用語的に類似しているにもかかわらず、人工知能に対する他のアプローチよりも進歩する見込みがほとんどない。人工ニューラルネットワークとエキスパートシステムは違ったようにプログラムされるが、その結果は、基本的に同じであり、正確で予め決められた一連の計算を実行するが、知能の他のサインを学習したり表示したりすることができない比較的静的なシステムである。
【0012】
2002年7月23日に発行された「Adaptive Neural Learning System」と題する米国特許第6,424,961号に開示されているように(この明細書の内容は本明細書の一部を形成するものとして引用される)、私は、神経発火(neural firing)の時間的近さとシステム活動レベルに基づいて負強化(negative reinforcement)と正強化(positive reinforcement)によってその結合重みを調整しなおすことができるニューラル学習システムを発明した。従って、私のニューラル学習システムは適応性があり、新しい問題のためにニューラル学習システムを最初からプログラムしなおすことなく、新しいパターンを認識したり新しいタスクを実行したりするために、実行中にそのプログラミングを調整することができる。更に、従来の人工ニューラルネットワークの基礎的なフィードフォワード構成の代わりに、私のニューラル学習システムのニューロンは、様々なサイズと複雑さのフィードバックループで結合することができる。
【0013】
従来の人工ニューラルネットワークと比較して、私のニューラル学習システムは、人間の脳の複雑さをよりよく表すことができるが、知能を実現するために人間の脳の複雑さをどれだけシミュレーションしなければならないかがまだはっきりしていない。脳の複雑さは、確かに、知能を実現するのに十分であるが、この複雑さの多くは、例えば体温の維持、筋肉運動の調整や他の活動に使用される、知能とは無関係である可能性がある。実際に、脳の複雑さの一部分は全く使用されない可能性があり、これは、あまり知的でない人間の祖先からの各世代に機能的中間物を完全に生成しなければならなかった長い進化の過程の遺物である。
【0014】
従って、脳の複雑さの多くは、実際には、知能を実現するためには必然的な進化の副産物として以外は不要なことがあり、これは、人間の脳の精密な構造を詳細に再現することが、成功のための実際的な手段ではないことを示している。しかしながら、予めプログラムされている1つのタスクだけを極端にうまく実行できる間抜けな召使いではなくて、真に知的な機械を開発できる、人工知能における画期的な発明が依然として必要とされている。
【発明の開示】
【課題を解決するための手段】
【0015】
本発明は、進化の特定の結果を複製したり従来技術のシステムで行われてきたような特定のタスクを実行したりしようとするのではなく、純粋な人工知能を作成する取り組みに係る。本発明では、進化メカニズム自体が知能を示すシステムの開発に使用される。人工知能研究における長い間の失敗は、適応神経システムの生成を適合性が知能によって判断される競争力のある厳密な選択方式にかけることによって対処される。このプロセスの結果、人工知能が得られる。
【0016】
1つの実施形態において、本発明は、特定の神経システムを代表的ゲノムに符号化する方法を提供し、神経システムは、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有する。この方法は、所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によってニューロン入力をニューロン出力に変換する仕様を符号化し、所定のニューロンからの結合を一以上の対応する結合遺伝子によって符号化する段階を含む。神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令してゲノムを形成する。ゲノムは、様々なタイプの処理遺伝子と結合遺伝子を含み、各タイプの処理遺伝子は異なるタイプのニューロンを符号化し、各タイプの結合遺伝子は、ニューロン間の様々なタイプの相互作用を符号化することが好ましい。また、方法は、選択された処理遺伝子と結合遺伝子に突然変異操作を実行する段階を含むことが好ましい。
【0017】
本発明の更に他の実施形態は、特定の用途に使用するための神経システムを構築又は組み立てる方法を対象とし、ゲノムは、一以上のタイプのニューロンを配列で表し、ニューロン間の一以上の相互作用を表すように符号化される。方法は、ゲノム内で符号化されたニューロンを入力ニューロンとして神経システムに挿入し、それぞれの入力ニューロン間の結合を選択的に構築し、新しいニューロンを選択的に作成する段階を含む。
【0018】
本発明のさらに別の実施形態は、特定のタスクを実行するように適応された神経システムを開発する方法を対象とする。この方法は、神経システムの母集団を選択する段階を含み、各神経システムは、相互結合されたニューロンの配列を含み、各神経システムを代表的ゲノムに符号化する。所定の神経システムのゲノムは、対応する処理遺伝子内の各ニューロンごとに神経出力関数を符号化し、それぞれ重み関数を含む一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化する。方法は、更に、試行期間中に指定されたタスクを実行するように所定の神経システムを操作し、試行期間中に所定の神経システムのパフォーマンスを連続的に監視する段階を含む。連続的に監視されたパフォーマンスから決定された強化信号が、所定の神経システムのそれぞれの処理遺伝子と結合遺伝子の関数に入力として印加される。試行期間の終わりに、指定されたタスクを実行する所定の神経システムの適合性が決定される。適合性は強化信号の関数として決定されると有用である。
【0019】
本発明の更に他の態様、特長及び利点は、本発明を実施するように意図された最良の態様を含む幾つかの特定の実施形態と実施態様を単に示すことによって、以下の詳細な説明から容易に明らかである。本発明は、また、その他の異なる実施形態が可能であり、その幾つかの詳細は全て、本発明の精神及び範囲から逸脱することなく、様々な明らかな態様で修正することができる。従って、図面と説明は、本質的に例示と見なされ、限定として見なされるべきでない。
【0020】
本発明は、添付図面の図において限定ではなく例として示されており、図において類似の参照番号は類似の要素を示す。
【発明を実施するための最良の形態】
【0021】
人工知能を開発するためのシステム、方法及びソフトウェアを説明する。以下の記述では、説明のために、本発明の完全な理解を提供するために多数の特定の詳細を述べる。しかしながら、そのような特定の詳細なしに或いは等価な構成によって本発明を実施できることは当業者には明らかである。他の例において、本発明を無駄に不明瞭にするのを避けるために、周知の構造と装置はブロック図形式で示す。
【0022】
I.仮想進化
人工知能の探究は幻想ではなく、本物の知能は、これまで進化によって作り出されてきた。知能の基礎となるメカニズムの理解はまだその黎明期にあるが、突然変異、淘汰、再生の基礎となるメカニズムの理解は、他の科学分野と同じくらい成熟している。従って、本発明の1つの態様は、知能を再び生成するために、かつて本物の知能を生成してきた進化メカニズムを利用することと関係する。
【0023】
図1は、ゲノムを符号化する段階(phase or step)(101)と、ゲノムから新しい神経システム即ち脳を構築する段階(103)と、新しい神経システムをテストする段階(015)と、ゲノムを選択する段階(107)と、継続/終了する段階(109)と、再生する段階(113)と、突然変異させる段階(115)とを含む、本発明の1つの態様による仮想進化を使用して人工知能を開発するプロセスの概要である。
【0024】
段階101で、1組の仮想ゲノムが生成され、各仮想ゲノムは、対応するタイプの神経システムを符号化し表現する。デジタル的な実施形態において、仮想ゲノムは、処理遺伝子(processing gene)と結合遺伝子(connection gene)を表す一連のビットを含み、このビットは、様々なタイプの相互結合されたニューロンからなる神経システムを組み立てるためのパラメータを指定する。仮想ゲノムの1つの実施形態は、後で詳しく説明する。
【0025】
段階103で、それぞれのゲノムから新しい神経システムを構築する。新しい神経システムを組み立てるために、対応するゲノム内の符号化されたニューロンが、入力ニューロンとして提供され、入力ニューロンの最初の数は、新しい神経システムの意図された用途によって決定される。次に、それぞれの入力ニューロンの間に結合が作成され、更に他のニューロンとその間の結合が、指定された規則又は原理に従って作成される。新しい神経システムを構築する手順は、後で更に詳しく説明する。
【0026】
試験段階105で、試行期間中に指定されたタスクを実行するように新しい神経システムを操作する。試行期間中にシステムのパフォーマンスを連続的に監視し、監視したパフォーマンスに応じて、正強化信号及び/又は負強化信号を新しい神経システムに入力として印加する。新しい神経システムをテストする手順は、同様に、後で更に詳しく説明する。本発明の極めて有用な実施形態において、試行期間の終わりに、印加された強化信号から、特定のタスクを実行するための新しい神経システムの適合性が計算される。
【0027】
段階107は、仮想進化の選択段階に関係する。選択試行において示された各神経システムの適合性が決定された後で、母集団内により知的な神経システムを含むゲノムのサブセットが選択される。ゲノムは、それぞれの対応する神経システムの実測適合性レベルを比較することによって選択される。対応する神経システムの実測適合性に基づいてゲノムを選択する様々な方法を使用することができる。例えば、選択は、順位(例えば、上位10個、或いは最も適合性の高い10%)、絶対閾値(適合性の実測値がXより大きい全てのゲノム)、又は確率(例えば、適合性実測値により重み付けされたゲノムをランダムに選択する)に基づくことができる。他の方法も使用することができ、ゲノムの存続は、実測された知能と積極的に関連付けられる。
【0028】
段階109は、仮想進化プロセスを継続するか終了するかの決定に関係する。この決定は、生成された世代の数、費やされた時間の長さ、達成される知能適合性スコア、プロジェクトの貨幣原価、進化履歴等を含む様々な因子に依存することがある。実際に、仮想進化は無制限に進行してもよく、知的神経システムは、必要に応じて現行母集団からサンプリングされる。仮想進化の実行を終了する判断が肯定的な場合は、プロセスは終了し(段階111)、現行母集団内の神経システムは、知能を必要とする用途に使用する準備ができる。
【0029】
一方、仮想進化プロセスが継続する場合は、選択段階107から残存したゲノムの母集団から次世代の仮想ゲノムが生成される(段階113)。再生するには、次世代のために選択された母集団内のゲノムの少なくとも1つ又は複数を複写することを必要とする。しかしながら、実際には、再生段階は、その後に続く概念的に別個の突然変異段階115と組み合わされることが多く、新しいゲノムの一部分は確率論的に混乱する。突然変異は、また、複数の親ゲノム間の再結合を必要とすることがある。全ての再生されたゲノムやゲノムの全ての遺伝子が突然変異しなければならないわけではなく、実際に、突然変異率は、知的神経システムが母集団を維持できるほどの低さであることが好ましい。
【0030】
段階115の突然変異の後で、仮想進化プロセスは段階103に戻り、そこで、次世代の神経システムが、段階109の終了状態がトリガされるまで、前述のような段階103〜段階107と、段階113及び段階115のサイクルにかけられる。
【0031】
コンピュータ科学者達は、遺伝的アルゴリズムや他の人工的な進化方法を四半世紀以上にわたって実験してきており、直接アルゴリズム技法では実際的でない多くの問題に対するソリューションを見つけた。しかしながら、知能を作り出す役割を負った進化システムの設計は、典型的な進化計算問題の実践者に普通でない多くの課題を課す。
【0032】
例えば、遺伝的アルゴリズムのほとんどの用途では、解空間の構造が前もって適切に特徴付けられており、従って、進化プロセスは、1組の予め定義されたパラメータを微調整するだけでよい。従って、プログラミング段階で人工ニューラルネットワークの結合重み値を見つけるために遺伝的アルゴリズムを使用することができる。人工ニューラルネットワークの構造はかなり厳格であり、研究は、主に、隠れ層内に使用する人工ニューロンの数を決定することに限定される。これに比べて、本物の知的神経システムの構造はあまりよく理解されておらず、従って、新しいパラメータと構造を作り出す際に生物進化と同じくらい創造的な能力を持つ必要がある。具体的には、新しいタイプ、配列及びダイナミクスの神経処理要素とその相互関係、並びにそのような要素と相互関係のシステム全体を、人工ニューラルネットワークと同じくらい単純なものから皮質回路と同じくらい複雑なものに進化させることが望ましい。
【0033】
別の例として、競合する個体間のパフォーマンスの定量的比較が簡単なほとんどの進化計算問題と違って、知能のように抽象的で一般的な特徴を選択するパフォーマンスメトリクスは設計が困難である。しかしながら、幾つかの原理を明確に表現することができる。変化する環境に適応し、推理を行って推論を導き出し、広範な選択肢から最適な行動方針を選択する能力に関して個体をテストしなければならない。特に、個体は、プログラマによって与えられた特定の命令を実施するのではなく、正と負の環境フィードバックに連続的に応えることによってそのようなことを自分でどのように行うかを学習できなければならない。中等学校の10歳の少年少女に施される知能テストが、幼稚園の5歳の少年少女に施されるものよりも難しいのと全く同じように、選択方式自体は、母集団が有能になるほど困難になることがある。
【0034】
II.ゲノム
適切な進化システムの設計における第1の課題は、仮想ゲノムの構造を決定することである。ゲノムを構成する基本的な遺伝子構成単位は、人工脳内の潜在的な処理要素と相互作用の大きな世界を構成できるほど十分に汎用性がなければならない。一方、遺伝子構成単位は、システムが主に知能と無関係な構造を進化させるほど一般的かつ汎用的であってはならない。従って、人工知能を開発するための基本的な遺伝子構成単位は、脳の構成単位、即ちニューロンを含むことが好ましい。換言すると、知能システムのゲノムは、様々な種類のニューロンとニューロン間の様々な種類の相互作用のために符号化する遺伝子を含むことが好ましい。
【0035】
ゲノムの1つの例を図2に示し、この図において、各ニューロンは、処理遺伝子(長方形)とそれに続く一以上の結合遺伝子(六辺形)によって符号化されている。具体的には、ゲノム200は一連の遺伝子からなり、第1のタイプのニューロンは、処理遺伝子201と結合遺伝子203及び205を含み、第2のタイプのニューロンは、処理遺伝子207と結合遺伝子209によって表され、第3のタイプのニューロンは、処理遺伝子211と結合遺伝子213、215及び217によって符号化されている。
【0036】
この実施形態において、処理遺伝子は、各ニューロンがその出力をどのように計算するかを指定し、各ニューロンが幾つか含む場合がある結合遺伝子は、その出力を他のニューロンにどのように送るかを指定する。ゲノムは、ゲノムが符号化する神経システム内の正確な数、構成及び結合を指定する必要がないことが好ましく、そうでないと、ゲノムが、神経システム自体と同じくらい複雑になる。実際には、本発明の幾つかの実施形態において、学習が人間の中で行われるのと同じように様々なニューロン間で結合が作成され破壊されることが望ましいので、この詳細レベルでの指定は、望ましくない結果を生むことがある。それによりもむしろ、ゲノム内の各タイプのニューロンの数と全てのニューロンの互いに対する物理的配置を含む対応する神経システムのネットワーク構成は、ゲノム内で符号化された情報から発生する。従って、ゲノムは、神経学習システムの特定の実例や構成の青写真ではなく、神経システムを組み立てる構成単位の凝縮した表現であることが好ましい。
【0037】
凝縮したゲノムのもう1つの利点は、ゲノムに適用される突然変異によって挙動の変化が生じる可能性があることである。遺伝子レベルの突然変異については後で説明するが、ゲノムレベルの突然変異は、図1の突然変異段階111で適用することができる。例えば、1対のゲノムを2つのランダムな位置で分割し両側を交換することによって、様々な遺伝子の内部表現に関係なくゲノムレベルで交差突然変異(cross-over mutation)を適用することができる。削除及び挿入操作は、1つのゲノムから一以上の遺伝子を削り、その遺伝子を別の遺伝子に結合することができる。
【0038】
また、母集団の細分と移動を実施して、遺伝的変化の別の原因を提供することができる。ゲノムレベルの交差及び削除/挿入が同じ部分母集団のメンバ間でのみ行われるように母集団が細分されたとき、様々な部分母集団は、それぞれ異なる成功の程度の解空間の異なるセクタをそれぞれ調査する部分的に分離された遺伝的実体(genetic entity)になる。従って、母集団の細分化によって、母集団全体の中に見られる遺伝的多様性が高まり、成功した遺伝ソリューションが見つかる可能性が高くなる。部分母集団間でゲノムを臨時に移動することにより、1つの部分母集団内の適応的に有利にされた遺伝子を遺伝子プールの残りの部分に分配することができる。
【0039】
図2に示したゲノムは、ほとんどの微生物のゲノムのように染色体の複製が1つしかない半数体であるが、本発明の他の実施形態のゲノムは、冗長性とより微調整された遺伝子制御を提供する二倍体(人間のように対になる染色体を有する)、三倍体、又は倍数体でもよい。実際に、倍数関係は動的でよく、1ゲノム当たりの姉妹染色体の最適数は進化によって決定される。
【0040】
A.処理遺伝子
処理遺伝子は、各ニューロンが入力を出力にどのように変換するか決定する。ニューロンへの入力は、環境から或いはニューロンに結合された他のニューロンの出力からのものであり、その出力は、それらのニューロンの結合のそれぞれの重みによって修正されている。次に、各ニューロンは、その入力の関数を実行し、得られる出力は、ネットワーク内の他のニューロンへの入力になるか或いは環境に伝達される。この処理のダイアグラムを図3に示し、この図では、ニューロン301にk個の結合があり、xiは、結合i∈1..kの入力信号を表し(これは、別のニューロン又は環境入力から生成される出力である)、wiは、結合の強さ(weight)を表す。ニューロン301の出力yは、全てのxとwの関数である。
【0041】
最も単純な処理関数の1つは、「パーセプトロン」と呼ばれる人工ニューラルネットワークに使用された基本タイプのニューロンに見られる。パーセプトロンは、y={Σxiwi≧θの場合に1、Σxiwi<θの場合に−1}のしきい値ゲートティング関数(thresholdgating function)を実行し、ここで、xiは、結合i∈1..kから受け取った入力、wiは、対応する結合の強さ、θは、ニューラルしきい値である。換言すると、パーセプトロンの出力は、重み付けした入力Σxiwiがしきい値θを越えた場合に1(1)、他の場合は出力が負1(−1)である。人工ニューラルネットワークパーセプトロンの一般的な変形は、入力の加算にシグマ関数(sigmoidal function)を実行する。シグマ関数は、y=(1+e-((Σxiwi)-θ)-1である。このシグマ関数の出力は0〜1の範囲であり、中間値はS字形曲線に従う。
【0042】
さらに高度な例は、米国特許第6,424,961号に示されている、この特許に示されているニューロンの幾つかは、負強化信号NRを処理関数に組み込む。この処理関数は、y={Σxiwi≧qの場合は1、Σxiwi<qの場合は0}であり、ここで、q={ニューロンが最近発火した場合はθ、ニューロンが最近発火していない場合はθ−NRである}。操作中、負強化信号NRは、不活性ニューロンの神経しきい値を一時的に低下させ、それにより神経システム内の発火活動が高まり、それにより新しい神経経路が作成され古い経路が破壊される。負強化信号NRの振幅は、しきい値の低下量を決定する。
【0043】
以上その他の神経出力関数は、仮想ゲノムの遺伝子の処理において符号化される。本発明の1つの実施形態によれば、神経出力関数は、人工進化下位分野の遺伝プログラミング(GP)で使用されるような数学的表現ツリー(mathematical expression tree)として符号化される。具体的には、神経出力関数を示す数式は、(入れ子にされた挿入ステートメント等の)標準形式に標準化され、標準化された形式に対応する内部ノードと葉ノードの木構造として表される。内部ノードは数学演算子に対応し、数学演算子は、内部ノードのすぐ下のノードからの値に関数や他の数学演算を対応させる。葉ノードは、木の一番下にあり、数学的表現ツリーに入力される定数、変数及び他の末端(terminal)を表す。
【0044】
葉ノードに使用することができる1組の末端と内部ノードの1組の演算子は、神経入力から神経出力への様々なマッピングの進化を可能にするように十分に単純で一般的であることが好ましい。本発明の1つの実施形態の末端セットと演算子セットをまとめたものをそれぞれ表1と表2に示す。
【0045】
表1
記号 末端
−1から9 整数
IN ニューラル入力
CI 累積入力
LF 最終発火からの時間
OF 最終発火の出力
PR 正強化
NR 負強化
RG レジスタ
【0046】
表1において、末端セットは、−1から9の整数と、ニューロンがその処理演算に組み込む可能性のあるシステム変数とを含む。例えば、神経入力INは、経路の現行時間間隔にわたって受け取った重み付けされた入力の和を表す。累積入力CIは、最後に発火してから(例えば、ニューロンが最後に非ゼロを出力してからの時間間隔にわたって)受け取った重み付けされた全ての入力の和を表す。神経出力は、発火頻度、バースト頻度、バースト強度、又は神経活動の他の測定値の人工的類似物として解釈することができる。末端セットは、また、正強化PR信号及び負強化NR信号を含む。これらの信号は、より詳細に後で説明するように、ネットワークの訓練を支援するように処理される。レジスタRGは最初はゼロであり、STR(記憶)演算子が評価されるたびに値を記憶する。
【0047】
表2
記号 演算子
+ y=a+b
− y=a−b
* y=a×b
% y={b≠0の場合はa/b、b=0の場合は1}
EXP y=ab
LIN y=bxa+0.5(y∈[0,1])
SIG y=1/(1+ebxa)
TRI y=1−|bxa|(y>0)
RAD y=e-(bxa)2
THR y={a<bの場合は0、a≧bの場合はa)
STP y={a<bの場合は0、a≧bの場合は1)
STR y=a。yをレジスタに記憶する
【0048】
表2の演算子セットは、集合的に様々な神経処理関数の構成単位として働くことができる算術演算子と非線形演算子を含む。表2において、変数aは、演算子への主入力と考えられ、bは、例えばLIN、SIG、TRI及びRAD関数の勾配やTHR及びSTP演算のしきい値等の演算子の出力曲線の形状の変調パラメータと考えられる。
【0049】
この節の初めに説明した神経処理関数は、遺伝プログラミング木を使用して処理遺伝子に符号化することができる。図4に示したように、例えばしきい値が3.5の単純な人工ニューラルネットワークパーセプトロンを実現することができる。
具体的には、出力関数y={Σxiwi≧θの場合に1、Σxiwi<θの場合に−1}は、完全に括弧に入れた標準式(((IN STP(7/2)×2)−1)として、それぞれ表1と表2に演算子と末端に関して構成することができ、ここで、7/2は3.5の値を生成するために使用され、INはΣxiwiを表し、演算×2−1は、STP演算子の出力を強制的に範囲[0,1]から[−1,1]にするために使用される。
従って、数学的表現ツリー401は、内部ノード403を含み、内部ノード403は、内部ノード405と407(末端記号1を保持する)からの値を演算する演算子−を保持する。内部ノード405は、演算子*を含み、内部ノード409と411から2の値を得る。内部ノード409は、葉ノード413(IN末端を保持する)と内部ノード415からの値に関して演算するSTP関数を符号化し、内部ノード415は、葉ノード419では7、葉ノード417では2に関する除法の%演算を含む。
【0050】
神経処理関数は、図4のパーセプトロンより込み入っていることがある。例えば、しきい値3.5のシグマ人工ニューラルネットワークパーセプトロンの出力関数は、図5に示したような数学的表現ツリー501として実現される。図6に示したもう1つの例として、数学的表現ツリー601は、しきい値3の出力関数を使用し、その結果、入力がそのしきい値よりも低い場合に出力はゼロになり、しきい値より高い場合に出力が2〜5の範囲になり、中間の値は入力の大きさに正比例する。
【0051】
私の米国特許第6,424,961号に記載された適応神経学習システムの神経処理関数の幾つかはもっと込み入っている。例えば、1つの適応神経学習処理関数は、ニューロンが最近発火していない場合だけ、負強化NRによって低下する可変しきい値を使用する。更に、神経入力は、現行時間間隔の間に受け取った重み付け入力INからなるだけでなく、最新の発火以来の時間間隔ごとに受け取った累積入力CIを含む。累積入力CIは、それぞれの通過時間と共に増大することがあるが、その神経入力に対する影響は、時間と共に着実に減少し、例えば、累積入力CIは、ニューロンが最後に発火されてから時間間隔ごとに0.9倍に減少し、即ち0.9LFだけ減少する。組み合わされた入力がしきい値以上である場合、ニューロンは出力1で発火し、そうでない場合、出力はゼロである。この関数は、初期しきい値が3.5に設定され、最新5つの時間間隔として「最近」定義されたものであり、図7の数学的表現ツリー701によって表すことができる。
【0052】
進化は突然変異を伴い、処理関数を数学的表現ツリーとして表す1つの利点は、全ての木が構文的に有効な表現であることである。この特徴によって進化プロセスの効率が改善され、その理由は、突然変異によって有効な処理関数が得られ、生物学的進化を上回る異なる利点が得られ、突然変異により存続できない子孫ができる可能性があるためである。数学的表現ツリーで行うことができる突然変異操作には、点(point)と交差(crossover)の少なくとも2種類がある。図8に示した点突然変異は、数学的表現ツリー内の確率論的に決定された個々のノードに確率論的に決定された値を代入する。図8において、数学的表現ツリー801は、突然変異した数学的表現ツリー803を作成するために2つの点突然変異を受ける。
【0053】
交差突然変異は、2つの遺伝子型間の遺伝物質の相互交換を引き起こし、親の遺伝的混合物である子孫が生成される。図9に示したように、交差は、それぞれの親数学的表現ツリー(901,903)内からのランダムな分岐クラスタを選択し、それらを交換して2つの子孫木(905,907)を生成することによって作用する。
【0054】
末端、関数及び突然変異演算子のこのレパートリにより、神経入力から神経出力への種々様々な可能なマッピングを処理遺伝子内で符号化することができ、仮想母集団は、新規なタイプのニューロンを進化させ最適化することができる。
【0055】
B.結合遺伝子
結合遺伝子は、結合重みの値をどのように生成するかを指定し、どのニューロンが他のどのニューロンに結合するかを決定する。結合遺伝子は、処理遺伝子よりも多くの情報を指定するので複雑になる。図10に示したような1つの実施形態において、結合遺伝子1001は、5つのサブ遺伝子、即ちカウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、ターゲットサブ遺伝子1009、及び強度サブ遺伝子1011に細分される。
【0056】
カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びターゲットサブ遺伝子1009は、ニューロンを神経システム内でどのように配線するかを指定する。これらのサブ遺伝子はそれぞれ、結合が行われる数、結合が向かう場所、結合が達することができ距離、結合するニューロンのタイプを決定するパラメータを符号化する。1つの実施形態において、各カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びターゲットサブ遺伝子1009は、10個の異なる対立遺伝子(allele)又は値に対応する0から9までの1つの整数を持つ。表3に、カウントサブ遺伝子1003、方向サブ遺伝子1005、及びレンジサブ遺伝子1007の対立遺伝子を示す。
【0057】
表3
対立遺伝子 カウント DIR. 範囲
0 1 −3 1
1 1 −2 2
2 2 −1 5
3 2 0 10
4 4 1 20
5 4 2 50
6 8 3 2〜5
7 12 任意 5〜10
8 20 任意 10〜20
9 40 任意 20〜50
【0058】
カウントサブ遺伝子1003は、各タイプのニューロンによって行われる結合の数を指定し、例えば、対立遺伝子3は、2つの結合があることを意味する。各ニューロンによって行われる結合の総数は、ニューロンの結合遺伝子のそれぞれのカウント対立遺伝子の和である。方向サブ遺伝子1005とレンジサブ遺伝子1007は、それぞれの結合が進む場所を決定する。方向サブ遺伝子1005に格納された方向対立遺伝子は、結合がどの方向にいくつの層を突き抜けるかを指定する。例えば、数−3〜3は、結合を向けるために後(負の場合)又は前(正の場合)にいくつのニューラル層があるかを示し、ここでゼロは、結合が出発ニューロンと同じ層に留まることを意味し、「任意」は、結合が任意の方向に進むことができることを意味する。レンジサブ遺伝子1007内のレンジ対立遺伝子は、ニューロン内で測った距離で、単一層内で結合が互いにどれだけ離れていることができるかを指定する。
【0059】
ターゲットサブ遺伝子1009は、結合が連携すべきニューロンの種類を示す。この値は、意図されたターゲットニューロンタイプの相対染色体位置を示す。例えば、図11を参照すると、4つのニューロンタイプ1101、1103、1105及び1107を有するゲノムがある。矢印は、タイプ1103によって行われる結合の可能なターゲットタイプを指す。ターゲット対立遺伝子は、従うべき矢印を決定し、0は、結合が、それ自体と同じタイプのニューロンに行われることを意味し、1は、結合が、右に1つ先の染色体位置にあるタイプに行われることを意味し、2は、2つ先のタイプへの結合を意味し、以下同様である。ゲノムの端に達すると、カウントは反対側から再び始まり、従ってこの例では、1、5、及び9の対立遺伝子は、全てタイプ1105を指す。
【0060】
突然変異は、結合の挙動を変化させるために、カウントサブ遺伝子1003、方向サブ遺伝子1005、レンジサブ遺伝子1007、及びのターゲットサブ遺伝子1009に作用することができる。1つの実施形態において、対立遺伝子の値を増減させるが、他のタイプの点突然変異を使用することができる。そのような突然変異は、神経システムの回路に大きな影響を及ぼすものもあり、何も影響を及ぼさないものもある。
【0061】
図10を再び参照すると、強度サブ遺伝子1011は、結合の重みを決定する重み関数を符号化する。重みは、結合を介して伝わる信号に働く調整可能な増幅器である。ニューロンが発火するたびに、重み関数の出力が、処理関数の出力と掛けられ、得られた積が、結合の他端にある「シナプス後」ニューロンに送られる。重みの変化は、神経システムの発火ダイナミクスに影響を及ぼし、これは最終的に神経システムの挙動と知能を変化させる可能性がある。適正な挙動を学習するには適正な重みを見つける必要があり、重み関数がそのプロセスを可能にする。
【0062】
強度サブ遺伝子1011は、処理遺伝子の数学的表現ツリーと類似の数学的表現ツリーによって表すことができる。1つの実施形態において、強度サブ遺伝子は、表2に示した関数セットと、以下の表4の末端によって補った表1に示した末端セットを使用する。
【0063】
表4
記号 追加の末端
LP シナプス後ニューロンの最終発火からの時間
OP シナプス後ニューロンの最終発火の出力
WT 現在の重み
【0064】
これらの末端のうちの2つは、シナプス後ニューロンの特性であり、LPはシナプス後ニューロンが最後に発火してからの時間(間隔)であり、OPは、シナプス後ニューロンの最後の発火の出力である。3番目の末端は、結合の現在の重みWTである。WTの値は、最初0に設定されるが、神経システムのライフサイクル中にその重み関数の出力を反映する。
【0065】
図12は、強度サブ遺伝子1011において符号化されたHebbian重み関数を示す。Hebbの規則により、順序付けによって因果関係が示唆され、そのような関係が強化されなければならないので、シナプス前ニューロンの発火がシナプス後ニューロンの発火のすぐ後にあるときは重みが強くなる。発火がそのように関連付けられないときは重みが弱くなる。例えば、重み値が1〜3の範囲の場合は、シナプス前発火とシナプス後発火の間の時間の長さが特定の時間間隔数(例えば、5)の範囲内にあるときは重みが常に0.2だけ増え、シナプス前ニューロンが別の時間間隔数(例えば、15)の間使用されていなかったときは重みが0.2だけ減少する。
【0066】
もう1つの重み関数は、私の米国特許第6,424,961号に記載されたニューラル学習システムに使用されている。この関数は、やはりHebbianであるが、重み変化の大きさが一定でなく、結合重みが起こり得る最低値と最高値に引きつけられるように終点で安定したアトラクタ(attractor)を作成する形状の増大曲線と減少曲線をたどる。重みが低いときは、増大が小さくかつ減少が大きく、これにより重みがほぼ最低にとどまるようにバイアスがかけられる。しかしながら、重みが高いときは、増大が大きくかつ減分が小さく、重みは最高に留まるように傾斜される。板挟みになった重みは、アトラクタの1つにすぐに引っ張られ、アトラクタに着いた後は、アトラクタにとどまる傾向がある。重みをあるアトラクタから別のアトラクタにシフトするには、繰り返しかつ正確に相関されたシナプス前発火とシナプス後発火或いは長い不活性期間が必要である。
【0067】
この重み関数は、神経システムの動作を安定させる。重みのほとんどが適所に固定された状態では、神経経路が、ノイズ、劣化、又は他の経路との相互作用によって容易に妨害されることはない。重み関数は、また、正強化を含むことができる。例えば、1つの実施形態における正強化信号PRは、0でも1でもよい。0のとき、正強化信号PRは無効である。1のとき、強化される予定の重みは、直ちに最大値まで完全に強化され、初期の因果関係が強化される。このようにして、正強化信号PRは、報酬を与えられた挙動(rewarded bihavior)を現在生成している任意の遷移経路を凍結することができる。
【0068】
これらの特徴は、図13に示した2つの分岐クラスタによって実施することができる。左側のクラスタ1301は、強化するときに重みをどれだけ大きくするかを決定する重み表現ツリー(weight expression tree)の一部である。右側のクラスタ1303は、弱める必要があるときに重みどれだけ小さくするかを決定する。重み表現ツリーの残りの部分は、分かりやすくするために示されていない。
【0069】
ゲノムの複雑さを高めて、知能を達成する新しい方法の発見をさらに創造的にする更に他の方法がある。例えば、その表現ツリーの関数セット内のループと条件命題を使用して、遺伝暗号をより精巧なものにすることができる。正常な分岐クラスタを捕捉して単一ノードに縮小することができ、それにより共適応遺伝子フラグメントがユニットとして進化することができる。また、結合パラメータサブ遺伝子は、それそれが有する10個の対立遺伝子よりも複雑なネットワークエンジニアリング機能を指定する任意の数の対立遺伝子を有することができる。
【0070】
C.神経システムの組織化
符号化された後、ゲノムは、神経システムを組織化する準備ができる。1つの実施形態において、神経システムは、例えば新しい結合を作成し、新しいニューロンを作成し、新しい結合を作成するニューロンの大規模な並列連鎖反応で自己組織化する。最初に、神経システムに、ゲノム内で最初に見つかったタイプのニューロンが種子として植え付けられる。これらは、入力ニューロンを構成し、最初の数は、神経システムを構築する用途によって必要とされるように構成される。次に、入力ニューロンの対応する結合遺伝子1001内に指定された情報を使用して、入力ニューロンのために結合が構築される。具体的には、カウントサブ遺伝子1003は、構築する結合の数を指定し、方向サブ遺伝子1005とレンジサブ遺伝子1007は、新しい結合を行なうためのターゲット領域を決定し、ターゲットサブ遺伝子1009は、新しい結合が結合しようとしているニューロンのタイプを示す。新しい結合は全て、そのレンジ内で好ましいランダムな位置を選択する。正しいタイプのニューロンが見つかった場合は、そのニューロンへの結合が行われる。一方、異なるタイプのニューロンが見つかった場合は、別の位置を選択して再び試みる。その場所でニューロンが見つからなかった場合は、その場所で正しいタイプの新しいニューロンを作成し、結合を完成する。これらの結合は、あきらめて新しいニューロンを作成する前にターゲット領域全体から正しいタイプのニューロンを探索する。
【0071】
また、新しいニューロンが作成されるたびに、その新しいニューロンの新しい結合が作成される。いくつかの結合が既存のニューロンにつながり、他の結合が新しいシナプス後ニューロンを作成する。ニューロンの作成と結合の作成のこの連鎖反応は、全ての新しい結合が既存のニューロンへの結合によって使い尽くされるか、予め設定されたニューロンの最大数の制限に達するまで続く。神経システムが完成したとき、ゲノム内の最後のタイプの作成された最後のニューロンが、出力ニューロンとして指定される。
【0072】
この脳構築メカニズムと遺伝暗号は、広範囲の神経回路の進化を可能にし、異なる回路の多数の組み合わせが同一神経システム内に存在することができ、それにより、神経システムの異なる領域が個別の処理タスクのために進化することができる。ちょうどニューロン自体がニューロン間の様々な出力関数とタイプを進化させることができるように、神経システムは、その相互関係に様々なレベルの複雑さを有する様々なモジュール型構成要素を有することができる。従って、神経システムは、知能に対する要求が必要とするのと同じくらい入り組みかつ階層的に複雑になるように進化することができる。
【0073】
1つの実施形態によれば、神経システムは、任意のサイズに成長することができる。図14は、6つのニューロンタイプと11の結合タイプのゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ及びターゲット対立遺伝子から構築された神経システム1401を示す。各ニューロンタイプは、その結合タイプと共に、異なる色で示され、ニューロンは三角形として示され、結合はその間の線として示されている。結合タイプのパラメータサブ遺伝子は、小括弧で示されているが(計算、方向、レンジ及びターゲット)、処理遺伝子と強度サブ遺伝子は示されていない。図の神経システム1401は、4つのニューロンから始まり、上限は50であった。しかし、これらの数は構成可能であり、本発明は、いかなる特定初期入力ニューロン数や特定の成長限度にも限定されない。
【0074】
本発明の実施形態による神経システムは、また、任意の次元数で成長することができる。図14に、全ての神経層が水平線である2次元ネットワークを作成した1次元配列の入力ニューロンを示す。同様に、最初の2次元配列の入力ニューロンは、全ての神経層が水平面である3次元ネットワークを作成することができる。実際には、多次元の神経ネットワークが可能であるが、高い次元は、ハードウェアで実施するには困難な場合がある。
【0075】
D.動的回路
本発明のもう1つの態様は、神経システムの動作寿命中にニューロン間の結合を作成したり破壊したりすることを可能にすることによって、知能の学習と達成のフレキシビリティを高めることに関する。本発明のこの態様による神経システムは、表5に示したように遺伝プログラムの演算子セットを2つ増やすだけでその結合を再構成する能力を有する。
【0076】
表5
記号 動的演算子
NEW y={a=bの場合に0,new()、a≠bの場合に1}
DIE y={a=bの場合に0,die()、a≠bの場合に1}
【0077】
NEW演算子の入力引き数が等しいときは、そのニューロンは新しい結合を作成する。処理遺伝子において、NEW演算子は、ニューロンに選択的に指示して各結合タイプに1つの新しい結合を作成させる。強度サブ遺伝子において、NEW演算子は、ニューロンに選択的に指示してそのサブ遺伝子タイプの新しい結合だけを作成させる。それぞれの新しい結合は、結合遺伝子1101の規則に従って作成され、従って、例えば、新しい結合の幾つかは前と同じニューロンにつながり、幾つかは他のニューロンにつながり、幾つかは新しいニューロンにつながり、これにより新しい結合が作成される。従って、等しい入力を有するNEW演算子を実行することにより、前述のような一回の自己組織化が始まる。
【0078】
DIE演算子は、ネットワークからニューロンと結合を除去する。処理遺伝子において、ニューロン全体は、その結合の全てと共に破壊される。強度サブ遺伝子では、そのサブ遺伝子の結合を破壊するだけでよい。
【0079】
図15と図16の分岐クラスタは、その動作中の関数を示す。図15の分岐1501は、処理遺伝子の一部分であり、従ってニューロンは、ニューロンが256時間ステップよりも長くアイドル状態の場合に自己破壊するが、そうでいない場合はその出力に影響はない。
【0080】
一方、図16は、NEW演算子とDIE演算子の両方を含む強度サブ遺伝子内の数学的表現ツリー1601を示す。数学的表現ツリー1601によって実施される重み関数は、ゼロの最小重みを有するHebbianである。長い不活動状態の後で、この結合は自分自身を置き換えて次に自己破壊するが、ここでは、活動状態は、そのシナプス前ニューロン発火やシナプス後ニューロン発火の頻度だけでなく、これらの発火が、結合が2つの間の因果関係に関与していることを示唆するように関連付けられるかどうかによって測定される。数学的表現ツリー1601のレジスタは、時間間隔ごとに増分するが、重みがその最低値を超えるとゼロにリセットされる(Hebbian相関を示す)。レジスタが125に達すると、新しい結合が作成され、この結合は破壊される。
【0081】
無駄なニューロンと結合を置き換えることができる神経システムは、学習と暗記の高い能力を有する。また、回路の動的作成によって、神経システムは、新しい知覚又は認識要求を満たすように回路を自動的に配線しなおす入り組んだフィードバック機構によって神経経路を進化させることができる。換言すると、本発明のこの態様による神経システムは、ちょうど人間の脳と同じように新しい状況と環境に適応することができる。
【0082】
III.適合性方式(FITNESS REGIME)
自然淘汰は適者生存のことであり、本発明の1つの態様における選択は、最も賢いものが生き残ることである。図1を再び参照すると、神経システムの母集団は、一連の選択試行で競う(段階103)。各試行において、神経システムは、知能をある程度必要とするタスクを行うように訓練され、そのタスクを実行するように各神経システムをどれだけうまく訓練できるかにより、そのゲノムが次世代まで生き残るかどうかが決まる。母集団が進化して試行がうまくいったら、母集団は次の試行に移る。それぞれの新しい試行が、知能の新しい態様を構築し、従ってそれぞれの試行が完了した後で、神経システムはだんだん知的になる。
【0083】
適合性方式の設計で重要なことは、特定のタスクを実行できるがさらに特定のタスクを実行するように訓練できる神経システムが進化されないことである。一方、ほとんどの人工進化プロジェクトにおいて、全ての遺伝子型は、実施する準備ができているソリューション候補であり、各遺伝子型は、そのソリューションがうまくいくかどうかを基準に選択される。しかしながら、本発明のこの態様に従って開発されていた神経システムは、それぞれ白紙状態で始まり、役立つようになる前に訓練する必要があり、従来人工的進化によって生成されていた剛構造よりも汎用的かつ有能である。
【0084】
この神経システムを訓練するために使用される方法は、従来の人工ニューラルネットワークを訓練するために使用されたものと異なってもよい。人工ニューラルネットワークは、ネットワークの出力が適正になるまで全ての内部重みをほんの少しずつ修正する手の込んだ一連の演算によって訓練される。そのような方法に多くの制限があり、その主な制限は、このように訓練された人工ニューラルネットワークが、新しいものを何も学習できないことである。人工ニューラルネットワークがどれだけよく訓練されたかに関係なく、それらの人工ニューラルネットワークは、経験から学習したり「学習」したことを新しい方式に適応したりすることもしない。
【0085】
神経システムの訓練方法は、従来の人工ニューラルネットワークに使用されたものよりも単純かつ強力でよい。例えば、スキナー理論の行動条件付けを使用して神経システムを訓練することができ、出力が好ましいときは正強化(PR)信号が送られ、出力が好ましくないときは負強化(NR)信号が送られる。そのような神経システムは、環境的フィードバックを利用し、環境的フィードバックに最も応答する神経システムは、正強化探求挙動と負強化回避挙動の精巧なレパ−トリを最も学習し、最適化し、維持できるものである。
【0086】
従って、次の式を使用して適合性を直接測定することができる。
【0087】
ここで、PRtとNRtはそれぞれ、時間ステップtで受け取った正強化信号と負強化信号、Tは、その現在の試行を克服するために各脳に割り当てられた時間ステップの総数である。最も高い得点のゲノムが、世代の終わりごとに選別され(段階103)、段階109と111によって次世代の少しだけ知的な神経システムを導入する。代替として、他の神経システムに対する適合性方式のパフォーマンスに基づいて適合性を測定することができる。
【0088】
この種の強化学習は、前述のような米国特許第6,424,961号に記載のニューラル学習システムと共に使用することができる。そのような神経システムは、負強化に応答して不活性ニューロンのしきい値を一時的に低くし、正強化に応答してHebbian強化された重みをその最大値に高める。これは、効率的で有効な訓練メカニズムであるが、強化に応答する他の関数があり、それらの関数の幾つかの方が優れている場合があり、従ってそに関数を見つけることが望ましい。
【0089】
示した進化システムは、より優れたメカニズムの発見を支援することができる。負強化と正強化は、ゲノム内の遺伝暗号の重要な構成要素であり、ゲノムは、その構成要素を演算に組み込む様々な方法を見つけることができる。神経システムに正強化を引き出す挙動をうまく記憶させ、負強化を引き出す挙動をより迅速に取り変えるそのような演算は、選択的な利点を有する。何世代も後で、ゲノムは、極めてよく訓練された神経システムを生成することができる。
【0090】
各ゲノムをその先行する試行で訓練に関して定期的にテストして、ゲノムがその蓄積された適応度を失わないようにすることができる。また、このことは、同じ種類の神経システムが、多くの異なる環境で訓練できなければならず、また多くの異なる種類の神経入力を処理するように学習できなければならないことを意味する。
【0091】
従って、後で説明する選択試行は、多くの様々なタイプの認識問題を含む。その問題の幾つかは空間的に動的でよく、幾つかは時間的に動的でよい。問題の幾つかは入力の暗記を必要とすることがあり、幾つかは少数の限界パターンの詳細な識別を必要とすることがある。また問題の幾つかは、詳細な分析を必要とすることがあり、幾つかは、迅速な意志決定を必要とすることがある。合格したゲノムは、全てのそのような状況に対処していることが好ましい。
【0092】
選択試行の処理タスクは、共通な1つの特徴、即ち知能を含むように設計されている。当然ながら、初期の試行は、あまり多くの知能を必要としないが、難しい試行に合格するようになるほど、神経システムは有能になる。それぞれの新しい選択的な挑戦により、神経システムは、高くなる複雑な環境的要求を理解するためのより高い精巧さを持つようになる。しかしながら、それらのタスクのどれも、力ずくの計算を必要とせず、即ち、従来のコンピュータが適切に計算することができる。一方、選択試行で実行されるタスクは、データを分析し、パターンを識別し、類似性を導き、結果を予測し、決定するために、力ずくではなく知的な学習を引き出すことである。
【0093】
1つの展開において、ゲーム、制御システム及び画像分析の3つのカテゴリのうちの1つから選択試行が選択される。そのような分野は、少なくとも2つの理由により選択される。第1に、これらの分野は、多くの異なるスキルレベルと多くの異なる種類の知的要件を有する課題を提供し、従って、様々な態様の知能を少しずつ開発するには理想的である。第2に、これらの分野は商品価値を有する。
【0094】
試行の完了は、神経システムが、次の進化段階、即ち実世界に進む準備ができたことを示す。市場は、その時からだいたい選択要件を決定することができ、神経システムは、その要求を満たすように進化することができる。神経システムは、その時までに、知能を必要とする新しいスキルを学習することができる。
【0095】
A.人工ニューラルネットワークのエミュレーション
この試行は、1対の入力と出力の関連付けを記憶する従来の人工ニューラルネットワークが行うことができる能力を選択する。具体的には、所定の入力に応じて所定の出力を生成するように人工ニューラルネットワークを訓練することができ、それにより、後でその実行段階で人工ニューラルネットワークに入力が提示されたときに、人工ニューラルネットワークが関連付けられた出力を生成するようになる。従って、この試行は、特定の入力に出力が適正なときに正強化信号PRを提供し、出力が適正でないときに負強化信号NRを提供することによって、人工ニューラルネットワークをエミュレートするように訓練することができる神経システムを開発する。この試行で成功した神経システムは、従来の人工ニューラルネットワークのパターン整合をエミュレートする能力を進化させることができるものである。
【0096】
B.順応
この試行は、従来の人工ニューラルネットワークが最初からプログラミングしなおさなければ修正できない間違いを修正する神経システムのフレキシビリティを開発する。この順応フレキシビリティを選択するとき、神経システムは、最初に、人工ニューラルネットワークのエミュレーション試行の場合のように、関連付けられた入力と出力の複雑な組み合わせを学習するように訓練される。次に、入力と出力の関連付けの幾つかが変更され、その結果、前に正強化された出力によって負強化信号が引き出される。負強化信号は、神経システムが正強化信号を生成する新しい出力を見つけるまで持続する。この選択試行において、成功神経システムは、新しい答えを学習する能力を習得するものである。
【0097】
C.シモン(Simon)
この試行では、神経システムは、特に一連の入力を特定の順序で記憶するために、時間を理解することを基礎に訓練される能力がテストされる。この能力を選択するために、神経システムは、シモン(各プレーヤが、だんだん長くなる入力のシーケンスを交代で思い出す子供のゲーム)で遊ぶために作成される。神経システムは、シーケンス自体に新しいエントリを提供するように要求されることはないが、新しい入力を記憶し、ゲームの各順番でシーケンス全体を正しい順序で思い出すことが期待される。神経システムが入力の順序を正しく暗唱するかどうかによって、正強化信号と負強化信号が印加される。しかしながら、神経システムがあるシーケンスの正しい出力を出力し、任意の瞬間の正しい出力がシーケンス内の位置に依存するので、学習プロセスは、メモリに記憶されたデータ間の関係のパターンを処理する能力を必要とする。シモン試行に成功した神経システムは、連続的な入力刺激を必要とすることなく一連の出力の生成を制御する能力を進化させる。
【0098】
D.ナビゲーション
ナビゲーション試行では、神経システムは、単純な制御システムを学習する。神経システムへの入力は、前方道路の2次元画像でよく、これは、レーシングカービデオゲームでプレーヤが見るものを簡単にしたものである。神経システムの出力は、車の操縦、即ち左折、直進、右折を制御する仮想アクチュエータでよい。従って、神経システムは、道路から外れるか障害物に衝突する負強化と、道路に留まり衝突事故を起こさない正強化をナビゲートするように訓練される。それぞれの動きが、近づく障害物や急カーブを考慮しなければならないので、この試行は計画を必要とする。それぞれの動作の正強化又は負強化の結果が、動作が行われたすぐ後で感じられる必要はないので、この試行は、計画立案が可能なように神経システムの時間理解を将来を含むように拡張する。従って、成功神経システムは、将来の目標物と障害を識別する能力を実証するものであり、決定する際に現在の要求だけでなく将来の要求も考慮される。
【0099】
E.テトリス
この試行は、進化する神経システムの計画立案能力に基づく。この試行の入力は、よく知られたテトリス形状が落下して下に溜まっていく2次元ゲームグリッドであり、出力は、4つの形状操作のうちの1つ、即ち左移動、右移動、右回転、又は左回転に対応する。負強化は、スタックの高さを高くするために利用され、正強化は列を除去するために利用される。列を除去してスタックの高さを最小にするために、成功神経システムは、隙間を埋めるに有利にしたり空いたセルの埋めるのを回避するような発見的戦略を開発する能力を得る。しかしながら、正強化又は負強化は、神経システムのそのような特定の戦略を教示する特定の目的には利用されず、むしろ、神経システムは、その結果の利点(例えば、スタックの高さ)に関してのみ正強化又は負強化される。人間のプレーヤが、ゲームを最も上手にする方法を自分のために学習するのとまるで同じように、成功神経システムも、そのような戦略が何であるかを具体的に伝えることなく、テトリスをするのに有効な戦略を独力で学習する。従って、この試行は、ソリューションのステップが何であるかを予め伝えることなく所定の問題を解決する方法を理解する能力を開発した神経システムを選択する。これは、従来の人工ニューラルネットワークと人工知能の能力よりも優れた知能の極めて重要な態様である。
【0100】
F.ナビゲーションの一般化
学習したものを一般化する能力は、従来の神経モデルが達成できなかったことが有名な知能の重要な構成要素である。これまでの試行に成功した神経システムでも、極めてうまく一般化することを期待されるとは限らない。例えば、これまでの試行に成功した神経システムは、10X15のサイズのゲームグリッド上ではうまくプレイできるが、7X17のゲームグリッド上ではほとんどプレイの能力を発揮できないように訓練されていた。プレイ面のサイズのこのわずかな変化は、人間の子どもにとって概念的な問題はほとんどないが、従来の人工知能システムを無能力化する。従って、この試行では、成功神経システムが所定の試行の予期しない変形で有能になるように一般化する能力が選択される。
【0101】
1つの手法は、テトリスよりも少し容易な試行、例えばナビゲーションから始めることによって、一般化のための基礎とすることである。一般化ナビゲーション試行において、神経システムは、入力ニューロンの大きな2次元配列で作成され、神経システムの仮想世界の認識に寄与するプレイ面のサイズと入力ニューロン空間のサブセットは、訓練の過程ごとに変化する。神経システムは、複数のサイズで様々にサイズと位置が決められたサブセットの入力ニューロンを有するゲームグリッドを次々と移動する能力がテストされる。このタスクの一般化は、その知覚フィールドが広がる幅と深さに関係なく、道路の縁を回避し道路の障害物を回避する学習を必要とする。次の試行では、テトリスが一般化される。
【0102】
G.テトリスの一般化
様々なサイズのプレイフィールド全体にわたってテトリスのゲームをすることを一般化する能力は、テトリスのダイナミクスがナビゲーションのダイナミクスよりに激しく変更されるので、一般化ナビゲーション試行に合格する能力よりも高度である。一般化ナビゲーション試行と同じように、各神経システムは、様々なサイズのプレイ面とその神経入力空間のサブセットがテストされる。任意サイズのゲームグリッドの有能なテトリスプレーヤになるために、神経システムは、その知覚フィールド内で見つけることができる場所に関係なくかなり複雑なパターンを識別することを学習し、従ってこの試行に成功した神経システムは、複雑で動的なデータパターンの理解を一般化する能力を示す。
【0103】
H.エレベータのスケジューリング
この試行は、人通りの多い建物内の一群のエレベータの効率的な利用者乗降スケジューリングを決定する実世界の用途を有する。しかしながら、このタスクを管理する制御システムの設計は驚くほど難しく、特に、各エレベータオペレータが、実際に、(1)乗車要求のある近づきつつある階で停止すべきかどうかと、(2)要求がないときにどこに行くべきかの2つだけを決定することが考慮される。エレベータの挙動の他の態様は、例えば、現在の方向で降車要求がある場合には向きを反転してはならないことやエレベータが一杯過ぎる場合に乗車要求に応答してはならないことを指示する規則によってエレベータを管理することができる。人工知能研究者達は、エレベータスケジューリングに長い間関心を持ってきており、単純な発見的方法から、複雑な統計計算を必要とする極めて複雑な戦略まで多くのアルゴリズムを開発してきた。
【0104】
しかしながら、全てのスケジューリングアルゴリズムは、エレベータスケジューリングシステムは、特定のパターンの乗客の流れにはうまく対応できるが、そのスケジューリングシステムは、乗客の流れのパターンが変化するとうまく対応できない可能性がある、という問題に直面している。実際に、乗客の流れの変化はよくあることである。朝はオフィス建物内のほとんどの乗客がロビーから高い階に移動するが、夕方は人の流れが逆になる。別の建物には複数階にまたがる複数の会社が存在する場合があり、会社が移り変わるときに階の中の人の流れのパターンが変化する。知的エレベータスケジューラは、このような種類の変化に応じて自分自信を最適化できなければならない。
【0105】
この試行では、予想外の通行パターンのためにエレベータスケジューリングを最適化しかつ通行パターンが変化したときにスケジューリングを再調整して、エレベータスケジューリングが最適のままになるように訓練することができる神経システムを進化させる。乗車要求から乗車までの時間と、乗車から降車までの時間という簡単に定量化された2つのパフォーマンスの尺度があるので、訓練の負帰還と正帰還は単純でよい。従って、そのような時間の増大には負強化が適用され、減少には正強化が適用される。成功神経システムは、エレベータサービスを連続的に最適化するためにこのように訓練できるものであり、大きな建物内で有用である。
【0106】
I.交通信号のスケジューリング
多くの街には、交通の流れを円滑に維持するために街区の信号灯を調整する集中管理交通信号システムがある。都市計画者が交通信号のタイミングを最適化するのを支援するために、交通の流れを様々なスケジュールでシミュレートできるソフトウェアパッケージが開発されており、計画者達は、そのソフトウェアを使用して様々なタイミングパターンを試して、その道路に適したスケジュールを見つける。しかしながら、交通パターンは常に、短期的には天候、時刻、曜日、ローカルイベント、景気、及び道路工事による変化の影響を受け、長期的には人口、居住選択、仕事習慣の変化による影響を受ける。予測不能な変化が多すぎて、予め符号化された交通管理システムは定期的な再プログラミングなしにはうまく動作しない。一方、知的スケジューラは、交通パターンが変化したとき交通の流れをどのように改善するかを常に学習し、必要に応じて新しいソリューションを開発することを期待されている。
【0107】
この試行では、神経システムは、これを正確に行うように訓練できるように進化する。この訓練は、青信号で車が通過する頻度と赤信号で車が停止する時間の長さに応じて正強化と負強化を適用することによって達成することができる。仮想シミュレーションにおいて、道路上の全ての車のアイドル時間を測定することができる。実際には、タクシー、バス、及び他の市有車両に、データ収集センサを配置することができる。この一定のデータの流れによって、神経システムは、交通信号を真に知的な方法で管理することができる。第2の試行以来適応する能力が改良されてきており、神経システムは、現在では、複雑な条件に自然に適応するように訓練されている。その結果、神経システムは、これまで見たこともない複雑な問題に対する適切なソリューションを見つける能力を示すようになった。
【0108】
J.CAPTCHA
前述の試行の幾つかは、知覚フィールド内でかなり複雑なパターンを識別することができる神経システムの開発を必要とする。この試行では、神経システムは、CAPTCHA(Completely Automatic Public Turing test to tell Computers and Humans Apart)をうまく騙すように進化する。CAPTCHAは、ネットワーク接続の他端にいるユーザが実際に人間であるかどうかを検証するために設計されたテストであり、自動化されたスクリプトによるスパムメール発信者の電子メールアドレス取得を防ぐのに有用である。CAPTCHAの1つの形態は、ランダムな文字のランダムに歪められた文字列を表示させ、歪んだ文字をユーザに読み取ることを要求する。人間はそのような文字を容易に読み取ることができるが、現在のコンピュータプログラムはできない。このテストを開発するCAPTCHAプロジェクトは、ウェブサイト上に生成されたランダムな文字を80%を超える精度で読み取ることができる人工エージェントの設計を人工知能業界に要求してきた。この試行により、CAPTCHAの要求に応えることができる十分に進んだ画像処理能力を有する神経システムが開発された。
【0109】
K.さらに他の試行
訓練可能で実際的な目的により、知能を得る段階としてさらに他の試行を使用することができる。例えば、1つの目的は、所定の動作の結果(即ち、正強化と負強化)がずっと後まで感じられないときに学習する能力である。ナビゲーションから始まる試行は全て、これをある程度有するが、動作と結果の間の遅延はかなり小さい。チェッカー(checkers)、ゴー(go)、コネクトフォー(connect four)、ドットアンドボックス(dots and boxes)などのほとんどの実際のゲームでは、所定の動きは、とても良いかとても悪い可能性がある、とても良いかとても悪いは、かなり長い時間分からない可能性がある。従って、この能力を開発する選択試行としてゲームを使用することができるが、より市場性のある可能性のあるシステムを制御することもできる。
【0110】
もう1つの目的は、最初に開始された記憶が相互に関係付けられるシモン試行に基づく詳細かつパターン化された長期記憶である。この目的を推進する1つの試行は、迷路をナビゲートしその迷路を覚える方法を学習するように神経システムを訓練することである。壁にぶつかったときに負強化を引き出し、また、様々な種類の報酬のための正強化が迷路の様々な角にあってもよい。神経システムは、渇きや飢えとよく似た負強化信号と関連する入力指標を有し、迷路内のそれぞれの様々な報酬は、それぞれの指標から負強化を軽減する。従って、神経システムが入力指標を感じるたびに、神経システムは、その報酬の場所にまっすぐに行くことを学習する。
【0111】
IV.倒立振り子問題の解決
本発明の1つの実施形態を使用して、工学において有名な倒立振り子問題を解くことができる。この問題の古典的な一次元バージョンにおいて、車輪付きカートにヒンジ式に取り付けられた振り子が、カートを左右に押すことにより真っ直ぐに立つようにバランスをとられる。このシステムは、極めて動的かつ非線形的である。またシステムは極めて不安定である。ひとつ誤ると振り子が倒れて壊れる。
【0112】
この問題は、また、制御理論において単なる学術的課題を越えるものである。倒立振り子問題は、ロボット工学、SEGWAYTM人間運搬装置、海上石油掘削基地のような様々な用途に見られる。この問題の1つのバージョンは、ロケット科学にも見られ、ロケットが空に向かって発射するとき、ロケットは、その推力ベクトル上で正確にバランスが維持されなければならず、そうでないと制御を失うことになる。ソリューションの幾つかは、極めて高度である。スペースシャトルのベクトル制御システムは、船の位置を監視し、必要に応じて、上昇中ずっと20ミリ秒おきに1組のジンバル式姿勢制御ロケットから修正バーストを発射する。
【0113】
制御理論学者達は、伝統的な工学的アルゴリズム、遺伝的アルゴリズム、ファジイ論理システム、エキスパートシステム、及び人工ニューラルネットワークを使用して、様々な種類の倒立振り子ソリューションを開発してきた。そのような方法は全て、1つの重要な制限によってうまくいき、そのような方法によって生成されたソリューションは、極めて特殊な1組の問題条件でのみうまくいくことができる。問題の何らかの態様が変化した場合は、新しいパラメータに基づいて新しいソリューションを生成しなければならない。このソリューションは、経験から学習せず、また学習したものを新しい状況に適用もしない。
【0114】
例えば、倒立振り子の応用例は、異なる質量や長さのバランスをとる作業を突然課されたり斜めに配置されたりする可能性があり、或いは持続的な突風、地面又はヒンジ部分の摩擦、若しくは経路上の障害物に遭遇する可能性がある。制御機構自体の部品の損耗を含む任意の数の新しい状況が生じる可能性があり、前述の方法の全てが失敗する可能性が高い。知的コントローラは変化に対処できるはずである。
【0115】
本発明の実施形態による知能の進化した神経システムは、学習をやめず、新しいことに対する準備ができている。倒立振り子試行は、この能力を、複雑なタスクの状況で開発する。最初の幾つかの試行は、問題の極めて単純化された仮想バージョンである。後者のバージョンは、だんだん難しくなり、だんだん動的になる。これらの試行に合格できる神経システムは、極めて有用に利用される知的挙動の基本的な態様を示す。
【0116】
A.倒立振り子試行1
第1の目標は、正強化と負強化に応答する神経システムを改良することである。表6に、倒立振り子問題の簡略化されたバージョンを習得するように神経システムを訓練するために使用される強化信号をまとめる。
表6
出力
入力 <0 0 >0
10 P N N
01 N N P
【0117】
各神経システムには、右に1つと左に1つの2つの入力ニューロンがある。任意の瞬間において、そのような入力の値は、振り子が傾いている方向を示し、左側の1は左に傾いていることを意味し、右側の1は右に傾いていることを意味する。出力ニューロンは、神経システムがカートを動かしたい方向を示し、0より小さい値は左に押すことを意味し、0より大きい値は右に押すことを意味する。これらの指定は、この特定の表しか学習できない神経システムを進化させないようにするためにかなり頻繁に変更されることがある。表内のエントリは、その活動の結果としてどの強化信号が神経システムに送られたかを示し、Pは正(PR=1かつNR=0)を意味し、Nは負(PR=0かつNR=1)を意味する。
【0118】
他の選択試行と同じように、正強化を生成する活動を覚え負強化を生成する活動を回避する神経システムは、生成の終わりに選択されたものである。これらは、学習方法を最も良く知っている神経システムである。
【0119】
B.倒立振り子試行2
この試行では、神経システムが考慮する新しい因子である振り子の角速度が導入される。カートをどのように動かすかの決定は、押す方向の他に押す大きさを決定することを必要とする。従って、この試行は、前の試行よりも複雑である。
【0120】
神経システムには、この試行のために、振り子の角度と速度のための2つの入力ニューロンがあり、その出力は、前と同じように解釈される(0より小さい出力はひとつの方向に押すことを意味し、0より大きい出力は他の方向に押すことを意味する)。
【0121】
試行には2つの部分がある。最初の幾つかの世代には、可能な入力は3つの値しかない。神経システムがこれを習得したとき、その数は例えば5に増える。神経システムが振り子を中心に維持するように押すときは、神経システムは正強化を受け取るが、間違った方向に押した場合、振り子は倒れ、負強化を受け取る。この試行のデータ表のために生成される計算は、倒立振り子コントローラの品質を測定するために制御理論学者によって使用される1組の標準的なテストパラメータに基づくことができる。
【0122】
C.倒立振り子試行3
この試行以降、可能な入力値は、2つ、3つ又は5つだけでなく、正確な振り子の角度と角速度を含む、問題領域内の任意の数でよくなる。この試行は、また、異なる強化方式(reinforcement regime)を有する。最初の2つの試行では、神経システムは、その動作に基づいて条件付けされていたが、神経システム上のこの試行から、それらの動作の結果に基づいて、即ち振り子がどれだけよくバランスがとれた状態で維持されたかに基づいて条件付けされる。正強化は、鉛直角が3度より小さいときに、振り子のその頂点に対する近さに関して提供される。負強化は、角度が3度よりも大きいときに、振り子のその頂点からの距離に関して提供される。最初に、振り子は、どちら側にも15度よりも揺れないように制限されるが、神経システムが集合的にだんだん賢くなるにつれて、この制限が緩和され、条件がだんだん難しくされる。
【0123】
D.倒立振り子試行4
この試行では、カート位置とカート速度のために更に2つの入力ニューロンが使用される。これらの入力は、振り子角度と振り子速度と共に、振り子を制御するのに十分な状態を各神経システムに提供する。カート位置は、この試行から初めて、軌道上に制限が置かれるので重要であり、カートを軌道の中心からどちらの側にも2.4メートルより押すことはできない。(2.4メートルは、倒立振り子基準試験に使用される標準の軌道制限である。)境界のために、所定のカートの位置と速度の場合に、所定の振り子の位置と速度の正確な動作が可能でない時もある。成功神経システムは、その動作を計画するために訓練可能なものである。
【0124】
E.倒立振り子試行5
この試行により、神経システムは、最新技術と競合し得るようになるが、更にもう1つの策略を学習する必要があり、それは、今後できるだけ軌道の中心近くにカートを維持することである。従って、振り子をカート上の中心に置くこととカートを軌道上の中心に置くことの2つの目的があり、行うかことを決定するときにこの両方の目的と4つ全ての変数を考慮しなければならない。
【0125】
2つの目的により、2つの強化方式がある。即ち、脳が一方の目的を達成する正強化と他方の目的を達成しない負強化と同時に受け取ることを意味する。また、両方の目的を達成するか又は達成しなかった場合は、2つの信号が組み合わされる。各タイプの信号の合計は、0から1の範囲でよいが(試行間の一貫性のために)、その制約の範囲内で強化を任意の方法で配分することができる。振り子が調整することの方が難しいので、中心からずれた振り子は中心からずれたカートよりも悪いと見なされる場合がある。従って、負強化は、カート位置よりも振り子角度に強く適用される。
【0126】
この試行を習得した後で、神経システムは、パフォーマンスの定性的基準と定量的基準によって標準的な倒立振り子基準試験にかけられる。当然ながら、そのような基準試験は、変化する問題の状態に対応する方法の学習をテストせず、その理由は、既存のどのソリューションもそれを行えないからである。これは、次の試行が何のためのものであり、また他のタイプのコントローラを上回る大幅な改善がある場所である。
【0127】
F.倒立振り子試行6
この試行では、神経システムは、NASAのNEAR(Near-Earth Asteroid Rendezvous)ミッションの疑似未来バージョンのロボットマニピュレータアームを調整するアクチュエータ回路の制御を学習する。神経システムは、振り子の長さ(ロボットがアームを伸縮するとき)、質量(アームが様々な重量の物体を掴むとき)、遊動環境(roving environment)(ロボットが障害物や丘と遭遇するとき)、及び重力強度(様々な小惑星を調査したり宇宙を飛行するとき)の変化から、全ての種類の変化条件の操作をテストされる。不定期の太陽フレア又は飛行中性微子が、機械アームの一部分の短絡を引き起こしたり、アクチュエータの挙動を不安定にしたりすることがある。
【0128】
神経システムは、振り子角度、振り子速度、カート位置、及びカート速度の4つの情報ストリームにアクセスし、更に正強化と負強化のフィードバックを有する。何かが適正に動作していないとき、神経システムは、それが分かりそれに関して行うべきことを分かっている。
【0129】
更に多くの試行を設計することができる。多くの可能性がある。例えば、完全な成功か完全な失敗だけのために強化信号を提供することができ、神経システムの間で何もフィードバックがなく、或いは、角速度やカート速度のデータの入力の一部が制限されることがあり、神経システムは、角度とカート位置が時間の経過と共にどのように変化するかを監視することによって、その値を推測しなければならない。また、神経システムは、常に全てかゼロの力を常に印加する代わりに、カートに可変的な力を印加するように訓練されてもよい。
【0130】
V.計算モデリング
人工知能を開発するために必要な計算リソースは膨大なものになることがある。数万の世代のために選択されたそれぞれ数十の遺伝子とサブ遺伝子を有する何万もの個別のゲノムがあるので、人工の世界は、最新技術のスーパーコンピュータでさえ負担が大きくなり過ぎることがある。
【0131】
この問題は、複数の別々に進化する母集団がある場合には更に悪化する。しかしながら、それには幾つかの正当な理由がある。第1に、様々な母集団を有するより大きな遺伝子型多様性があり、各母集団は選択試行に対する様々な遺伝的ソリューションを見つける。訓練が終わって、高度に進化した母集団の要素が、その最終的な特化のために選択されるとき、特定のタスクにおいて幾つかの遺伝的組み合わせが他よりもうまく働くことが分かる場合がある。更に他のどの母集団も、特定の問題に最適なものを選択するための遺伝的多様性の蓄えを大幅に増やす。
【0132】
更に、知的神経システムのそのような原型は全て、知能の神経的基礎を研究する刺激的な機会を提供する。今日の神経解剖学には、込み入って複雑な神経回路を有する知的な脳(即ち、人間の脳)の実用モデルが1つしかなく、その一部分が人工的な進化の場合があり、科学者は、何が我々を知的にしているかを理解することに、100年以上前のゴルジ体着色剤より近づいていない。しかし、それぞれ知能をそれ自体の方法で実現する多くの実用モデルによって、比較神経解剖学者達は、最終的に帰納的な科学を実践することができる。全てのさらに他の母集団は、知能の共通性の探索における多くのさらに他の手掛かりを意味する。
【0133】
計算問題に取り組むために、同時に使用されるプロジェクトに数千台のコンピュータによって進化世界を分散グリッド上に実装することができる。幸運にも、本発明の幾つかの態様は、特に、例えばグローバスプロジェクト(Globus Project)によるツールキットを使用する並列マルチタスクに適している。進化プロセス選択試行の自動化により、新しいゲノムとその試行のバッチが、グリッド上にある休止中のコンピュータに外注される。結果がどっと流れ込むため、知的財産を守る安全な環境で新しいバッチが逆に分散される。分散計算によって、地球上全体に分散されたコンピュータにおいて適応し増大する進化する母集団の広大な仮想世界を、単一のデスクトップから作成し管理することができる。
【0134】
代替として、仮想進化世界は、1つの屋根の下で結合されたコンピュータの分散グリッドである国産のBoewulfクラスタ上に実装することができる。販売代理店からひとかたまり単位でそれぞれわずか60ドルで入手できる数十台の不要な旧型PCの在庫から、並はずれたスーパーコンピューティングを実現することができた。コンピュータは遅い場合があるが、常時専用化されており、パケットは、安全でない深さのインターネットではなく数メートル(a few yards)のイーサネットTMを移動するだけでよい。
【0135】
図17は、本発明による実施形態が、独立型で実施されてもよくマルチコンピュータグリッド又はクラスタ内の1台のコンピュータとして実施されてもよいコンピュータシステム1700を示す。コンピュータシステム1700は、情報を伝えるためのバス1701又は他の通信機構と、情報を処理するためにバス1701に結合されたプロセッサ1703とを有する。コンピュータシステム1700は、また、情報並びにプロセッサ1703によって実行されるび命令を記憶するためにバス1701に結合された、ランダムアクセスメモリ(RAM)や他のダイナミックストレージ装置等のメインメモリ1705を有する。メインメモリ1705は、また、プロセッサ1703による命令の実行中に一時的数値変数や他の中間情報を記憶するために使用することができる。コンピュータシステム1700は、更に、バス1701に結合され、プロセッサ1703のために静的情報と命令を記憶する読み取り専用メモリ(ROM)1707や他の静的記憶装置を含む。バス1701には、磁気ディスクや光ディスク等の記憶装置1709が情報と命令を永続的に記憶するために結合されている。
【0136】
コンピュータシステム1700は、バス1701によって、コンピュータユーザに情報を表示するための陰極線管(CRT)、液晶ディスプレイ、アクティブマトリクス表示装置、プラズマディスプレイ等の表示装置1711に結合されてもよい。プロセッサ1703に情報とコマンドの選択物を伝えるために、英数字や他のキーを有するキーボード等の入力装置1713がバス1701に接続されている。別のタイプのユーザ入力装置は、プロセッサ1703に方向情報とコマンドの選択を伝え、表示装置1711上のカーソル移動を制御するための、マウス、トラックボール、カーソル方向キー等のカーソル制御機構1715である。
【0137】
本発明の1つの実施形態によれば、人工知能の開発は、メインメモリ1705に収容された命令の配列を実行するプロセッサ1703に応じて、コンピュータシステム1700によって提供される。そのような命令は、記憶装置1709等の別のコンピュータ可読媒体からメインメモリ1705に読み込むことができる。プロセッサ1703は、メインメモリ1705に収容された命令の配列を実行することによって、本明細書に示したプロセス段階を実行する。多重処理機構内の一以上のプロセッサは、また、メインメモリ1705内に収容された命令を実行するために使用されることもある。代替の実施形態において、本発明の実施形態を実施するために、ソフトウェア命令の代わり又はソフトウェア命令と組み合わせて配線回路を使用することができる。もう1つの例において、フィールドプログラマブル論理アレイ(FPGA)等の再構成可能なハードウェアを使用することができる。その論理ゲートの機能と接続トポロジは、一般にメモリルックアップ表をプログラムすることによって実行時にカスタマイズ可能である。従って、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【0138】
コンピュータシステム1700は、また、バス1701に結合された通信インタフェース1717を有する。通信インタフェース1717は、ローカルネットワーク1721に接続されたネットワークリンク1719につながる双方向データ通信を実現する。例えば、通信インタフェース1717は、デジタル加入者線路(DSL)カード、ケーブルモデム、総合デジタル通信網(ISDN)カード、電話モデム、又はデータ通信接続を対応するタイプの通信線路に提供する任意の他の通信インタフェースでよい。もう1つの例として、通信インタフェース1717は、互換性のあるLANにデータ通信接続を提供するローカルエリアネットワーク(LAN)カード(例えば、イーサネット又は非同期伝送モデル(ATM)ネットワーク)である。無線リンクを実施することもできる。そのような任意の実施形態において、通信インタフェース1717は、様々なタイプの情報を表すデジタルデータを伝える電気信号、電磁気信号又は光信号を送受信する。更に、通信インタフェース1717は、ユニバーサルシリアルバス(USB)インタフェース、PCMCIA(PCメモリカード国際協会)インタフェース等の周辺装置インタフェース装置を有することができる。図17には1つの通信インタフェース1717を示したが、複数の通信インタフェースを使用することもできる。
【0139】
ネットワークリンク1719は、一般に、一以上のネットワークを介して他のデータ装置へのデータ通信を可能にする。例えば、ネットワークリンク1719は、ローカルネットワーク1721を介して、ネットワーク1725(例えば、広域ネットワーク(WAN)、又は現在では一般に「インターネット」と呼ばれる広域パケットデータ通信ネットワーク)或いはサービスプロバイダによって操作されるデータ機器への接続を有するホストコンピュータ1723に結合することができる。ローカルネットワーク1721とネットワーク1725は両方とも、情報と命令を伝えるために電気信号、電磁気信号又は光信号を使用する。コンピュータシステム1700とデジタルデータを通信する様々なネットワーク並びにネットワークリンク1719上で通信インタフェース1717を介した信号は、情報と命令を伝える搬送波の例示的な形である。
【0140】
コンピュータシステム1700は、ネットワーク、ネットワークリンク1719、及び通信インタフェース1717を介して、メッセージを送り、プログラムコードを含むデータを受け取ることができる。インターネットの例において、サーバ(図示せず)は、ネットワーク1725、ローカルネットワーク1721、及び通信インタフェース1717を介して、本発明の実施形態を実現するアプリケーションプログラムに属する要求コードを送ることができる。プロセッサ1703は、送られたコードを受け取っている間に実行しかつ/又はそのコードを後で実行するために記憶装置1709や他の不揮発性記憶装置に記憶することができる。このようにして、コンピュータシステム1700は、アプリケーションコードを搬送波の形で得ることができる。
【0141】
本明細書で使用されている用語「コンピュータ可読媒体」は、実行のためにプロセッサ1703に命令を提供することに関係する任意の媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体を含むがこれらに限定されない任意の形態をとることができる。不揮発性媒体には、例えば、記憶装置1709等の光ディスク又は磁気ディスクがある。揮発性媒体には、メインメモリ1705等のダイナミックメモリがある。伝送媒体には、バス1701を構成する配線を含む同軸ケーブル、銅線及び光ファイバがある。伝送媒体は、また、無線周波数(RF)及び赤外線(IR)データ通信の間に生成されるような音、光又は電磁波の形態をとることができる。コンピュータ可読媒体の一般的な形態には、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、CDRW、DVD、他の光媒体、パンチカード、紙テープ、光学マークシート、穴又は他の光学的認識可能なしるしのパターンを有する他の任意の物理媒体、RAM、PROM、及びEPROM、FLASH−EPROM、他の任意のメモリチップ又はカートリッジ、搬送波、又はコンピュータが読み取ることができる他の任意の媒体がある。
【0142】
実行のためにプロセッサに命令を提供する際に、様々な形態のコンピュータ可読媒体が必要とされることがある。例えば、本発明の少なくとも一部分を実行するための命令は、最初に、リモートコンピュータの磁気ディスク上に保持されることがある。そのようなシナリオでは、リモートコンピュータは、メインメモリに命令をロードし、モデムを使用し電話線を介してその命令を送る。ローカルコンピュータシステムのモデムは、電話線上のデータを受け取り、赤外線トランスミッタを使用してデータを赤外線信号に変換し、その赤外線信号を、携帯情報端末(PDA)やラップトップ型コンピュータ等の携帯用計算処理装置に送る。携帯用計算処理装置の赤外線検出器は、赤外線信号で送られた情報と命令を受け取って、そのデータをバスに入れる。バスは、データをメインメモリに送り、そこからプロセッサは命令を取り出し実行する。必要に応じて、メインメモリが受け取った命令を、プロセッサによる実行の前又は後で記憶装置に記憶することができる。
【0143】
本発明を幾つかの実施形態と関連して説明したが、本発明は、添付の特許請求の範囲内にある様々な明らかな改良及び等価機構を対象として含みまたこれらに限定されない。
【図面の簡単な説明】
【0144】
【図1】本発明の1つの実施形態の動作を示すフローチャートである。
【図2】ゲノムの実施形態を示す図である。
【図3】処理ニューロンの実施形態を示す図である。
【図4】基本的なパーセプトロンの出力関数の表現ツリーを示す図である。
【図5】パーセプトロンのシグマ出力関数の表現ツリーを示す図である。
【図6】ニューロンのより精巧な出力関数の表現ツリーを示す図である。
【図7】本発明の実施形態による負強化を使用する出力関数の表現ツリーを示す図である。
【図8】点突然変異を示す図である。
【図9】交差突然変異を示す図である。
【図10】本発明の1つの実施形態による結合遺伝子を示す図である。
【図11】図10に示したターゲットサブ遺伝子の1つの実施形態の操作を示す図である。
【図12】強度サブ遺伝子において符号化されたHebbian重み関数の表現ツリーを示す図である。
【図13】図10による強度サブ遺伝子において符号化された二極Hebbian重み関数の表現ツリーを示す図である。
【図14】図10に示した実施形態によるゲノムのカウント対立遺伝子、方向対立遺伝子、レンジ対立遺伝子、及びターゲット対立遺伝子から構築された神経システムを示す図である。
【図15】ニューロンを除去する表現ツリーを示す図である。
【図16】1つの実施形態におけるHebbian動的回路再生関数の表現ツリーを示す図である。
【図17】本発明の実施形態を実現するために使用できるコンピュータシステムを示す図である。
【図18】従来の人工ニューラルネットワークの図である。
【特許請求の範囲】
【請求項1】
特定の神経システムを代表的ゲノムに符号化する方法であって、神経システムが、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化する段階と、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化する段階と、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成する段階と含む方法。
【請求項2】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子が、ニューロン間の様々なタイプの相互作用を符号化する、請求項1に記載の方法。
【請求項3】
処理遺伝子が、対応するニューロンのための神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の特定の関数としてニューロン出力を提供する請求項2の方法。
【請求項4】
処理遺伝子内で符号化された神経出力関数が、内部ノードと葉ノードを有する数学的表現ツリーの形で符号化され、前記内部ノードが1組の数学演算子を表し、前記葉ノードが、前記数学的表現ツリーへの1組の末端入力を表す、請求項3に記載の方法。
【請求項5】
選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項2に記載の方法。
【請求項6】
前記ゲノムの1群の遺伝子を、同様に処理遺伝子と結合遺伝子を含む別のゲノムの1群の遺伝子と交換することができる、請求項5に記載の方法。
【請求項7】
前記結合遺伝子がそれぞれ、別のニューロンに対するニューロン結合の位置を符号化し、更に結合と関連付けられた重みを符号化する、請求項2に記載の方法。
【請求項8】
前記結合遺伝子をそれぞれ突然変異させることができる、請求項7に記載の方法。
【請求項9】
前記結合遺伝子はそれぞれ特定数の構成要素に細分され、各構成要素は機能的能力を構成する、請求項3に記載の方法。
【請求項10】
前記構成要素の1つが、対応する結合の重みを決定する重み関数を符号化する強度サブ遺伝子を含む、請求項9に記載の方法。
【請求項11】
前記強度サブ遺伝子が、関連した1組の演算子を有する数学的表現ツリーによって表される、請求項10に記載の方法。
【請求項12】
前記演算子の組のうちの少なくとも1つが、神経システムがそのニューロン結合を再構成することを可能にする一以上の演算子を含む、請求項11に記載の方法。
【請求項13】
結合を再構成する前記演算子が、新しいニューロン結合を作成する第1の演算子と、ニューロンとニューロン結合を除去する第2の演算子を含む、請求項12に記載の方法。
【請求項14】
処理遺伝子内の第1の演算子が、ニューロンに選択的に指示して各結合タイプごとに1つの新しい結合を作り、強度サブ遺伝子内の第1の演算子が、ニューロンに選択的に指示してサブ遺伝子のタイプの新しい結合だけを作る、請求項13に記載の方法。
【請求項15】
処理遺伝子内の第2の演算子が、神経システムからニューロンと結合を除去し、強度サブ遺伝子内の第2の演算子が、サブ遺伝子の結合だけを除去する、請求項13に記載の方法。
【請求項16】
前記結合遺伝子がそれぞれ、複数のパラメータサブ遺伝子を含み、各パラメータサブ遺伝子が、特定の値か数学的表現ツリーのいずれかを選択的に符号化するように配置された、請求項2に記載の方法。
【請求項17】
前記パラメータサブ遺伝子のうちの1つが、カウントサブ遺伝子を含み、前記カウントサブ遺伝子が、各タイプのニューロンによって作られる各タイプの結合の数を指定する、請求項16に記載の方法。
【請求項18】
前記パラメータサブ遺伝子が、ニューロンへの各結合がどこに進むかを集合的に決定する方向サブ遺伝子とレンジサブ遺伝子を含む、請求項16に記載の方法。
【請求項19】
前記パラメータサブ遺伝子のうちの1つが、それぞれの結合がリンクするニューロンの種類を示すターゲットサブ遺伝子を含む、請求項16に記載の方法。
【請求項20】
前記方法が、前記結合遺伝子の前記サブ遺伝子を選択的に突然変異させる段階を含む、請求項16に記載の方法。
【請求項21】
処理遺伝子と強度サブ遺伝子がそれぞれ、特定の形式と対応する入力とを有する出力関数を符号化し、前記出力関数の少なくとも1つが、前記神経システムを選択的に訓練する際に使用される対応する入力に印加される正強化信号と負強化信号に応答する、請求項11に記載の方法。
【請求項22】
特定の用途に使用するための神経システムを構築する方法であって、
一以上のタイプのニューロンを配列で表し、更に前記ニューロン間の一以上のタイプの相互作用を表すようにゲノムを符号化する段階と、
前記ゲノム内で符号化された前記ニューロンを、最初の数が前記用途によって少なくとも部分的に決定される入力ニューロンとして前記神経システムに挿入する段階と、
それぞれの入力ニューロン間の結合を選択的に構築する段階と、
新しいニューロンを選択的に作成する段階とを含む方法。
【請求項23】
前記ゲノムによって表される各ニューロンが、処理遺伝子によって符号化された神経出力関数を有し、様々なタイプのニューロンがそれぞれ、様々なタイプの処理遺伝子によって符号化され、ニューロン間の前記相互作用がそれぞれ、結合遺伝子によって符号化され、様々なタイプの相互作用がそれぞれ、様々なタイプの結合遺伝子によって符号化される、請求項22に記載の方法。
【請求項24】
前記ニューロン間の一以上のタイプの相互作用の前記符号化された表現が、構築する結合の数を指定し、結合が行われるターゲット領域を決定し、結合が行われるニューロンのタイプを示す、請求項22に記載の方法。
【請求項25】
ニューロン結合を構築する段階が、
特定のターゲット領域内の第1の位置を選択する段階と、
見つかったニューロンが特定のタイプである場合に、前記第1の位置で見つかったニューロンとの結合を形成する段階と、
前記第1の位置で見つかったニューロンが前記特定のタイプのものでない場合、ニューロンを探索するための第2の位置を選択する段階と、
前記第1の位置でニューロンを見つけることができなかった場合に、前記第1の位置に前記特定のタイプのニューロンを作成する段階とを含む、請求項24に記載の方法。
【請求項26】
前記ニューロン間の前記相互作用の前記符号化表現が、グループから選択された一以上の条件を選択的に指定し、前記グループが、前記特定のターゲット領域内で前記特定のタイプの既存のニューロンを見つけることができなかった場合だけ前記特定のタイプのニューロンを作成する条件を含み、前記特定のタイプの既存のニューロンへの結合が、前記特定のターゲット領域内に新しいニューロンを作成する空所を見つけることができない場合だけ行われ、新しいニューロンの作成が許可されず、既存のニューロンへの結合が許可されない、請求項25に記載の方法。
【請求項27】
新しいニューロンの作成が、一以上の新しい結合の作成を必要とし、前記新しい結合が、既存のニューロンに結合するか、或いは新しいシナプス後ニューロンを作成し、前記結合作成プロセスが、既存のニューロンへの全ての新しい結合が行われるか、神経システム内のニューロンの最大数に関する予め設定された制限に達するまで続く、請求項26に記載の方法。
【請求項28】
前記神経システムが完成したときに、作成される最後の1組のニューロンが出力ニューロンとして指定される、請求項27に記載の方法。
【請求項29】
前記神経システムが、多数の異なる回路組み合わせを含む、請求項28に記載の方法。
【請求項30】
前記神経システムが、特定の数の次元を有する配列を含む、請求項29に記載の方法。
【請求項31】
特定のタスクを実行するように適応された神経システムを開発する方法であって、
相互結合されたニューロンの配列をそれぞれ含む神経システムの母集団を選択する段階と、
各神経システムを代表的ゲノムに符号化する段階であって、所定の神経システムのゲノムが、対応する処理遺伝子内の各ニューロンの神経出力関数を符号化し、一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化し、各結合遺伝子が重み関数を含む段階と、
試行期間中に前記所定の神経システムを動作させて前記特定のタスクを実行する段階と、
前記試行期間中に前記所定の神経システムのパフォーマンスを連続的に監視する段階と、
前記連続的に監視したパフォーマンスから決定された強化信号を、前記所定の神経システムの各処理遺伝子の神経出力関数への入力として、また各結合遺伝子の重み関数への入力としての印加する段階と、
前記試行期間が終わった後で前記特定のタスクを実行するために前記所定の神経システムの適合性を決定する段階とを含む方法。
【請求項32】
前記強化信号が、時間ステップの総数Tに含まれる時間ステップtで受け取った正強化信号PRtと負強化信号NRtとを含む、請求項31に記載の方法。
【請求項33】
前記特定のタスクを実行するための前記所定の神経システムの適合度Fが、次の関係式から決定される、請求項32に記載の方法。
【請求項34】
最も高い適合値を有するように決定された前記母集団の神経システムをそれぞれ表す1組の前記ゲノムが、、神経システムの新しい世代を形成する際に使用するために選択される、請求項33に記載の方法。
【請求項35】
各ゲノムが、一連の選択試行にかけられ、以前の適応性の損失を検出するために定期的にテストされる、請求項33に記載の方法。
【請求項36】
前記選択試行がそれぞれ、知能と関連付けられた特性を作り出すように配置された、請求項35に記載の方法。
【請求項37】
特定の神経システムを代表的ゲノムに符号化するためのコンピュータシステムであって、
神経システムが相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、前記コンピュータシステムが、
一以上のプロセッサと、
プロセッサに結合されたコンピュータ可読媒体とを含み、この媒体が、前記プロセッサによって読み取られ、それにより前記プロセッサに、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化させ、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化させ、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成させるように構成されたプロセッサ命令を含むコンピュータシステム。
【請求項38】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子がニューロン間の異なるタイプの相互作用を符号化する、請求項37に記載のコンピュータシステム。
【請求項39】
処理遺伝子が、対応するニューロンの神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の指定された関数としてニューロン出力を提供する、請求項38に記載のコンピュータシステム。
【請求項40】
前記方法が、選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項38に記載のコンピュータシステム。
【請求項1】
特定の神経システムを代表的ゲノムに符号化する方法であって、神経システムが、相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化する段階と、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化する段階と、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成する段階と含む方法。
【請求項2】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子が、ニューロン間の様々なタイプの相互作用を符号化する、請求項1に記載の方法。
【請求項3】
処理遺伝子が、対応するニューロンのための神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の特定の関数としてニューロン出力を提供する請求項2の方法。
【請求項4】
処理遺伝子内で符号化された神経出力関数が、内部ノードと葉ノードを有する数学的表現ツリーの形で符号化され、前記内部ノードが1組の数学演算子を表し、前記葉ノードが、前記数学的表現ツリーへの1組の末端入力を表す、請求項3に記載の方法。
【請求項5】
選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項2に記載の方法。
【請求項6】
前記ゲノムの1群の遺伝子を、同様に処理遺伝子と結合遺伝子を含む別のゲノムの1群の遺伝子と交換することができる、請求項5に記載の方法。
【請求項7】
前記結合遺伝子がそれぞれ、別のニューロンに対するニューロン結合の位置を符号化し、更に結合と関連付けられた重みを符号化する、請求項2に記載の方法。
【請求項8】
前記結合遺伝子をそれぞれ突然変異させることができる、請求項7に記載の方法。
【請求項9】
前記結合遺伝子はそれぞれ特定数の構成要素に細分され、各構成要素は機能的能力を構成する、請求項3に記載の方法。
【請求項10】
前記構成要素の1つが、対応する結合の重みを決定する重み関数を符号化する強度サブ遺伝子を含む、請求項9に記載の方法。
【請求項11】
前記強度サブ遺伝子が、関連した1組の演算子を有する数学的表現ツリーによって表される、請求項10に記載の方法。
【請求項12】
前記演算子の組のうちの少なくとも1つが、神経システムがそのニューロン結合を再構成することを可能にする一以上の演算子を含む、請求項11に記載の方法。
【請求項13】
結合を再構成する前記演算子が、新しいニューロン結合を作成する第1の演算子と、ニューロンとニューロン結合を除去する第2の演算子を含む、請求項12に記載の方法。
【請求項14】
処理遺伝子内の第1の演算子が、ニューロンに選択的に指示して各結合タイプごとに1つの新しい結合を作り、強度サブ遺伝子内の第1の演算子が、ニューロンに選択的に指示してサブ遺伝子のタイプの新しい結合だけを作る、請求項13に記載の方法。
【請求項15】
処理遺伝子内の第2の演算子が、神経システムからニューロンと結合を除去し、強度サブ遺伝子内の第2の演算子が、サブ遺伝子の結合だけを除去する、請求項13に記載の方法。
【請求項16】
前記結合遺伝子がそれぞれ、複数のパラメータサブ遺伝子を含み、各パラメータサブ遺伝子が、特定の値か数学的表現ツリーのいずれかを選択的に符号化するように配置された、請求項2に記載の方法。
【請求項17】
前記パラメータサブ遺伝子のうちの1つが、カウントサブ遺伝子を含み、前記カウントサブ遺伝子が、各タイプのニューロンによって作られる各タイプの結合の数を指定する、請求項16に記載の方法。
【請求項18】
前記パラメータサブ遺伝子が、ニューロンへの各結合がどこに進むかを集合的に決定する方向サブ遺伝子とレンジサブ遺伝子を含む、請求項16に記載の方法。
【請求項19】
前記パラメータサブ遺伝子のうちの1つが、それぞれの結合がリンクするニューロンの種類を示すターゲットサブ遺伝子を含む、請求項16に記載の方法。
【請求項20】
前記方法が、前記結合遺伝子の前記サブ遺伝子を選択的に突然変異させる段階を含む、請求項16に記載の方法。
【請求項21】
処理遺伝子と強度サブ遺伝子がそれぞれ、特定の形式と対応する入力とを有する出力関数を符号化し、前記出力関数の少なくとも1つが、前記神経システムを選択的に訓練する際に使用される対応する入力に印加される正強化信号と負強化信号に応答する、請求項11に記載の方法。
【請求項22】
特定の用途に使用するための神経システムを構築する方法であって、
一以上のタイプのニューロンを配列で表し、更に前記ニューロン間の一以上のタイプの相互作用を表すようにゲノムを符号化する段階と、
前記ゲノム内で符号化された前記ニューロンを、最初の数が前記用途によって少なくとも部分的に決定される入力ニューロンとして前記神経システムに挿入する段階と、
それぞれの入力ニューロン間の結合を選択的に構築する段階と、
新しいニューロンを選択的に作成する段階とを含む方法。
【請求項23】
前記ゲノムによって表される各ニューロンが、処理遺伝子によって符号化された神経出力関数を有し、様々なタイプのニューロンがそれぞれ、様々なタイプの処理遺伝子によって符号化され、ニューロン間の前記相互作用がそれぞれ、結合遺伝子によって符号化され、様々なタイプの相互作用がそれぞれ、様々なタイプの結合遺伝子によって符号化される、請求項22に記載の方法。
【請求項24】
前記ニューロン間の一以上のタイプの相互作用の前記符号化された表現が、構築する結合の数を指定し、結合が行われるターゲット領域を決定し、結合が行われるニューロンのタイプを示す、請求項22に記載の方法。
【請求項25】
ニューロン結合を構築する段階が、
特定のターゲット領域内の第1の位置を選択する段階と、
見つかったニューロンが特定のタイプである場合に、前記第1の位置で見つかったニューロンとの結合を形成する段階と、
前記第1の位置で見つかったニューロンが前記特定のタイプのものでない場合、ニューロンを探索するための第2の位置を選択する段階と、
前記第1の位置でニューロンを見つけることができなかった場合に、前記第1の位置に前記特定のタイプのニューロンを作成する段階とを含む、請求項24に記載の方法。
【請求項26】
前記ニューロン間の前記相互作用の前記符号化表現が、グループから選択された一以上の条件を選択的に指定し、前記グループが、前記特定のターゲット領域内で前記特定のタイプの既存のニューロンを見つけることができなかった場合だけ前記特定のタイプのニューロンを作成する条件を含み、前記特定のタイプの既存のニューロンへの結合が、前記特定のターゲット領域内に新しいニューロンを作成する空所を見つけることができない場合だけ行われ、新しいニューロンの作成が許可されず、既存のニューロンへの結合が許可されない、請求項25に記載の方法。
【請求項27】
新しいニューロンの作成が、一以上の新しい結合の作成を必要とし、前記新しい結合が、既存のニューロンに結合するか、或いは新しいシナプス後ニューロンを作成し、前記結合作成プロセスが、既存のニューロンへの全ての新しい結合が行われるか、神経システム内のニューロンの最大数に関する予め設定された制限に達するまで続く、請求項26に記載の方法。
【請求項28】
前記神経システムが完成したときに、作成される最後の1組のニューロンが出力ニューロンとして指定される、請求項27に記載の方法。
【請求項29】
前記神経システムが、多数の異なる回路組み合わせを含む、請求項28に記載の方法。
【請求項30】
前記神経システムが、特定の数の次元を有する配列を含む、請求項29に記載の方法。
【請求項31】
特定のタスクを実行するように適応された神経システムを開発する方法であって、
相互結合されたニューロンの配列をそれぞれ含む神経システムの母集団を選択する段階と、
各神経システムを代表的ゲノムに符号化する段階であって、所定の神経システムのゲノムが、対応する処理遺伝子内の各ニューロンの神経出力関数を符号化し、一以上の対応する結合遺伝子内の各ニューロンからの結合を符号化し、各結合遺伝子が重み関数を含む段階と、
試行期間中に前記所定の神経システムを動作させて前記特定のタスクを実行する段階と、
前記試行期間中に前記所定の神経システムのパフォーマンスを連続的に監視する段階と、
前記連続的に監視したパフォーマンスから決定された強化信号を、前記所定の神経システムの各処理遺伝子の神経出力関数への入力として、また各結合遺伝子の重み関数への入力としての印加する段階と、
前記試行期間が終わった後で前記特定のタスクを実行するために前記所定の神経システムの適合性を決定する段階とを含む方法。
【請求項32】
前記強化信号が、時間ステップの総数Tに含まれる時間ステップtで受け取った正強化信号PRtと負強化信号NRtとを含む、請求項31に記載の方法。
【請求項33】
前記特定のタスクを実行するための前記所定の神経システムの適合度Fが、次の関係式から決定される、請求項32に記載の方法。
【請求項34】
最も高い適合値を有するように決定された前記母集団の神経システムをそれぞれ表す1組の前記ゲノムが、、神経システムの新しい世代を形成する際に使用するために選択される、請求項33に記載の方法。
【請求項35】
各ゲノムが、一連の選択試行にかけられ、以前の適応性の損失を検出するために定期的にテストされる、請求項33に記載の方法。
【請求項36】
前記選択試行がそれぞれ、知能と関連付けられた特性を作り出すように配置された、請求項35に記載の方法。
【請求項37】
特定の神経システムを代表的ゲノムに符号化するためのコンピュータシステムであって、
神経システムが相互結合されたニューロンの配列を含み、各ニューロンが入力と出力を有し、前記コンピュータシステムが、
一以上のプロセッサと、
プロセッサに結合されたコンピュータ可読媒体とを含み、この媒体が、前記プロセッサによって読み取られ、それにより前記プロセッサに、
所定のニューロンに関して、所定のニューロンに対応する処理遺伝子によって、ニューロン入力からニューロン出力への変換の仕様を符号化させ、
所定のニューロンにそれぞれ対応する一以上の結合遺伝子によって、所定のニューロンからの結合を符号化させ、
神経システムのそれぞれのニューロンに対応する処理遺伝子と結合遺伝子に選択的に命令して前記ゲノムを形成させるように構成されたプロセッサ命令を含むコンピュータシステム。
【請求項38】
前記ゲノムが、様々なタイプの処理遺伝子を含み、更に様々なタイプの結合遺伝子を含み、各タイプの処理遺伝子が異なるタイプのニューロンを符号化し、各タイプの結合遺伝子がニューロン間の異なるタイプの相互作用を符号化する、請求項37に記載のコンピュータシステム。
【請求項39】
処理遺伝子が、対応するニューロンの神経出力関数を符号化し、符号化された神経出力関数が、集合的ニューロン入力の指定された関数としてニューロン出力を提供する、請求項38に記載のコンピュータシステム。
【請求項40】
前記方法が、選択された処理遺伝子と選択された結合遺伝子に突然変異操作を実行する段階を含む、請求項38に記載のコンピュータシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公表番号】特表2007−504576(P2007−504576A)
【公表日】平成19年3月1日(2007.3.1)
【国際特許分類】
【出願番号】特願2006−536533(P2006−536533)
【出願日】平成16年1月13日(2004.1.13)
【国際出願番号】PCT/US2004/000731
【国際公開番号】WO2004/068456
【国際公開日】平成16年8月12日(2004.8.12)
【出願人】(505270902)
【氏名又は名称原語表記】AYALA,Francisco,J.
【公表日】平成19年3月1日(2007.3.1)
【国際特許分類】
【出願日】平成16年1月13日(2004.1.13)
【国際出願番号】PCT/US2004/000731
【国際公開番号】WO2004/068456
【国際公開日】平成16年8月12日(2004.8.12)
【出願人】(505270902)
【氏名又は名称原語表記】AYALA,Francisco,J.
[ Back to top ]