(57)【要約】      （修正有）【課題】人工記憶システムおよび機械操作中の環境影響と同様に自我意思に対する応答として操作者の行動を予測し、且つ、予期するために継続的に学習する。【解決手段】抽象化、一般化及び学習のための構造とメカニズムを有する第１のニューラルネットワークであり、このネットワーク実装は人工階層記憶システムを備える。この人工階層記憶システムは、ツール上のセンサが生成したデータを受け取るポートと、頻繁に見られる入力パターン及びそのシーケンスを学習できる１つ以上の時空間的、クラスタリングノードと、このシステムにより構築された、ツール及び／又は操作者の挙動に関連するデータを出力するポートとを備える。【選択図】図１
2018129062.tif 000002
【特許請求の範囲】
【請求項１】
ツール及び操作者の動的挙動と相互作用するための人工記憶を有するアーキテクチャであって、前記アーキテクチャは、抽象化、一般化、及び学習のための構造とメカニズムを有する第１ニューラルネットワークであり、前記ネットワークの実装は、人工階層記憶システムを含み、前記アーキテクチャは、（１）前記ツール上のセンサで生成されたデータを受け取るポートと、（２）頻繁に見られる入力パターン及びそのシーケンスを学習し認識できる１つ以上の第１ノードと、（３）前記システムにより構築され前記ツール及び／又は操作者の前記挙動に関連するデータを出力するポートと、を備え、１つ以上又は本質的に全部の前記ノードの各々は、時系列分析に適応し、且つ位相幾何学的グラフ又は時間的グラフ内で接続している構成要素を備え、好ましくは、前記ノードは、構成要素としてのニューロンと、グラフ内で２つ以上の前記ニューロンを接続するエッジと、を備える第２ニューラルネットワークである、アーキテクチャ。
【請求項２】
前記第１ニューラルネットワークは、「メモリ予測フレームワーク」の実装又は「ディープラーニングアーキテクチャ」の実装に基づく、請求項１に記載のアーキテクチャ。
【請求項３】
頻繁に見られる入力パターンをそのようなものとして学習し認識することのできる第１ノードをさらに備える、請求項１又は２に記載のアーキテクチャ。
【請求項４】
少なくとも２つ以上の前記第１ノードの間で、確率密度関数を表す信号が通信に用いられる、請求項１〜３の何れか１項に記載のアーキテクチャ。
【請求項５】
１つ以上又は本質的に全ての前記第１ノードは、ニューラルガスの概念に基づく方法を実行するように構成されている、請求項１〜４の何れか１項に記載のアーキテクチャ。
【請求項６】
より詳細には、１つ以上の前記第１ノードに対して、時間を含むように拡張されたニューラルガスモデルが使われる、請求項１〜５の何れか１項に記載のアーキテクチャ。
【請求項７】
前記第１ノード内の少なくとも２つ以上の前記ニューロンの間で、前記エッジは前記ニューロンの活性化の時間的シーケンスを表す、請求項１〜６の何れか１項に記載のアーキテクチャ。
【請求項８】
各ニューロンは、入力パターン、時間的コンテキスト、及び活性化タイミング統計に関する情報を表す、請求項１〜７の何れか１項に記載のアーキテクチャ。
【請求項９】
前記ニューラルガスの概念に、訓練時に自動で導き出せる時間的グラフが提供され、この場合、前記時間的グラフのノードはニューロンを表し、各ニューロンは前記ニューロンガスの時間的状態を表し、前記時間的グラフの前記ノード間のエッジは、訓練中に複数の異なるニューロンが活性化した際の（時間的）シーケンスを表す、請求項５又は６に記載のアーキテクチャ。
【請求項１０】
前記ニューロンガスの概念に、前記ニューロンガスの時間的状態を表す各ニューロンが提供され、各ニューロンは、少なくとも入力パターン、時間的コンテキスト、及び前記ニューロンの応答相手である前の状態の持続時間（永続性）に関する統計に関する情報を保持する、請求項５、６、９の何れか１項に記載のアーキテクチャ。
【請求項１１】
前記状態の永続性に関する情報を有する前記ニューラルガスの概念は、少なくとも入力空間に関して、（一様な）一般化半マルコフ決定モデルの（自律的）学習を提供するように構成されている、請求項５、６、９、１０の何れか１項に記載のアーキテクチャ。
【請求項１２】
前記第１ノードに、（一様な）一般化半マルコフ決定モデルを利用する推論方法が提供される、請求項１１に記載のアーキテクチャ。
【請求項１３】
前記第１ノードに、学習された前記一般化半マルコフ決定モデルを利用する時間的予測方法が提供される、請求項１１又は１２に記載のアーキテクチャ。
【請求項１４】
前記時間的予測方法は、前記一般化半マルコフ決定モデル又は前記時間的グラフにおける経路探索に基づく、請求項１１〜１３に記載のアーキテクチャ。
【請求項１５】
前記予測方法はビタビ（Viterbi）法を利用する、請求項１３又は１４に記載のアーキテクチャ。
【請求項１６】
前記推論及び予測の過程は、新しい入力パターンがあるたびに複数のニューロンの活性化状態が保存されることを特徴とする、請求項１２及び１３に記載のアーキテクチャ。
【請求項１７】
各第１ノードへのフィードバック入力は、封入されているニューロンの活性化の値に影響を及ぼす、請求項１〜１６の何れか１項に記載のアーキテクチャ。
【請求項１８】
各ニューロンは、前記ニューロンにおいて活性化された入力データのラベル（クラス）に関する統計情報を保持する、請求項１〜１７の何れか１項に記載のアーキテクチャ。
【請求項１９】
半教師ありグループ化を実施するため、又は訓練時若しくは推論時のニューラルガスパフォーマンスを改善するために、前記ラベルに関する前記統計情報が使用される、請求項１８を引用する請求項９に記載のアーキテクチャ。
【請求項２０】
ツール及び操作者の動的挙動と相互作用するためのコンピュータ援用方法であって、（１）センサにより信号を生成することと、（２）前記信号を、請求項１〜１９の何れか１項に記載のアーキテクチャに送ることと、（３）ニューラルガスの概念に基づく方法を実行することにより、前記アーキテクチャにより前記信号を計算することと、（４）処理された前記信号を出力することと、を含む方法。
【請求項２１】
請求項１〜１９の何れか１項に記載のアーキテクチャの１つ以上の前記ノードを訓練／学習させるコンピュータ援用方法であって、（１）１つ以上の前記ノードに入力パターンを提供することと、少なくとも１つの前記ノードに対して、時間的グラフ又は（一様な）一般化半マルコフ決定モデルを自動的に導き出すことと、を含む方法。
【請求項２２】
半教師ありグループ化を実施するため、又は訓練時若しくは推論時のニューラルガスパフォーマンスを改善するために、前記ラベルに関する前記統計情報が使用される、請求項１８又は１９を引用する請求項２１に記載の方法。
【請求項２３】
入力に関連する出力を決定するためのコンピュータ援用方法であって、（１）前記入力を、請求項１〜１９の何れか１項に記載のアーキテクチャに提供することと、（２）前記出力を決定するため、請求項２１に記載の方法で訓練／学習された前記（一様な）一般化半決定マルコフモデルを用いることにより、前記アーキテクチャ上で推論方法を実行し、前記ノード上で推論方法をトリガーすることと、を含む方法。
【請求項２４】
入力に関連する出力を予測するためのコンピュータ援用方法であって、（１）前記入力を、請求項１〜１９の何れか１項に記載のアーキテクチャに提供することと、（２）請求項２１に記載の方法で訓練／学習された前記（一様な）一般化半決定マルコフモデルを用いることにより、前記アーキテクチャ上で時間的予測方法を実行し、前記ノード上で時間的予測方法をトリガーすることと、を含む方法。
【請求項２５】
請求項２０〜２３の何れか１項に記載の方法、又は請求項１〜１９の何れか１項に記載のアーキテクチャ上のニューラルガスの概念に基づく方法を、処理エンジン上で実行するためのコンピュータプログラムプロダクト。
【請求項２６】
請求項２５に記載のコンピュータプログラムプロダクトを保存する、非一時的な機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機を用いて動的挙動と相互作用し、自我意思及び機械操作中の環境影響又は周辺状況への応答としての操作者の行動を予測し予期するための、人工記憶システム、方法、及び継続的学習方法に関する。
【０００２】
より具体的には、本発明は、修正された階層的時間メモリ（ＨＴＭ：Hierarchical Temporal Memory）を備えた、動的挙動と相互作用するための計算機に関し、さらに、このような人工記憶システムに、センサ入力から送られる信号の分類、予測、格納、及び／又はフィルタリングを訓練する方法に関する。
【背景技術】
【０００３】
今日、ほぼあらゆる業種の多くの用途で支援システムが使われている。特に自動車産業、航空産業、及び計算処理産業では、ユーザーのシステム操作を容易にする支援システムが一般に使用されている。自動車産業では、横すべりを検出し最小化することにより車両の安定性の安全を向上させるＥＳＣ（電子安定制御）、ブレーキペダルが踏まれたときの速度と力を解釈することにより緊急事態における制動力を確実に最大化するＥＢＡ（緊急ブレーキアシスト）のような周知のシステムが広く使われている。航空産業では、最新の民間機及び軍用機において、アクティブ自動操縦装置やいわゆるフライバイワイヤーシステムが一般に使われており、飛行制御装置の動きを電子信号に変換する電子インタフェースが手動飛行制御に取って代わり、人が介入することなく飛行制御を始動することを可能にしている。
【０００４】
加えて、車両や航空機のようなシステムのほぼあらゆる部品を電子的に感知し且つ／又は制御することを目的とした、このようなシステムに組み込まれるセンサ及びアクチュエータの数も急増している。センサとアクチュエータの増加に伴って生じる問題の１つは、システムの具体的状況や運転状態を認識するために処理及び／又は分析すべきデータの量である。
【０００５】
最新の支援システムが意図することの１つは、動的に変化する環境で機械を運転しながら、人間の意図を確実に、高感度、且つリアルタイムでモニターすることである。このような最新の支援システムにより、機械を効率よく安全に操作でき、実際に人間が意図する操作をするように機械を最適化できる。このような機械は、人間が操作する任意の種類のシステムであってよく、例えば、車両、航空機、船舶、機械等のほか、コンピュータゲーム又は同種のもののような計算システムであってもよい。以下、「システム」という用語は、上記のような任意の種類のシステムであると理解される。
【０００６】
国際公開第２００８０８６１５６号パンフレットは、ドライバーの挙動を予測し制御信号及び／又は警告信号を生成するためのシステム及び方法を開示しており、このシステムは、１つ以上のセンサ、データベース、警告信号と制御信号を生成するためのドライバー予測部、通知部、及び車両制御部を備える。より具体的には、ドライバー予測部は、転送モジュールと、階層的時間メモリと、予測抽出モジュールとを含む。転送モジュールは、データを受信して、階層的時間メモリに保存できる形に変換するのに用いられる。階層的時間メモリは、入力データを受信して格納する際、データ項目が短期メモリ項目に変換され、この短期メモリ項目が次に中期データに変換され、この中期データが最終的に長期データに変換されるようにデータを格納する。あるメモリレベルから別のレベルへのデータ変換は、各メモリレベルのデータがドライバーの特定の挙動を反映し予測するように行われる。データがメモリに格納された後は、予測抽出モジュールが階層的時間メモリにアクセスして警告信号を生成し、ドライバーに潜在的な危険状態を警告し、且つ／又は車両のシステムを制御して衝突を防止又は回避する。
【０００７】
国際公開第２０１００００５２１号パンフレットでは、自動車走行中の事故を防止するため、少なくとも１つの回避軌道に基づいて運転操縦を指示し、且つ／又は自律的若しくは半自律的に運転操縦を調整して、これにより衝突を回避し、又は自動車の衝突の影響を低減する方法を開示している。開示されている方法は、自動車内の少なくとも１つの検出センサ及び／又は少なくとも１つの別の車両システムからのデータを使用して、自動車の現在の環境状況を感知する状況感知ステップと、自動車の現在の環境状況と、自動車の軌道予測及び自動車の環境内で検出された少なくとも１つの物体の軌道予測に基づいて、少なくとも１つの回避軌道を確認する状況評価ステップと、確認された回避軌道のいずれか１つに基づいて、運転操縦を指示及び／又は自律的に調整若しくは反自律的に調整するアクションステップと、を有する。
【発明の概要】
【０００８】
本発明は、第１ノードの第１配置の使用に関連するものであり、これらの第１ノードのうちの１つ以上は、第２ノード又はコンポーネント（このコンポーネントは一実施形態ではさらにニューロンを表す）の第２配置であり、第１配置及び／又は第２配置は、好ましくはニューラルネットワークであり、或いは、第１配置は好ましくは「メモリ予測フレームワーク」の実装であり、さらに好ましくは、さらに「メモリ予測フレームワーク」の実装を有する第１ニューラルネットワークである。なお、上記ノードがデータ表現を発見する機能はデータのクラスタ又はそのシーケンスのクラスタを発見することにより実現されることから、上記ノードはクラスタリングノードを表す。第１ノードはコンポーネント集合を基盤とし、このコンポーネント集合は入力データ及びコンポーネント間接続を表し、この接続は、表現されるデータ間の時間的関係又は空間的関係を表す。本発明の一実施形態では、１つ以上又は全ての第１ノードは、ニューラルガスの概念、すなわち適切又は最適な入力データ表現を見つけることのできる人工ニューラルネットワークに基づく。より詳細には、ニューラルガスは量子化方法の１つである。ニューラルガスは、ｎ次元ベクトルの特徴（特徴ベクトル）に基づいて適切又は最適なデータ表現を見つけるためのアルゴリズムである。特に本発明の場合、入力センサ値として受け取る第１レベルの第１ノードを除き、第１ノードに提供される入力値は確率分布であるのに対し、第１ノードの内部では、内部アルゴリズム（例えば、本発明の一実施形態によるニューラルガス法）用の入力は、（第１ノードへの入力として受け取った）確率分布で構成されるｎ次元特徴ベクトル、及び／又は時間的コンテキストベクトル、及び／又は永続性概算記述子である。本発明は特に、時空間ノードを表すノード又はクラスタリングノードを提供し、入力データシーケンスを処理するので、ノード操作で使用する基本的手法は、時系列分析、好ましくはオンライン又はリアルタイムの時系列分析を行うように構成されている。したがって、本発明が提供する第１ノードは、その１つ以上又は全部が、いわゆるマージニューラルガス概念（時系列分析のための再帰的な成長自己組織化ニューラルネットワーク）或いは時間的ニューラルガスと表現される概念に基づく。このニューラルガス概念は、（ｉ）過去の入力の測定値（例えば指数平均）であるコンテキストデータを入力空間に導入し、（ｉｉ）各ニューロンは（短期の時間分割を達成するため）現在の入力と現在のコンテキストを専門に扱う。上記の構成は、ニューラルガスの任意の異型に適用可能であり、例えば、マージＳＯＭの時間的コンテキストとＧＮＧの逐次部分の組み合わせであるＭＧＮＧ（マージ成長型ニューラルガス）に適用可能である。より詳細には、永続性の概念を導入していることに注目すべきである。本発明の一実施形態では、第１ノードはコンテキストを認識するので、コンテキストを新しい入力データで更新でき、最も近いコンテキストのニューロンを探索できる。マージニューラルガスの時間的コンテキストとは、現在提示されているパターンとシーケンス履歴パターンとを組み合わせたものである。本発明は特に、特徴ベクトルにおける、さらに永続性検出部を併用した永続性概算係数の使用を提供する。本発明は「純粋」なニューラルガス理論とは異なる。その理由は、実施形態において、ニューラルガス理論によってレバレッジされる元の位相幾何学的グラフと並べて使われる時間的グラフを導入して示されているように、本発明に適応されるニューラルガスは一般化マルコフ過程の一表現であるからである。
【０００９】
概要としては、ツール及び操作者の動的挙動と相互作用するための人工記憶を有するアーキテクチャが提供され、このアーキテクチャは、抽象化、一般化、及び学習のための構造及びメカニズムを有する第１ニューラルネットワークであり、このネットワークの実装は人工階層記憶システムを含み、この人工階層記憶システムは、（１）ツール上のセンサが生成したデータを受け取るポートと、（２）頻繁に見られる入力パターン及びそのシーケンスを学習できる１つ以上の（時空間的）（クラスタリング）ノードと、（３）このシステムにより構築された、ツール及び／又は操作者の挙動に関連するデータを出力するポートと、を備え、１つ以上又は本質的に全ての上記ノードの各々は、ニューロンと、２つ以上のニューロンを接続するエッジとを備えた、時系列分析用の第２ネットワーク、好ましくは、再帰的な成長型自己組織化ニューラルネットワークである。このアーキテクチャは、さらに、頻繁に見られる入力パターンをそのようなものとして学習できる（空間的）クラスタリングノードを有してよい。なお、データ受信ポートと１つ以上の第１ノードとの間に、特徴抽出等の前処理ステップを実施するための他のノードが存在してもよい。
【００１０】
したがって、本発明の第１の態様では、ツール及び操作者の動的挙動と相互作用するための人工記憶を有するアーキテクチャが開示され、このアーキテクチャは、抽象化、一般化、及び学習のための構造及びメカニズムを有する第１ニューラルネットワークであり、このネットワークの実装は人工階層記憶システムを含み、この人工階層記憶システムは、（１）ツール上のセンサが生成したデータを受け取るポートと、（２）頻繁に見られる入力パターン及びそのシーケンスを学習し認識できる１つ以上の第１ノードと、（３）このシステムにより構築された、ツール及び／又は操作者の挙動に関連するデータを出力するポートと、を備え、１つ以上又は本質的に全ての上記ノードの各々は、ニューロンと、２つ以上のニューロンをグラフ（好ましくは位相幾何学的グラフ又は時間的グラフ）内で接続するエッジとを備えた、時系列分析に適応する第２ニューラルネットワークである。
【００１１】
本発明の他の態様は、上記アーキテクチャに関連してツール及び操作者の動的挙動と相互作用するためのコンピュータ援用方法、上記アーキテクチャの１つ以上のノードを訓練／学習するためのコンピュータ援用方法、又は上記アーキテクチャを使用することにより入力に関連する出力を決定するためのコンピュータ援用方法に関する。
【００１２】
上記の概念は、後述の方法、システム、及びアーキテクチャに適用でき、これらの方法、システム、及びアーキテクチャと組み合わせて使用することができる。
【００１３】
本発明は、人工の（すなわち、機械表面、又はコンピュータ内に若しくはコンピュータとして、又はツール内に若しくはツールとして実装される）記憶システムを有する方法、システム、アーキテクチャ、より詳細には知覚／認知アーキテクチャに関するものであり、このアーキテクチャは、（１）（例えば長い）入力シーケンスをイベントとしてモデル化し、このような入力シーケンスを保存し呼び出すように構成されている少なくとも１つの第１ノード（イベントプール化ノードとも表示される）と、（２）生データからプロトタイプを抽出し保存するように構成されている少なくとも１つの第２ノード（強制的時間プール化ノードとも表示される）と、を備え、各プロトタイプは、類似の特徴を有する実世界の（周辺環境内のツールの）操作を特徴付けるデータチャンク（データの塊）を表し、第２ノード（強制的時間プール化ノード）はイベントプール化ノード用の入力を提供する。生データとは、通常はセンサ（例えば、機械やツールのアクチュエータ又は制御要素の活動を感知するセンサ）から取得されるデータである。
【００１４】
上記のシステム、機械、又はアーキテクチャは、操作者に応答するツールの動的挙動を理解し制御するのに特に適しており、とりわけ、動的に変化する環境において、操作者及びツールとリアルタイムで実際に安全に相互作用するのに適している。
【００１５】
さらに、この知覚／認知アーキテクチャは、抽象化、一般化、及び学習、さらに選択肢として予測（特に、入力される操作者指令の予測）のための構造とメカニズムを有する。一実施形態では、このアーキテクチャは「メモリ予測フレームワーク」の実装に基づく。より詳細には、この「メモリ予測フレームワーク」の実装は、増強型人工階層記憶システムを含み、この増強型人工階層記憶システムは、（１）イベントとしてモデル化される長い入力シーケンスを保存し呼び出すように構成されている少なくとも１つのイベントプール化ノードと、（２）生データからプロトタイプ／原形（primitive）を抽出し保存するように構成されている少なくとも１つの強制的時間プール化ノードと、を備え、各プロトタイプは、類似の特徴を有する実世界の（ツールの）操作を特徴付けるデータチャンクを表し、強制的時間プール化ノードはイベントプール化ノード用の入力を提供し、さらに具体的には、イベントは、少なくとも１つのプロトタイプ／原形の発生と定義される。
【００１６】
さらなる一実施形態では、このアーキテクチャは、（１）イベントとしてモデル化される（例えば長い）入力シーケンスを保存し呼び出すように各々構成されている単一又は複数のイベントプール化ノードを備える第１処理段階（「意識層」とも表示される）と、（２）第１処理段階とは別の第２処理段階（「ワイヤード層」とも表示される）であって、生データからプロトタイプを抽出し保存するように各々構成されている複数の強制的時間プール化ノードを備える第２処理段階と、を含み、各プロトタイプは、類似の特徴を有するデータチャンクを表し、第２処理段階は、原形（例えば単一モード及び／又は多モードの時空間的原形）を識別し認識するのに適するのに対し、第１処理段階は、これらの原形間のより抽象的な関係（時空間的イベント及びイベント間状態を含む関係）を学習し、保存し、呼び出し、予測するのに適する。
【００１７】
なお、数ある中でも特に上記の方法は、原形自体の時間的進化の予測／予想を可能にする（操作者入力の「予測」として第２処理段階へと押し下げる）。
【００１８】
本発明の一実施形態では、１つ以上の強制的時間プール化ノードを、単一モードの時空間的原形の認識専用とすることができ、この場合、この原形は、単一の物理センサから送られる入力の変動値に関連する。ゆえに、この原形は、単一の物理センサから受信した入力に関連する。さらに、１つ以上の別の強制的時間プール化ノードを、多モードの時空間的原形の認識専用とすることができ、この場合、この原形は、変動値の同時発生に関連し、ゆえに複数の物理センサから受信する入力に関連する。
【００１９】
種々の実施形態に渡って、イベントプール化ノードは、単一モードのプロトタイプ／原形の発生、又は多モードのプロトタイプ／原形の発生、又はこれらの両方をモデル化することができる。
【００２０】
本発明の一実施形態では、強制的時間プール化ノードでの抽出が学習過程で行われて、内部状態とそのシーケンスが定義され、それによりこのノードは、内部状態とそのシーケンスを課す強制的学習過程を使用しながら、既知の入力データを適用する能力が与えられる。
【００２１】
なお、上記のノード全てを汎用ノードアーキテクチャから派生させてもよく、この汎用ノードは、イベント操作、原形操作、その学習等、記載されている機能全てを遂行する能力を有する。複数のノード間の複数の相互接続を有する記憶階層構造を構成してから、各ノードで実行すべき厳密な機能を選択してよい。
【００２２】
本発明は、特に車両に関連してマン−マシンインタフェースの文脈で表現され、ドライバーの挙動の感知から、及び／又は自動車の外部センサから信号を生成しているが、センサが人間の種々の活動を直接的又は間接的に感知するという、より複雑な構成も可能である。例えば、ＥＭＧ（筋電図検査）取得システムの電極、ドライバーの頭に装着した（例えばＥＥＧ（脳波記録））ヘルメット、さらに選択肢としてドライバーの指令及び自動車の外部センサ、ＢＡＮ（ボティエリアネットワーク）において人の体表に分散させたＭＥＭＳ加速度計等を用いて、人間の挙動に関連する信号からサンプルを取得することができる。本発明の認知アーキテクチャは、これらのデータ全てを受け付けて予測を行うことができる。さらに、ＷＳＮ（無線センサネットワーク）データ、及び／又はＥＥＧデータ、及び／又はＥＭＧデータ、及び／又は加速度計データの任意の組み合わせを例とする種々の電子情報源から送られる信号をシステムに供給するなど、本発明の認知アーキテクチャを一段と広い文脈で考えることもできる。
【００２３】
実際、その一実施形態では、サーバをホストとする知覚／認知アーキテクチャが、無線センサネットワークから送られるデータを処理する。このようなセンサを、例えば地上に配置できる。この場合のセンサは、上記のように本発明の実施形態に従ってセンサ入力を提供するが、センサは分散し無線で接続されている。例えば、このようなシステムを使用すれば、家屋の中に配置された周囲センサから人間の挙動その他の任意の挙動を検出し、認識し、予測することもできる。この場合、ユーザーは機械自体と相互作用するのでなく、家屋を制御するため家屋と相互作用するが、例えば調節により家屋を「操作」することになる。
【００２４】
その代替の実施形態では、知覚認知アーキテクチャのノードは無線センサネットワークの物理的な一部分であり、階層構造をなしている。この場合、ｈ−ＭＰＦアルゴリズムをホスティングする組み込みのシステムが必要になり得る。結果として、環境内に分散したｈ−ＭＰＦが本発明の一実施形態となる。
【００２５】
要約すれば、本発明は、複数の分散センサが供給された、上記の１つ以上の認知アーキテクチャを備えたシステムであって、これらの１つ以上のアーキテクチャと（例えば場合により無線で）通信するシステムにも関連し、この場合、アーキテクチャ自体も分散していてよい。
【００２６】
したがって、本発明の利点の１つは、動的挙動と相互作用するため、且つ自我意思への応答及び機械操作時に発生する今までに見たことがある又は見たことのない環境影響又は周囲状況への応答としての操作者の活動を予測し予期するための、代替の人工記憶システムと、計算機を用いてこのシステムを教育又は訓練する方法と、を提供することである。
【００２７】
このようなシステムと方法のさらなる利点は、センサ信号及び／又はアクチュエータから送られる大量のデータを処理及び／又は分析する能力にあり、特に、未知の状況に対処する際の操作者の行動を予測し予期するために、大量のデータを分類し、予測し、且つ／又はフィルタリングする能力を有することである。
【００２８】
本発明の一実施形態では、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャにより、上記利点を実現する。この知覚／認知アーキテクチャは、抽象化、一般化、及び任意で学習のための構造とメカニズムを有する、「メモリ予測フレームワーク」の実装を基盤とし、この「メモリ予測フレームワーク」の実装は、増強型人工階層記憶システムを備え、増強とは、少なくとも前処理段階を提供することであり、このアーキテクチャは、時間的イベント管理に基づいて入力操作者指令に関する予測を提供するように構成され、この前処理段階は、物理センサから送られた入力データを原形と再帰パターンで表すように構成される。
【００２９】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ：Hierarchical Temporal Memory）であり得る。
【００３０】
コンテキストの中で操作者の指令を予測することにより、本システムは操作者の意図を分類することができる。コンテキストは物理センサから取得可能であり、物理センサは環境及び進展中のコンテキストに関する情報を提供することができる。
【００３１】
本発明の別の一態様を実現するのは、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャであり、この知覚／認知アーキテクチャは、抽象化、一般化、及び任意で学習のための構造とメカニズムを有する、「メモリ予測フレームワーク」の実装を基盤とし、この「メモリ予測フレームワーク」の実装は、増強型人工階層記憶システムを備え、増強とは、少なくとも前処理段階を提供することであり、この前処理段階は、物理センサから送られた入力データを原形と再帰パターンで表すように構成され、このアーキテクチャは、アーキテクチャ内にフィードフォワード信号とフィードバック信号の流れを有し、フィードフォワード信号の流れとフィードバック信号の流れの間の対応関係が、コンテキストチェックの度合いをなす。
【００３２】
なお、フィードフォワードとフィードバックを、アーキテクチャ内の上方向、下方向の信号の流れと理解することもできる。
【００３３】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００３４】
コンテキストチェックにより、センサ入力データの高位レベルの解釈がデータ自体と整合しない時が明らかになる。データのフィードフォワード処理とフィードバック処理の後、予測と観察の間に有意な違いが存在する場合、潜在的に問題のある状況がシステムに存在し一貫性が低下していることを表す。
【００３５】
本発明のさらに別の一態様を実現するのは、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャであり、このアーキテクチャは、抽象化、一般化、及び任意で学習のための構造とメカニズムを有する、「メモリ予測フレームワーク」の実装を基盤とし、この「メモリ予測フレームワーク」の実装は、増強型人工階層記憶システムを備え、増強とは、少なくとも前処理段階を提供することであり、この前処理段階は、物理センサから送られた入力データを原形と再帰パターンで表すように構成され、このアーキテクチャは、物理センサから送られる入力に基づき、ツール及び／又は操作者の挙動に関する圧縮された、より高位レベルの情報を出力するように構成される。
【００３６】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００３７】
圧縮された、より高位レベルの情報とは、例えば挙動の分類結果であり得る。より大量で理解しづらい生データを記録するのでなく圧縮した形で挙動を記録するので、このような分類結果は有用であり得る。
【００３８】
好適な実施形態は独立請求項及び以下の説明で明確にされる。
【００３９】
本発明の実施形態は、動的挙動と相互作用するための、計算機を用いる人工記憶システムを含んでよく、この人工記憶システムは、物理Ｉ／Ｏ層、増強型階層メモリ、タイムマスター、コンテキストチェック、教師ありゲート処理、システム制御部、及びユーザー制御Ｉ／Ｏ層を備える。物理Ｉ／Ｏ層は、情報内容を改変せずに、物理センサ入力を増強型階層メモリが管理できるフォーマットに変換するように構成でき、増強型階層メモリは、物理Ｉ／Ｏ層から受け取った入力パターンのシーケンスを教育され、認識し、予測するように構成できる。ユーザー制御Ｉ／Ｏ層は、物理Ｉ／Ｏ層が受信した物理センサ入力に基づき、圧縮された、より高位レベルの情報を出力するように構成できる。通常、センサから取得する「入力パターン」は、コンテキスト／環境の一部として何かをする、又は何かをしないという人間の意図と結び付けられている。すなわち、人間がある特定のパターンで制御物を調整し、こうした制御物の調整をセンサが検知する。
【００４０】
「ドライバー」は自律的ドライバーであってもよい。例えば、ドライバーの指令を、システムが読むことのできる適切な記憶媒体に格納されたコマンドの形で先験的に与えてもよい。指令とは、目的地、到着予想時間、予想燃料消費量、運転の仕方（攻撃的、スポーティ、穏やか）等である。また、実際の人間のドライバーが意図的にシステムにスイッチを入れ、加速、制動力、速度、燃料消費量等が当該ドライバーの通常の動作及び他の動作に従うように指令を与えて、当該ドライバーを目的地まで動かすこともできる。
【００４１】
より一般的に言えば、ドライバーはユーザーである。さらなる説明では、他の種類のユーザー（例えば、システムと接続したセンサを装備する家屋に住む人々）についても論じている。
【００４２】
指令がない場合には、システムが代行することも可能である。例えば、ドライバーが眠っていることが検出されれば、システムは車両を安全に停止させる。ドライバーが眠り込んだかどうかは、認識チェック部（Awareness Check）が検出できる。
【００４３】
本発明の認識機能とドライバーの特性とを組み合わせて使うこともできる。初心者にとっての緊急事態は、Ｆ１レーサーには緊急事態でない場合もある。したがって本発明の実施形態は、ツール挙動の認識と、例えば運転挙動により決定されるドライバー特性とを組み合わせて使用する。
【００４４】
本発明の実施形態は、動的挙動と相互作用するための、計算機を使用する人工記憶システムを含んでよく、この人工記憶システムは、物理Ｉ／Ｏ層、増強型階層メモリ、タイムマスター、コンテキストチェック、教師ありゲート処理、システム制御部、及びユーザー制御Ｉ／Ｏ層を備え、物理Ｉ／Ｏ層は、情報内容を改変せずに、物理センサ入力を増強型階層メモリが管理できるフォーマットに変換するように構成され、増強型階層メモリは、物理Ｉ／Ｏ層から受け取った入力パターンのシーケンスを教育され、認識し、予測するように構成され、ユーザー制御Ｉ／Ｏ層は、分類結果及び／又はコンテキストチェックを出力するように構成される。
【００４５】
本発明の好適な一実施形態によれば、人工記憶システムの増強型階層メモリは、階層状に用いられ相互接続している複数のメモリレベルブロックを備える。
【００４６】
本発明の別の好適な一実施形態によれば、増強型階層メモリは、階層状に用いられ相互接続している複数のメモリレベルブロックを備える。メモリレベルブロックの各々は、個別カラムの形に配列した少なくとも一集合のノードで構成されてよく、この場合、各ノードカラムは少なくとも１つのイベントプール化ノードを備える。
【００４７】
さらに別の一実施形態によれば、上記少なくとも１つのイベントプール化ノードは、子ノードとして空間プール化ノード又は強制的時間プール化ノードを有する。
【００４８】
さらなる好適な一実施形態では、増強型階層メモリの各メモリレベルブロックは注意分類部と連結している。さらに、この注意分類部は、制御部、ゲート処理、複数親ゲート処理、分類部のうちの少なくとも１つを備えてよい。
【００４９】
人工記憶システムの増強型階層メモリの中で一番最初のメモリレベルブロックは、入力信号を受け取るためのワイヤードメモリレベルブロックを備えていてよい。ワイヤードメモリレベルブロック自体が、個別のカラムの形に配列した少なくとも一集合のノードで構成されてよく、この場合、各ノードカラムは、少なくとも１つの信号量子化ノードと少なくとも１つの強制的時間プール化ノードとを備える。さらに、１つのノードカラムが平滑化ノード及び／又は強制的イベントプール化ノードを追加的に備えてよい。
【００５０】
本発明の別の一態様では、増強型階層記憶システムを有する「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下を含む。
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−人工記憶システム内で信号を収集すること。
−入力データを単純な原形と再帰パターンで表すこと。
−操作者の指令、ツールの挙動、外部環境（任意）、及び人工記憶システムの内容を受信し分析して、受信したイベントが新規／未知のイベントであるか既知のイベントであるかを判断すること。
−受信したイベントを分類すること。
−内部表現から、ツールの現在の状態、短期的時間イベントの識別名、及び推論される長期的な操作者行動を決定すること。
【００５１】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００５２】
この方法は以下を含んでよい。
−ツール及び／若しくは操作者の挙動に関する、より高位レベルの圧縮された情報を出力すること。又は
−時間的イベント管理並びに入力データの原形及び再帰パターンに基づき、入力された操作者指令に関する予測をすること。又は
−コンテキストチェックの度合いとして、フィードフォワード信号とフィードバック信号の流れの間の対応関係、若しくはこれらの流れの任意の組み合わせを決定すること。
【００５３】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−センサから送られた信号を人工記憶システム内で分類、予測、及び／又はフィルタリングして、計算結果をシステムに送り返すこと。
−内部の記憶の一貫性状態を表し、人工記憶システムの出力に信頼性がある時を明示する働きをするコンテキストチェック信号を、人工記憶システムが生成すること。
【００５４】
この方法はさらに以下を含んでよい。
−コンテキストチェック信号を例外評価部に送ること。
−例外評価部がコンテキストチェック信号を受け取り、このコンテキストチェック信号に基づき、制御信号をパターン記録モジュールに送ることにより、センサから送られた現在の生の信号を記録し、より深いオフライン分析をすることを例外評価部が決定すること。
【００５５】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００５６】
この方法は以下を含んでもよい。
−受信した生の信号をデータベースに保存すること。
−センサから送られる信号から人工記憶システムを切り離すこと。
−人工記憶システムを訓練モードに設定すること。
−人工記憶システムへの入力として、センサが生成した信号でなく以前データベースに保存されたパターンを供給して、保存されている当該信号パターンに関して人工記憶システムを訓練すること。
【００５７】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−無線センサネットワークのノードにより信号を生成すること。この信号はシステムの物理的状態を表し、システムとは、監視される自然環境又は人工環境であり得る。
−センサが生成した信号を無線で人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−センサから送られた信号を人工記憶システム内で分類し、予測し、且つ／又はフィルタリングして、無線センサネットワーク、又はウェブサイト、又はモバイルデバイス（スマートフォン等）用アプリケーションを通じて、計算結果をシステムに送り返すこと。
−内部の記憶の一貫性状態を表し、人工記憶システムの出力に信頼性がある時を明示する働きをするコンテキストチェック信号を、人工記憶システムが生成すること。
【００５８】
この方法はさらに以下を含んでよい。
−コンテキストチェック信号を例外評価部に送ること。
−例外評価部がコンテキストチェック信号を受け取り、このコンテキストチェック信号に基づき、制御信号をパターン記録モジュールに送ることにより、センサから送られた現在の生の信号を記録し、より深いオフライン分析をすることを例外評価部が決定すること。
【００５９】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００６０】
この方法は以下を含んでもよい。
−受信した生の信号をデータベースに保存すること。
−センサから送られる信号から人工記憶システムを切り離すこと。
−人工記憶システムを訓練モードに設定すること。
−人工記憶システムへの入力として、センサが生成した信号でなく以前データベースに保存されたパターンを供給して、保存されている当該信号パターンに関して人工記憶システムを訓練すること。
【００６１】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−センサから送られた信号を人工記憶システム内で分類、予測、及び／又はフィルタリングして、計算結果をシステムに送り返すこと。
−内部の記憶の一貫性状態を表し、人工記憶システムの出力に信頼性がある時を明示する働きをするコンテキストチェック信号を、人工記憶システムが生成すること。
【００６２】
この方法はさらに以下を含んでよい。
−コンテキストチェック信号を例外評価部に送ること。
−例外評価部がコンテキストチェック信号を受け取り、このコンテキストチェック信号に基づき、制御信号をパターン記録モジュールに送ることにより、センサから送られた現在の生の信号を記録し、より深いオフライン分析をすることを例外評価部が決定すること。
【００６３】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００６４】
この方法は以下を含んでもよい。
−受信した生の信号をデータベースに保存すること。
−センサから送られる信号から人工記憶システムを切り離すこと。
−人工記憶システムを訓練モードに設定すること。
−人工記憶システムへの入力として、センサが生成した信号でなく以前データベースに保存されたパターンを供給して、保存されている当該信号パターンに関して人工記憶システムを訓練すること。
【００６５】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−人工記憶システムにより操作者の挙動を評価し、又は今後予想される操作者の挙動を予測し、又は現在の操作者指令をフィルタリングして再構築し、又は記憶の内部の一貫性状態を表すコンテキストチェック信号を生成すること。
【００６６】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００６７】
この方法はさらに以下を含んでよい。
−上記の評価、予測、フィルタリング、再構築、又はコンテキストチェックの信号を認識評価部に送ること。
−受け取った信号に基づき、認識評価部が、受動的制御情報又は能動的制御の情報を操作者に提供することを決定すること。
【００６８】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−ツールの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−ツールの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−ツールの状態の概要を表す分類結果を人工記憶システムが生成すること。
−記憶の内部の一貫性状態を表すコンテキストチェック信号を人工記憶システムが生成すること。
【００６９】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００７０】
この方法はさらに以下を含んでよい。
−入力データに加えてコンテキストチェック信号をコントローラに送ること。
−分類結果を記録すること、及び／又は例外を表すコンテキストチェック信号をコントローラが受信した場合、コントローラが入力データの記録を可能にすること。
【００７１】
本発明の別の一態様では、人工記憶システムを備える「メモリ予測フレームワーク」の実装に基づいて、ゲームシステムの一部であるツール及び操作者の動的挙動と相互作用する方法を提供する。この方法は以下のステップを含む。
−ツールの物理的状態及び操作者の挙動を表す信号をセンサが生成すること。
−この信号を人工記憶システムに送ること。
−操作者の挙動を表すゲームパターンを備えた人工記憶システム内で、上記信号を収集すること。
−操作者のゲームプレイ能力の概要を表す分類結果を人工記憶システムが生成すること。
−操作者によるゲームプレイの非一貫性を表すコンテキストチェック信号を人工記憶システムが生成すること。
【００７２】
この人工階層記憶システムは、増強型の階層的時間メモリ（ＨＴＭ）であり得る。
【００７３】
この方法はさらに以下を含んでよい。
−コンテキストチェック信号と分類結果をコントローラに送信すること。
−コントローラが対戦ゲームを制御すること。
【００７４】
本発明の方法の好適な一実施形態によれば、ツールＩ／Ｏインタフェースは、センサから送られる信号に対して、人工記憶システムが分類、予測、及び／又はフィルタリングするかどうかを制御し、人工記憶システムが訓練可能な状態であるとき、システムを訓練モードに設定する。
【００７５】
別の好適な一実施形態によれば、例外評価部がトリガーするゲートにより、センサから送られる信号から人工記憶システムが切り離され、これにより例外評価部は、人工記憶システムの訓練状態についてツールＩ／Ｏインタフェースから通知を受ける。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態による人工記憶システムを模式的に示した図である。
【図２】本発明の一実施形態による人工記憶システムで使われる増強型階層メモリの機能構造を示す図である。
【図３】本発明の一実施形態による人工記憶システムで使われるワイヤードメモリブロックの機能構造を示す図である。
【図４】本発明の一実施形態による人工記憶システムで使われるメモリレベルブロックの機能構造を示す図である。
【図５】本発明の一実施形態による人工記憶システムで使われる注意分類部の機能構造を示す図である。
【図６】本発明の一実施形態による人工記憶システムにおける、予測を行わない標準の実行スケジュールを層別に示した図である。
【図７】本発明の一実施形態による人工記憶システムにおける、４ステップの予測を伴う実行スケジュールを層別に示した図である。
【図８】本発明の一実施形態による人工記憶システムで使われる基本的ネットワークノードの機能構造を示す図である。
【図９】本発明の一実施形態による信号量子化ノードの量子化メカニズムを示す図である。
【図１０】本発明の一実施形態による基本的ネットワークノードで使われる時間プール化ノードの内部データ構造を示す図である。
【図１１】図１１Ａは、本発明の一実施形態による時間プール化ノードの分離メカニズムを示す図である。図１１Ｂは、グループ化により生じる可能性のある問題を図示したものである。
【図１２】本発明の一実施形態によるマーカーを用いた時間プール化ノードの分離メカニズムを示す図である。
【図１３】本発明の一実施形態による強制的時間プール化ノードの内部データ構造を示す図である。
【図１４】本発明の一実施形態によるイベントプール化ノードの内部データ構造を示す図である。
【図１５】同時発生事象を入力として見る場合の、同じ同時発生事象を共有する複数グループの活性化値のトレンド例を示す図ある。
【図１６】本発明の一実施形態による、量子化された信号を処理する平滑化ノードの出力例を示す図である。
【図１７】本発明の一実施形態による継続的学習メカニズムの機能ブロック図の一例である。
【図１８】本発明の一実施形態による自動車応用における、人間の認識をモニターするシステムの機能ブロック図の一例である。
【図１９】本発明の一実施形態によるＡＩゲームアシスタントの機能ブロック図の一例である。
【図２０】本発明の一実施形態による航空機におけるデータ記録応用の機能ブロック図の一例である。
【図２１】本発明の一実施形態によるｈ−ＭＰＦアーキテクチャの簡易ブロック図である。
【図２２】本発明の一実施形態による好適な実装における、ｈＭＰＦノードの内部構造を示す図である。
【発明を実施するための形態】
【００７７】
以下、いくつか特定の実施形態に関して、いくつか特定の図面を参照して本発明を説明するが、本発明はこれらに限定されず、請求項によってのみ限定される。表現されている図面は単なる概略であり、何ら限定するものではない。これらの図面において、場合によっては、図解目的で誇張したサイズで表示され、縮尺通りでない要素がある。本発明の明細書及び特許請求の範囲で使われている「ｃｏｍｐｒｉｓｉｎｇ」（備える、含む）という用語は、他の要素やステップを排除しない。単数名詞を指す不定冠詞又は定冠詞（例えば「ａ」、「ａｎ」、「ｔｈｅ」）が使われている場合、別段の具体的な記載がない限り、同じ名詞の複数形が含まれる。
【００７８】
特許請求の範囲で使われている「ｃｏｍｐｒｉｓｉｎｇ」（備える、含む）という用語は、この用語以降に列記されている手段に制限されるものと解釈すべきではなく、この用語は他の要素やステップを排除しない。したがって、「手段Ａと手段Ｂとを備えたデバイス」という表現の範囲は、構成要素ＡとＢのみからなるデバイスに限定されない。すなわち、本発明に関しては、単にデバイスに関連性のある構成要素がＡとＢであることを意味する。
【００７９】
さらに、本発明の明細書及び特許請求の範囲に記載されている第１、第２、第３といった用語は、複数の類似要素を区別するために使われており、必ずしも連続的順序や時間的順序を表しているわけではない。上記のように使われている用語同士は適切な状況下で交換可能であり、本明細書に記載されている本発明の実施形態は、本明細書に記載又は図示されている順序以外の順序でも運用可能であると理解すべきである。
【００８０】
本発明は、入力と出力を有するノードを伴う計算処理アーキテクチャに関連するものであり、このノードは、推論モードと呼ばれる第１の動作モードにあるときは、ある特定の入力の供給に基づき、関連付けられた特定の出力を提供し、学習モードと呼ばれる第２の動作モードにあるときは、入力と出力の間のこの関連付け又は関係を創出することができる。
【００８１】
さらに本発明は、少なくとも１つの他の第２（ＦＴＰ）ノードを有するアーキテクチャにも関連し、この第２ノードは、所定のデータ集合（原形／プロトタイプと表記されるデータ集合）を作成し（学習モード）、入力データを受信したときにデータ集合のいずれか１つを出力する（推論モード）ように構成されている。
【００８２】
本発明の一実施形態では、この第２ノードは、第１ノードから受け取った関連付けをその原形と相関させ、それにより関連の物理センサ制御値と相関させることにより、関連の出力信号をセンサに出力することができる。
【００８３】
本発明は、少なくとも１つの第１（ＥＰ）ノードを有するアーキテクチャに関連し、この第１ノードは、第１ノードの入力データが、所定のデータ集合から選ばれる別の入力データ（イベントを表す）に変化した場合のみ内部状態を変更するように構成されている。
【００８４】
ゆえに、本発明は、認識された入力データのインデックス（例えば所定リスト内の番号）及びタイミング関連の情報（発生及び／又は持続時間等）を格納することにより、入力データのシーケンスを圧縮した形で格納する方法を支持する。
【００８５】
本発明の一実施形態では、この第２ノードに対し、入力データと、部分的又は完全に入力されている所定のデータ集合とを強制的に関連付けさせることができる（いわゆる強制的学習過程）。
【００８６】
本発明の一実施形態では、第２ノードの出力は第１ノードの入力として働く。
【００８７】
このアーキテクチャの実施形態はアーキテクチャの使用方法を支持するものであり、この場合、入力が与えられる１つ以上の第２ノード（いわゆるワイヤードレベル又はワイヤード層を定義するノード）が所定のクロックサイクルごとに動作するのに対し、第２ノードの出力が与えられる１つ以上の第１ノード（いわゆる意識レベル又は意識層）は、変化の発生時のみ応答し、ゆえに２ノードと非同期的に応答する。これにより、メモリ実装面積と速度の大幅な低下が実現し、したがって良好な圧縮特性とリアルタイム使用能力が得られ、システムの（数ある中でも）特に重要な技術的利点をなす。
【００８８】
なお、ノードが創出する入出力間の関連付け又は関係は当該ノードのレベルで定義され、例えば第１ノードの場合は、イベント及び一連のイベントのレベル、並びにその表現のレベルで定義されるのに対し、第２ノードの場合は、時間的入力シーケンス及びその表現のレベルで定義される。上記定義のように特化したノードを使用することにより、あるノード層を越えて入出力の関連付け又は関係を作成することが可能になり、実際、学習及び推論モードの使用を制御し、フィードバック（高位のノードから低位のノード）情報とフィードフォワード（低位のノードから高位のノード）情報を制御することで、複数のノードに渡る入出力表現が改善され、それにより、実世界の操作で重要な特性である抽象から具体、具体から抽象への移行が可能になる。
【００８９】
したがって、本発明は、１つ以上のノード上の動作を制御できるマスター（タイミング）ノードも提供できる。ノード上の動作とは、例えば、情報のフィードバック、情報のフィードフォワード、ノード内部状態の更新、学習モードと推論モード間の切り替え等である。
【００９０】
操作者を伴う動的環境でシステムを使用することは、操作者の快適性及び安全性という安全要求を有する一方、システム自体が学習する自由度に一定の境界又は設計考慮事項が加わる。本発明がもたらす別の技術貢献の１つは、境界条件として、強制的時間プール化ノードにより制御された（強制的な）学習を選択することが挙げられる。
【００９１】
本発明は、ツール及び／又は行為者若しくは操作者の動的挙動と相互作用するための、人工記憶を用いたコンピュータベースの知覚／認知アーキテクチャに関する。このアーキテクチャは、アーキテクチャと相互作用し、且つツールと相互作用する行為者を理解し予期できるように、さらに当該行為者の意図を、時には外部コンテキストに応じて理解し予期できるように、センサデータを処理することができる。ツールとは任意の物理的物体であり、例えばキャプテン、ドライバー、パイロットを乗せた航空機、自動車、船舶等の乗り物や、ゲーム環境の一部として仮想テニスコートを併用するダミーラケット等のスポーツツールであり得る。センサとは、例えば電気機械式センサ、光学センサ、機械式センサ、温度センサ、電気センサ、磁気センサ、電磁センサ、オーディオセンサ、タイムセンサであり得る。高レベルの安定した性能を提供するように機能することが期待される対象用途の環境が、非制御、予測不能、かつ未試験であることを考えれば、本発明の実施形態によるアーキテクチャが提供する主要な要求事項を、一般化能力として特定することができる。
【００９２】
一般化能力により、操作者のパフォーマンスパターンの軽微な違いに対してシステムが耐性を持つので、メモリ使用量を有限にすることができ、ゆえに、ツールの個々の動作中に遭遇し得る全ての状況をシステムメモリの内部に格納するという不可能なことに取り組むことが可能になる。一般化能力が（分析アプローチより）勝ることが予想される状況の具体例として、操作スタイルや特性の異なる様々な操作者（複数の操作者間）に対処すること、同一操作者の様々な意図（単一操作者内）に対処すること、及びシステムの設計時には先験的に予測できない様々な計画と時間に対処することが挙げられる。実際、操作者が可変性と適応性を持つことから操作者シナリオを描くことは困難を極め、操作者が関与し得る状況は事実上無数になり、これらの状況を完全に記憶することは不可能である。
【００９３】
本発明に関して説明されるシステムは、上記で列記されている機能を有し、（まだ学習していないため）未知の状況に対処することができる。言い換えれば、今までに見たことのない状況（例えば、おそらく「未知」と特定することになる状況）であっても、（例えば、すでに経験した関連事象から結論付ける／推論することにより）ある種の理解をすることができる。良好な理解が基盤になければ安定した予測を追求できないことから、上記の機能は最終的アーキテクチャにとって実際に最も重要な要件である。
【００９４】
本発明のシステム又は方法は下記の要素を有し、これらの要素は個別にも、複数要素の組み合わせでも貢献する。
【００９５】
前処理：システム／ツールの動作モードに固有の入力データを単純な原形及び再帰パターンで表し、これによりシステムは、個々の知覚チャンネルを確実に処理できるようになる。
【００９６】
理解：操作者の指令、ツールの挙動、場合によって外部環境、及びメモリの内容を分析することにより、システムは状況（例えば文脈）を「理解」し、それが何か新規／未知のものであるか既知のものであるか（すでに経験／「記憶」したものに関連するか）を理解し、さらに、例えば「良い」「悪い」「安全」「危険」「成功」「失敗」のような分類ができる。特に、確実に想起される既知の状況を用いることで、今後発生する可能性の高い操作者の活動及びツールの動作を予測することができる。
【００９７】
相互作用：操作時のツールの挙動（短期の時間的イベントの識別名及びツールの現在の状態を表す内部表現）と操作者の意図（例えば、推論される長期的な操作者行動）の間の、二方向、反復性、又は適応反復性の相互作用／コミュニケーション。
【００９８】
本発明の実施形態では、操作者をドライバー、キャプテン、パイロット、ゲームプレイヤー等と記載する。このような人は「自律的」である。例えば、操作者の指令を、システムが読むことのできる適切な記憶媒体に格納されたコマンドの形で先験的に与えることができる。例えば、操作者がドライバーであり、ツールが自動車等の車両である場合、指令とは、目的地、予想到着時刻、予想燃料消費量、運転の仕方（攻撃的、スポーティ、又は穏やか）等である。また、現実の人間のドライバーが意図的にシステムにスイッチを入れて、加速、制動力、速度、燃料消費量等が当該ドライバーの通常の挙動その他の挙動に従うように指令を与えて、当該ドライバーを目的地まで動かすこともある。指令がない場合に、システムが代行することも可能である。例えば、ドライバーが眠っていることが検出されれば、システムは車両を安全に停止させる。ドライバーが眠り込んだかどうかは、認識チェック部が検出できる。
【００９９】
本発明の実施形態は、「メモリ予測フレームワーク」（ＭＰＦ：Memory Prediction Framework）に基づいており、人工階層記憶システムを含む。この人工階層記憶システムは、シーン認識／「分類」及び／又は前処理段階の機能を向上させた、増強型の階層的時間メモリ（ＨＴＭ）であり得る。本発明のシステムと方法は、時間的イベントの管理を導入し、また上記の前処理段階を伴うことから、数ある能力の中でも特に、入力された操作者指令に関する予測１つにつき、１０〜１５サンプルという数、又は例えば０．５秒程度に必要とされる任意の数のサンプル数を提供できるように構成されている。
【０１００】
「メモリ予測フレームワーク」（ＭＰＦ）は、良好な学習、抽象化、及び一般化に必要な構造とメカニズム（例えば、ネットワーク内のフィードフォワード信号とフィードバック信号の流れ、これらの信号の流れに対応する、ネットワークの一般化能力を評価するための必須条件である状況理解度）をほぼ全て予測するので、基本モデルとして適切である。ＭＰＦの計算処理アプローチ及びそのアルゴリズムは、知覚固有の前処理がいまだ必要であるものの、多様な知覚チャンネルを処理できることが証明されている。本発明の実施形態は、ＭＰＦの適切な部分を具体化したものととらえることができる。
【０１０１】
上記の方法及びシステムの中核は人工記憶システムであり、以下、この人工記憶システムについて説明する。
【０１０２】
図１に、計算機を用いて動的挙動と相互作用するための、本発明の一実施形態による人工記憶システム１００を示す。この図において、１０１はセンサ又はセンサ入力であり、１０４ｂは予測後センサ出力であり、１０４ａはセンサフィードバック出力であり、１０２は分類結果出力であり、１０７はコンテキストチェックであり、１０６はリセット入力であり、１０５は制御入力（予測、訓練、メモリ読み込み等）である。人工記憶システム１００内のリンクは次の通りである。２１１：センサ入力：このポートは、物理センサから送られる全ての生のセンサ値を受け取る。２１４ａ：センサフィードバック出力：このポートは、ネットワークで再構築された全ての変換済みの生センサ値を出力する。この出力値を物理センサと直接比較することができる。２１４ｂ：予測後センサ出力：この出力には、予測後の変換済み生センサ値の全てが含まれる。この出力値を物理センサと直接比較することができる。２１２：ネットワーク向けに変換されたセンサ入力：この出力は、２２０が管理できるフォーマットのセンサ値を含む。２１３ａ：センサフィードバック：この入力は、ネットワークで再構築され物理センサ値に変換されるセンサ値を受け取る。２１３ｂ：予測済みセンサ：この入力は、ネットワークで生成され物理センサ値に変換される予測センサ値を受け取る。２２１：増強型階層メモリ２２０へのセンサ入力。２２４ａ：増強型階層メモリ２２０からのセンサフィードバック出力。２２４ｂ：増強型階層メモリ２２０からのセンサ予測出力。２２５：タイムマスター制御入力。この入力は、生成されたスケジューリング情報をタイムマスター２３０から受け取る。２２６：リセット入力。この入力は、システム制御部２６０から、２２０内部の各レベルのメモリ履歴リセットを制御する信号を受け取る。２２７：コンテキストチェック出力：この出力は、２２０内の一貫性チェック信号を集計する。２２８：教師ありゲート処理入力。この入力は、具体的な制御情報を受け取って、ゲート処理及び増強型階層メモリ２２０内のレベル間分類に利用する。２２９：教師ありゲート処理出力。この出力はレベル間分類結果を含む。２３１：タイムマスター制御出力。タイムマスター２３０モジュールで生成された、２２０の各コンポーネントの実行をスケジューリングする信号。２３５：高位レベルの種々のネットワーク実行モード（例：ノーマル、予測）を有効にする、２６０から送られるスケジュール制御信号。２４５：システム制御部２６０から送られるコンテキストチェック制御信号入力。２４７：増強型階層メモリ２２０全体の一貫性情報を含む出力。２４１：コンテキストチェック入力。２００内部から送られる全ての一貫性情報を含む信号。２５１：教師ありゲート処理出力。この出力は、ゲート処理及び増強型階層メモリ２２０内のレベル間分類に利用するための具体的な制御情報を含む。２５２：教師ありゲート処理入力。この入力は、２２０から送られるレベル間分類結果を含む。２５８：２５０の様々な挙動を可能にする制御信号を含む入力。２５９：分類結果を含む出力。２６１：システム制御部２６０の制御信号。異なるバスを介して、タイムマスター２３０（高位レベルネットワーク挙動を増強型階層メモリ２２０用の実行パターンスケジュールに変換）、及びコンテキストチェック２４０（ネットワークの一貫性を明示する様々な様式を選択）に送られる。２６２：ネットワーク全体に関する生の分類結果出力を有する、システム制御部２６０からの出力。２６３：メモリリセット指令を有する、システム制御部２６０からの出力。２６４：ネットワークの一貫性結果を含む、システム制御部２６０への入力。２６５：ネットワーク様式指令（予測、訓練、読み込み等）を有する、システム制御部２６０への入力。２６６：システムリセット指令を有する、システム制御部２６０への入力。２６７：ネットワーク全体に関する生の一貫性情報を有する、システム制御部２６０からの出力。２６８：レベル間分類、教師あり分類部、及びネットワークの注意メカニズムを管理するための制御指令を有する、システム制御部２６０からの出力。
【０１０３】
図示されている増強型階層記憶システムの内部のブロックは次の通りである。２１０：物理Ｉ／Ｏ層。このモジュールは、情報の内容を改変することなく、物理センサ入力を増強型階層メモリ２２０で管理可能なフォーマットに変換し、逆に、増強型階層メモリ２２０で管理可能なフォーマットを物理センサ入力に変換する。２２０：増強型階層メモリ。２３０：タイムマスター。このモジュールは、増強型階層メモリ２２０の各コンポーネントの内部クロックに対するマスターとなる外部サーバである。ネットワークの特定のタイミングスケジュール及び活性化順序で高位レベルの挙動（予測等）を変換する。２４０：コンテキストチェック：このモジュールは、フィードフォワード入力２２１の現在のシーケンスについての増強型階層メモリ２２０の理解度を提供する。２５０：教師ありゲート処理。このモジュールは、システム制御部２６０からの指令を変換して、増強型階層メモリ２２０の特定の下位部分が注意メカニズムを取得すること、或いは増強型階層メモリ２２０内のレベル間分類結果を取得することを可能にして、様々な時間的イベントを認識できるようにする。２６０：システム制御部。このモジュールは、高位レベル機能を実現し、ユーザー要求を満足し、システムパラメータを調整するため、人工記憶システムの全下位モジュール間の通信を処理する。２７０：ユーザ制御Ｉ／Ｏ層。このモジュールは、ユーザインタフェースから指令を受け取り、システム制御部２６０向けの指令に変換する。
【０１０４】
タイムマスター２３０は、人工記憶システム１００の内部スケジューラとみなすことができる。タイムマスター２３０はシステム制御部２６０に制御され、高位レベルの挙動が選択されると（分類、予測、フィルタリング等）、増強型階層メモリ２２０の層ごとに最善の実行スケジュールを生成する。タイムマスターは各ノードに対し、フィードフォワード、フィードバック、操作無しのどのモードで作業するべきか、また各ノードの内部状態を保存すべきか、それとも復元するべきかを伝達する。タイムマスター２３０は、以下の２種類の方法でノードに伝達することができる。
【０１０５】
１．マスターモード：実行前に、増強型階層メモリ２２０内の各ノードがタイムマスター２２０に（例えばソケットを介して）接触して、実施すべきことに関する命令を受け取る。ノードは、単に現在のタイムステップを表す単一命令を受け取る場合もあれば、累積的な命令の集合を受け取る場合もある。
【０１０６】
２．バックグラウンドモード：一度、各ノードが自身をタイムマスター２３０に登録しておき、その後タイムマスター２３０が非同期的に全ノードと接触して、異なる「実行サイクル」を設定する。システムに望まれる機能性の程度と通信遅延に応じて、この２つの様式の間で最善のトレードオフを選択することが可能である。第１モードの場合、ノードがタイムマスター２３０と通信したときでなければスケジュールを変更できない。送信する命令集合が長いほど、挙動の切替えまで（例えばノーマルモードから予測への切替え、予測からノーマルモードへの切替え）の遅延が長くなる。その反面、第１モードは通信オーバーヘッドが低いので、反復性のタスクに特に適している。第２モードの場合、各ノードがサーバ処理にタイムマスター２３０からの通信を連続的に待ち受けさせる必要があるため、オーバーヘッドが高くなるが、タイムマスター２３０からの指令に対して速やかに行動できる。
【０１０７】
人工記憶システム１００は、新しい入力パターンがあるたびに、数回の繰返しを経て分類又は予測を計算する必要があるため、タイムマスター２３０は、入力データ速度（ワールドクロック）よりも速い速度（人工記憶システムクロック）でシステムを動作させなければならない。
【０１０８】
コンテキストチェックモジュール２４０は、増強型階層メモリ２２０の内部にある全てのノードから送られる状態一貫性チェック信号（４ｘ７）を、リンク２４１を通じて受け取る。コンテキストチェック２４０は、システム制御部２６０からリンク２４５を通じて受け取る制御信号に基づき、一貫性信号（の部分集合）を処理し、これにより、増強型階層メモリ２２０がリンク２２１を介して感知している一連の入力に関して、増強型階層メモリ２２０がどの程度理解しているかを表す現在の理解度を、出力リンク２４７を介して提供する。例えばシステム制御部２６０は、増強型階層メモリ全体の一貫性評価を要求できる。増強型階層メモリに今後の入力の予測を要求すべきかを判断する上で、この一貫性情報は有用となり得る。増強型階層メモリ２２０が現在の状況を理解していなければ、予測を要求しても無駄になり得る。別の例では、ユーザーが外部コンテキストに即座に反応しているかを確認する目的で、システム制御部２６０は、ワイヤードメモリレベル３１０（図２を参照）についてのみ内部状態の一貫性評価を要求できる。さらに別の例では、システム制御部２６０は、増強型階層メモリ２２０の第１レベルについて内部状態の一貫性を尋ねることができる。この情報を外部アプリケーションが使用すれば、増強型階層メモリ２２０が前に見たことのない、対処方法の分からない入力シーケンスを認識することも可能である。
【０１０９】
システム制御部２６０は、本システムの調整モジュールである。システム制御部２６０の主な役割は、システム制御部２６０の所望の機能を果たすために他のモジュールを動かすことである。例えば、ユーザー制御Ｉ／Ｏ層２７０から予測要求や特定イベント分類要求等の指令を受け取り、タイムマスター２３０、コンテキストチェック２４０、教師ありゲート処理２５０の各モジュールを利用して増強型階層メモリ２２０を制御する。また、このシステム制御モジュールは、個々の外部要求に応じて、増強型階層メモリ２２０で発生し得る訓練を監督する。
【０１１０】
増強型階層メモリ２２０は、本システム全体の中核をなす。増強型階層メモリ２２０は、情報パターンを増強型階層構造の中にプールする（すなわち、ノイズの多い入力空間を処理して抽象的で堅牢な出力空間にする）ボトムアップアーキテクチャである。増強型階層メモリ２２０の主な目的は、入力パターンのシーケンスを学習し、認識し、理解し、（例えば要求に応じて）予測することである。また、好ましくは、認知体系のように、クリアなコンテキスト或いはさほどクリアでないコンテキストから意味を抽出／推論するようになっている。この目的で、多くのメモリレベル３２０が使用され連結されて、増強型階層構造をなす。メモリレベルブロック３２０の数は、個々のアプリケーションによって異なり得る。各メモリレベルブロックに注意分類部３３０を連結でき、その場合、個々のレベルで学習したイベントに意味を関連付けたり、メモリレベル３２０の注意メカニズムを実現するのに有用となり得る。各レベルは１〜Ｌのインデックスで識別される。通常、最初のレベル（レベル１）は、１つのワイヤードメモリレベルブロック３１０と１つのメモリレベルブロック３２０から構成される。高位レベルの再構築／予測精度を必要とする「重要」な単一次元入力信号を処理するには、ワイヤードレベルを使用するべきである。それ以外の入力信号は通常のメモリレベル３２０に送ってよい。それ以外の入力信号とは、通常、センサから送られる信号のうち、現在の動作コンテキストを表すのに役立つが高精度で再構築／予測する必要のない信号である。
【０１１１】
図２は、本発明の人工記憶システムで使用される増強型階層メモリ２２０の機能構造を示す。多重化ブロック３４０により、フィードバック出力と予測出力を個別の出力リンクを伝って２２０の外部に提供することができる。タイムマスターブロック２３０から直接送られる制御信号２２５．０に基づき、フィードバックデータはリンク３４４ａ経由でリンク２２４ａに送られ、予測データはリンク３４４ｂ経由でリンク２２４ｂに送られる。リンク３４３は、ブロック３１０から送られるフィードバック／予測出力と、ブロック３２０から送られるフィードバック／予測出力とを単一の多次元データ配列に集める。
【０１１２】
増強型階層メモリ２２０内のリンクは次の通りである。２２１：フィードフォワード入力。この入力は多次元データ配列である。ワイヤードメモリレベル３１０で処理すべき信号の集合は他の信号から分離されて、リンク２２１．１経由で送られる。残りの全ての信号はリンク２２１．２経由で第１メモリレベルブロック３２０に送られる。２２４ａ：フィードバック出力。この出力は多次元データ配列である。２２４ｂ：予測出力。この出力は多次元データ配列である。２２５：制御信号。各内部ブロックに提供される全ての制御信号を含む多次元データ配列である。制御信号の大部分の部分集合は「２２５：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、個々のブロックの所属先カラムのインデックスを指定し（通常は第１レベルのみ）、Ｌ＝［１；２］であり、レベルのインデックスを識別する。特に、部分集合２２５ｃ：Ｌは全ての注意分類部ブロック３３０に制御信号を提供し、部分集合２２５：０は多重化ブロック３４０に制御信号を提供する。２２６：リセット信号。この信号は、各メモリレベルに提供される全てのリセット信号を含む多次元データ配列である。内部リンクは「２２６：Ｃ：Ｌ」又は単に「２２６：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、信号送信するメモリレベルの所属先カラムのインデックスを指定し（通常は第１レベルのみ）、Ｌ＝［０；１］であり、レベルのインデックスを識別する。２２７：状態一貫性チェック信号。この信号は、ブロック内の各メモリレベルから送られる全ての状態一貫性信号を収集する多次元データ配列である。内部リンクは「２２７：Ｃ：Ｌ」又は単に「２２７：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、信号送信するメモリレベルの所属先カラムのインデックスを指定し（通常は第１レベルのみ）、Ｌ＝［０；１］であり、レベルのインデックスを識別する。２２８：教師ありゲート処理信号。この信号は、内部で２２８．１、．．．、２２８．ｌの各リンクに分離して注意分類部ブロック３３０（存在する場合）にゲート処理信号を運ぶ、多次元データ配列である。２２９：分類結果信号。この信号は、注意分類部ブロック３３０（存在する場合）から２２９．１、．．．、２２９．ｌの各リンクを介して送られる全ての分類結果信号を収集する、多次元データ配列である。
【０１１３】
図３は、増強型階層メモリ２２０に組み込まれているワイヤードメモリブロック３１０の機能構造を示す。ワイヤードメモリレベルブロック３１０は、個別のカラムを構成する基本ノードの集合を包含する。カラムの総数は、処理すべき入力信号の数によって異なり得る。各カラムは１〜ｃの範囲のインデックスで識別される。通常、１つのカラムは信号量子化（ＳＱ：Signal Quantizer）ノード４２０と強制的時間プール化（ＦＴＰ:Forced Temporal Pooler）ノード４４０で構成される。フィードバック（又は予測）出力信号の平滑性を向上させるため、カラムのフィードバック出力４２４に平滑化（Ｓｍ：Smoother）ノード４７０を追加してよい。さらに、特定のケースでは、カラムの最上部に１つ（又は複数）の強制的イベントプール化（ＦＥＰ：Forced Event Pooler）ノード４６０を追加してよい。ワイヤードメモリブロックの目的は、ある一定数の単一次元入力信号を「信号の原形（プリミティブ）」で表すことである。各カラムは１つの単一次元信号を扱うので、ｃ個の異なる単一次元入力を処理するにはｃ個のカラムが必要になる。ＳＱノード４２０は、単一次元入力信号（その動態は周知でなければならない）を、制御されたやり方で非常に高速に量子化することを可能にする。（特定の統計アルゴリズムを用いて訓練データから抽出された）信号の「原形」がＦＴＰノードとＦＥＰノードに「教え」られ、その結果、親メモリレベルへの入力信号を、頻繁に反復する信号「チャンク」の形で（推論時に）表すことが可能になる。生データから信号の「原形」を抽出することは、ワイヤードレベルの「記憶内容」を作成する上で必要な処理である。この処理で出力されるものは、ノードが学習する必要のある「そのままの姿」の入力信号シーケンスの集合である。この入力信号シーケンスは、ワイヤードメモリレベルが表現すべきイベントを表していなければならない。ＦＴＰ４４０の場合とＦＥＰ４６０の場合とでは、抽出すべきシーケンスが異なる。
【０１１４】
ＦＴＰ４４０に関して提案される抽出方法は次の通りである。
１．ローパスフィルタ：スパイクやセンサエラーを低減するため、生入力データにローパスフィルタをかける。
２．データの量子化：対応する信号量子化ノード４２０と同じ量子化処理を適用する。
３．データを複数のチャンク（塊）に分離：信号が安定状態を表している量子化済みデータを分離して（例えば、ゼロ交差、値の符号反転、一定時間間隔が挙げられるが、これらに限定されない）、メモリ内でイベントを表すのに充分な長さのチャンクにする（例えば非常に短いチャンクを除去することが挙げられるが、これに限定されない）。
４．チャンク特性の計算：各チャンクについて、信号特性を表す特徴の集合を計算する。例えば、開始点の値、終了点の値、長さ、平均値、値の標準偏差、信号の凹みが挙げられるが、これらに限定されない。
５．チャンク距離の計算：各一対のチャンクについて、互いの類似度を表す距離を計算する。例えば、信号の各ポイント間のピアソン距離と平均距離が挙げられるが、これらに限定されない。
６．チャンクのクラスタ化：直前に計算されたチャンク特性と距離に基づき、クラスタリングアルゴリズムを適用して複数の類似チャンクを一グループにまとめる。例えば、階層的クラスタリングアルゴリズムの使用が挙げられるが、これに限定されない。
７．プロトタイプの抽出：ＦＴＰ４４０に教えるプロトタイプとしてクラスタのセントロイド（重心）を選択し、訓練ファイルとして保存する。
【０１１５】
ＦＥＰ４６０用の原形を抽出するプロセスも同様である。主な違いは、ステップ（３）の分離点の選択にある。ＦＥＰ４６０用の原形は、対応するＦＴＰ４４０で記憶された原形の組み合わせであるため、ＦＴＰ４４０の原形より長くなければならず、ゆえに、より長いイベントに対応する分離点を選択する必要がある。例えば、全ての入力信号に対する規則の集合、又はデータ取得中に獲得される外部トリガーにより、分離点を定義できるが、これらに限定されない。このメカニズムにより、単一次元入力の長い時間的シーケンスの記述を「圧縮」することが可能になる。同時に、非常に高精度で入力信号を再構築できるので、アプリケーションレベルにおいて、実際の信号の代わりに再構築／予測後の信号を使用できるようになる（必要な場合）。Ｓｍノード４７０（存在する場合）は、ＳＱノード４２０が導入する量子化効果をマスクする目的で、ＳＱノード４２０のフィードバック４２４出力をフィルタリングすることにより、より平滑な出力信号を提供する。増強型階層メモリ２２０ブロック全体の内部では、ワイヤードメモリブロック３１０は先頭レベルにのみ現れて、「生」の単一次元信号の集合を処理することができる。別の実装では、この先頭レベルを、個々の単一ワイヤードカラムで処理される多次元信号とみなすこともできる。
【０１１６】
ワイヤードメモリレベルブロック３１０内のリンクは次の通りである。３１１：フィードフォワード（ＦＦ）入力。この入力は多次元データ配列である。この入力は全てのメモリレベルのＦＦ入力を含み、後に内部で各カラムに送られる。カラム１用の単一次元ＦＦ入力は他の入力から分離されて、リンク３１１．１を介して正しいノード入力に送られる。カラム２に送られる単一次元信号はリンク３１１．２を通じて流れ、以降同様にして、リンク３１１．ｃを通じて一次元ＦＦ入力が最終カラムに流れる。なお、リンク３１１上の信号はリンク３１１．１、．．．、３１１．ｃまで順不同で送られる。３１２：フィードフォワード出力。この出力は多次元データ配列である。フィードフォワード出力は、全てのカラムから（おそらく順不同で）送られた（多次元）ＦＦ出力（３１２．１、３１２．２、．．．、３１２．ｃ）を収集し、親メモリレベルのブロックの外側に提供する。３１３：フィードバック（ＦＢ）入力。フィードバック（ＦＢ）入力は、内部カラムに提供される全てのＦＢ入力を含む多次元データ配列である。信号は下位グループ３１３．１、３１３．２、．．．、３１３．ｃに分離されて、対応するカラムに送られる。なお、リンク３１３上の個々の単一入力をグループ化して、リンク３１３．１、．．．、３１３．ｃへと順不同で送ることができる。３１４：フィードバック出力。この出力は多次元データ配列である。フィードバック出力は、全てのカラムから（おそらく順不同で）送られた単一次元ＦＢ出力（３１４．１、．．．、３１４．ｃ）を収集して、ブロックの外側に提供する。３１５：制御信号。この信号は、ブロック内の各ノードに提供される全ての制御信号を含む多次元データ配列である。制御信号の内部部分集合は「３１５：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、個々のノードの所属先カラムのインデックスを指定し、Ｌ＝［１；２］であり、レベルのインデックスを識別する。３１６：リセット信号。この信号は、ブロック内の各ノードに提供される個々のリセット信号全てを含む多次元データ配列である。内部リンクは「３１６：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、個々のノードの所属先カラムのインデックスを指定し、Ｌ＝［０；ｌ］であり、レベルのインデックスを識別する。３１７：状態一貫性チェック信号。この信号は、ブロック内の各ノードから送られる全ての状態一貫性信号を収集する多次元データ配列である。内部リンクは「３１７：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、信号送信するノードの所属先カラムのインデックスを指定し、Ｌ＝［０；ｌ］であり、レベルのインデックスを識別する。
【０１１７】
図４は、増強型階層メモリ２２０に組み込まれているメモリレベルブロック３２０の機能構造を示す。メモリレベルブロックは、個別のカラムを構成する基本ノードの集合を包含する。カラムの総数は、ネットワーク全体の構造によって異なり得る。各カラムは１〜ｃの範囲のインデックスで識別される。通常、個々のカラムはイベントプール化（ＥＰ）ノード４５０で構成され、場合によっては、その子ノードとして空間プール化（ＳＰ）ノード４１０を有してよい。メモリレベルブロックの目的は、入力リンク３２１を通じて子メモリレベルから知らされる「同時発生事象」のシーケンスを学習し（訓練時）、認識する（推論時）ことである。実際、メモリレベルブロックはＥＰノード４５０の機能に依存しており、ＥＰノード４５０は長期イベントを（独特に「圧縮」する形で）「記録」し「認識」できる。また、現在認識されているイベント（又は複数イベントの集合）を親メモリレベルに知らせることもできる。増強型階層メモリブロック２２０の内部には多くのメモリレベルブロック３２０が存在してよく、階層が下から上に上がるにつれて、個々のブロックは一段と長いイベント（のシーケンス）を学習し認識する。メモリレベルブロック３２０内のリンクは次の通りである。３２１：フィードフォワード（ＦＦ）入力。この入力は多次元データ配列である。この入力は、後に内部で各カラムに送られる全てのメモリレベルのＦＦ入力を含む。カラム１用の特定のＦＦ入力は他の入力から分離されて、リンク３２１．１を介して正しいノード入力に送られる。カラム２に送られる入力はリンク３２１．２を通じて流れ、以降同様にして、リンク３２１．ｃを通じてＦＦ入力が最終カラムに流れる。なお、リンク３２１上の個々の単一入力をグループ化して、リンク３２１．１、．．．、３２１．ｃへと順不同で送ることができる。３２２：フィードフォワード（ＦＦ）出力。この出力は多次元データ配列である。この出力は、全てのカラムから（おそらく順不同で）送られたＦＦ出力（３２２．１、３２２．２、．．．、３２２．ｃ）を収集し、親メモリレベルのブロックの外側に提供する。３２３：フィードバック（ＦＢ）入力。この入力は、内部カラムに提供される全てのＦＢ入力を含む多次元データ配列である。信号は下位グループ３２３．１、３２３．２、．．．、３２３．ｃに分離されて、対応するカラムに送られる。なお、リンク３２３上の個々の単一入力をグループ化して、リンク３２３．１、．．．、３２３．ｃへと順不同で送ることができる。３２４：フィードバック（ＦＢ）出力。この出力は多次元データ配列である。この出力は、全てのカラムから（おそらく順不同で）送られたＦＢ出力（３２４．１、．．．、３２４．ｃ）を収集し、ブロックの外側に提供する。３２５：制御信号。この信号は、ブロック内の各ノードに提供される全ての制御信号を含む多次元データ配列である。制御信号の内部の部分集合は「３２５：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、個々のノードの所属先カラムのインデックスを指定し、Ｌ＝［１；２］であり、レベルのインデックスを識別する。３２６：リセット信号。この信号は、ブロック内の各ノードに提供される個々のリセット信号全てを含む多次元データ配列である。内部リンクは「３２６：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、個々のノードの所属先カラムのインデックスを指定し、Ｌ＝［１；２］であり、レベルのインデックスを識別する。３２７：状態一貫性チェック信号。この信号は、ブロック内の各ノードから送られる全ての状態一貫性信号を収集する多次元データ配列である。内部リンクは「３２７：Ｃ：Ｌ」とラベル付けされ、ここでＣ＝［１；ｃ］であり、信号送信するノードの所属先カラムのインデックスを指定し、Ｌ＝［１；２．．．］であり、レベルのインデックスを識別する。
【０１１８】
図５は、増強型階層メモリ２２０に組み込まれている注意分類部３３０の機能構造を示す。注意分類部は任意のモジュールであり、近傍レベル３１０、３２０、３３０に対して透過的である。注意分類部が存在しない場合、信号はメモリレベル間を直接流れる。このレベルの特徴はフィルタ信号であり、その目的は、ＦＦ及びＦＢにおいて「注意の集中」（Focus-of-Attention）手法を実装し、一貫性チェックを有する複数の親ノードからのＦＢを有効にし、且つ／又はレベル間信号を分類して様々な時間尺度での挙動を特定することである。注意分類部３３０は、教師ありゲート処理部２５０（図１を参照）により接続４８９を介して制御される。実行のスケジューリングは、タイムマスター２３０が接続３３５を介して行う。通常動作中、制御部４８５は、パススルーとして動作するようにゲート処理４８６と複数親ゲート処理４８７を設定する。ＦＢ入力信号３３３が上のメモリレベル内の複数の異なるカラムに属する場合、複数親ゲート処理４８７は４９７を利用して単一の一義的ＦＢ信号を生成する。例えば、一貫性のあるノードから送られた信号だけを考慮に入れることができる。制御部４８５は、４８９を介して指令を受け取って、分類を有効にすることができる。この指令は分類部４８８に送られる。分類部４８８は、４８６又は４８７から入力を受け取り、４９６に分類結果を出力する。この処理により、増強型階層メモリ２２０の任意のレベルの挙動を識別することが可能になる。制御部４８５は、４８９を介して指令を受け取って、特定クラスの教師ありゲート処理を有効にすることができる。この指令は４８８に送られた後、４８６及び／又は４８７に送られる。分類部４８８は、４９５、４９８、４９９を介して指定された所望のクラスに対応する信号の部分集合のみを、４８６及び／又は４８７において伝播させることを可能にする。この処理により、増強型階層メモリ２２０の注意を、起こりうる挙動の部分集合にのみ集中させることが可能になる。注意分類部３３０において、制御部４８５は、教師ありゲート処理部２５０から４８９を介して指令を受け取り、タイムマスター２３０から４８９を介してタイミングを受け取る。この制御部はモジュール全体を制御する。ゲート処理４８６は、信号遮断が有効にされている場合、信号の一部を遮断することによりゲートの機能を果たすことができ、転送が有効にされている場合、ＦＦ入力信号４８１を分類部に転送することができる。複数親ゲート処理４８７は、信号遮断が有効にされている場合、信号の一部を遮断することによりゲートの機能を果たすことができ、転送が有効にされている場合、ＦＢ入力信号４８３を分類部４８８に転送することができる。複数の親が存在する場合、コンテキストチェック４９７が分析されて、一貫性のないＦＢ信号が破棄される。
【０１１９】
注意分類部３３０内のリンクは次の通りである。３３１：多次元入力ＦＦ信号。３３２：（多次元）出力ＦＦ信号。３３３：（多次元）入力ＦＢ信号。３３４：（多次元）出力ＦＢ信号。３３５：タイムマスター入力。３３７：上位レベルの接続先ノードから送られる全てのコンテキストチェックリンクで構成される（多次元）コンテキストチェック３２７＊。４８１：モジュール内部の（多次元）３３１。４８２：ゲート処理４８６の（多次元）出力。ＦＦ信号である。パススルーモードの場合は４８１であり、ゲート処理されている場合は、その部分集合であり、空の場合もある。４８３：ノード内部の（多次元）３３３。４８４：複数親ゲート処理４８７の（多次元）出力。ＦＢ信号である。パススルーモードの場合は４８３であり、ゲート処理されている場合は、その部分集合であり、空の場合もある。４８９：教師ありゲート処理２５０からの入力。ゲート処理と分類を制御する。４９０：ゲート処理を有効にし、分類部４８８への信号転送を有効にする。４９１：ゲート処理を有効にし、分類部４８８への信号転送に有効にし、複数の親の選択を有効にする。４９２：分類部実行モード（選択又は実行）を有効にし、訓練を有効にする。４９３：分類部４８８に転送される（多次元）ＦＦ信号。４９４：分類部４８８に転送される（多次元）ＦＢ信号。４９５：教師ありゲート処理２５０（図１を参照）から送られるクラス選択。４９６：教師ありゲート処理２５０に送られる分類結果出力。４９７：モジュール内部の（多次元）３３７。４９８：ＦＦ選択的クラスゲート処理。４９９：ＦＢ選択的クラスゲート処理。
【０１２０】
図６は、本発明の人工記憶システムにおける予測を行わない標準の実行スケジュールを層別に示す。この図では、推論モード（フィードバック信号とフィードフォワード信号が有効）の３レベルネットワークのうちの各レベルの実行スケジュールを示している。図６の左側はあり得るネットワークを表し、右側は、タイムステップごとに各レベルがタイムマスター２３０から受け取る指令を示している。図の下部にはタイムラインが表示されている。
【０１２１】
図７は、本発明の人工記憶システム１００における、４ステップの予測を伴う実行スケジュールを層別に示す。この図は、４タイムステップ先の予測を実現する実行スケジュールを示している。図から分かるように、４ステップ先の予測を生成するには７つの人工記憶ステップが必要とされる。求められる予測ステップが増えるほど、人工記憶システムの必要ステップ数は直線的に増加する。
【０１２２】
図８は、本発明の人工記憶システム１００で使われる基本的ネットワークノードの接続構造を示す。基本的ネットワークノードとは、例えば空間プール化ノード（ＳＰ：Spatial Pooler）４１０、信号量子化ノード（ＳＱ：Signal Quantizer）４２０、時間プール化ノード（ＴＰ：Temporal Pooler）４３０、強制的時間プール化ノード（ＦＴＰ：Forced Temporal Pooler）４４０、イベントプール化ノード（ＥＰ：Event Pooler）４５０、強制的イベントプール化ノード（ＦＥＰ：Forced Event Pooler）４６０、平滑化ノード（ＳＭ：Smoother）４７０のいずれかであり得る。リンクに関しては、この説明のレベルでは、どのノードも同じ意味を共有するＩ／Ｏを有する。下記のリストにおいて、文字「ｘ」は任意の数字に置き換えることができる。例えば、「４ｘ１」は４１１、４２１、４３１、４４１、４５１、４６１等を表す。
【０１２３】
リンクは次の通りである。
【０１２４】
４ｘ１：フィードフォワード入力。この入力は概して多次元データ配列であるが、ＳＱノードは単一次元信号のみを入力とみなす。
【０１２５】
４ｘ２：フィードフォワード（ＦＦ）出力。この出力は概して多次元データ配列である。４ｘ３：フィードバック（ＦＢ）入力。この入力は概して多次元データ配列である。４ｘ４：フィードバック（ＦＢ）出力。この出力は概して多次元データ配列であるが、ＳＱノードは単一次元信号のみ出力する。このリンクを通じて出力された値は、リンク４ｘ５を通じてタイムマスターがトリガーする操作に応じて、フィードバック信号と予測信号のどちらにもなり得る。４ｘ５：制御信号。このリンクを通じて、タイムマスターモジュール（２３０）がノードの内部機能を制御／トリガーする。各ノードに対して、フィードフォワード内部状態のみの更新や、訓練モードの切り替え、ある予測データの出力等を、何度も要求することができる。
【０１２６】
４ｘ６：リセット信号。個々の特定ノードに関する上記の詳細説明を参照。
【０１２７】
４ｘ７：状態一貫性チェック信号。各ノードは、各自のＦＢ入力信号（４ｘ３）と各自のＦＦ出力信号（４ｘ２）に何らかの一貫性／整合性があるかについて、このリンクを介して伝達する。この信号は、現在の「状況」に関する各ノードの理解度を表す。
【０１２８】
フィードバック計算経路を有する空間プール化ノード（ＳＰ）４１０は、少なくともタイムマスター２３０のサポートを追加している点で、既知の（数ある中でも）Ｎｕｍｅｎｔａ社の実装とは異なる。この空間プール化ノードの一般的挙動では、多次元入力を受け取り、受け取った入力から再帰的な空間関係を発見し、入力空間をサンプリング及び／又は量子化する。人工記憶システム１００は、学習モード時に同時発生事象及び／又は発生事象を（最大ｍａｘＣｏｉｎｃＮまで）保存し、保存した事象からの距離がｍａｘＤｉｓｔ以上の場合に新しい同時発生事象を追加する。距離測定値は、ユークリッド距離その他の適切な距離測定値であってよい。推論モード（フィードフォワード）では、空間プール化ノードは、現在の入力及び全ての保存済み同時発生事象からの距離を計算して、学習済み同時発生事象の確率分布をＦＦ出力信号として提供する。同時に、当然ながら、現在の入力との類似度が比較的高い学習済み同時発生事象はどれかを知らせる。推論モード（フィードバック）では、ＦＢ入力信号内で最も高い活性化値を探すことにより、勝者である同時発生事象のインデックスを決定する。次に、対応する同時発生値を内部メモリから取り出し、ＦＢ出力信号にコピーする。今後の修正では、ＦＢ出力信号を別の方法で計算する可能性がある（例えば、活性化値を重みとして使用することにより、活性化した全ての同時発生事象の加重平均を計算するなど）。その場合、学習後の同時発生事象から取得した値とは異なるフィードバック値を取得できる可能性がある。
【０１２９】
図９は、信号量子化ノード４２０の量子化メカニズムを示す。図の例では、入力信号の範囲を［−２：０；２：０］、予め設定された同時発生数を１３と仮定している。この信号量子化ノード（ＳＱ）４２０は、Ｎｕｍｅｎｔａ社の実装から既知となったものではない。信号量子化ノードの目的は空間プール化ノードの目的と似ているが、より効果的に単一次元入力信号を処理するように設計されている。信号量子化ノードは、既知の範囲の１Ｄセンサデータを処理することに特化した、全く新しいノードである。このノードは、量子化の中心／レベルを完全に管理し、ゆえにフィードバック出力の質を向上させる目的で、ある一定の入力範囲内の静的に事前定義された同時発生事象を使用する。このノードのパラメータは次の通りである。ｍａｘＣｏｉｎｃｉｄｅｎｃｅＣｏｕｎｔ：所望される同時発生事象の所定の数、ｍｉｎｌｎｐｕｔＶａｌｕｅ：入力範囲の下限、ｍａｘｌｎｐｕｔＶａｌｕｅ：入力範囲の上限、ｓｉｇｍａ：ＦＦ出力信号計算に使われるガウス分布のシグマ値、ｍｉｎＯｕｔｐｕｔＶａｌｕｅ：単一ＦＦ出力要素の最小出力値。下側活性化値はゼロにされる（ＦＦ出力信号を「クリーン」に保ち、且つ実行時間を短縮するため）。信号量子化ノード４２０は、一度ノードのパラメータが設定されれば、このノードが機能するのに必要なものが他になくなるため、学習段階は不要であり、他方、推論モード（フィードフォワード）では、所望される同時発生事象の事前定義された数に基づき、指定された入力範囲を均一に量子化する。実際には、最初と最後の同時発生事象が特別である。これらの同時発生事象は、入力値が指定範囲内に収まらない場合に活性化する。この場合、隣接する量子化中心間の距離がひとたび計算されれば、勝者となる同時発生事象のインデックスの計算は単純になる。このノードを今後さらに専門化する中で、入力範囲を非線形に量子化することも想定されており、その場合、信号範囲の特定の部分区間で一層細かい量子化を必要とする信号などに対して利点を提供できる可能性がある。下記のリストは、勝者となる同時発生事象のインデックスの計算例である。
【０１３０】
ｍｉｎｌｎｐｕｔＶａｌｕｅ＿  ／／入力範囲の下限
ｍａｘｌｎｐｕｔＶａｌｕｅ＿  ／／入力範囲の上限
ｍａｘＣｏｉｎｃｉｄｅｎｃｅＣｏｕｎｔ＿  ／／同時発生事象の事前定義された数
ｉｎｐｕｔＶａｌｕｅ  ／／現在の（生の）入力値
ｃｏｉｎｃｉｄｅｎｃｅＩＤ  ／／親ノードへのＦＦ出力値
ｄｉｓｔａｎｃｅ＿  ＝  （ｍａｘｌｎｐｕｔＶａｌｕｅ＿  −  ｍｉｎｌｎｐｕｔＶａｌｕｅ＿）  ／  （ｍａｘＣｏｉｎｃｉｄｅｎｃｅＣｏｕｎｔ＿  −  ３）；
ｉｆ  （ｉｎｐｕｔＶａｌｕｅ  ＞  ｍａｘｌｎｐｕｔＶａｌｕｅ＿）
ｃｏｉｎｃｉｄｅｎｃｅＩＤ  ＝  ｍａｘＣｏｉｎｃｉｄｅｎｃｅＣｏｕｎｔ＿  −１  ；
ｅｌｓｅ  ｉｆ  （ｉｎｐｕｔＶａｌｕｅ  ＜  ｍｉｎｌｎｐｕｔＶａｌｕｅ＿）
ｃｏｉｎｃｉｄｅｎｃｅＩＤ  ＝  ０；
ｅｌｓｅ
ｃｏｉｎｃｉｄｅｎｃｅＩＤ  ＝  （ｉｎｔ）  ｒｉｎｔ（  （ｉｎｐｕｔＶａｌｕｅ  −  ｍｉｎｌｎｐｕｔＶａｌｕｅ＿）  ／  ｄｉｓｔａｎｃｅ＿  ）  ＋  １．
【０１３１】
信号量子化ノード４２０の利点は、事前に定義される同時発生事象にあり、これにより、量子化誤差が最小化され、全ての同時発生事象からの距離の計算が不要となることから実行が高速化し、生の信号値に正比例する同時発生インデックスが得られ、さらに、これらの利点は予測にも有用となる。
【０１３２】
図１０は、基本的ネットワークノードで使用される時間プール化ノード４３０の内部データ構造を示す。Ｎｕｍｅｎｔａ社の実装と異なり、本発明で使用する時間プール化ノードは、フィードバック計算経路を有し、分離を改善するための、リセット信号の意味を再定義する特別なメカニズム（例えばマーカー）と、タイムマスターのサポートと、予測用にノードの内部状態を保存するスタックと、が追加されている。この時間プール化ノードは多次元入力（同時発生空間）を受け取り、入力シーケンス間の時間的関係を発見する。学習モード時の時間プール化ノード４３０は、各内部状態が個々の入力同時発生事象と対応付けされた有限状態機械（ＦＳＭ：finite state machine）と表現するのがおそらく的確である。同一の入力同時発生事象に対して様々な行き先状態を（現在状態に基づいて）指定できるようにするため、状態遷移表も維持される。新しい入力があるたびに、時間隣接行列（ＴＡＭ：time adjacency matrix）を更新して、「前の状態→現在状態」の遷移カウンタを増加させる。リセット入力４３５（アクティブになっている場合）は、遷移のマーキングをスキップできる。これにより、特定の入力シーケンスの始まり／終わりをより良好に明示でき、最終ＴＡＭにおいて他のシーケンスとつながっているように見えるのを防止できる。
【０１３３】
このノードに対し、分離メカニズムをトリガーする高度に相互接続した状態があるかどうかを定期的にチェックするよう要求することができる（図１１Ａを参照）。分離状態があれば、入力同時発生事象の一部（部分シーケンス）を共有する様々なシーケンスを分離することが可能になるので、グループ化アルゴリズムが異なるシーケンスを異なるグループとして識別するのに役立つ。ＴＡＭは、各分離試行の後、新しい内部状態が導入される可能性あるためリセットされる。分離メカニズムを使用した場合でも、同じ開始部分を共有する２つの異なる連鎖を分離することはできない。このため、グループ化の段階になると、図１１ｂに示す状況が発生する可能性が非常に高い。この問題を理解しやすくするには、全く同じ歌い出しから異なる「方向」を取る２つの歌を考えるとよい。この場合、違った部分を除く先頭部分から、できるだけ早い時点で２つの歌を候補として識別できる必要がある。図１１ｂが表すものとは全く異なる。先頭部分から識別できる歌は２つの歌のうち一方だけ（唯一の候補）であり、分化した後でなければ、もう一方が正しい歌であったことを発見できない。グループ化が関係する問題は、ａ）先頭部分を共有する２つの個別のシーケンス／イベント、ｂ）現在のグループ化アルゴリズムから得られるグループ、ｃ）連鎖が完全に分離した状態の望ましいグループである。
【０１３４】
図１２は、時間プール化ノードにおいてマーカーを用いる分離メカニズムを図解したものである。一部重なり合う連鎖をより適切に分離するため、我々は、リセット信号４３５を新たなやり方で使用できる新しいメカニズムを導入した。ここでは、多くの様々なリセット指令を指定して、リセット入力チャンネルに様々な値を設定することができる。各リセット値は別々のマーカーと関連付けられる。マーカーとは、同時発生事象と対応付けされていないノード内部状態である。この特定の学習モードでは、リセット信号ｘを受信するたびに、（「前の状態→現在状態」でなく）「マーカーｘ→現在状態」という遷移がマーキングされて、関連事象の始まりであることを知らせる。その結果、図１２に示す状況が得られる。２つの異なる事象が入力シーケンスの先頭部分を共有していても（図１２ａ）、２つの異なるマーカーでマーキングされれば（図１１ｂ）、分離アルゴリズムは２つの連鎖を完全に分離できるので、グループ化アルゴリズムでは、マーカーを破棄すれば２つの個別グループを正しく形成することができる（図１２ｃ）。学習後の段階において、学習段階の直後のステップはいわゆる「グループ化」である。グループ化の目的は、訓練時に見られた最も頻繁な（目立つ）入力シーケンスを表す内部状態のグループを発見することである。この目的で、ＴＡＭを連結グラフとして使用し、この連結グラフから、高度に連結した状態を抽出しグループ化する。したがって、個々の単一グループは複数の（内部）状態の集合であり、この集合は、内部状態の連結の程度を指定する独自の下位ＴＡＭを備える。個々のグループをマルコフ連鎖ととらえることもできる。この段階で使用可能なアルゴリズムとして、階層型グルーピング、成長等のいくつかのアルゴリズムがある。推論モード（フィードフォワード）では、ＴＰノードは、現在の入力シーケンスの所属先グループを算定しようとするが、実際には、複数グループに対する確率分布を提供している。ＦＦoutput４３２は、学習済みグループに対する確率分布を提供する。図１０を参照すると、タイムマスター２３０がＴＰノードにＦＦ経路の更新を要求するたびに、以下の計算が実行される。フィードフォワード内部状態αは次式で更新される。
【０１３５】
【数１】
2018129062.tif 000003
【０１３６】
式中、ｎsはＴＡＭの内部状態の数であり、Ｃは、個々の状態とそれに対応する同時発生事象インデックスとを対応付ける関数である。次に、グループの状態の中で最も高い活性化値として、各グループの活性化値を次式により計算する。
【０１３７】
【数２】
2018129062.tif 000004
【０１３８】
式中、ｎgは、学習段階中にノードが学習したグループの数である。最終的に次式となる。
【０１３９】
【数３】
2018129062.tif 000005
【０１４０】
推論モード（フィードバック）において、フィードフォワード経路に採用された推論メカニズムがＦＢinput４３３を使用するように拡張されて、内部状態に対して計算された確率分布をさらにフィルタリングする。ＦＢoutput４３４は、入力された同時発生事象に対する確率分布を提供する。図１０を参照すると、タイムマスター２３０がＴＰノードにＦＢ経路の更新を要求するたびに、以下の計算が実行される。フィードバック内部状態（β）は次式で更新される。
【０１４１】
【数４】
2018129062.tif 000006
【０１４２】
式中、ｎsはＴＡＭの内部状態の数であり、Ｃは各状態とのその対応する同時発生事象インデックスとを対応付ける関数であり、Ｇは各状態とその所属先グループのインデックスとを対応付ける関数である。次に、各同時発生事象と対応付けされたＴＡＭの全ての内部状態の総和を取ることにより、当該同時発生事象の活性化値を次式により計算する。
【０１４３】
【数５】
2018129062.tif 000007
【０１４４】
式中、ｎcは入力された同時発生事象の数である（ＦＦin次元）。最終的に次式となる。
【０１４５】
【数６】
2018129062.tif 000008
【０１４６】
図１３は、強制的時間プール化ノード４４０の内部データ構造を示す。Ｎｕｍｅｎｔａ社の実装と異なり、このノードは通常の時間プール化ノード４３０の異型である。異なる入力シーケンスを異なるグループ（例えば信号の原形）として直接ノードに「教える」ことを可能にする目的で、「強制的学習」モードを追加した。ＦＦoutの安定性を高め、グループ／原形の追従を改善する目的で、推論過程も修正した（「強制的推論」モードを追加）。ここでは、提供された原形／グループ／シーケンスをノードが「そのまま」学習し、内部状態（及びそのシーケンス）が「手渡し」で与えられる。さらに、グループとそのサイズが予想と全く同じ結果となり、複雑なグループ化や分離操作は不要となる。
【０１４７】
学習モードでは、新しい入力があるたびに、ＴＡＭに対して新しい内部状態が作成される。この新しい状態が現在の入力同時発生事象と対応付けされ、さらに、リセット信号がアクティブでなければ、前の状態からの遷移が内部遷移表に追加され、ＴＡＭにマーキングされる。このようにして、分離アルゴリズムが不要になる。同時に、グループ化が非常に単純で容易になる。すなわち、どの状態も前の状態と次の状態をそれぞれ１つだけ有し、複数の異なる連鎖は、リセット信号により分離状態を保つ。
【０１４８】
推論モード（フィードフォワード）では、この「強制的推論」は、時間プール化ノード４３０の中で使われる本来の推論とは全く異なる。ここでの目的が追従／合図すべきグループをできるだけ少なくして、同時にＦＦoutputをできるだけクリーン且つ安定した状態に保つことであるため、グループの部分集合（アクティブグループ、ＡＧ）のみを繰り返し更新し続ける。他の全てのグループに属する状態は、非活性の状態に維持される（活性化値をゼロに設定）。このアプローチにより、「複数の活性化」、すなわち、この種のノードが複数の同等確率のグループを同時に知らせることが可能になる。各アクティブグループに対し、タイムステップごとに、次に予想される同時発生事象の活性化が点検されてＦＦinputに書き込まれ、次の状態の活性化値が次のように計算される。
【０１４９】
【数７】
2018129062.tif 000009
【０１５０】
式中、Ｃは各状態とその対応する同時発生事象インデックスとを対応付ける関数であり、Ｎは引数の所属先グループの中の次の状態を返す関数であり、Ｇは、特定グループの現在の状態（最高の活性化値を有する状態）のように各状態とその所属先グループのインデックスとを対応付ける関数であり、Ａsは全てのアクティブ状態の集合であり、Ａgはアクティブグループのみを含む集合である。
【０１５１】
同時に、全グループの活性化値が次のように更新される。
【０１５２】
【数８】
2018129062.tif 000010
【０１５３】
式中、ｎgは学習段階中にノードが学習したグループの数であり、Ｇは、新しく計算されるａsとＡgに関して、各状態とその所属先グループのインデックスとを対応付ける関数である。アクティブグループの活性化値がゼロに降下するたびに、当該グループが集合Ａgから削除される。集合Ａgが空になるたびに、新たな「投票」が実施されて、アクティブになり得るグループの新規集合が選択される。この目的で、現在の入力同時発生事象に対応付けされている状態を含むグループだけが考慮され、この状態とグループ連鎖先頭の間の距離に基づいて、別の票が別のグループに割り当てられる。このように、グループの末端近くでランダムにグループがピックアップされるのでなく、グループの先頭から追従されるので、ＦＦoutputの安定度がはるかに増す。
【０１５４】
推論モード（フィードバック）では、ＦＢoutput４４４が入力同時発生事象に対する確率分布を提供する。図１３を参照すると、タイムマスター２３０がノードにＦＢ経路の更新を要求するたびに、以下の計算が実行される。フィードバック内部状態（β）を更新するには、ＦＦoutputとＦＢinputの間の共通部分が計算される。何らかの一致がある場合（すなわち共通部分が空でない場合）、共通部分から得られるグループの中から勝者グループが選択される。それ以外の場合は、制御信号４４５を介して選択される機能モードに基づいて、ＦＦoutputのみ又はＦＢinputのみから、ノードが勝者グループを選択できる。勝者グループｗgが選択された後は、そのグループの状態の活性化値が次式によりαからβにコピーされる。
【０１５５】
【数９】
2018129062.tif 000011
【０１５６】
式中、ｎsはＴＡＭの内部状態の数であり、Ｇは、各状態とその所属先グループのインデックスとを対応付ける関数である。次に、Ｂｅｌ状態の中の、最も高い活性化値ｗsを有する状態に対応する同時発生事象ｗcだけをマーキングする。
【０１５７】
【数１０】
2018129062.tif 000012
【０１５８】
式中、ｎsはＴＡＭの内部状態の数であり、Ｃは、個々の状態とそれに対応する同時発生事象インデックスとを対応付ける関数である。最終的に次式となる。
【０１５９】
【数１１】
2018129062.tif 000013
【０１６０】
強制的時間プール化４４０の利点は、訓練が簡単／短時間になり、ＦＦ推論（ＦＦout）の安定性がはるかに高くなり、ワイヤードメモリレベル３１０の内部で使用すれば信号の原形を認識でき、イベントプール化ノードの子ノードとして非常によく適していることである。
【０１６１】
図１４は、イベントプール化ノード４５０の内部データ構造を示す。ここで、ｃiは入力同時発生事象を表し、ｓiは内部状態（様々なグループに所属し得る多くの状態を同一の同時発生事象と対応付けしてよい）を表し、ｇiは、多くの状態Ｓjで構成されるグループであって、各々の状態は単一の入力同時発生事象Ｃkと対応付けされるグループを表す。各状態は（排他的に）１グループにのみ属し、αは現在のフィードフォワード内部状態を格納し、αstackは、状態αを保存し復元するために使われるメモリスタックであり（主に予測目的で使用）、αiは状態ｓjのフィードフォワード活性化値を格納し、βは現在のフィードバック内部状態を格納し、βstackは、状態βを保存し復元するための使われるメモリスタックであり（主に予測目的で使用）、βiは状態ｓjのフィードバック活性化値を格納する。新しいデータ構造である状態永続性行列（ＳＰＭ：State Permanence Matrix）を用いて、学習段階で決定される各内部状態の永続性統計情報を保存する。ＳＰＭiは状態ｓiに関して決定される平均永続度μi、及びその相対標準偏差σiを格納し、ρは「同時発生事象がグループを指す」確率を格納し、ρiは、（状態ｓiと対応付けされている）同時発生事象ｃjが、入力とみなされた場合にグループｇr（ｓiを格納）を指す確率を表す（統計情報は学習中に収集されるが、ただし他の複数のグループに属する他の複数の状態が同一の同時発生事象と対応付けられることがあり得る）。言い換えれば、ρは、同時発生事象ｃjを入力とみなした場合に、知らせるべき正しいグループがｇrである確率を表す。τは「状態永続性」確率を格納し、τiは状態ｓiの形で残る確率をガウス分布としてモデル化する。その計算と更新は、（学習時に決定され）ＳＰＭの中に保存されている統計情報μiとσiに基づいて、且つ対応する同時発生事象ｃjが最初に入力とみなされた時から経過したタイムステップ数に基づいて行われる。現在の入力がｃjでない場合はゼロに設定される。δは状態の減衰期間を格納し、δiは状態ｓiの永続性と関連付けられている減衰期間を表す。δは、生体神経回路網にも存在するメカニズムを模倣するものである。
【０１６２】
その目的は、入力シーケンス（又はイベント）をより賢く学習することである（使用メモリをごく少量に維持し、推論時により適切に一般化できるようにする）。イベントプール化ノードは、ネットワークの高位レベル内でイベントをより適切にモデル化するように（例えば、主要情報が空間でなく時間に存在する通常のメモリレベル３２０の内部で使用するように）設計されている。この目的で、このノードの内部では、新規概念の状態が使われている。子ノードがきわめて安定したＦＦoutを提供でき、同一の同時発生事象を何度も連続的に知らせると考えるのは妥当であるようなので、ある同時発生事象の時間に存在する「期間」を表す状態を持つことは合理的である。したがって、時間プール化ノード４３０のように一時点のみを表すのでなく、ある状態は多くの時点を表すことができる。この新しい状態定義は、長い入力シーケンスを保存し呼び出すノードの能力を改善するものであり、時間に存在する複雑なイベントを表すのに必要なＴＡＭが非常に小さくなる（メモリのスリム化）。
【０１６３】
各内部状態を「イベント」と呼ぶことができ、このイベントは、学習段階中に決定されＳＰＭ内に保存される平均期間で特徴付けられる（可変時間メカニズム）。推論段階中、ＴＡＭとＳＰＭを併用して新しいイベント連鎖を追従する。なお、時間プール化ノード４３０に関して上記で説明した修正学習モード（マーカー利用）を、このノードに使用することも可能である。
【０１６４】
学習モードでは、時間プール化ノード４３０の内部で発生することと異なり、新しい入力があるたびにＴＡＭ内の遷移をマーキングすることはない。実際に新しい遷移をマーキングするのは、下方からの証拠に「変化」が検出されたときだけである。すなわち、新しいイベントの始まりがＦＦinputでトリガーされているときのみ、新しい遷移をマーキングする。下方からの証拠の「変化」を検出するように設計された特殊メカニズムについては、次のサブセクションで説明する。ＦＦinput内部に変化が検出されない間は、現在のイベントが続く時点の数（期間）に関する統計情報を収集し、この情報は後の推論段階で使われる。分離メカニズムも、通常の時間プール化ノード４３０に関して説明されている目的と同じ目的で使われる。この場合、より単純な連鎖の形成が予想されるという理由で、より「果敢」な分離アルゴリズムを使用することも可能である。加えて、永続性統計情報に基づく状態分離も使用可能である。
【０１６５】
多くの場合、子ノードは、各々のＦＦoutputを通じて同時に複数の勝者グループを知らせると仮定できる。一般にこれを「多重活性化」（multiple-activations）と呼ぶ。このことは特に、子ノードが強制的時間プール化ノード４４０である場合に当てはまる。後続の多重活性化に着目すると、いくつかのアクティブグループが連続的タイムステップに渡って持続する一方で、他のアクティブグループは同じ期間中に出現し消滅するという事象が頻繁に発生する。したがって、連続した多重活性化をフィルタリングして、勝者であり続けるグループのみを抽出することは理にかなっている。一連の多重活性化から（全ての）持続グループが消滅したときに限り、「イベント」をトリガーしてＴＡＭ内に新しい遷移をマーキングすることは意味をなす。この挙動を得るには、連続した多重活性化間の共通部分を更新し点検して、共通部分が空になったときのみイベント変化を知らせればよい。表１は、学習段階中にイベントプール化ノード４５０のＦＦinputを通じて受け取る多重活性化の例を示す。１列目は現在のタイムステップを表し、２列目は、子ノードがそのＦＦoutputを通じて知らせた勝者グループの集合を示す。「共通部分」の列は、前のタイムステップから更新され続けている仮説上の「共通部分」の現在の内容を表す。この共通部分が空となるたびに（ステップ３３、４１、４８）イベント変化が合図され、共通部分自体が、入力とみなされる現在の多重活性化へと再初期化され、繰返し回数の「カウンタ」がゼロになる。イベント変化が知らされたときに以前のイベントの期間を提供できるようにするため、共通部分が空にならない限りは、同じ繰返しカウンタの数字が増加する（列ｎrepを参照）。末尾の列（「マーキングすべき遷移」）は、このサンプル入力シーケンスの間にＴＡＭにマーキングされるべき遷移のみを示す（入力ステップ数と比べて遷移は明らかに少数である）。
【０１６６】
【表１】
2018129062.tif 000014
【０１６７】
学習例として、以下の入力シーケンスが通常の時間プール化ノードに提示された場合、
１１１１２２２３３３３３３４４
（適切な分離ステップの後）以下のシーケンスを学習すると言える。
（１）→（１）→（１）→（１）→（２）→（２）→（２）→（３）→（３）→（３）→（３）→（３）→（３）→（４）→（４）
【０１６８】
各一対の括弧はノードの内部状態を表し、括弧内の数字は、個々の状態と対応付けされた同時発生事象を指定する。
【０１６９】
これと異なり、イベントプール化ノード４５０は以下のシーケンスを学習する（この場合は分離する必要が全くない）。
（１；４；１）→（２；３；１）→（３；５；１）→（４；２；１）
【０１７０】
各一対の括弧はノードの内部状態を表し、１番目の数字は個々の状態と対応付けされた同時発生事象を指定し、２番目の数字（太字）は当該同時発生事象の学習中に見られた連続した繰返し回数の平均を表し、３番目の数字（斜体）は、平均繰返し回数（２番目の数字）の計算に使われたサンプルの標準偏差（この場合、シーケンス例を１回だけ「提示」したと仮定しているので常に１となる）を指定する。
【０１７１】
これと異なり、訓練データ内に以下の２つのシーケンスが（おそらく、それぞれ複数回）含まれているとすると、
．．．
１  １  １  ２  ２  ２  ２  ２  ４  ４
．．．
１  １  １  １  １  １  ２  ２  ４  ４
．．．
イベントプール化ノード４５０は以下のシーケンスを学習することになる。
（１；４．５；１．５）→（２；３．５；１．５）→（４；２；１）
この場合、一部の状態の分散が１より大きい。
【０１７２】
推論モード（フィードフォワード）では、ＦＦoutput４５２が学習済みグループの比例分布を提供する。図１４を参照すると、タイムマスターがノードにＦＦ経路の更新を要求するたびに、以下の計算が実行される。入力動態に基づき、下記の通り２種類の挙動を用いてフィードフォワード内部状態（α）を更新する。
【０１７３】
１．下方からの証拠の変化が検出された場合、ＥＰ４５０は、通常の時間プール化ノード４３０で使われるのと同一の式を用いて内部状態を更新し、ゆえに全ての内部連鎖を１ステップ前に動かす。
【０１７４】
【数１２】
2018129062.tif 000015
【０１７５】
式中、ｎsはＴＡＭの内部状態の数であり、Ｃは、個々の状態とそれに対応する同時発生事象インデックスとを対応付ける関数である。
【０１７６】
２．下方からの証拠が持続している場合、学習中に収集した統計情報を用いて、現在アクティブとなっている内部状態の動作をモデル化する。
【０１７７】
【数１３】
2018129062.tif 000016
【０１７８】
式中、ｉ∈Ａsであり、Ａsは、現在アクティブのグループからのみ取得した最もアクティブな状態（勝者である状態）を格納し、ｎrepは、現在の入力同時発生事象の繰返しが開始した時から経過したタイムステップ数であり、μiとσiは、状態ｓiと関連付けされたＳＰＭiから取り出された繰返し統計情報であり、ＤｅｃａｙＳｐｅｅｄは減衰率であり、Ｃは、各状態とその対応する同時発生事象インデックスとを対応付ける関数である。現在のところ、ＤｅｃａｙＳｐｅｅｄはグロバールパラメータ（ある一定レベルで求められるイベントの期間に応じて見出されるパラメータ）であるが、今後の開発に伴い、選択値を学習段階に直接埋め込むことが可能になる。
【０１７９】
この後、各グループの状態の中で最も高い活性化値として、各（アクティブ）グループの活性化値を次式により計算する。
【０１８０】
【数１４】
2018129062.tif 000017
【０１８１】
式中、ｎgは、学習段階中にノードが学習したグループの数である。最終的に次式となる。
【０１８２】
【数１５】
2018129062.tif 000018
【０１８３】
推論モード（フィードバック）では、ＦＢoutput４５４が入力同時発生事象に対する確率分布を提供する。図１４を参照すると、タイムマスターがノードにＦＢ経路の更新を要求するたびに、以下の計算が実行される。フィードバック内部状態（β）は次式で更新される。
【０１８４】
【数１６】
2018129062.tif 000019
【０１８５】
式中、ｎsはＴＡＭの内部状態の数であり、Ｇは、各状態とその所属先グループのインデックスとを対応付ける関数である。次に、各同時発生事象と対応付けされたＴＡＭの全ての内部状態のうちの最大値を取ることにより、各同時発生事象の活性化値を次式により計算する。
【０１８６】
【数１７】
2018129062.tif 000020
【０１８７】
式中、ｎcは入力同時発生事象の数である（ＦＦin次元）。最終的に次式となる。
【０１８８】
【数１８】
2018129062.tif 000021
【０１８９】
強制的時間プール化ノード４４０が通常のプール化ノード４３０の異型であるのと全く同様に、図８に示す強制的イベントプール化ノード（ＦＥＰ：Forced Event Pooler）４６０は上記イベントプール化ノード４５０の異型である。
【０１９０】
図１６は、量子化された信号を処理する平滑化ノード４７０の出力例を示す。平滑化ノード４７０の目的は、量子化の影響から回復するために信号をフィルタリングして、信号を「スムーズ」にすることである。例えば、信号量子化ノード４２０のフィードバック出力をフィルタリングすることにより、量子化の影響を何らかの形で隠す、或いは量子化の影響から回復することができる。この操作は、ワイヤードメモリレベル３１０の内部で（任意に）使われる方法そのものである。
【０１９１】
図１７〜２０は、本発明の上記実施形態のいずれかによる人工記憶システムの応用の機能ブロック図をさらなる実施形態の形で示し、図２１〜２２は別の方法を示す。
【０１９２】
以下、図１７を参照して説明されるＡＭＳシステムの具体的展開例を説明する。図に示すシステム例の構成要素は次の通りである。１００：人工記憶システム（ＡＭＳ）。１０１：ＡＭＳに至る入力信号バス。１０２：ＡＭＳの高位レベル分類結果。１０４ａ：現在の入力に対するＡＭＳの状態に従ってＡＭＳが生成したフィードバック信号。１０４ｂ：ＡＭＳの状態及びモジュール１４０から送られる制御信号に従ってＡＭＳが生成した予測信号。１０５：ＡＭＳ内制御信号の入力バス。１０６：ＡＭＳ内リセット信号の入力バス。１０７：ＡＭＳが生成したコンテキストチェック信号。この信号は、現在の入力に対するメモリの一貫性性能インデックスを与える。１１０：周辺環境感知モジュール。ツール近くの環境を感知するセンサ群が組み込まれている。１１１：モジュール１１０が生成する信号の出力バス。１２０：ツール動態センサモジュール。人間からの指令で生じるツールの動的応答を感知するためのセンサ群を含む。１２１：モジュール１２０が生成する信号の出力バス。１３０：人間指令モジュール。人間がコントローラを介してツールに与える生の指令を感知するためのセンサ群が組み込まれている。１３１：モジュール１３０が生成する信号の出力バス。１４０：ツールＩ／Ｏインタフェース：人間はこのインタフェース（例えばダッシュボード）を介してツールの動作を制御できる。１４１：出力制御指令バス。様々なタスクを実現する目的で、モジュール１４０からＡＭＳに多くの制御信号を送信できる。１４２：モジュール１５０に至る出力信号制御線。１４３：モジュール１４０と関連付けられたデータベース。ＡＭＳ内で読み込み／更新ができる様々な熟練者挙動パターンを保存する。１４４：モジュール１５０からの入力信号制御線。１５０：例外評価部コントローラモジュール。モジュール１００が発したコンテキストチェック信号を分析し、新規パターンの記録及び学習過程を制御する。１５１：モジュール１４０に送られる制御信号の出力バス。１５２：モジュール１４０から送られる制御信号の入力バス。１５３：モジュール１６０に送られる制御信号の出力バス。１５４：ゲート１７０、１７１、１７２に送られる制御信号の出力バス。１５５：モジュール１００から送られるコンテキストチェック信号の入力バス。１５６：モジュール１６０から送られる制御信号の入力バス。１５７：モジュール１４０から送られる制御信号の入力バス。１６０：パターン記録部モジュール。モジュール１００が使用する信号と同一の「生」の信号を保存する。モジュール１００から特定の制御信号を受信したときに、これらのパターンを記録する。１６１：保存用データベース。１６２：モジュール１５０に送られる制御信号の出力バス。１６３：モジュール１５０から送られる制御信号の入力バス。１６４：「生」の入力信号の入力バス。１７０：モジュール１１０とモジュール１００の間の通信を制御するゲート。１７１：モジュール１２０とモジュール１００の間の通信を制御するゲート。１７２：モジュール１３０とモジュール１００の間の通信を制御するゲート。
【０１９３】
本発明の継続的学習メカニズムの例として、以下、自動車分野における本システムの具体的展開例を説明する。この例では、「ツール」は自動車、「人間」はドライバーであるものとする。本システムには、「アクティブ」モードと「学習」モードの２つの動作モードがある。自動車を使用している状態が「アクティブ」モードであるのに対し、「学習」モードでは、好ましくは、自動車をガレージ又は適切な場所に駐車させエンジンを切った状態にある。「アクティブモード」では、モジュール１００は以下を感知する。
【０１９４】
−自動車近傍の環境。センサ群（カメラ、ライダー、ＧＰＳ、温度／湿度センサ等）を用いて感知する。
−人間の行動に対する自動車の動的応答（横加速、前面加速、速度等）。
−ドライバーの「生」の指令（ハンドル位置等）。
【０１９５】
人工記憶システムモジュール１００は、モジュール１１０、１２０、１３０で生成された信号をバス１０１を介して収集する。人工記憶システムモジュールは、自動車の挙動を表す記憶パターンを備えている。この記憶を利用することにより、人工記憶システムモジュールは、自動車から送られるセンサデータを分類、予測、又はフィルタリングして、計算結果を送り返すことができる。このモジュール１００を制御するにはモジュール１４０を使用する（例えば、分類の有効／無効、予測の有効／無効、様々なパターンの学習又はメモリへの読み込みを制御できる）。さらに、モジュール１００はコンテキストチェック信号をバス１０７上に生成する。この信号はメモリの内部の一貫性状態を表し、モジュール１００の出力が信頼できる時を明示する働きをする。モジュール１５０はモジュール１００からコンテキストチェック信号を受け取る。また、出力バス１５３を介してモジュール１６０に制御信号を送ることにより、現在の「生」の信号を、より深いオフライン分析用に記録することを決定することができる。モジュール１６０は、該当する信号を受け取った後、（バス１６４を介して受信する）「生」の入力信号をデータベース１６１に保存する。さらにモジュール１６０は、モジュール１６０の内部状態を報告するためモジュールと１５０と通信することができる。データベース１６１は、システム性能の改善に利用可能な、「生」の予期されない入力パターンを保存する。システムが「学習」モードに切り替えられると、ツールＩ／Ｏインタフェースは、バス信号１４２を介して例外評価部にこの変更を伝える。次に、バス１４１経由でＡＭＳの訓練モードを設定するため、例外評価部はモジュール１４０に向けて制御信号をトリガーし、モジュール１６０及びゲート１７０、１７１、１７２に制御信号を送る。パターン記録部１６０は、モジュールＡＭＳにパターンを学習させるため、データベース１６１に以前保存したパターンをモジュールＡＭＳに供給する。同時に、モジュール１１０、１２０、１３０とＡＭＳの間のゲートが開く。このようにして、ＡＭＳは自動車から提供される「生」の入力信号に応答せずに、１６０から送られるパターンに集中する。
【０１９６】
こうした信号の組み合わせにより、モジュールＡＭＳはパターン記録部モジュールから提供される新規パターンを学習する。この過程の間、例外評価部は、一貫性に関してシステムを調整するため、コンテキストチェック信号を点検して、一貫性のない状態がメモリにあるかどうかを確認する。
【０１９７】
以下、図１８を参照して説明されるＡＭＳシステムの具体的展開例を説明する。符号説明は次の通りである。
【０１９８】
１００：人工記憶システム（ＡＭＳ）。
２０１：上記実施形態の説明のようにＡＭＳに至る入力信号のバス。
２０２：ＡＭＳの高位レベル分類結果。
２０４ａ：現在の入力に対するＡＭＳの状態に従ってＡＭＳが生成したフィードバック信号。
２０４ｂ：ＡＭＳの状態及びモジュール２４０からの制御信号に従ってＡＭＳが生成した予測信号。
２０５：ＡＭＳ内制御信号用の入力バス。
２０６：ＡＭＳ内リセット信号用の入力バス。
２０７：ＡＭＳが生成したコンテキストチェック信号。この信号は現在の入力に対する整合性メモリ性能インデックスを与える。
２１０：周辺環境感知モジュール。ツール近くの環境を感知するセンサ群が組み込まれている。
２１１：モジュール２１０が生成する信号用の出力バス。
２２０：ツール動態センサモジュール。人間からの指令で生じるツールの動的応答を感知するためのセンサ群を含む。
２２１：モジュール２２０が生成する信号用の出力バス。
２３０：人間指令モジュール。人間がツールに与える生の指令を感知するためのセンサ群が組み込まれている。
２３１：モジュール２３０が生成する信号用の出力バス。
２４０：ツールＩ／Ｏインタフェース：人間はこのインタフェース（例えばダッシュボード）を介してツールの動作を制御できる。
２４１：モジュール２４０と関連付けられたデータベース。ＡＭＳ内で読み込み／更新ができる様々な認識パターンを保存する。
２４２：出力制御指令バス。様々なタスクを実現する目的で、モジュール２４０からＡＭＳに多くの制御信号を送信できる。
２４３：モジュール２５０からの入力信号制御線。
２４４：モジュール２５０に至る出力信号制御線。
２５０：認識評価部モジュール。ＡＭＳから信号２０２、２０４ａ、２０４ｂ、２０７を受け取り、この情報を用いてツール使用中のユーザーの認識を評価する。
２５１：モジュール２５０からの出力バス線。
２５２：モジュール２５０からの出力バス線。
２５３：モジュール２５０に至る入力バス線。ＡＭＳが受信する入力と同一の入力を受け取り、モジュール２５０がこの入力と信号２５４、２５５、２５６、２５７を併用して出力信号を生成する。
２５４：モジュール１００から送られる予測出力を伴う入力バス線。
２５５：モジュール１００から送られる分類結果出力を伴う入力バス線。
２５６：モジュール１００から送られるフィードバック出力を伴う入力バス線。
２５７：モジュール１００から送られるコンテキストチェック制御出力を伴う入力バス線。
２５９ａ：モジュール２４０から送られる信号用の入力制御線。
２５９ｂ：モジュール２４０に送られる信号用の出力制御線。
２６０：受動制御モジュール。モジュール２４０に制御されて、ツールのユーザーに対して一連の動作をする。
２６１：モジュール２６０からの出力バス線。
２７０：能動制御モジュール。モジュール２４０に制御されて、直接ツールに対して一連の動作をする。
２７１：モジュール２７０からの出力バス線。
【０１９９】
以下、（上記の実施形態で説明した）ＡＭＳの具体的展開例を説明する。この展開例は、自動車分野に属し、本発明の一実施形態であり、図１８を参照して説明される。
【０２００】
この例では、「ツール」は自動車、「人間」はドライバーであるものとする。モジュール２１０は、カメラ、ライダー、車線検出器、ＧＰＳ受信機といった物理的センサにより、自動車近傍の環境を感知する。
【０２０１】
モジュール２２０は、自動車の速度、横加速、及び／又は前面加速のような信号を収集する。モジュール２３０は、ドライバーが自動車に与える「生」の入力指令を感知する（例えばスロットルの絞り、ハンドルの位置等）。「ドライバー」は自律的ドライバーであってもよい。例えば、ドライバーの指令を、システムが読むことのできる適切な記憶媒体に格納されたコマンドの形で先験的に与えてもよい。指令とは、目的地、到着予想時間、予想燃料消費量、運転の仕方（攻撃的、スポーティ、穏やか）等である。また、実際の人間のドライバーが意図的にシステムにスイッチを入れ、加速、制動力、速度、燃料消費量等が当該ドライバーの通常の挙動その他の挙動に従うように指令を与えて、当該ドライバーを目的地まで動かすこともできる。
【０２０２】
指令がない場合には、システムが代行することも可能である。例えば、ドライバーが眠っていることが検出されれば、システムは車両を安全に停止させる。ドライバーが眠り込んだかどうかは、認識チェック部が検出できる。
【０２０３】
本発明の認識機能とドライバーの特性とを組み合わせて使うこともできる。初心者にとっての緊急事態は、Ｆ１レーサーには緊急事態でない場合もある。したがって本発明の実施形態は、ツール挙動の認識と、例えば運転挙動により決定されるドライバー特性とを組み合わせて使用する。
【０２０４】
モジュール１００はモジュール２１０、２２０、２３０から入力信号を受け取る。モジュール１００は、その内部記憶に従ってドライバーの挙動を評価する。モジュール１００は、運転スタイルを評価し（バス２０２）し、数秒先にドライバーが行うことを予測し（バス２０４ｂ）、指令の現在の入力パターンをフィルタリング及び／又は再構築する（バス２０４ａ）ことができる。さらに、予期されない挙動を明示している現在の入力に対して、モジュール１００の状態の一貫性を評価することができる（バス２０７）。
【０２０５】
モジュール１００は、自動車のダッシュボード等のツールＩ／Ｏインタフェース（モジュール２４０）を通じて、ドライバーと整備士の双方から制御信号を受け取ることができる。この種の信号を使用して、モジュール１００内部のメモリの状態を更新及び／又は修正することができる（例えば、ドライバーは自身の運転スタイルの予測を有効／無効にでき、整備士はＡＭＳに保存された認識パターンを更新できる）。
【０２０６】
モジュール２５０は、モジュール１００（信号２５４〜２５７）及びオリジナル信号２５３から入力を受け取り、提供された情報を用いて、ドライバーの認識規則群に従って評価を行う。このようにして出力信号２５１、２５２を生成する。モジュール２５０は、ダッシュボードの状態を適切に設定する目的で、モジュール２４０に通じる制御バスを備える。
【０２０７】
モジュール２４０は、内部状態を適切に設定する目的で、モジュール２５０に通じる制御バスを備える。モジュール２６０はモジュール２５０から制御信号を受け取り、ドライバーが意識し続けるようにドライバーに関する一連の動作をする（例えば、ドライバーの座席を揺らす、表示及び／又は音声によるアラームをオンにするなど）。
【０２０８】
モジュール２６０は、モジュール２５０から制御信号を受け取り、予期せぬ挙動を防止するため自動車のアクチュエータを駆動する。
【０２０９】
以下、（上記の実施形態で説明した）ＡＭＳの具体的展開例を説明する。この展開例は本発明の一実施形態であり、図１９を参照して説明される。
【０２１０】
１００：上記実施形態のいずれかに記載の人工記憶システム（ＡＭＳ）。
３０１：ＡＭＳに至る入力信号のバス。
３０２：ＡＭＳの高位レベル分類結果。
３０５：ＡＭＳ内制御信号用の入力バス。
３０６：ＡＭＳ内リセット信号用の入力バス。
３０７：ＡＭＳが生成したコンテキストチェック信号。この信号は、現在の入力に対するメモリの一貫性性能インデックスを与える。
３１０：周辺環境感知モジュール。ツール近くの環境を感知するセンサ群が組み込まれている。
３１１：モジュール３１０が生成する信号用の出力バス。
３２０：人間入力コントローラモジュール。コントローラを介するゲームプレイヤーの動作を感知する（ボタン押下、左右移動、不規則な揺り動かし等）。
３２１：モジュール３２０が生成する信号用の出力バス。
３３０：プレイヤー入出力インタフェース。この制御インタフェースを通じて、ゲームプレイヤーはモジュール１００の多くの挙動を変更できる（新しいゲームプロファイルをＡＭＳメモリに読み込むなど）。
３３１：多くのゲームプロファイルを保存するデータベース。世界中でこのデータベースを共有できる。
３３２：出力バス線。この線を通じてモジュール３３０がモジュール１００を制御する。
３４０：ＡＩゲームコントローラ。ゲームにおける仮想プレイヤーの人工知能コントローラを実装する。
３４１：モジュール３４０内戦略プランの出力バス。
３４２：３４０への入力コンテキストチェックバス信号。
３４３：３４０への入力戦略分類結果バス。
【０２１１】
以下、本発明の一実施形態として、エンタテイメントコンソールの内部にあり、（仮想テニスプレイヤー等の）ＡＩゲームアシスタントとして使われる一実施形態である上記ＡＭＳを、図１９を参照して説明する。
【０２１２】
モジュール３１０は、カメラ、ＩＲイルミネータ等のセンサ群を用いて、プレイヤー又はゲームプレイヤーの位置及び近傍の環境を感知する。
【０２１３】
モジュール３２０は、ゲームプレイヤーが人間入力／コントローラを用いて行う指令を感知する（ボタン押下、コントローラの揺り動かし、一方向への移動等）。
【０２１４】
モジュール１００は、モジュール３１０、３２０が生成した信号を受け取り、信号を分類して、ゲームプレイヤーのスタイル及び潜在的弱点を認識する。このタスクを遂行するため、ＡＭＳモジュール１００は、様々なゲームパターンを保存するメモリを備える。ＡＭＳ１００は、ゲームプレイヤーのスタイル（果敢、エキスパート、穏やか、初心者等）を認識でき、同時に、入力信号（３０１）とフィードバック間の一貫性を評価してプレイヤーの弱点を発見することができる。
【０２１５】
ゲームプレイヤーは、プレイヤー入出力インタフェースモジュール３３０を使って、ＡＭＳモジュール１００内に保存されたゲームパターンを更新／削除／変更できる。
【０２１６】
ＡＩゲームコントローラ３４０は、ＡＭＳモジュール１００で生成された信号（３０２、３０７）を使用することにより、相手と戦うための最善の戦略を計画する（そして、より向上したゲーム経験を生み出す）。
【０２１７】
コンテキストチェック信号３０７はプレイヤーの挙動レベルの弱点を提供するので、モジュール側では、プレイヤーをより困難なチャレンジに関与させるための行動をいつ、どのように遂行すべきかを知ることができる（例えばテニスゲームのゲームアシスタントは、プレイヤーはサービスが下手、右のレスポンスが悪い等を知ることができる）。スタイル分類信号３０２は、プレイヤーの全体的分類結果を提供する。ＡＩゲームコントローラモジュール３４０はゲーム経験向上のため難易度を自動で設定でき、ゲームプレイヤーが事前に選択する必要はない。
【０２１８】
この目標を達成できるようにＡＭＳ１００を訓練するには、訓練過程を以下のステップで構成することができる（ただし下記ステップに限定されない）。
【０２１９】
１．データの取得：様々な人々が多数のゲームをして全てのゲームプレイヤーのスタイルが実行される間、入力信号（例えばプレイヤー入力）をシステムに記録する。
２．データの前処理：統計的方法により記録データを分析して、様々なレベルの時間的複雑さにおけるプレイヤーの動きとスタイルを表す原形及びプロトタイプを抽出する。
３．データのラベル付け：所望されるゲームプレイヤーのスタイルに応じてプロトタイプにラベルを付ける。
４．データの複製：充分に分離するためデータを複製し、増強型階層メモリ２２０のレベルことに異なる訓練ファイルを作成する。
５．訓練：ＡＭＳ１００を訓練モードに切り替えて、ＡＭＳ１００の各レベルに訓練ファイルを供給する。
６．テスト：ＡＭＳ１００を推論モードに切り替えて、一部の記録データ及び予めラベル付けしたデータを供給する。ＡＭＳ１００出力とラベルを照合し、システムの精度を計算する。
【０２２０】
以下、（上記の実施形態で説明した）ＡＭＳの具体的展開例を図２０を参照して説明する。参照符号は次の通りである。
【０２２１】
１００：上記実施形態のいずれかに記載の人工記憶システム（ＡＭＳ）。
４０１：ＡＭＳに至る入力信号のバス。
４０２：ＡＭＳの高位レベル分類結果。
４０７：ＡＭＳが生成したコンテキストチェック信号。この信号は、現在の入力に対するメモリの一貫性性能インデックスを与える。
３１０：周辺環境感知モジュール。ツール近くの環境を感知するセンサ群が組み込まれている。
４１１：モジュール４１０が生成する信号の出力バス。
４２０：ツール／車両動態モジュール。このモジュールは、ツール／車両の動的応答を感知するセンサ群を備える。
４２１：モジュール４２０が生成する信号の出力バス。
４３０：人間入力コントローラモジュール。このモジュールは、人間が制御する乗り物（航空機、自動車、船／ボート等）のアクチュエータを感知する。
４３１：モジュール４３０が生成する信号の出力バス。
４４０：ブラックボックスコントローラモジュール。このコントローラは、モジュール１００と同一の信号に加えてバス４４３から送られる別の入力を、入力バス４４２を介して受信する。このコントローラは、バス４４３が警報を報告したときにバス４４２のデータを４４１に記録する。
４４１：潜在的な危険な４１０、４２０、４３０から送られる「生」の信号を保存するデータベース。
４４２：４１０、４２０、４３０から送られる「生」の信号を搬送する、モジュール４４０に至る入力バス線。
４４３：モジュール１００から送られるコンテキストチェック用の、モジュール４４０に至る入力バス線。
４５０：ブラックボックス書き込み部。モジュール１００から出力信号分類結果を受け取り、この分類結果を連続的に４５１に保存する。
４５１：モジュール１００で計算されたパターン分類結果を保存するデータベース。
４５２：信号分類結果を搬送する、モジュール４５０に至る入力バス線。
【０２２２】
以下、例えば、本発明の一実施形態であるブラックボックスにデータを提供することを目的とした、上記ＡＭＳの航空機内部の具体的展開例を図２０を参照して説明する。
【０２２３】
モジュール４１０は、センサ群により航空機周辺の環境を感知する。
【０２２４】
例えば、天候状態（温度、湿度、大気圧、明るさ等）、航空機正面の障害物の有無、ＧＰＳ位置等を感知することができる。モジュール４２０は、人間の行動に対する航空機の動的応答（対気速度、迎角、対地速度、方向安定性、フィート／分等）を感知する。
【０２２５】
モジュール４３０は、航空機のコントローラを介して航空機に与えられる人間の「生」の指令（操縦桿、スロットル、下げ翼の位置等）を感知する。モジュール４１０、４２０、４３０で生成された信号はバス４０１を介してモジュール１００に集められる。
【０２２６】
モジュール１００は、航空機の挙動に関する様々な記憶パターンを多数備えている。このようにして、モジュール１００は、「生」の入力情報を、航空機の状態を要約したより高位レベルの情報に圧縮して、バス４０２に送信することができる。同時に、メモリ内部のフィードバック信号とフィードフォワード信号の間に一貫性がない場合、モジュール１００はバス４０７に例外を投げる。このようにして、潜在的に危険な状況のような予期せぬ状況を検出することができる。
【０２２７】
ブラックボックスコントローラ（モジュール４４０）は、バス４４２から「生」の入力信号を受け取り、バス４３からコンテキストチェック信号を受け取る。ブラックボックスコントローラがバス４４３で例外を受け取った場合は、「生」の入力信号をデータベース４４１に保存する。保存した情報を後で取り出して、より深い分析に使用することができる。
【０２２８】
モジュール４５０は、モジュール１００で生成された分類結果出力をバス４５２経由で受け取り、データベースモジュール４５１に記録する。
【０２２９】
バス４４３に例外が生じたときに限り、モジュール４４０が「生」の信号をデータベース４４１に書き込むのに対し、モジュール４５０は分類データを連続的に書き込む。このシステムの最終目標は、情報を圧縮することにより、メモリ消費量を常に制御下に置き、航空機で起こっていることをよりよく理解することである。
【０２３０】
本発明はプロセッサシステムで実現することができる。処理システムには計算デバイスや処理エンジン（マイクロプロセッサ、ＦＰＧＡ等）が含まれてよい。本発明の実施形態又は請求項に記載のどの方法も、処理システムに実装することができる。このような処理システムには、少なくとも１つのメモリ形態を含むメモリサブシステム（例えばＲＡＭ、ＲＯＭ等）と連結した、少なくとも１つのカスタマイズ可能プロセッサ又はプログラム可能プロセッサを含めてよい。なお、単一又は複数のプロセッサは、汎用、特定用途のどちらかのプロセッサでもよく、デバイス（例えば、他の機能を実行する他のコンポーネントを有するチップ）に組み込まれるように作られたプロセッサであってよい。したがって、本発明の実施形態による方法の１つ以上の態様を、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせに実装することができる。処理システムには、少なくとも１つのディスクドライブ及び／又はＣＤ−ＲＯＭドライブ及び／又はＤＶＤドライブを有するストレージサブシステムが含まれていてよい。いくつかの実装では、ユーザーがパラメータ値等の情報を手動で入力できるようにするためのユーザーインタフェースサブシステムの一部として、ディスプレイシステム、キーボード、及びポインティングシステムを含めてよい。図１７〜２２を参照して説明されているデータ及び／又は指令の入力等のデータを入出力するためのポートを含めてよい。様々な種類の物理センサへの接続を可能にするネットワーク接続、各種デバイスとのインタフェース等のさらなる要素を含めてよい。処理システムの各種要素を、単純化のため単一バスとしてのバスサブシステムを経由させる等の様々な方法で連結してよいが、当業者は、このような連結を、少なくとも１つのバスからなるシステムを含むものと理解する。メモリサブシステムのメモリは、命令集合の一部又は全部をある時期に保持して、処理システム上で命令が実行されると、本明細書に記載の方法の実施形態のステップを実施することができる。
【０２３１】
本発明はコンピュータプログラムプロダクトを含んでもよく、このコンピュータプログラムプロダクトは、計算デバイス（例えば上記の種類のプロセッサ）上で実行されると、本発明による方法のいずれかの機能を提供する。本発明によるソフトウェアは、処理エンジン上で実行される場合、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャを提供するコードセグメントを含むことができ、この知覚／認知アーキテクチャは、抽象化、一般化、及び任意で学習を行うための構造とメカニズムを有する「メモリ予測フレームワーク」の実装に基づくものであり、この実装は、増強型人工階層記憶システムを備える。このソフトウェアは、前処理段階と協働するように構成されてよい。このソフトウェアは、実行時に、時間的イベントの管理に基づき入力操作者指令に関する予測を提供し、物理センサからの入力データを原形及び再帰パターンで表すように構成されてよい。
【０２３２】
本発明は、本発明によるソフトウェアを有するコンピュータプログラムプロダクトも含み、このソフトウェアは、処理エンジン上で実行される場合、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャを提供するコードセグメントを含んでよく、この知覚／認知アーキテクチャは、抽象化、一般化、及び任意で学習を行うための構造とメカニズムを有する「メモリ予測フレームワーク」の実装に基づくものであり、この実装は増強型人工階層記憶システムを備える。このソフトウェアは、前処理段階と協働するように構成されてもよく、その場合、物理センサからの入力データを原形及び再帰パターンで表すように構成される。このソフトウェアは、フィードフォワード信号及びフィードバック信号が流れるように構成されてよく、コンテキストチェックの度合いとしてフィードフォワード信号とフィードバック信号の間に対応関係を形成するように構成されてよい。
【０２３３】
本発明は、本発明によるソフトウェアを含むコンピュータプログラムプロダクトも含み、このソフトウェアは、処理エンジン上で実行される場合、ツール及び操作者の動的挙動と相互作用するための人工記憶を有する知覚／認知アーキテクチャを提供するコードセグメントを含んでよい。このアーキテクチャは、「メモリ予測フレームワーク」の諸構造を有する実装を基盤にしてよく、このソフトウェアは、抽象化、一般化、及び任意で記憶の学習を行うためのメカニズムを提供するように構成されてよく、この実装は増強型人工階層記憶システムを備える。このソフトウェアは、前処理段階と協働するように構成されてもよく、その場合、このソフトウェアは、物理センサからの入力データを原形及び再帰パターンで表すように構成され、物理センサからの入力に基づき、ツール及び／又は操作者の挙動に関するより高位レベルの圧縮された情報を出力するように構成される。
【０２３４】
上記のソフトウェアを、物理Ｉ／Ｏ層、増強型階層メモリ、タイムマスター、コンテキストチェック、教師ありゲート処理、システム制御部、及びユーザー制御Ｉ／Ｏ層を用いて使用するように構成してよい。物理センサ入力を、情報内容を修正せずに増強型階層メモリが管理できるフォーマットに変換するように、ソフトウェアを構成することができる。物理Ｉ／Ｏ層から受信する入力パターンのシーケンスを教育され、認識し、予測するように、ソフトウェアを構成することができる。物理Ｉ／Ｏ層が受信する物理センサ入力に基づき、より高位レベルの圧縮された情報を出力するように、ソフトウェアを構成することができる。
【０２３５】
また、分類結果出力及び／又はコンテキストチェックを出力するようにソフトウェアを構成してもよい。
【０２３６】
個別のカラムの形に配列したノード集合を提供するようにソフトウェアを構成してよく、この場合、各ノードカラムは少なくとも１つのイベントプール化ノードを含む。
【０２３７】
提供される上記少なくとも１つのイベントプール化ノードが子ノードとして空間プール化ノード又は強制的時間プール化ノードを有するように、ソフトウェアを構成してよい。
【０２３８】
各メモリレベルブロックが注意分類部と連結するように、ソフトウェアを構成してよい。
【０２３９】
提供される上記注意分類部が、制御部、ゲート処理、複数親ゲート処理、及び分類部のうちの少なくとも１つを備えるように、ソフトウェアを構成してよい。
【０２４０】
個別のカラムの形に配列したノード集合を少なくとも含むワイヤードメモリレベルブロックを提供するように、ソフトウェアを構成してよく、この場合、各ノードカラムは、少なくとも１つの信号量子化ノードと少なくとも１つの強制的時間プール化ノードとを備える。
【０２４１】
さらに、平滑化ノード及び／又は強制的イベントプール化ノードを追加的に含むノードカラムを提供するように、ソフトウェアを構成してよい。
【０２４２】
増強型階層メモリシステムを有する「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用するためのコンピュータ援用方法を提供するように、ソフトウェアを構成してよく、その場合、このソフトウェアは、実行時に以下のステップを提供するように構成される。
【０２４３】
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−人工記憶システム内で信号を収集すること。
−入力データを単純な原形と再帰パターンで表すこと。
−操作者の指令、ツールの挙動、外部環境（任意）、及び人工記憶システムの内容を受信し分析して、受信したイベントが新規／未知のイベントであるか既知のイベントであるかを判断すること。
−受信したイベントを分類すること。
−内部表現から、ツールの現在の状態、短期的時間イベントの識別名、及び推論される長期的な操作者行動を決定すること。
【０２４４】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−ツール及び／若しくは操作者の挙動に関する、より高位レベルの圧縮された情報を出力すること。又は
−時間的イベント管理並びに入力データの原形及び再帰パターンに基づき、入力された操作者指令に関する予測をすること。又は
−コンテキストチェックの度合いとして、フィードフォワード信号とフィードバック信号の流れの間の対応関係、若しくはこれらの流れの任意の組み合わせを決定すること。
【０２４５】
人工記憶システムを備えた、「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用するための方法を提供するように、ソフトウェアを構成してよい。実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
【０２４６】
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−センサから送られた信号を人工記憶システム内で分類、予測、及び／又はフィルタリングして、計算結果をシステムに送り返すこと。
−内部の記憶の一貫性状態を表し、人工記憶システムの出力に信頼性がある時を明示する働きをするコンテキストチェック信号を、人工記憶システムが生成すること。
【０２４７】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−コンテキストチェック信号を例外評価部に送ること。
−例外評価部がコンテキストチェック信号を受け取り、このコンテキストチェック信号に基づき、制御信号をパターン記録モジュールに送ることにより、センサから送られた現在の生の信号を記録し、より深いオフライン分析をすることを例外評価部が決定すること。
【０２４８】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−受信した生の信号をデータベースに保存すること。
−センサから送られる信号から人工記憶システムを切り離すこと。
−人工記憶システムを訓練モードに設定すること。
−人工記憶システムへの入力として、センサが生成した信号でなく以前データベースに保存されたパターンを供給して、保存されている当該信号パターンに関して人工記憶システムを訓練すること。
【０２４９】
このソフトウェアは、人工記憶システムを備えた、「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用するための方法を提供することができる。実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−システムの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−システムの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−人工記憶システムにより操作者の挙動を評価し、又は今後予想される操作者の挙動を予測し、又は現在の操作者指令をフィルタリングして再構築し、又は記憶の内部の一貫性状態を表すコンテキストチェック信号を生成すること。
【０２５０】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−上記の評価、予測、フィルタリング、再構築、又はコンテキストチェックの信号を認識評価部に送ること。
−受け取った信号に基づき、認識評価部が、受動的制御情報又は能動的制御の情報を操作者に提供することを決定すること。
【０２５１】
このソフトウェアは、人工記憶システムを備えた、「メモリ予測フレームワーク」の実装に基づいて、ツール及び操作者の動的挙動と相互作用するための方法を提供することができる。実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−ツールの物理的状態を表す信号をセンサが生成すること。
−センサが生成した信号を人工記憶システムに送信すること。
−ツールの挙動を表す記憶パターンを備えた人工記憶システム内で、上記信号を収集すること。
−ツールの状態の概要を表す分類結果を人工記憶システムが生成すること。
−記憶の内部の一貫性状態を表すコンテキストチェック信号を人工記憶システムが生成すること。
【０２５２】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−入力データに加えてコンテキストチェック信号をコントローラに送ること。
−分類結果を記録すること、及び／又は例外を表すコンテキストチェック信号をコントローラが受信した場合、コントローラが入力データの記録を可能にすること。
【０２５３】
このソフトウェアは、人工記憶システムを備えた、「メモリ予測フレームワーク」の実装に基づいて、ゲームシステムの一部であるツール及び操作者の動的挙動と相互作用するための方法を提供することができる。
【０２５４】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−ツールの物理的状態及び操作者の挙動を表す信号をセンサが生成すること。
−この信号を人工記憶システムに送ること。
−操作者の挙動を表すゲームパターンを備えた人工記憶システム内で、上記信号を収集すること。
−操作者のゲームプレイ能力の概要を表す分類結果を人工記憶システムが生成すること。
−操作者によるゲームプレイの非一貫性を表すコンテキストチェック信号を人工記憶システムが生成すること。
【０２５５】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−コンテキストチェック信号と分類結果をコントローラに送信すること。
−コントローラが対戦ゲームを制御すること。
【０２５６】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−センサから送られる信号に対して、人工記憶システムが分類、予測、及び／又はフィルタリングするかどうかを制御し、システムが訓練可能な動作状態にあるとき、人工記憶システムを訓練モードに設定すること。
【０２５７】
実行時に以下のステップを提供するように、ソフトウェアを構成してよい。
−例外評価部がトリガーするゲートにより、センサから送られる信号から人工記憶システムを切り離し、これにより例外評価部は、人工記憶システムの訓練状態についてツールＩ／Ｏインタフェースから通知を受けること。
【０２５８】
上記のようなコンピュータプログラムプロダクトは、プログラム可能プロセッサで実行される機械可読コードを担持する担持媒体へと有形物として具現することができる。したがって、本発明は、コンピュータプログラムプロダクトを担持する担持媒体に関し、このコンピュータプログラムプロダクトは、計算手段上で実行された場合に上記方法のいずれかを実行するための命令を提供する。「担持媒体」という用語は、命令をプロセッサに提供して実行させることに関与する任意の媒体を指す。このような媒体は多くの形態を取ることができ、例えば不揮発性媒体、伝送媒体等の形態が挙げられるが、これらに限定されない。不揮発性媒体の例として、光学ディスク、磁気ディスク、例えば大容量記憶装置の一部をなす記憶装置が挙げられる。コンピュータ可読媒体の一般的形態の例として、ＣＤ−ＲＯＭ、ＤＶＤ、フレキシブルディスク、フロッピー（登録商標）ディスク、テープ、メモリチップ、メモリカートリッジ、その他、コンピュータが読み取ることのできる任意の媒体が挙げられる。様々な形態のコンピュータ可読媒体を用いて、１つ以上の命令の１つ以上のシーケンスをプロセッサに搬送し実行させてよい。コンピュータプログラムプロダクトを搬送波に乗せてＬＡＮ、ＷＡＮ、インターネット等のネットワーク内に伝送することもできる。伝送媒体は、例えば電波データ通信や赤外線データ通信で生成されるような音波又は光波の形態を取ることができる。伝送媒体の例として、同軸ケーブル、銅線、光ファイバが挙げられ、コンピュータ内部でバスを形成する電線も伝送媒体に含まれる。
【０２５９】
図面及び上記説明において本発明を詳細に図解し説明したが、このような図解及び説明は例示又は模範とみなすべきであり、限定的なものではなく、本発明は上記で開示されている実施形態に限定されない。
【０２６０】
当業者であれば、請求項に記載された発明を実践する際、図面、開示内容、及び添付の請求項を検討することにより、上記に開示されている実施形態の他のバリエーションを理解し実施することができる。
【０２６１】
例えば、請求項に列記されている数項目の機能を単一単位で実現することもできる。請求項に記載の参照符号は、範囲を限定するものとは解釈されない。
【０２６２】
例えば、本発明の実施形態におけるモデリング活動は、マルコフ連鎖を採用した「経路」又は「シーケンス」であってよく、その場合、ＨＴＭ（階層的時間メモリ）の上記実施形態は単一経路だけを「たどる」ことができる。しかしながら、どの実施形態も、複数経路の潜在的結果を評価しながら最高性能の経路１つを継続的に選択するという、複数の経路を並行して「たどる」能力により、より良好な一般化を提供することができる。マルコフ連鎖に基づくイベント及び記憶内容の表現が柔軟性に欠けるため、非常に多彩な時間動態を特徴とする時間的同時存在イベント（いくつか例を挙げると、直線の幹線道路を走行しながらの追い越し、ハンドルやペダルの短時間で急な修正など）に対処できないという問題があるが、上記の実施形態はこの問題を回避する。このような実施形態では、確率に基づく、伝送行列によるシーケンスの展開の推論がいまだ有効である。訓練中の時点で保存され推論時に使われる情報だけでは、複数の経路には不充分であり、実装にはさらなる制限が課される。解決策として、これらの実施形態では、追従した経路とその相対頻度を訓練セットに保存することにより、予測段階に向けて重要な確率情報を与えると考えられる。
【０２６３】
ネットワークのノードがごく厳密に一度に１つだけ（層ごとに）アクティブになるように、枠組みの中にスケジューラを実装することができる。この場合、ネットワークトポロジーに大きな制限が課される。本発明の実施形態は平行の「シミュレーション」が可能であり、例えば側方（レベル内）接続により、抑制メカニズムを実装でき、ある特定状態から経路候補の確率分布を作成できる。
【０２６４】
ノードの記憶（マルコフ連鎖）の実施形態では、複数の異なる連鎖が、意味論的観点から全く相関関係がないとみなされ得る。さらなる実施形態では、類似度を用いて２つの異なる連鎖が比較される。したがって、新しく記録されたイベント／連鎖（前に経験したと認識されないもの）を保存済み連鎖と比較して、同じイベント「クラス」に属するかどうかを実際に理解することができる（例えば、前に見たことのない、半径が少し異なる右折など）。ゆえに、本発明は、記憶を保存するマルコフ連鎖の採用だけに基づくのでなく、異なる種類のノードの存在／区別だけに基づくのでもないノードの実装も含む（すなわち空間プール化と時間プール化）。本発明は、ネットワーク部品（例えば各ノード又はノード群）を並行して（同時に）活性化することを含む、ネットワーク部品をより柔軟に活性化するためのアーキテクチャを含み、（垂直方向だけでなく）水平方向の情報の流れも可能にし、高速クロックアーキテクチャにおける非同期入力を受け付けて処理することを可能にする。
【０２６５】
本発明はさらに、「メモリ予測フレームワーク」（ＭＰＦ）理論に準拠して開発されたアーキテクチャを提供し、特に、主要処理要素として人工頭脳を有し特定の分類／予測の問題に対処するように開発された、ｈＭＰＦに基づくシステムを提供する。
【０２６６】
この人工頭脳は層状に組織された多くの処理ノードを備えてよく、ノード間の通信にはフィードフォワード（ＦＦ）信号、フィードバック（ＦＢ）信号、及び予測信号を用いる。これらの信号は本質的に確率密度関数（ＰＤＦ）であり、特定の入力パターンが特定世界の原因の結果となる尤度を表す。さらに、同様にネットワークに出力として与えられるコンテキストチェックを用いて、システム全体で階層ネットワークの状態を点検してもよい。
【０２６７】
図２１は、ｈ−ＭＰＦ人工頭脳の概略構造を示す。黒色の四角が新規ノードであり、内部記憶はねじれたリボン状で表されている。ノード間を結ぶＦＦリンクとＦＢリンクは２種類ある。黒色のリンクはノードの入出力空間に対する「古典的」な確率密度関数であり、赤色のリンクは予測信号を搬送する。
【０２６８】
「コンテキストチェック部」と呼ばれる特殊ノードには３種類あり、青色は、ノードの内部記憶の一貫性を（ノード「記憶空間」のインデックスと測定値に基づき）チェックするＩＣＣ（内部コンテキストチェック部）、黒色は、現在のＦＦ信号とＦＢ信号間の一貫性をチェックするＬＣＣ（レベルコンテキストチェック部）、赤色は、予測値の一貫性をチェックするＰＬＣＣ（予測レベルコンテキストチェック部）である。
【０２６９】
ＩＣＣ、ＬＣＣ、ＰＬＣＣは、ネットワーク全体の一貫性を監督するＮＣＣ（ネットワークコンテキストチェック部）に接続しており、ＮＣＣは、ノード（ＩＣＣ）、時間（ＬＣＣ及びＰＬＣＣ）、空間（ＮＣＣ）において動作するネットワークの「コンテキスト理解度」を測定するグローバルインデックスである「理解度インデックス」を測定することが可能となる。
【０２７０】
ＮＣＣはＮＲ／ＰＮＲ／ＦｏＡＮＲ（ネットワーク実行部／予測ネットワーク実行部／注意集中ネットワーク実行部）に接続している。ＮＲ／ＰＮＲ／ＦｏＡＮＲブロックは「タイムマスター」ブロックの進化形であり、ノード（単一ノード又はノード群）をトリガーして、個々の「通常実行」「予測実行」「注意集中」メカニズムを実現することができる（この機能は複数の予測を並行して追従する能力を含意する）。
【０２７１】
ＮＴ（ネットワーク訓練部）は、訓練モードでネットワークを動作させるブロックである。
【０２７２】
ＭＰＦ理論で規定されるように、各ノードは少なくともフィードフォワード（ＦＦ）信号、フィードバック（ＦＢ）信号、及び予測信号を処理できる必要がある。図８では、汎用処理ノードをブラックボックスとして示し、他の処理ノード及び階層ネットワークの外部との接続部を強調表示している。
【０２７３】
図２２は、本文書に記載のデータ構造とアルゴリズムを目立たせて表示した、ｈＭＰＦノードの構造の好適な一実施形態を示す。
【０２７４】
ノードの主目的は、（１）特徴的な入力パターンを学習、認識し、（２）これらの入力パターンをいくつかの外部（おそらく未知）の要因又はイベントと関連付けし、（３）次の入力パターンを予測することである。
【０２７５】
この目的を達成するには、通常は次の２つの段階を踏む。（１）訓練段階：入力パターンを学習する。この段階はノード内部の「記憶」に影響を及ぼす。（２）推論段階：ノードが実際に作動する段階であり、記憶したパターンと入力パターンを比較してＦＦ出力とＦＢ出力を生成する。ノードが「継続的に学習」する動作を妨害するものは何もないので、実際には、訓練と推論は一緒に実施される。加えて、「コールドスタート」の問題を克服するための別の可能性として、継続的学習段階の前にごく短時間の初期訓練段階を有することもある。いずれの場合も、推論段階の目的は、現在の入力パターンを評価して、それを１つ以上の学習済み要因と関連付けることである。その結果、現在の入力パターンが学習済み要因のいずれかに属する尤度を表すＦＦ出力信号が生成される。この処理は通常、親ノードから提供される、現在のＦＦ出力に対する予測を表すＦＢ入力信号の影響も受ける。この特性は、共通の入力パターンを共有している可能性のある種々の要因の間で、ノードが曖昧さを除去（一般に「注意の集中」と呼ばれる）できるようにすることを意図している。ノードは、ＦＦ出力を生成した後、ＦＢ出力を介して子ノードに知らせるべき次の入力パターンの予測も生成することになる。この操作を行うには、上部ノードから下部ノードに予測を伝播させるため、ネットワーク全体がＦＦの更新を完了するのを待つ必要があり得る。
【０２７６】
我々のアーキテクチャのさらなる一実施形態において、主として（１）空間クラスタリングノード、（２）時空間クラスタリングノード、の２種類のノードを導入した。両方ともニューラルガスアルゴリズム及び関連理論に基づいている。
【０２７７】
さらなる特定の実施形態では、前者は基本的にステートレスであり、時間的シーケンスを考慮しない（したがって独力では全く予測できないか、よくても少ししか予測できない）。後者は確実に時間的次元を考慮するので、階層ネットワークが（実質的な）予測を行うための唯一の手段となる。
【０２７８】
実際には、（標準の）データ前処理又は後処理で使用すべき他の種類の処理ノードが予見されている。
【０２７９】
空間クラスタリングノードはニューラルガス（ＮＧ）アルゴリズムに基づくものであり、ニューラルガスとは、特徴ベクトルに基づき最適なデータ表現を見出すことのできる周知の人工ニューラルネットワークである。通常、ＮＧアルゴリズムはデータ圧縮又はベクトル量子化に適用され、特にパターン認識、画像処理、及びクラスタ分析に適用される。空間クラスタリングノードの内部において、頻繁に見られる入力パターンをＮＧを用いて学習し、場合によっては、様々な入力「源」又は「要因」を表すクラスタを発見する。基本のＮＧアルゴリズムの異型が「成長」しており、上記の目的でこれらの異型全てが注目される。その理由は、入力空間を適切に表すのに必要な重心（セントロイド）の数を自動で発見でき、これらの重心を可能な限り均等に広げて例えば量子化誤差（ＱＥ）を最小化できるからである。
【０２８０】
このようなＮＧアルゴリズムはいずれも、各々の訓練過程の調節に使われる独自のパラメータを有するので、本発明の一実施形態はその一バージョンであり、訓練パターンを自動的に駆動して所定のパフォーマンスを達成する。
【０２８１】
さらに他の２つのＦＦ ＰＤＦ出力計算戦略が開示される。具体的には、（１）目的が単に入力空間を量子化することである場合、それまでにニューラルガスが学習した重心に対するＰＤＦを出力とすることができる。或いは（２）少数の「原因」を探すことが意味をなす場合、それまでにニューラルガス内で見られたクラスタに対するＰＤＦを出力とすることができる。
【０２８２】
重心間のエッジにより、ＮＧアルゴリズムの訓練過程の基礎をなす位相幾何学的グラフを視覚化でき、この位相幾何学的グラフを分割することにより、学習済みの重心を複数の異なるクラスタに分離できる。意味のあるクラスタを発見するには、任意のグラフ分割手法を使用でき、例えば、最も単純な接続コンポーネントの検出方法から、より複雑なスペクトル分割方法、或いはマルチレベル分割方法などを使用できる。ノードが自身のＦＦ出力を計算するよう要求されると、ノードは、現在の入力が重心の受容野に所属する尤度を表すＰＤＦを提供でき、入力空間の量子化が焦点である場合は、現在の入力が発見済みクラスタの１つに属する尤度を表すＰＤＦを提供できる。
【０２８３】
なお、クラスタに対するＰＤＦは重心に対するＰＤＦから導くことができる。具体的には、重心の所属に基づいて重心のＰＤＦを分割し、各分割の最大値を抽出し、値を正規化して累積和として１：０を得る（実際にはＰＤＦを表す）ことにより、クラスタのＰＤＦを導くことができる。
【０２８４】
ＭＰＦ理論で述べられているように、ＦＦ出力の計算では現在のＦＢ入力、すなわちＦＦ出力について親ノードが生成した予測値が考慮され、したがってＦＦ出力の計算は現在のＦＢ入力の影響を受ける可能性がある（おそらく時間的コンテキストを認識するか、又は単に、より広範な空間的コンテキストを認識する）。次の入力パターンがクラスタ２に所属する見込みであると親ノードが述べている場合、この空間クラスタリングノードのＦＦ出力はクラスタ２寄りにバイアスがかかり、クラスタ１の代わりにクラスタ２に対応する最高ピークを示し得る。上記は、予測される見込値を表すＦＢの流れに基づく曖昧な推論を明確にする上で、親ノードが空間クラスタリングノードを支援する方法を示す一例である。
【０２８５】
空間クラスタリングノードはステートレスであるため、そのＦＢ出力及び予測値は完全にＦＢ入力に依存する。最も簡単な例では、ＦＢ出力は、重心に対するＰＤＦの最高ピークにより特定される重心位置であり得る。空間クラスタリングノードが、例えばｎ個の最も尤度が高い重心の質量中心を計算する際、これを妨害するものは全くない。同じことは予測にも当てはまる。すなわち、親ノードから送られるｍステップの予測は、学習済み重心の集合を辞書として使用することによりＦＦ入力空間領域に変換される。この場合も、結果は、辞書の中で最も尤度の高いキー、又はｎ個の最も尤度の高いキーの加重平均に基づくものであり得る。
【０２８６】
時空間クラスタリングノードは、時間クラスタリングについてＮＧアルゴリズムを拡張したもの基づく。このような拡張の一例がマージニューラルガス（ＭＮＧ：Merge Neural Gas）である。時空間クラスタリングノードの内部では、頻繁に見られる入力パターンシーケンスをＭＮＧ（又は元のＭＮＧアルゴリズムの別の異型）を使って学習する。基本のＭＮＧアルゴリズムの異型が「成長」しており、上記の目的で、これらの異型が特に注目すべきものとして選択される。その理由は、入力空間を適切に表すのに必要なニューロンの数を自動で発見でき、これらのニューロンを可能な限り均等に広げて時間量子化誤差を最小化できるからである。
【０２８７】
各種ＮＧアルゴリズム及びその時間的異型に関して既に公表されている材料に関して、本発明は特に、時空間クラスタリングノードの内部に時間的ＮＧアルゴリズムを組み込むことを可能にする下記のような特徴への対応を追加している。（１）（既に説明されている位相幾何学的グラフに加えて）ガス訓練時の、ヘブの競争法則（ＨＣＲ：Hebbian Competitive Rule）に基づく時間的グラフ／モデル学習。（２）位相幾何学的グラフと時間的グラフの両方を利用して入力源の一様な一般化半マルコフモデルを構築する、増強型訓練。これにより、入力パターン間のタイミング（イベントの到着間隔とも呼ばれる）を学習／モデル化することも事実上可能になる。（３）時間的グラフ構造を利用すると同時に、各ニューロンの受容野に関する時間的統計情報（例えばＴＱＥ、将来の入力のＴＱＥ等）を利用する、時間的イベントを分離するための増強型（又はハイブリッド）グループ化。（４）ニューラルガスデータ構造に基づく推論過程。（５）グラフに基づく予測。
【０２８８】
時間的グラフ学習に関しては、ＮＧアルゴリズムが使用する古典的データ構造（例えば、入力空間に誘発される重心間／ニューロン間の位相幾何学的関係を表す位相幾何学的グラフ構造）に加えて、時間エッジで構成される新しいグラフ構造を追加した。ニューロンの活性化軌道を追跡するため、訓練過程中、ＨＣＲを用いてニューロン間の時間エッジの作成と削除を（時間エッジの管理とよく似た方法で）行う。訓練過程で構築されるニューロンを別の観点から見ると、入力信号をモデル化する状態機械の内部状態とみなすこともできる。上記の新しい時間的グラフは、この状態機械の状態遷移関数を何らかの形で表すものである。
【０２８９】
この時間的グラフの主目的は、時空間クラスタリングノードに関連する推論過程、グループ化過程、及び予測過程を支援することである。
【０２９０】
増強型学習に関しては、我々は、時空間クラスタリングノードが「様々な」インプットパターン間のタイミングを学習できるようにするため、ニューロンと関連付けされるデータ構造の範囲を、前の状態／ニューロンの永続性概算値（最も単純な事例は、次のニューロンに移る前に前のニューロンで消費された時間の推定ガウス分布を表す）も含めるように拡大した。言い換えれば、現在の内部状態を知ることにより、発生し得る次の状態と、次の状態にジャンプする前の現在状態での待機時間とを抽出することが可能になる（複数の異なる状態にジャンプする場合は、現在状態での複数の待機時間と関連付けることができる）。上記の永続性概算値とニューロン位置（入力パターン）及び時間的グラフのエッジ（及び関連のトラバースカウンタ）を組み合わせることで、実際に、入力空間に対する一様な一般化半マルコフモデルを学習することができる。すなわち、我々の増強型ニューラルガス（ＥＮＧ：Enhanced Neural Gas）は、入力信号の特性記述パラメータ全てを学習する一様な一般化半マルコフ過程として、入力信号をモデル化することができる。このモデルは推論過程及び予測過程の良好な基盤となる。
【０２９１】
ハイブリッドのグループ化に関しては、ある時空間クラスタリングノードのＦＦ出力を計算するには、時間的イベントの集合を識別して、入力ごとに各入力のＰＤＦを概算する必要がある。我々は、時間的グラフ上で分離された（複数の）経路を抽出することにより、入力信号内部の意味ある下位シーケンスを特定する（グループ化過程）。これらの（複数の）下位経路は時間的イベントであると言われており、同じイベントに属するニューロンに一貫性のあるラベルを付ける。上記の通り、いくつか異なるグラフ分割アルゴリズムを用いてこのグラフのノードクラスタ化を実行できるが、「分離」された（複数の）経路は、実際にはグラフの他の部分からさほど明確に分離されていないことがあるので、我々のアプローチはハイブリッドである。各ニューロンの受容野に関する時間的統計情報（例えばＴＱＥ、将来の入力のＴＱＥ等）も使用して、分割過程を促進するための切断エッジ（cutting edge）を決定する。例えば、特定ニューロンの将来の入力のＴＱＥから、１０回のタイムティック後にＱＥ値が急上昇することが明らかである場合、現在の時間的イベントが当該ニューロンから１０回のタイムティック以内に終了する可能性が非常に高いと考えられる。当該ニューロンの時間的後続点についてもこれが確認されれば、当該ニューロンから１０回のタイムティック内に到達可能なニューロンの送出エッジを切断エッジとしてマーキングすることになる。
【０２９２】
他のグループ化アプローチに関しては、訓練データ及び／又は試験データの少なくとも一部に対して先験的な分類（ラベル付け）が提供できれば、各ニューロンを活性化させた入力データのクラス（ラベル）に関する統計情報を当該ニューロンが収集することは可能である。訓練中にこの統計情報が収集されれば、古いラベルへの考慮を少なくする特定のメカニズムを適用することができる。その理由は、訓練が進行するにつれて、ニューロンの意味が徐々に変化するからである。
【０２９３】
ラベルに関するニューロンの統計情報を使用してニューロンを分割（グループ化）することが可能である。
【０２９４】
可能なアプローチの１つは、各ニューロンのヒストグラムを計算して、最も確度の高い単一又は複数のグループを明示することである。
【０２９５】
別の可能なグループ化アプローチは、同じラベル（クラス）の入力データに対して高い活性化値を有する時間的に連続したニューロン全てをグループ化することである。このアプローチの場合、種々のグループに属する単一ニューロンを考慮することができる。
【０２９６】
別の可能なアプローチは、標準のグループ化アルゴリズムを使用した上で、ニューロンのラベルに応じてグループを分離又は統合することによりグループ化をさらに改善することである。
【０２９７】
別の可能なアプローチは、標準のグループ化アルゴリズムを使用した上で、グループ内ニューロンのクラスを平均することにより平均のグループ−クラスを計算することである。
【０２９８】
本発明は、ニューラルガスデータ構造に基づく推論過程を提供する。訓練過程で学習する一様な一般化半マルコフモデルは、推論過程の非常に良好な基盤となる。ＮＧ訓練過程で求められるように、個々の新規入力パターンごとに単一の勝者ニューロンを選択するのでなく、我々は各ニューロンの活性化状態を保存する。次に、ニューロンの位置、コンテキスト、及び永続性情報から抽出される情報、並びに時間的グラフから得られる時間的関係に基づいて、活性化状態を個々の入力ごとに更新する。このように、グループ化過程の結果も考慮することにより、特定された時間的イベントに対するＰＤＦを概算でき、このＰＤＦを時空間クラスタリングノードのＦＦ出力として提供することができる。
【０２９９】
本発明はさらに、グラフに基づく予測を提供する。原理上は、一様な一般化半マルコフモデル（訓練過程で構築されたモデル）上で、最も確度の高い現在の内部状態を起点として単にマルコフ過程を実行するだけで、予測を生成することができる。
【０３００】
親ノードから予測データを入手できる場合は、上記と異なり、我々は問題を時間的グラフ上の経路検索に変える。親ノードの予測は常に「イベントｎ１がＸ秒間、次にイベントｎ２がｙ秒間、次に．．」の形であることから、このことが可能になる。このようにして、可能性の高い現在の内部状態を起点として、現在の状態を数ジャンプ内に別のイベントに属するニューロンに変える経路を時間的グラフ上で探せばよいことが分かる（ジャンプ数は中間状態の永続性に依存する）。この手法は、親ノードの予測も考慮に入れることを可能にするだけでなく、内部状態から次の状態へとマルコフ過程を単に「一ステップずつ」実行するのと比べて、はるかに良好な結果をもたらすことができる。グラフの骨組みを用いても現在のニューロンの前方受容野の平均を計算できること、言い換えれば、特定のイベントに関連する入力シーケンスの平均を計算できることを考えると、上記のことが理解しやすくなる。より単純に言えば、次に予測されるイベントが、探求される経路の向かうべき「方向」を与える。
【図１】
2018129062.tif 000022
【図２】
2018129062.tif 000023
【図３】
2018129062.tif 000024
【図４】
2018129062.tif 000025
【図５】
2018129062.tif 000026
【図６】
2018129062.tif 000027
【図７】
2018129062.tif 000028
【図８】
2018129062.tif 000029
【図９】
2018129062.tif 000030
【図１０】
2018129062.tif 000031
【図１１】
2018129062.tif 000032
【図１２】
2018129062.tif 000033
【図１３】
2018129062.tif 000034
【図１４】
2018129062.tif 000035
【図１５】
2018129062.tif 000036
【図１６】
2018129062.tif 000037
【図１７】
2018129062.tif 000038
【図１８】
2018129062.tif 000039
【図１９】
2018129062.tif 000040
【図２０】
2018129062.tif 000041
【図２１】
2018129062.tif 000042
【図２２】
2018129062.tif 000043
【手続補正書】
【提出日】平成30年4月13日(2018.4.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
抽象化、一般化、及び学習のための構造とメカニズムを有するニューラルネットワークであり、前記ニューラルネットワークの実装は、人工階層記憶システムを含み、前記ニューラルネットワークは、
（ｉ）ツール上のセンサで生成されたデータを受け取るように構成された受信ポートであって、前記データは前記ニューラルネットワークに関連付けられる前記ツールを用いて取得される操作者の動的挙動に関係する、前記受信ポートと、
（ｉｉ）前記受信ポートから受け取られる入力パターン及びシーケンスを学習し認識するように構成された１つ以上の第１ノードであって、構成要素としてのニューロンと、グラフ内で２つ以上の前記ニューロンを接続するエッジと、を備える第２ニューラルネットワークを形成する前記１つ以上の第１ノードと、
（ｉｉｉ）前記ニューラルネットワークにより生成され且つ前記動的挙動と関連付けされるデータを出力するように構成された出力ポートと、
を備え、それによって前記１つ以上の前記第１ノードの各々は、時系列分析に適応し、且つ位相幾何学的グラフ内又は時間グラフ内で接続している構成要素を備える、
ニューラルネットワーク。
【請求項２】
前記ニューラルネットワークは、メモリ予測フレームワークの実装又は十分なデータ量で機械が自動的にデータから特徴を抽出してくれるアーキテクチャの実装に基づくものであり、さらに選択肢として、前記１つ以上の第１ノードは、前記入力パターンを学習し認識するように構成されている、請求項１に記載のニューラルネットワーク。
【請求項３】
少なくとも２つ以上の前記第１ノードの間で、確率密度関数を表す信号が通信に用いられ、さらに選択肢として、１つ以上又は本質的に全ての前記第１ノードは、量子化方法の１つであり、ｎ次元ベクトルである特徴ベクトルの特徴に基づいて適切又は最適なデータ表現を見つけるためのアルゴリズムであるニューラルガスの概念に基づく方法を実行するように構成されている、請求項１又は２に記載のニューラルネットワーク。
【請求項４】
１つ以上の前記第１ノードに対して、ニューラルガスモデルが時間を含むように拡張されており、前記１つ以上の第１ノードは、前記ニューラルガスのアルゴリズムによってもたらされたオリジナルの位相幾何学的グラフと並んで使われる時間グラフの導入を通じて、一般化半マルコフ過程を表現したものを提供する、請求項１〜３の何れか１項に記載のニューラルネットワーク。
【請求項５】
前記１つ以上の第１ノードの内部の少なくとも２つ以上の前記ニューロンの間で、エッジは前記ニューロンの活性化の時間的シーケンスを表し、さらに選択肢として、各ニューロンは、入力パターン、時間的コンテキスト、及び活性化タイミングの統計量に関する情報を表す、請求項１〜４の何れか１項に記載のニューラルネットワーク。
【請求項６】
前記ニューラルガスの概念は、訓練時に自動的に導き出される時間グラフを備え、この場合、前記時間グラフのノードはニューロンを表し、各ニューロンは前記ニューラルガスの時間的状態を表し、前記時間グラフの前記ノード間のエッジは、訓練中に複数の異なるニューロンが活性化した際の時間的シーケンスを表し、さらに選択肢として、前記ニューロンガスの概念は、前記ニューロンガスの時間的状態を表す各ニューロンを備え、この場合、各ニューロンは、少なくとも入力パターン、時間的コンテキスト、及び各ニューロンが活性化されていない前の状態の持続時間永続性に関する統計量、に関する情報を保持する、請求項３又は４に記載のニューラルネットワーク。
【請求項７】
前記状態の永続性に関する情報を有する前記ニューラルガスの概念は、少なくとも入力空間に関して、一様な一般化半マルコフ決定モデルの自律的学習を提供するように構成され、さらに選択肢として、前記１つ以上の第１ノードは、前記一様な一般化半マルコフ決定モデルを利用する推論方法を備える、請求項３、４、６の何れか１項に記載のニューラルネットワーク。
【請求項８】
前記１つ以上の第１ノードは、学習された前記一般化半マルコフ決定モデルを利用する時間的予測方法を備え、さらに選択肢として、前記時間的予測方法は、一般化半マルコフ決定モデルを表す前記時間グラフにおける経路探索に基づく、請求項７に記載のニューラルネットワーク。
【請求項９】
前記予測方法は観測されない状態を持つマルコフ過程に基づく方法を利用する、請求項８に記載のニューラルネットワーク。
【請求項１０】
前記推論及び予測の過程は、新しい入力パターンがあるたびに複数のニューロンの活性化状態が保存されることを特徴とする、請求項７又は８に記載のニューラルネットワーク。
【請求項１１】
各第１ノードへのフィードバック入力は、封入されているニューロンの活性化の値に影響を及ぼし、さらに選択肢として、各ニューロンは、前記ニューロンにおいて活性化された入力データのラベルに関する統計情報を保持する、請求項１〜１０の何れか１項に記載のニューラルネットワーク。
【請求項１２】
前記ラベルに関する前記統計情報が、ペアの入力データに加えて予測材料のみの入力データからも学習を行って予測モデルの精度を向上させたグループ化を実施するため、又は訓練時若しくは推論時のニューラルガスパフォーマンスを改善するために使用される、請求項１１に記載のニューラルネットワーク。
【請求項１３】
ツール及び操作者の動的挙動と相互作用するためのコンピュータ支援による方法であって、
（ｉ）前記コンピュータによって、１つ以上のセンサにより生成されたデータを受信し、
（ｉｉ）前記コンピュータによって、前記データを、請求項１〜１２の何れか１項に記載のニューラルネットワークに送信し、
（ｉｉｉ）前記ニューラルネットワークにより、ニューラルガスの概念に基づく方法を用いて前記データを処理し、
（ｉｖ）結果として生じるデータを出力する、各ステップを備える方法。
【請求項１４】
請求項１〜１２の何れか１項に記載のニューラルネットワークの、１つ以上の前記ノードに対してパターンを訓練／教育するためのコンピュータ支援による方法であって、１つ以上の前記ノードに入力パターンを提供し、少なくとも１つの前記ノードに対して、時間グラフ又は一様な一般化半マルコフ決定モデルを自動的に導き出す、各ステップを含むことを特徴とする、方法。
【請求項１５】
前記ラベルに関する前記統計情報は、半教師ありグループ化を実施するため、又は訓練時若しくは推論時のニューラルガスパフォーマンスを改善するために、使用される、請求項１１又は１２に記載の請求項１４に記載の方法。
【請求項１６】
入力に関連する出力を決定するためのコンピュータ支援による方法であって、
（ｉ）前記入力を、請求項１〜１２の何れか１項に記載のニューラルネットワークに提供し、
（ｉｉ）前記出力を決定するため、請求項１４に記載の方法で訓練／学習された前記一様な一般化半マルコフ決定モデルを用いることにより、前記ニューラルネットワーク上で推論方法を実行し、前記ノード上で推論方法をトリガーする、各ステップを含む方法。
【請求項１７】
入力に関連する出力を予測するためのコンピュータ支援による方法であって、
（ｉ）前記入力を、請求項１〜１２の何れか１項に記載のニューラルネットワークに提供し、
（ｉｉ）請求項１４に記載の方法で訓練／学習された前記一様な一般化半マルコフ決定モデルを用いることにより、前記ニューラルネットワーク上で時間的予測方法を実行し、前記ノード上で時間的予測方法をトリガーする、各ステップを含む方法。
【外国語明細書】
2018129062000001.pdf