Soar [ 1 ]は認知アーキテクチャ[ 2 ]であり、元々はカーネギーメロン大学のジョン・レアード、アレン・ニューウェル、ポール・ローゼンブルームによって作成されました。
Soarプロジェクトの目標は、汎用知能エージェントに必要な固定計算構成要素を開発することです。汎用知能エージェントとは、幅広いタスクを実行し、あらゆる種類の知識を符号化、使用、学習して、意思決定、問題解決、計画、自然言語理解など、人間に見られる認知能力の全範囲を実現できるエージェントのことです。これは、認知とは何かという理論と、その理論の計算実装の両方です。1983年にジョン・レアードの論文として始まったこのプロジェクトは、AI研究者によって、人間の行動のさまざまな側面に関する知能エージェントや認知モデルを作成するために広く使用されてきました。Soarに関する最新かつ包括的な説明は、2012年に出版された書籍『The Soar Cognitive Architecture』です。[ 1 ]
ローゼンブルームはスタンフォード大学、そして南カリフォルニア大学の情報科学研究所に移籍した後も共同主任研究者として務め続けた。現在はミシガン大学のジョン・レアードの研究グループによって維持・開発されている。[ 3 ]
Soarは、汎用知能の根底にある計算構造に関する複数の仮説を具体化しており、その多くは、ジョン・R・アンダーソンが作成したACT-Rや、スタン・フランクリンが作成したLIDAなど、他の認知アーキテクチャと共通している。近年、Soarは汎用AI(機能性と効率性)に重点を置いているのに対し、ACT-Rは常に認知モデリング(人間の認知の詳細なモデリング)に重点を置いてきた。
Soar の根底にある認知の理論は、アレン・ニューウェルの著書『統一認知理論』 [ 2 ]で説明されている問題空間仮説であり、最初に作成された AI システムの一つである、ニューウェル、サイモン、ショーのLogic Theoristにまで遡ります。Logic Theoristは 1955 年に初めて発表され、 1957 年にGeneral Problem Solverとして発表されました。問題空間仮説は、すべての目標指向行動は、目標達成を試みながら可能な状態の空間 (問題空間) を探索することとして捉えることができると主張しています。各ステップで単一の演算子が選択され、エージェントの現在の状態に適用されます。これにより、長期記憶からの知識の取得や、世界における変更や外部アクションなどの内部変化が生じる可能性があります。 (Soar という名前は、状態、演算子、結果という基本的なサイクルに由来していますが、もはや頭字語とは見なされていません。)問題空間仮説の本質は、計画などの複雑な活動であっても、すべての行動は、人間の行動にマッピングすると約 50 ミリ秒かかるプリミティブ演算子の選択と適用のシーケンスに分解できるということです。
ソアーの理論の第二の仮説は、各ステップで選択できる演算子は1つだけであり、直列的なボトルネックが生じるものの、選択と適用のプロセスは並列的なルール発火によって実行され、それによって状況に応じた手続き的知識の検索が可能になるというものである。
3つ目の仮説は、演算子を選択または適用するための知識が不完全または不確実な場合、行き詰まりが生じ、アーキテクチャが自動的にサブステートを作成するというものです。サブステートでは、同じ問題解決プロセスが再帰的に使用されますが、意思決定を継続できるように知識を取得または発見することを目的としています。これにより、サブステートのスタックが生成され、そこで計画や階層的なタスク分解などの従来の問題解決手法が自然に発生します。サブステートで生成された結果が行き詰まりを解消すると、サブステートとその関連構造は削除されます。この全体的なアプローチは、ユニバーサルサブゴーリングと呼ばれます。
これらの前提に基づくと、3つのレベルの処理をサポートするアーキテクチャが構築されます。最も低いレベルでは、ボトムアップ型の並列自動処理が行われます。次のレベルは熟慮レベルであり、最初のレベルで得られた知識を用いて単一のアクションを提案、選択、適用します。これら2つのレベルは、高速で熟練した行動を実現し、おおよそカーネマンのシステム1処理レベルに相当します。知識が不完全または不確実な場合、サブステートを用いた第3レベルの処理によって、より複雑な行動が自動的に発生し、これはおおよそシステム2に相当します。
Soarにおける4つ目の仮説は、基盤となる構造はモジュール化されているが、計画や言語といったタスクや能力に基づくモジュールではなく、意思決定モジュール、記憶モジュール(短期的な空間/視覚記憶と作業記憶、長期的な手続き記憶、宣言的記憶、エピソード記憶)、すべての長期記憶に関連する学習メカニズム、知覚モジュールと運動モジュールなど、タスクに依存しないモジュールとして構成されているというものである。さらに、これらの記憶の具体的な特性については、以下で説明するように、すべての学習がオンラインかつ漸進的であるという仮定も存在する。
5つ目の仮説は、記憶要素(空間記憶や視覚記憶を除く)は、記号的で関係的な構造として表現されるというものである。記号体系が一般的な知能に必要であるという仮説は、物理的記号体系仮説として知られている。Soarにおける重要な進化は、すべての記号構造に、その記号構造の検索、維持、学習に影響を与える統計的メタデータ(使用頻度や最近の使用状況、期待される将来の報酬などの情報)が関連付けられている点である。
Soar の主要な処理サイクルは、手続き記憶(物事のやり方に関する知識) と作業記憶(現在の状況の表現)の相互作用によって、演算子の選択と適用をサポートすることから生じます。作業記憶内の情報は、状態を根とする記号グラフ構造として表現されます。手続き記憶内の知識は、if-thenルール(条件とアクションのセット) として表現され、作業記憶の内容と継続的に照合されます。ルールの条件が作業記憶内の構造と一致すると、ルールが発火してアクションが実行されます。このルールと作業記憶の組み合わせは、プロダクション システムとも呼ばれます。ほとんどのプロダクション システムとは異なり、Soar では、一致するすべてのルールが並列に発火します。
Soarでは、単一のルールを選択することが意思決定の核心となるのではなく、ルールによって提案、評価、適用される演算子の選択と適用を通じて意思決定が行われます。演算子は、現在の状態をテストし、ワーキングメモリに演算子の表現と、選択および適用を検討すべきであることを示す許容可能な選好を作成するルールによって提案されます。追加のルールは提案された演算子と一致し、他の提案された演算子と比較および評価する追加の選好を作成します。選好は意思決定手順によって分析され、優先される演算子が選択され、ワーキングメモリに現在の演算子としてインストールされます。現在の演算子に一致するルールが発火してそれを適用し、ワーキングメモリに変更を加えます。ワーキングメモリへの変更は、単純な推論、Soarの長期意味記憶またはエピソード記憶からの検索クエリ、環境内でアクションを実行するための運動システムへのコマンド、またはワーキングメモリと知覚のインターフェースである空間視覚システム(SVS)との相互作用などです。こうしたワーキングメモリの変化により、新たな演算子が提案・評価され、その後、その中から一つが選択されて適用されることになる。
Soarは強化学習をサポートしており、報酬に基づいて、演算子を評価するための数値的な選好を生み出すルールの値を調整します。最大限の柔軟性を提供するために、ワーキングメモリ内に報酬を生成する構造が設けられています。
演算子の選択に関する優先順位が不十分で単一の演算子を選択できない場合、または演算子を適用するためのルールが不十分な場合、行き詰まりが生じます。行き詰まりが発生すると、ワーキングメモリ内にサブステートが作成され、その目的は行き詰まりを解消することです。その後、追加の手続き的知識によってサブステート内の演算子が提案および選択され、より多くの知識を獲得し、元の状態に優先順位を作成するか、または行き詰まりが解消されるようにその状態が修正されます。サブステートは、階層的なタスク分解、プランニング、宣言的長期記憶へのアクセスなど、オンデマンドの複雑な推論を行う手段を提供します。行き詰まりが解消されると、サブステート内の結果以外のすべての構造が削除されます。Soarのチャンキングメカニズムは、結果につながったサブステート内の処理をルールにコンパイルします。今後、学習されたルールは同様の状況で自動的に実行されるため、行き詰まりは発生せず、複雑な推論が段階的に自動的/反応的な処理に変換されます。最近、全体的なユニバーサルサブゴールリング手順は、Soarエージェントが持つ知識を革新的かつ問題指向的な方法で再結合することによって行き詰まりを解消できる、目標指向的かつ自動的な知識ベース拡張のメカニズムによって拡張されました。[ 4 ]
記号的な入出力は、最上位状態に接続された入力リンクと出力リンクと呼ばれるワーキングメモリ構造を介して行われます。ワーキングメモリの出力リンク上に構造が作成されると、それらは外部動作(例えば、運動制御)のためのコマンドに変換されます。
視覚システムとのインタラクションや非記号的推論をサポートするために、Soarには空間視覚システム(SVS)があります。SVSは、世界をシーングラフとして内部的に表現します。シーングラフとは、形状、位置、姿勢、相対位置、スケールなどの空間特性を持つオブジェクトと構成要素サブオブジェクトの集合です。SVSを使用するSoarエージェントは、シーングラフから特徴と関係を自動的に抽出するフィルタを作成し、それらをワーキングメモリに追加できます。さらに、SoarエージェントはSVSに構造を追加し、それをメンタルイメージングに使用できます。たとえば、エージェントはSVS内の特定の場所に仮想オブジェクトを作成し、それが認識されたオブジェクトと衝突するかどうかを照会できます。
Soarのセマンティックメモリ(SMEM)は、事実のような構造を格納する非常に大規模な長期記憶として設計されています。SMEM内のデータは、有向循環グラフとして表現されます。構造は、ワーキングメモリの予約領域にコマンドを作成するルールによって保存または取得できます。取得された構造はワーキングメモリに追加されます。
SMEM構造には、各記憶の使用頻度または使用時期を表す活性化値があり、 ACT-R用に開発された基本レベルの活性化スキームが実装されています。検索時には、クエリに一致し、最も高い活性化を持つSMEM内の構造が検索されます。Soarは拡散活性化もサポートしており、ワーキングメモリに検索されたSMEM構造から、リンクされている他の長期記憶に活性化が拡散します。[ 5 ]これらの記憶は、いくらか減衰しながら、隣接する記憶に活性化を拡散します。拡散活性化は、現在のコンテキストが意味記憶からの検索に影響を与えることを可能にするメカニズムです。
エピソード記憶(EPMEM)は、作業記憶のスナップショットを時系列データとして自動的に記録します。過去のエピソードは、クエリによって作業記憶に取り込むことができます。エピソードが取り込まれると、次の(または前の)エピソードを取り込むことができます。エージェントはEPMEMを利用して、過去のエピソードを順次再生したり(行動の結果を予測するため)、特定の記憶を取り込んだり、特定の記憶構造を持つエピソードをクエリしたりすることができます。
Soarの各長期記憶には、エージェントの経験に基づいて新しい構造を作成したりメタデータを変更したりするオンライン学習メカニズムが関連付けられています。例えば、Soarはチャンキングと呼ばれるプロセスを通じて手続き記憶の新しいルールを学習し、強化学習を用いて演算子の選択に関わるルールを調整します。
Soarでエージェントを開発する標準的な方法は、まず手続き型メモリにロードされるルールを作成し、適切な宣言的知識を用いて意味メモリを初期化することから始まります。エージェント開発のプロセスについては、Soarの公式マニュアルや、研究グループのウェブサイトで提供されている複数のチュートリアルで詳しく説明されています。

