美文网首页
SNN初探三---常见编码方法

SNN初探三---常见编码方法

作者: 加油11dd23 | 来源:发表于2020-11-15 16:54 被阅读0次

    频率编码、时序编码、高斯感受野编码

    一、Frequency Coding

    1、基于脉冲计数的频率编码

    将实值在单个神经元上进行编码,保证时间窗内的脉冲发放数与实值相对应。但受脉冲本身特性影响,其脉冲发放频率存在上限。

    很容易想到的是,在时长T内等间隔分布脉冲,这样不仅简单而且鲁棒性好,在间隔内的脉冲可以很容易判断为噪声

    2、基于脉冲密度的频率编码

    image.png

    解码方法,重复运行多次,对运行次数取平均。一般地,Δt取1ms到几ms。

    3、基于群体活动的频率编码

    image.png

    该方法将实值在N个神经元上进行编码,保证时间窗内的所有神经元的脉冲发放数与实值相对应。

    该方法基于脉冲计数的方法相比,可以将时间窗设置的非常小,因此可以对动态变化的刺激进行快速相应。但是,则要求群体内的神经元具有同一性,这在生物上是不太现实的。

    二、泊松编码

    1、泊松分布

    单位时间内, 事物平均发生m次,每次事件发生互相独立,且概率相等,求单位时间内发生k次的概率分布。

    泊松分布的参数λ是单位时间内随机事件的平均发生次数。泊松分布适合于描述单位时间内随机事件发生的次数,这正好与脉冲发放率相对应。

    image.png

    对二维图像,持续时间内,每个像素对应的输入神经元发放的脉冲个数成泊松分布,其中k为激发脉冲的个数,λ为与像素值成正比的激发频率,t时间内未产生脉冲的概率为
    e(-λt)

    二、Tempotral Coding

    1、Threshold-based encoding/ temporal contrast

    该方法可以用于编解码一段序列,当超过阈值时发放脉冲,阈值是根据编码的序列自适应变化的。


    image.png

    使用该编码方法时,实值序列最好是沿时间变化的,因为在根据差分决定是否发放脉冲后,脉冲的顺序与差分顺序有关。

    三、时序编码

    1、Threshold-based encoding

    image.png

    2、Time-to-first spike coding

    image.png
    该编码方法将信息用神经元首次脉冲的发放时间来表示,假设神经元只产生一个脉冲,产生脉冲后神经元处于抑制状态直到下一个刺激到来,产生脉冲的时刻与模拟量的值成正比,这表明,在接收刺激后产生的第一个脉冲的时间包含了刺激的所有信息。

    使用该编码方法的理论是有学者认为,大脑没有时间在每个进程中处理一个以上的脉冲,该方法能够解释视觉刺激快速编码与处理,但是由于每个神经元只能发放一个脉冲,限制了神经元的计算能力。

    (对刺激强度进行解读的话,可以与注意力机制结合,将刺激强度与显著性结合而不是仅仅与像素强度。)

    一种可行的方案是余弦平方时间编码

    3、rank order coding

    信息通过神经元之间发放脉冲的相对次序进行编码,而抛弃精确的时间信息,因为这样更容易实现。
    比如使用6个神经元进行编码,C > E > D > A > B C>E>D>A>BC>E>D>A>B

    使用N个神经元进行编码,其信息容量为log2(N!) 。


    image.png

    4、Population Rank Order Coding

    单个输入变量被编码成多个神经元的脉冲序列,这些神经元具有重叠的高斯感受野,按照其对应的值的大小决定脉冲发放顺序,值越大,脉冲发放时间越早。

    当使用更大的数据集时,输入的编码称为一个重要的因素:因为编码的间隔ΔT被限制在一个固定的间隔,输入的整个范围可以要么通过使用越来越小的时间差后者通过将输入分布在多个神经元上。在我们的网络的仿真中,网络状态按照固定的时间步长改变,因此对一些输入而言,时间分辨率的提高会带来计算上的损失。按照生物的启发的方法,

    5、Latency Coding

    神经元发放脉冲的特性是脉冲的形式是固定的,只有数量和时间上的区别,接受越强的刺激,脉冲生成得越早,因此,可以使用单调递减函数将实值强度与脉冲发放时间的早晚相结合。

    image.png

    使用N个神经元在T时间内编码,其信息容量为

    6、Phase Coding

    相位编码的一般思路是,在大脑区域(例如theta【4-8hz】或γ【40-80hz】频带)内会发生一些背景振荡,并且各个神经元的尖峰时间相对于背景种群振荡编码某种类型的信息。

    相对编码的最著名示例是海马体中的相位进动。大鼠海马中有神经元,称为"位置细胞",仅在动物靠近特定的熟悉位置时才会发射。这些位置细胞的神经尖峰相对于海马背景theta振荡的时机编码了动物与该位置的物理距离。

    脉冲相位编码的思想可以用于随时间变化的模拟量的编码,一个时间周期内的模拟量的值可以用一个脉冲时间表示,将所有时间周期连接起来得到的脉冲序列就可以表示整个时间过程中模拟量的变化。

    7、Latency Phase Coding

    8、BSA

    使用有限脉冲相应滤波器,因此适合编码高频信号


    image.png

    9、Step Forward Encoding

    类似于threshold-based编码,设给定信号序列S(t),定义基准B(t),并令B(1)=S(1),如果S(t1)>B(t1-1)+Th,则发放正脉冲,并且B(t1)=B(t1-1)+Th;如果S(t1)<B(t1-1)-Th,则发放负脉冲,并且B(t1)=B(t1-1)-Th,其他情况不发放脉冲,且B(t1)=B(t1-1)。

    10、Moving Window Spike Encoding

    对上述方法的改进为B(t)定义为过去时间窗口T内的信号强度的均值。

    ref:

    https://blog.csdn.net/ly18846826264/article/details/106782341
    https://blog.csdn.net/ly18846826264/article/details/106153941

    相关文章

      网友评论

          本文标题:SNN初探三---常见编码方法

          本文链接:https://www.haomeiwen.com/subject/imopvktx.html