GithubHelp home page GithubHelp logo

neuro-raai's Introduction

Course on neuromorphic computing at RAAI Summer School on Artificial Intelligence, 2021

The school was held at Sirius, Sochi at 2021, 4-18 July.

General information is available here (in Russian): http://school.raai.org/

Keynote lections on YouTube (mainly in Russian): https://www.youtube.com/channel/UC8UsNfjhqJW1d0ryvU-p3qw

Content

Lections (in Russian)

  1. Introduction to neuroscience and models of neurons (pdf, pptx)
  2. Biophysical models of neurons and connections (pdf, pptx)
  3. Network topology, oscillations and synchronization (pdf, pptx)
  4. Synaptic plasticity and learning (pdf, pptx)
  5. Control of motor rhythms (pdf, pptx)
  6. Reinforcement and supervised learning (pdf, pptx)
  7. Applications of neuromorphic computing (pdf, pptx)
  8. Student projects (pdf, pptx)

Installation

During the course we use the following software:

  • Python 3 and Jupyter notebooks
  • Brian 2 for biological neural networks simulation
  • OpenAI Gym and OSIM-RL for the control part.

Anaconda installation

  1. Install Anaconda 3 (https://www.anaconda.com/products/individual)
  2. Create conda environment

conda create --name neuro python=3.6.13

conda activate neuro

  1. Install dependencies

conda install numpy scipy jupyter matplotlib mpmath setuptools setuptools_scm mock nose

  1. Install Brian2, simulator for biological neurons (https://brian2.readthedocs.io/), and OpenAI Gym (https://gym.openai.com/)

conda install -c conda-forge brian2 gym pybox2d

  1. Install excersises from Neuronal Dynamics book (https://neuronaldynamics-exercises.readthedocs.io/en/latest/setup.html)

pip install neurodynex3

Pip and venv installation

  1. Create working directory neuro-raai and set it as a working directory in console
  2. Create and activate Python environment neuro-env (https://docs.python.org/3/tutorial/venv.html):

python3 -m venv neuro-env

On Linux:

source neuro-env/bin/activate

On Windows:

neuro-env\Scripts\activate.bat

  1. Ensure that pip is installed: https://docs.python.org/3/tutorial/venv.html#managing-packages-with-pip
  2. Install setuptools

pip install "setuptools>=45" setuptools_scm

  1. Install Brian2:

pip install brian2

  1. Install examples in neurodynex3: https://github.com/EPFL-LCN/neuronaldynamics-exercises

pip install neurodynex3

References

A good introduction in biological mechanisms underlying brain functions:

Nicolls J.G. et.al. From Neuron to Brain, 5th edition.

Recent advances of neuromorphic hardware are reviewed in:

Davies, M., Wild, A., Orchard, G., Sandamirskaya, Y., Guerra, G. A. F., Joshi, P., ... & Risbud, S. R. (2021). Advancing neuromorphic computing with Loihi: A survey of results and outlook. Proceedings of the IEEE, 109(5), 911-934.

Models of biological neurons and networks

  1. W. Gerstner, W.M. Kistler, R. Naud and L. Paninski Neuronal Dynamics. Online book: http://neuronaldynamics.epfl.ch/online/
  2. Izhikevich, E. M. (2003). Simple model of spiking neurons. IEEE Trans. on Neur. Networks
  3. Eugene M. Izhikevich (2006), Scholarpedia, 1(3):1300. http://www.scholarpedia.org/article/Bursting
  4. Brunel, N., & Hakim, V. (1999). Fast global oscillations in networks of integrate-and-fire neurons with low firing rates. Neural computation, 11(7), 1621-1671.

Neuromorphic control

  1. Russell, A., Orchard, G., & Etienne-Cummings, R. (2007, May). Configuring of spiking central pattern generator networks for bipedal walking using genetic algorthms. In 2007 IEEE International Symposium on Circuits and Systems (pp. 1525-1528). IEEE.
  2. Knüsel, J. et.al. (2020). Reproducing five motor behaviors in a salamander robot with virtual muscles and a distributed CPG controller regulated by drive signals and proprioceptive feedback. Frontiers in neurorobotics, 14.
  3. Stagsted, R., Vitale, A., Binz, J., Bonde Larsen, L., & Sandamirskaya, Y. (2020, July). Towards neuromorphic control: A spiking neural network based PID controller for UAV. RSS.

Learning

  1. Sjöström J. and Gerstner W. (2010), Scholarpedia, 5(2):1362. http://www.scholarpedia.org/article/STDP
  2. Izhikevich, E. M. (1999). Weakly pulse-coupled oscillators, FM interactions, synchronization, and oscillatory associative memory. IEEE Transactions on Neural Networks, 10(3), 508-526.

neuro-raai's People

Contributors

bazenkov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.