STCA-DSNN
This is a matlab implementation of STCA on GPUs using CUDA.
STCA is an algorithm for training deep spiking neural networks to resolve the temporal credit assignment problem and classification tasks.
It has been already accepted by IJCAI-19.
Citation
If you use STCA in your reseasrch, please cite the following paper:
@inproceedings{ijcai2019-189,
title = {STCA: Spatio-Temporal Credit Assignment with Delayed Feedback in Deep Spiking Neural Networks},
author = {Gu, Pengjie and Xiao, Rong and Pan, Gang and Tang, Huajin},
booktitle = {Proceedings of the Twenty-Eighth International Joint Conference on
Artificial Intelligence, {IJCAI-19}},
publisher = {International Joint Conferences on Artificial Intelligence Organization},
pages = {1366--1372},
year = {2019},
month = {7},
doi = {10.24963/ijcai.2019/189},
url = {https://doi.org/10.24963/ijcai.2019/189},
}
Requirements
- MATLAB R2016b
- CUDA 9.0
- This version can be run at both Windows and Linux.
Getting started
- Note that this version can only construct fully-connected networks. The following version will support convolutional structures.
- First, you should add 'STCA-DSNN' and its subfolders to path and then run 'Experiment/MNIST/runMNIST.m' (you need to alter the variable 'path' in this file to math your own path.).
Folder organization
-
Experiment: Experiments completed in the paper (MNIST classification, instrument recognition, and unsegmented sound events detection).
-
Algorithm: Algorithms for training and testing.
-
Cuda: CU and PTX files which are crucial for the parallel processing of this implementation.
-
Data: Some data used in experiments.
-
Encoding: Encoding methods converting other signals into spike domain.