Soarアーキテクチャは現在、ジョン・レアードとロバート・レイが率いる研究グループである統合認知センター(CIC)によって維持・拡張されています。現在のアーキテクチャはC言語とC++言語を組み合わせて記述されており、プロジェクトのウェブサイトでBSDライセンスで無料で入手できます。
Soarは、配布パッケージに含まれるSWIGベースのバインディングを介して、C++、Java、Tcl、Pythonなどの外部言語環境と連携できます。これらのバインディングは、Soarマークアップ言語(SML)に基づく通信プロトコルを使用します。SMLは、Soarエージェントのインスタンスを作成し、そのI/Oリンクとやり取りするための主要なメカニズムです。
Soarの配布パッケージには、デバッガー、エディタ、Soarチュートリアルで使用されるいくつかの環境など、Javaベースのツールも含まれています。
JSoarはJavaで書かれたSoarの実装です。AIの研究開発会社であるSoarTechによってメンテナンスされています。JSoarはミシガン大学のアーキテクチャ実装に非常に近いですが、一般的にそのC/C++バージョンの最新の開発や変更を反映していません。[ 6 ]
以下は、Soarで実装されたさまざまなアプリケーション分野の履歴リストです。Soarでは100を超えるシステムが実装されていますが、その大部分はおもちゃのようなタスクやパズルです。
Soarは、その歴史を通じて、ハノイの塔、水差し、三目並べ、八つ割り算、宣教師と人食い、ブロックワールドのバリエーションなど、さまざまな古典的なAIパズルやゲームの実装に使用されてきました。Soarの初期の成果の1つは、Soarにエンコードされたタスク知識から多くの異なる弱いメソッドが自然に発生することを示したことであり、これはユニバーサル弱いメソッドと呼ばれる特性です。[ 7 ]
Soar の最初の大規模なアプリケーションは R1-Soar であり、これは、DEC コンピュータの構成用にジョン・マクダーモットが開発した R1 ( XCON )エキスパート システムの部分的な再実装で、ポール・ローゼンブルームによって作成されました。R1-Soar は、Soar が中規模の問題に拡張でき、階層的なタスク分解と計画を使用し、チャンキングによって意図的な計画と問題解決を反応的な実行に変換できることを示しました。[ 8 ]
NL-Soar は、Jill Fain Lehman、Rick Lewis、Julie Van Dyke、Nancy Green、Robert Rubinoff、Deryle Lonsdale、Greg Nelson によって Soar で開発された自然言語理解システムです。自然言語の理解、生成、対話の機能を備え、リアルタイムの増分構文解析と生成を重視しています。NL-Soar は、TacAir-Soar の実験版と NTD-Soar で使用されました。[ 9 ] [ 10 ] [ 11 ]
Soarの2番目の大規模な応用例は、大規模分散シミュレーションでの訓練に使用するエージェントの開発でした。米国の戦術航空任務を遂行するための2つの主要システムは、ミシガン大学と南カリフォルニア大学の情報科学研究所(ISI)で共同開発されました。ミシガン大学のシステムはTacAir-Soarと呼ばれ、固定翼機による米軍の戦術任務(近接航空支援、攻撃、CAP、空中給油、SEAD任務など)を(シミュレーションで)遂行しました。ISIのシステムはRWA-Soarと呼ばれ、回転翼機(ヘリコプター)による任務を遂行しました。TacAir-SoarとRWA-Soarに組み込まれた機能には、注意、状況認識と適応、リアルタイム計画と動的再計画、Soarエージェントと人間の組み合わせ間の複雑な通信、調整、協力などがありました。これらのシステムは、 DARPAの合成戦場(STOW-97)先進概念技術実証(ACTD)に参加しました。これは当時、48時間にわたる共同戦闘空間における合成エージェントの最大規模の展開であり、現役兵士の訓練を伴いました。これらのシステムは、大規模訓練にAIエージェントを使用することの実現可能性を実証しました。[ 12 ]
RWA-Soarプロジェクトの重要な成果の一つは、 Milind TambeによるSTEAMの開発である[ 13 ]。これは、エージェントがCohen & Levesqueの共同意図フレームワーク[ 14 ]を使用してチームメイトのモデルを維持する、柔軟なチームワークのためのフレームワークである。
NTD-Soarは、 NASAスペースシャトルの打ち上げ前の準備を調整する責任者であるNASAテストディレクター(NTD)のシミュレーションでした。これは、自然言語処理、注意と視覚探索、問題解決など、さまざまな複雑な認知能力を広範なエージェントモデルに組み込んだ統合認知モデルでした。 [ 15 ]
Soarは、USCのクリエイティブテクノロジー研究所で開発された仮想世界内で、対面での対話やコラボレーションをサポートする仮想人間をシミュレートするために使用されてきました。仮想人間は、知覚、自然言語理解、感情、身体制御、行動などの機能を統合しています。[ 16 ]
ゲームAIエージェントは、StarCraft [ 17 ] Quake II [ 18 ] Descent 3 [ 19 ] Unreal Tournament [ 20 ]やMinecraftなどのゲーム向けにSoarを使用して構築されており、空間推論、リアルタイム戦略、対戦相手の予測などの機能をサポートしています。AIエージェントは、強化学習を使用したInfinite Mario [ 21 ]や、強化学習とメンタルイメージの両方を使用したFrogger II、Space Invaders、Fast Eddieなどのビデオゲーム向けにも作成されています。[ 22 ]
Soarはモバイルデバイス上でネイティブに動作できます。ゲーム「Liar's Dice」用のモバイルアプリケーションがiOS向けに開発されており、対戦相手AIのエンジンとしてSoarアーキテクチャを電話から直接実行します。[ 23 ]
1991年にPumaロボットアームの制御用に最初のRobo-Soarが実装されて以来、Soarを使用してさまざまなロボットアプリケーションが構築されてきました。[ 24 ]これらは、移動ロボットの制御から、ヒューマノイドサービスREEMロボット[ 25 ] 、タスク可能なロボットミュール[ 26 ]、無人水中ビークル[ 27 ]まで多岐にわたります。
Soarコミュニティにおける現在の研究開発の焦点は、インタラクティブタスク学習(ITL)であり、自然なインストラクターとのインタラクションを通じて、新しいタスク、環境機能、行動制約、その他の仕様を自動的に学習することです。[ 28 ] ITLの研究は、テーブルトップゲームのプレイ[ 29 ]やマルチルームナビゲーション[ 30 ]に応用されています。
初期段階では、Merle-Soar は、ピッツバーグ近郊のフロントガラス製造工場の主任スケジューラーをモデルにした複雑なスケジューリング タスクを Soar がどのように学習できるかを実証しました。[ 31 ]その後、Merle-Soar の一般化バージョン (Dispatcher-Soar) が、スケジュールの改善と、アーキテクチャ固有の学習のタスク非依存の知識指標 (知識効率、知識有用性、知識有効性) を定義する学習における記号的制約伝播アプローチを実証するために使用されました。[ 32 ]
Melody-Soarは、Soarアーキテクチャが、メロディーの階層構造に並行する問題空間の階層を使用して、単純なメロディー生成における創造性を説明し、実証できることを示しました。これにより、既存のスタイル(例:バッハ)の好みから独自のメロディーを生成することが可能になります。[ 33 ]
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)