PsychRNN
PsychRNN trains recurrent neural networks to model cognitive tasks and investigate neural circuit mechanisms in computational, systems, and cognitive neuroscience.
Key Features:
- TensorFlow training backend: Uses TensorFlow as the training backend for optimizing recurrent neural network models.
- Python and NumPy model definition: Enables task and model specification using Python and NumPy-based interfaces.
- Extensibility: Allows customization and extension of models and training procedures for users with TensorFlow expertise.
- Neurobiologically relevant constraints: Supports imposition of constraints on synaptic connectivity patterns to reflect neurobiological structure.
- Modular task specification: Provides a modular task framework that permits parametric variation in task demands.
- Curriculum learning (task shaping): Implements curriculum learning with performance-based adjustments to task difficulty during training.
- Post-training analysis support: Facilitates analysis of network properties and dynamics such as synaptic connectivity patterns and neural activity.
Scientific Applications:
- Modeling cognitive computations: Train RNNs to perform cognitive tasks to investigate neural representations and circuit mechanisms underlying cognition.
- Cross-species task comparison: Fit networks on tasks used in animal and human experiments to compare artificial and biological task behaviors.
- Connectivity studies: Examine how imposed synaptic connectivity constraints influence network solutions and computations.
- Neural population dynamics: Analyze dynamics of neural activity during task execution and how population activity supports behavior.
- Perturbation and learning trajectories: Conduct perturbation studies and investigate how curriculum/task shaping trajectories affect learning outcomes.
Methodology:
Define a cognitive task in Python/NumPy, train a recurrent neural network using TensorFlow, optionally impose neurobiologically informed synaptic connectivity constraints during training, apply curriculum learning for iterative training adjustments, and perform post-training analyses of synaptic connectivity and neural activity dynamics.
Topics
Details
- License:
- MIT
- Programming Languages:
- Python
- Added:
- 1/18/2021
- Last Updated:
- 1/29/2021
Operations
Publications
Ehrlich DB, Stone JT, Brandfonbrener D, Atanasov A, Murray JD. PsychRNN: An Accessible and Flexible Python Package for Training Recurrent Neural Network Models on Cognitive Tasks. Unknown Journal. 2020. doi:10.1101/2020.09.30.321752.