brica_プラットフォームの使い方

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
brica_プラットフォームの使い方 [2022/04/26 17:10]
n.arakawa
brica_プラットフォームの使い方 [2022/04/27 16:48] (現在)
n.arakawa [ユースケース]
行 4: 行 4:
  
 ==== プラットフォームを構成するソフトウェア ==== ==== プラットフォームを構成するソフトウェア ====
-BriCA プラットフォームは以下の要素からなっています+BriCA プラットフォームの主な構成要素には以下のものがあります
   * [[https://github.com/wbap/BriCA1|BriCA1]]: 脳型認知アーキテクチャを記述し、走らせるための [[BriCAコア]] (Python プログラム)   * [[https://github.com/wbap/BriCA1|BriCA1]]: 脳型認知アーキテクチャを記述し、走らせるための [[BriCAコア]] (Python プログラム)
   * [[https://github.com/wbap/BriCA1/blob/master/brica1/brica_gym.py|brica_gym]]: BriCAを用いた[[https://gym.openai.com|OpenAI Gym]] エージェントを作成するための Python プログラム\\ (Gym環境の実行サイクルに合わせた記述を行うためのクラスを含みます。)   * [[https://github.com/wbap/BriCA1/blob/master/brica1/brica_gym.py|brica_gym]]: BriCAを用いた[[https://gym.openai.com|OpenAI Gym]] エージェントを作成するための Python プログラム\\ (Gym環境の実行サイクルに合わせた記述を行うためのクラスを含みます。)
行 12: 行 12:
 ==== ユースケース ==== ==== ユースケース ====
 BriCA プラットフォームを用いた認知アーキテクチャ開発は次のような順番ですすめることができます。 BriCA プラットフォームを用いた認知アーキテクチャ開発は次のような順番ですすめることができます。
-  - 記号付きリスト表(Excel)形式でモジュールとポート、ポート間接続を記述\\ (形式については[[https://github.com/wbap/BriCAL/tree/master/bif_excel2brical|bif_excel2brical]]および以下の例題を参照ください。)+  - 表(Excel)形式でモジュールとポート、ポート間接続を記述\\ (形式については[[https://github.com/wbap/BriCAL/tree/master/bif_excel2brical|bif_excel2brical]]および以下の例題を参照ください。)
   - 表形式記述をbif_excel2bricalでJSON形式に変換   - 表形式記述をbif_excel2bricalでJSON形式に変換
-  - Gym環境、BriCAコンポーネント、main コードを実装+  - Gym環境、BriCAコンポーネント、main プログラム(下記)を実装
   - テストとデバッグ   - テストとデバッグ
  
 ==== Mainプログラムの概要 ==== ==== Mainプログラムの概要 ====
-  記号リスト +BriCA言語インタプリタとOpenAI Gymを用いた認知アーキテクチャのコードは概ね次のようなコードを含みます。 
 +  必要ライブラのインポート(含 ''brica1'', ''brica1.brica_gym'', ''brica1'',''brical'', ''gym'', ''numpy'', ''json'') 
 +  * JSON形式のBriCA言語記述ファイルの読み込み、形式チェック\\ (この段階で BriCAモジュールが生成されBriCA言語内部表現''nb''に紐付けられます) 
 +  * 他の設定ファイルなどの読み込み(あれば) 
 +  * Gym環境インタンス生成 
 +  * BriCAコンポーネン初期化 
 +  * ポート作成(''nb.make_ports()'') 
 +  * ''agent_builder = brical.AgentBuilder()'' 
 +  * ''agent = agent_builder.create_gym_agent(nb, 認知アーキテクチャ最上位モジュール, Gym環境インスタンス)'' 
 +  * ''scheduler = brica1.VirtualTimeSyncScheduler(agent)'' 
 +  * ループを回して BriCAの "scheduler.step()''を実行\\ (Gym環境と同期させるためにトークンを回していることに注意) 
 +  * 終了後環境などをクローズ 
 +具体例は下記を参照ください。
 ==== 例題 ==== ==== 例題 ====
 === BriCAテスト === === BriCAテスト ===
行 27: 行 38:
   * [[https://github.com/wbap/BriCAL/blob/master/bif_excel2brical/usecase/n001.py|Mainプログラム]]   * [[https://github.com/wbap/BriCAL/blob/master/bif_excel2brical/usecase/n001.py|Mainプログラム]]
  
 +=== 最小限の認知アーキテクチャ ===
 +(Gymエージェント)
 +  * [[https://ggle.io/4wZG|表形式]]
 +  * [[https://github.com/rondelion/minimalCA/blob/main/minimal_CA.brical.json|JSON形式BriCA言語ファイル]]
 +  * [[https://github.com/rondelion/minimalCA/blob/main/minimal_CA_1_BL.py|Mainプログラム]]
 +
 +=== 皮質・基底核・視床ループ ===
 +(Gymエージェント)
 +  * [[https://ggle.io/4wZK|表形式]]
 +  * [[https://github.com/rondelion/MinimalCtxBGA/blob/main/CBT1CA.brical.json|JSON形式BriCA言語ファイル]]
 +  * [[https://github.com/rondelion/MinimalCtxBGA/blob/main/CBT1cCA_1_BL.py|Mainプログラム]]
 +
 +=== 注意機構を持つ作業記憶 ===
 +(Gymエージェント)
 +  * [[https://ggle.io/4wZO|表形式]]
 +  * [[https://github.com/rondelion/MinimalWMAgent/blob/main/MinWMAgent1.brical.json|JSON形式BriCA言語ファイル]]
 +  * [[https://github.com/rondelion/MinimalWMAgent/blob/main/MinWMAgent1_1_BL.py|Mainプログラム]]\\ 内部結合を持つアーキテクチャでは内部出力を持つコンポーネントを 環境エピソード終了後にリセットし、前のエピソードの情報が残らないようにする必要があります。
  
 +上記3つの実装の解説は[[https://doi.org/10.11517/jsaisigtwo.2022.AGI-020_02|こちら]]
  
  
  • brica_プラットフォームの使い方.1650960618.txt.gz
  • 最終更新: 2022/04/26 17:10
  • by n.arakawa