sunzhe839 / CRSNN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unsupervised Conditional Reflex Learning Based on Convolutional Spiking Neural Network and Reward Modulation

Model

Structure

structure

Requirements

  1. NEST
  2. Pytorch
  3. SkypeTorch
  4. V-REP (simulation platform)
  5. ROS(interface between simulation environment and the script)

How to run

  1. generate noise-like data with opencv and put the data into ./images
  2. train the feature-extract unit with the generated noise-like data in an unsupervised manner:
    python ./feature_extract_unit/train_with_noiselikedata.py
    
  3. train the decision-making unit:
    python ./decision_making_unit/train.py  
    
    • parameters of the network can be changed in ./decision_making_unit/parameters.py

    • note: ./decision_making_unit/environment_1.py corresponds to scenario 1~3 and ./decision_making_unit/environment_2.py corresponds to scenario 4.

Some Results

A. Visualization of the feature-extraction unit

visualization1

B. Visualization of the decision-making unit

visualiztion2

C. Training period

train

D. Testing performance

test_comparison test_visualiztion

E. Generalization evaluation

generaliztion

F. Robustness evaluation

robustness

Acknowledge

Our work is based on the following works:

  1. SkykeTorch
    [Paper | Project]
  2. R-STDP
    [Paper | Project]

About


Languages

Language:Python 100.0%