/Brain-Cog

Brain-inspired Cognitive Intelligence Engine (BrainCog) is a brain-inspired spiking neural network based platform for Brain-inspired Artificial Intelligence and simulating brains at multiple scales. The long term goal of BrainCog is to provide a comprehensive theory and system to decode the mechanisms and principles of human intelligence and its evolution, and develop artificial brains for brain-inspired conscious living AI in future Human-AI symbiotic Society.

Primary LanguagePythonApache License 2.0Apache-2.0

BrainCog


BrainCog is an open source spiking neural network based brain-inspired cognitive intelligence engine for Brain-inspired Artificial Intelligence and brain simulation. More information on BrainCog can be found on its homepage http://www.brain-cog.network/

The current version of BrainCog contains at least 18 functional spiking neural network algorithms (including but not limited to perception and learning, decision making, knowledge representation and reasoning, motor control, social cognition, etc.) built based on BrainCog infrastructures, and BrainCog also provide brain simulations to drosophila, rodent, monkey, and human brains at multiple scales based on spiking neural networks at multiple scales. More detail in http://www.brain-cog.network/docs/

BrainCog is a community based effort for spiking neural network based artificial intelligence, and we welcome any forms of contributions, from contributing to the development of core components, to contributing for applications.

./figures/logo.jpg

BrainCog provides essential and fundamental components to model biological and artificial intelligence.

image

Our paper has been accepted by Patterns recently. If you use BrainCog in your research, the following paper can be cited as the source for BrainCog.

@article{Zeng2023,
  doi = {10.1016/j.patter.2023.100789},
  url = {https://doi.org/10.1016/j.patter.2023.100789},
  year = {2023},
  month = jul,
  publisher = {Cell Press},
  pages = {100789},
  author = {Yi Zeng and Dongcheng Zhao and Feifei Zhao and Guobin Shen and Yiting Dong and Enmeng Lu and Qian Zhang and Yinqian Sun and Qian Liang and Yuxuan Zhao and Zhuoya Zhao and Hongjian Fang and Yuwei Wang and Yang Li and Xin Liu and Chengcheng Du and Qingqun Kong and Zizhe Ruan and Weida Bi},
  title = {{BrainCog}: A spiking neural network based,  brain-inspired cognitive intelligence engine for brain-inspired {AI} and brain simulation},
  journal = {Patterns}
}

Brain-Inspired AI

BrainCog currently provides cognitive functions components that can be classified into five categories:

  • Perception and Learning
  • Knowledge Representation and Reasoning
  • Decision Making
  • Motor Control
  • Social Cognition
  • Development and Evolution
  • Safety and Security

mt

mt

Brain Simulation

BrainCog currently include two parts for brain simulation:

  • Brain Cognitive Function Simulation
  • Multi-scale Brain Structure Simulation

bmbm10s

bm10s

bh10s

The anatomical and imaging data is used to support our simulation from various aspects.

Software-Hardware Codesign

BrainCog currently provides hardware acceleration for spiking neural network based brain-inspired AI.

bh10s

Resources

Publications Using BrainCog

BrainCog Data Engine

Requirements:

  • python == 3.8
  • CUDA toolkit == 11.
  • numpy >= 1.21.2
  • scipy >= 1.8.0
  • h5py >= 3.6.0
  • torch >= 1.10
  • torchvision >= 0.12.0
  • torchaudio >= 0.11.0
  • timm >= 0.5.4
  • matplotlib >= 3.5.1
  • einops >= 0.4.1
  • thop >= 0.0.31
  • pyyaml >= 6.0
  • loris >= 0.5.3
  • pandas >= 1.4.2
  • tonic
  • pandas >= 1.4.2
  • xlrd == 1.2.0

Install

Install Online

  1. You can install braincog by running:

    pip install braincog

  2. Also, install from github by running:

    pip install git+https://github.com/braincog-X/Brain-Cog.git

Install locally

  1. If you are a developer, it is recommanded to download or clone braincog from github.

    git clone https://github.com/braincog-X/Brain-Cog.git

  2. Enter the folder of braincog

    cd Brain-Cog

  3. Install braincog locally

    pip install -e .

Example

  1. Examples for Image Classification
cd ./examples/Perception_and_Learning/img_cls/bp 
python main.py --model cifar_convnet --dataset cifar10 --node-type LIFNode --step 8 --device 0
  1. Examples for Event Classification
cd ./examples/Perception_and_Learning/img_cls/bp 
python main.py --model dvs_convnet --node-type LIFNode --dataset dvsc10 --step 10 --batch-size 128 --act-fun QGateGrad --device 0 

Other BrainCog features and tutorials can be found at http://www.brain-cog.network/docs/

BrainCog Assistant

Please add our BrainCog Assitant via wechat and we will invite you to our wechat developer group. image

Maintenance

This project is led by

1.Brain-inspired Cognitive Intelligence Lab, Institute of Automation, Chinese Academy of Sciences http://www.braincog.ai/

2.Center for Long-term Artificial Intelligence (CLAI) http://long-term-ai.center/