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

BriCA プラットフォームを用いて、脳型認知アーキテクチャを持つエージェントを開発し、OpenAI Gymで記述した環境でテストしたり、学習を行わせたりすることができます。

BriCA プラットフォームの主な構成要素には以下のものがあります:

  • BriCA1: 脳型認知アーキテクチャを記述し、走らせるための BriCAコア (Python プログラム)
  • brica_gym: BriCAを用いたOpenAI Gym エージェントを作成するための Python プログラム
    (Gym環境の実行サイクルに合わせた記述を行うためのクラスを含みます。)
  • BriCAL: BriCA言語記述から動作する BriCA プログラムを生成するインタプリタ
  • bif_excel2brical: 表形式ファイルからBriCA言語ファイルを生成するユーティリティ

BriCA プラットフォームを用いた認知アーキテクチャ開発は次のような順番ですすめることができます。

  1. 表(Excel)形式でモジュールとポート、ポート間接続を記述
    (形式についてはbif_excel2bricalおよび以下の例題を参照ください。)
  2. 表形式記述をbif_excel2bricalでJSON形式に変換
  3. Gym環境、BriCAコンポーネント、main プログラム(下記)を実装
  4. テストとデバッグ

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テスト

(Gymエージェントではない)

最小限の認知アーキテクチャ

皮質・基底核・視床ループ

注意機構を持つ作業記憶

(Gymエージェント)

上記3つの実装の解説はこちら

  • brica_プラットフォームの使い方.txt
  • 最終更新: 2022/04/27 16:48
  • by n.arakawa