SNN模仿的脉冲具有不连续和非线性的特征,因此在构建对该神经网络的监督学习算法上比较困难。根据SNN实现的特征可以将监督学习的算法分为在线/离线、单脉冲/多脉冲、多层/单层的学习算法
如何用SNN去处理一个分类问题?第一步,我们要考虑如何将样本编码为和时间相关的脉冲序列,比如如何将图像中(255,255,255)这样的数据转换成脉冲神经网络可以理解的脉冲序列;第二步,如何构建一个神经元的模型,这个就是刚才说的那个基本模型;第三步,要求确定一个学习算法,从而对神经网络进行训练
既然输出神经元仅有输出1和不输出0两个状态,当应用于分类任务时如何输出多个类别?这里可以采用二进制编码的方式输出不同类别。以MNIST数据集为例,输出的类别一共有26种,如果用二进制编码,26个类别在16(2^4)和32(2^5)之间,因此可以采用5位二进制数表示26个类别,因此脉冲神经网络有5个输出节点,输出类如00000表示A ,而00001表示B,以此类推