Skip to content

rkhz/menrot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Deep Learning Model of Mental Rotation
Informed by Interactive VR Experiments

Code arXiv

Raymond Khazoum, Daniela Fernandes, Aleksandr Krylov, Qin Li, Stéphane Deny

Aalto University

Overview

We propose a mechanistic deep neural model of human mental rotation that combines equivariant and symbolic representations, showing that the model solves the task while recapitulating human behavioral patterns.

Installation

Requires Python 3.12+.

# Clone the repository
git clone https://github.com/rkhz/menrot.git

# Move into the directory
cd menrot

# Create and activate virtual environment
python -m venv .venv   
source .venv/bin/activate  

# Install dependencies
pip install -r requirements.txt

Usage

1. Build Dataset

python scripts/build_dataset.py --task <task> --split <split>
Argument Values
--task renderer (for Module I), symbolic (for Module II), cognitive (for Module III)
--split train, val, test

Data is written to $WRKDIR/data/menrot_<task>/<split>/. If WRKDIR is not set, you will be prompted for a path, or set it explicitly:

export WRKDIR=/path/to/data

2. Train Modules

TODO

3. Evaluation on the Mental Rotation Task

TODO

Project Layout

menrot/
├── menrot/
│   ├── datasets/
│   │   ├── __init__.py
│   │   ├── menrot_cognitive.py
│   │   ├── menrot_renderer.py
│   │   └── menrot_symbolic.py
│   ├── distributed/
│   │   ├── __init__.py
│   │   ├── trainer.py
│   │   └── utils.py
│   ├── models/
│   │   ├── configs/
│   │   │   └── vsm_encoder.json
│   │   ├── __init__.py
│   │   ├── eqnr.py
│   │   ├── mlp.py
│   │   └── vsm.py
│   ├── nn/
│   │   ├── modules/
│   │   │   ├── __init__.py
│   │   │   ├── conv_block.py
│   │   │   ├── decoder.py
│   │   │   ├── encoder.py
│   │   │   ├── projection.py
│   │   │   ├── res_block.py
│   │   │   ├── rotation.py
│   │   │   ├── spherical_mask.py
│   │   │   └── transformers.py
│   │   ├── __init__.py
│   │   └── functional.py
│   ├── optim/
│   │   ├── __init__.py
│   │   └── scheduler_handler.py
│   ├── representations/
│   │   ├── __init__.py
│   │   ├── spatial.py
│   │   └── symbolic.py
│   ├── utils/
│   │   ├── data/
│   │   │   ├── configs/
│   │   │   │   ├── objects_shape-test.csv
│   │   │   │   ├── objects_shape-train.csv
│   │   │   │   ├── objects_shape-val.csv
│   │   │   │   ├── shape-test.csv
│   │   │   │   ├── shape-train.csv
│   │   │   │   └── shape-val.csv
│   │   │   ├── __init__.py
│   │   │   ├── builder.py
│   │   │   ├── dataset.py
│   │   │   ├── distributed.py
│   │   │   └── sampler.py
│   │   ├── __init__.py
│   │   ├── checkpoint.py
│   │   └── config.py
│   └── __init__.py
├── human_data/
│   ├── mr_vr_action.csv
│   ├── mr_vr_no_action.csv
│   └── README.md
├── scripts/
│   └── build_dataset.py
├── LICENSE
├── README.md
└── requirements.txt

Related Repositories

Citation

@article{khazoum2025deep,
  title={A Deep Learning Model of Mental Rotation Informed by Interactive VR Experiments},
  author={Khazoum, Raymond and Fernandes, Daniela and Krylov, Aleksandr and Li, Qin and Deny, Stephane},
  journal={arXiv preprint arXiv:2512.13517},
  year={2025}
}

About

Official implementation of "A Deep Learning Model of Mental Rotation Informed by Interactive VR Experiments"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages