/CogPonder

Scalable Computational Framework for General Cognitive Control

Primary LanguageJupyter NotebookMIT LicenseMIT

CogPonder

CogPonder is a flexible, differentiable model of cognitive control that is inspired by the Test-Operate-Test-Exit (TOTE) architecture in psychology and the PonderNet framework in deep learning. CogPonder functionally decouples the act of control from the controlled processes by introducing a controller that wraps around any end-to-end deep learning model and decides when to terminate processing and output a response, thus producing both a response and response time.

CCN2023 Paper · CCN2023 Poster

Warning

This is a work-in-progress. Model architecture and results are subject to change as we continue to develop and refine the model.

Setup

To install the dependencies, you need Conda (or even better, Mamba). Then, create a new environment with the dependencies as follows:

mamba env create -f environment.yml
mamba activate cogponder
dvc update --rev master -R data  # import the SRO data using DVC

To install additional GPU dependencies run the following:

mamba env update -f environment_gpu.yml --prune

Notebooks

The notebooks are organized as follows:

  • notebooks/N-Back.ipynb: training a single-task 2-back agent.
  • notebooks/Stroop.ipynb: training a single-task Stroop agent.

Data

see data/Self_Regulation_Ontology/README.md

Citation

@Conference{ansarinia2023cogponder,
  title={CogPonder: Towards a Computational Framework of General Cognitive Control},
  author={Ansarinia, Morteza and Cardoso-Leite, Pedro},
  year={2023},
  month={August},
  doi={10.32470/CCN.2023.1697-0},
  booktitle={2023 Conference on Cognitive Computational Neuroscience, Oxford, UK}
}