BriCA言語

BriCA プロジェクトにおいて開発されている、複数のモジュールからなる認知アーキテクチャの枠組みとしてのモジュール構成情報を統一的に記述するためのDSL(Domain Specific Language:ドメイン特化言語)で、アーキテクチャ記述言語の一種でもあります。

BriCA言語の意義

BriCA言語は、コミュニティによる認知アーキテクチャ開発を促進することができます。 それはなぜでしょうか。

  1. 汎用人工知能を実現する、大規模な認知アーキテクチャを機械学習等のモジュールの組合せとして実現するには、その開発を加速するために開発者コミュニティによる分散共同開発が有効です。
  2. 分散共同開発が機能するためには、個別に開発された機械学習モジュールを円滑に共有・流通・組み換え・再利用・置換など実現するために、モジュール間の接続インタフェースの情報を共通化し共有する仕組みが必須です。
  3. その仕組みとして、下記のような条件を満たす仕様を備えたDSLが有効となります。
    • 特定の計算機環境(計算機言語、OSなど)に依存しない。
    • 機械学習をモジュールとみなしううる粒度において、モジュール間のインタフェースを記述できる。
  4. これを記述するDSLとして、BriCA言語は以下のような仕様をもちます。
    • モジュール群とそれらが持つポート、およびそれらの間の接続の情報を含みます。
    • モジュールの包含関係の階層性の情報を含みます。(モジュール階層性)
  5. したがって、BriCA言語による記述はモジュール構成情報を持つことができます。

WBAアプローチにおけるアーキテクチャ記述言語の有用性

一般的にみると、アーキテクチャ記述言語(ADL)は必ずしも広まっておらず、次のような短所が挙げられています(Wikipedia 2015-10-13引用)。

  1. UMLのような汎用的なもの以外に国際的な標準規格がない。
  2. 現状のADLの構文解析は複雑であり、商用ツールで対応していない。
  3. 今のところ研究レベルに留まっており、商業的に広く使われるには至っていない。
  4. 特定の分析に特化して最適化しているものがほとんどである。

一方、全脳アーキテクチャ・アプローチ固有の事情に基づくアーキテクチャ記述言語の有用性については次のような事由を挙げることができます。

  • 脳型制約が存在しなおかつその記述はモジュール内の開発者と異なるアーキテクトによってモジュール構成情報として記述される。
    この分業化を促進するために言語が必要である。
  • 一般のソフトウェア開発はモジュールを必要に応じて追加することがしばしば行われるが、WBAの開発においては脳器官として意味づけられたモジュールを「置換」するという操作が頻繁に行われる。
    この操作を行うためには統一的に記述されたモジュール構成情報の存在が必須であり、それを記述する言語が必要である。

BriCA言語の仕様

BriCA Language Specification に詳しく書かれています。