SNN系列|编码篇(3)高斯感受野编码GRF

GRF

population编码,目前最常用的群编码方法,以脉冲的先后表示信息的重要程度。

原文翻译(P29)

当使用更大的数据集时,输入的编码成为一个重要的因素:因为编码的间隔 Δ T \Delta T ΔT被限制在一个固定的间隔,输入的整个范围可以要么通过使用越来越小的时间差或者通过将输入分布在多个神经元上。在我们的网络仿真中,网络状态按照固定的时间步长改变,因此对一些输入而言,时间分辨率的提高会带来计算上的损失。按照生物启发的方法,我们注意到皮层脉冲时间被认为是固有的噪声因为他们的峰值时间在1-2ms上表现出波动。因此,一个需要单个神经元去拥有更高的时间精确度时不可解释的。

这样的观点支持群体编码,我们使用基于感受野的编码,这样可以实现对连续实值输入变量的带分级和重叠敏感度分布的神经元群的表征,例如高斯激活函数。这种编码方式构成了一种生物可解释的且能较好研究的表征实值参数的方法。为了将实值编码为时序模式,将高刺激的神经元与早期出发时间联系起来,将低刺激神经元与晚触发时间联系起来是很有必要的,然后时间编码的扩展就很简单明了了。 (这里的高刺激指代的不是实值大小,而是实值输入到高斯曲线中的值)

我们单独编码每个输入变量:每个输入的维度由一维感受野的阵列编码。使感受野更尖一些,神经元数量更多一些可以提高表征的准确率。这种编码方式已经显示为无偏的,并且脉冲时序模式的环境中,它已经被成功的应用到无监督问题中。

实验中,我们确定好数据的输入范围,然后用覆盖整个数据范围的神经元编码每个输入变量。对于一个在 [ I m i n n , ⋯   , I m a x n ] [I_{min}^n,\cdots, I_{max}^n] [Iminn,,Imaxn]的变量n,在高斯感受野中使用m个神经元,对于神经元i,它的中心被设置为
I m i n n + ( 2 i − 3 ) / 2 ⋅ { I m a x n − I m i n n } / ( m − 2 ) I_{min}^n+(2i-3)/2·\{I_{max}^n-I_{min}^n\}/(m-2) Iminn+(2i3)/2{ImaxnIminn}/(m2)
其宽度被设置为
σ = 1 / β { I m a x n − I m i n n } / ( m − 2 ) \sigma = 1/\beta\{I_{max}^n-I_{min}^n\}/(m-2) σ=1/β{ImaxnIminn}/(m2)
对于 β \beta β,尝试使用1.0~2.0,鉴于最优结果,实验中使用的是1.5。对每个输入模式,需要计算编码感受野变量的神经元的响应值,产生 n × m n\times m n×m个在0到1范围的值。然后这些值被转换为延迟时间,将 t = 0 t=0 t=0与1联系起来,后仿真总时间 t = 10 t=10 t=10与低响应联系起来。结果的脉冲时间被取整到最近的时间间隔的步长,时间大于 t = 9 t=9 t=9的被编码为不发放脉冲,因为我们认为他们不足以激发脉冲。

输出分类根据WTA进行编码,编码特定类别的神经元被指派一个早期脉冲时间,其他都被晚一点,因此,设定编码间隔为 Δ T \Delta T ΔT。如果早期发放脉冲的神经元与需要优先发放的神经元相对应则分类正确,为了在按照相同时间步长发放脉冲的多个神经元中得到优胜者,基于当前和之前的膜电势,对实值脉冲发放时间进行一阶近似。

得到的输入变量的时间编码有两个特性:通过向少量的显著激活的神经元分配触发时间,我们实现了稀疏编码,支持有效的基于事件的网络仿真;同样,通过独立编码每个变量,我们实现了粗糙编码,其中,每个变量可以被最优的神经元数量进行编码。

SNN系列|编码篇(3)高斯感受野编码GRF_第1张图片

在spikeProp中,每个神经元只发放一个脉冲,区别在于脉冲发放时间不同。

GRF的计算步骤

1 数据处理:使各个特征具有相同量纲或者将全部特征归一化

2 构建高斯感受野:设置神经元数目m以及感受野方差 β \beta β,假设数据做了归一化处理
c i = ( 2 i − 3 ) / ( 2 ( m − 2 ) ) σ = 1 / ( β ( m − 2 ) ) c_i=(2i-3)/(2(m-2))\\ \sigma = 1/(\beta(m-2)) ci=(2i3)/(2(m2))σ=1/(β(m2))
3 将变量输入到感受野得到m个概率值

4 值的大小与触发时间联系起来:较大的值与早期触发时间联系,太小的值不能触发。具体地,小于某个值的设为0。使用1做差,使的值大的触发时间小

5 设置仿真时长T,将浮点数与T相乘并取整

特点:

  • t=T的脉冲认为是不发放或无关紧要的
  • 每个神经元只发放一次脉冲
  • 按神经元顺序(高斯曲线顺序)依次是不发放脉冲、较晚发放脉冲、较早发放脉冲、较晚发放脉冲
  • 按输入实值大小的顺序是输入值越大,其编码中较早发放脉冲的神经元顺序越靠后

实例如下:

参考

[1] Error-backpropagation in temporally encoded networks ofspiking neurons

[2] Tempotron

[3] 脉冲神经网络原理及应用

你可能感兴趣的:(Spiking,Neuron,Network,机器学习,人工智能)