这一部分主要说此代码将要用python实现硬件友好的SNN网络。此网络的训练将用到STDP算法。
网络涉及到的元素包括:
SNN的架构有很多,本文采用Winner-takes-all SNN架构:从前(输入层)到后(输出层)传递,假设神经元互相之间不影响对方。
网络组成:神经元、突触、感受野、spike train
神经元Neuron——产生spike train
突触Synapse——权重时延通道:通过这一步搭建起了SNN有学习过的权重的框架——spike train转换为PSP再转换为spike train。
感受野Receptive field:神经元在感受野中产生响应——模拟值。假如输入是一张图片,那么加了感受野的部分就可以增强或减弱其膜电位。
spike train——做为SNN网络输入和输出的时间序列信号。将在感受野的滑动窗口产生的模拟值转化为时间序列信号。本文采用的编码方法是 rate coding。
spike train&膜电位&PSP的区别:
- 膜电位
膜电位是在突触上传递的电位