Artificial Cambrian Intelligence (ACI)

Computational methods unveil intricate processes of visual system evolution by simulating environments where embodied agents simultaneously develop eye morphologies and neural processing. By exploring how task demands and environmental pressures shape vision, researchers demonstrate that different challenges trigger unique eye developments—navigation prompting compound eyes, object discrimination yielding camera-like structures—while revealing natural optical innovation emergence and systematic connections between visual acuity and neural complexity, ultimately providing a robust framework for understanding biological vision evolution and designing task-specific artificial visual systems.

Project Papers

Setup

Prerequisites

  • Python 3.11 or higher

Installation

First, clone the repo:

git clone https://github.com/cambrian-org/ACI.git

Then you can install the cambrian package by doing the following.

pip install -e .

Usage

Test

To test the setup and verify you can visualize the environment, you can run the following:

# Setting frame_skip slows down the agent's movements to make it easier to see, the default is 10.
python cambrian/main.py --eval example=detection env.renderer.render_modes='[human]' env.frame_skip=5 env/agents@env.agents.agent=point_seeker

This command should open a window showing an agent moving towards a target. It uses a privileged policy which just tries to minimize the distance to the target.

Currently, the available examples are:

  • Navigation Task: A single agent navigating a large maze.

  • Detection Task: A single agent moving towards a target while avoiding an obstacle.

  • Tracking Task: Similar to detection, but the target and obstacle move.

  • Optics: Outlines how to use our custom imaging model

Train

To train a single agent in a detection-style task, you can run the following command. You will find the trained model and output files at log/<today's date>/exp_detection. This should take 10 to 20 minutes depending on your machine.

bash scripts/run.sh cambrian/main.py --train example=detection

After training, you can evaluate the agent using the following command. Output files will be saved in log/<today's date>/exp_detection.

python cambrian/main.py --eval example=detection trainer/model=loaded_model

Documentation

For more detailed information on how to train, evaluate, and run experiments, see the Documentation website.

Compiling the Documentation

First install the dev/doc dependencies.

pip install -e '.[doc,dev]'

Then to build the docs, run the following:

cd docs
make clean html

To view the build, go to your browser, and open the index.html file located inside build/html/ (or run open build/html/index.html).

Citation

@misc{aci,
    author = {Aaron Young and Kushagra Tiwary and Zaid Tasneem and Tzofi Klinghoffer and Bhavya Agrawalla and Sanjana Duttagupta and Akshat Dave and Brian Cheung},
    title = {{Artificial Cambrian Intelligence}},
    year = {2025},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/cambrian-org/ACI}},
}