全名: Information Transmitted From Bioinspired Neuron–Astrocyte Network Improves Cortical Spiking Network’s Pattern Recognition Performance
这篇论文讨论的主题是两个脉冲神经网络之间的信息传递,我不打算把全文翻译下来,仅仅是讲解一下思路。
概览
论文的核心在于两个网络之间的通信,请记住,一切的铺垫都是为了这个目标。
列出一些关键词,这些关键词是文中的关键概念:
- astrocyte: 星形胶质细胞
- CSN: cortical spiking network,一个网络
- CNAN: cortical neuron-astrocyte network,另一个网络
- CSN对应MNIST数据集,CNAN在Alpha-dight上训练
- pyramidal: 一种兴奋性神经元
- interneuron: 一种抑制性神经元
- AMPA:一种兴奋性突触
- GAPA:一种抑制性突触
CSN网络架构
CSN分三层,输入,中间,输出。
输入层
第一个问题就是如何将图片编码成spike事件。
运用了一个理论叫做长椭球波函数(prolate spheroidal wave functions (PSWF)),我去查过这个函数的论文,全是公式,所以简单提一下即可。具体用法就是先将图片的每一个像素变成一个正弦信号,然后对信号求和得到:informative signal of image
还没完,对这个信号求均值可以得到一个强度,把这个强度作为泊松分布的速率常数,即可得到脉冲序列。
中间层
中间层的结构比较复杂。
先说神经元。有piramidal 和interneuron 两种,比例是8:2。为什么是这个比例呢,这个有一定的经验依据,灵长类动物体内这种兴奋:抑制=8:2 的比例很常见(突然想到二八定律,或许看似不公平才是公平),这个比例可以维持兴奋和抑制平衡
再说突触。层内任意两个神经元之间连接概率为0.2。每个神经元都有多输入,多输出。输入可以是兴奋或者抑制,影响当前膜电位,输出由当前神经元性质决定,如果是兴奋,输出全是兴奋。
最后探讨一下数量问题。文中piramidal + interneuron = 5000,那么总的突触应该有:
500
0
2
×
0.2
=
5000000
≈
5001605
5000^2\times0.2 = 5000000 \approx 5001605
50002×0.2=5000000≈5001605
这个数量波动是因为概率,所以很合理。
输出层
因为是MNIST数据集,所以输出层有10个神经元,全是椎体细胞,与第二层全连接。
通常的输出层判断是通过响应频率来判断的,频率最大(the highest spike rate)的就是目标的类别,这个网络也是(注:另一种判断是通过最先响应来判断),注意表述区别。
顺带说一下神经元模型和STDP。
兴奋性神经元的公式如下,类似于RC电路,实际上LIF模型就是RC电路的近亲,但是具体学起来还得看神经动力学。
STDP的公式如右上角,那么就会有四种情况:
- 突触前神经元比突触后神经元先激发,且时间接近,说明这两个激发有强烈因果关系,大力增加权重。
- 突触前神经元比突触后神经元先激发,但时间有点远,说明这两个激发可能有一点因果关系,加一点权重。
- 突触后神经元先激发,突触前神经元才激发,说明这两个没关系。同样根据时间差,确定权重减小的力度。
CNAN架构
星形胶质细胞
Astrocyte:星形胶质细胞自身无法产生动作电位,但是也具有受体和输出。受体接受神经递质(前面神经元的影响)释放化学物质影响后面的神经元。具体公式非常复杂,但是大致作用,就是进行突触前和突触后神经元的双向通信。
之所以是双向通信,我看完公式的感觉就是,他实际上不是直接刺激,而是通过改变神经元间化学物质的浓度来实现影响突触的,所以是双向的。(这里仅做猜想,我没细看公式)
架构
具体用法就是将Astrocyte分配到椎体神经元和中间神经元中间的突触间隙,可以简单理解为插进中间。注意,只能是这两种不同种的插入。
实际实现是将1501674个全连接Astrocyte添加到CSN中,这个数量需要考究:
因为这个只能在不同种神经元间插入,所以用8:2 算出椎体有4000,中间神经元有1000,然后因为实际中我们不能模拟那个化学物质,所以干脆就建立双向通道,两个突触。最后还要注意有个0.2的概率。
4000
?
1000
?
2
?
0.2
=
1600000
≈
1501674
4000*1000*2*0.2=1600000\approx 1501674
4000?1000?2?0.2=1600000≈1501674
虽然这个差的有点多,但是目前也只能算到这个地步了。
最后,学习方法还用的是STDP,同样的一大堆公式,更复杂了。
分别训练
说完两个架构了,然后就要在CSN-MNIST,CNAN-Alpha-dight两个组合上验证精度了。
Alpha-dight数据集是MNIST的加强,不仅有10个数字,还加入了26个英文字母,因为是混合数据集,所以很多网络的训练精度就会比MNIST下降很多。同时,为了保证信息交换,需要将Alpha-dight数据集图片大小变成
28
×
28
28\times 28
28×28
通过分析下面两个图,可以的出初步结论:两个网络各自的表现都要优于同类算法。
信息编码探究
LFP:评估神经元群体集体行为的量 具体展开比较复杂,总的来说,就是通过一通计算,得出两个数字,82.3% CSN,87.54% CNAN,所以CNAN提供了更强的信息编码。
进一步解释这个数字的含义。如果训练后的CNAN的输入对应于模式“A”,则分类神经元“A”的LFP功率谱的PSWF系数的87.54%将等于一些突触权重之和。
具体解释下这个突出权重。
我们知道,深度学习网络,当有输入时,每一层的所有权重连接都会被全部激活。而脉冲神经网络只会激活一部分,有一种这些权重属于那个输入的感觉,这样就有一个因果的感觉。
在CNAN中,“A”模式输入后,会把CNAN(中间层)到分类神经元(输出层的)之间的一部分突触激活,这些突触对应“A”模式,而这些对应“A”模式的突触权重和就是上面说的权重。所以这个数字可以初步理解为权重对结果的贡献比较大,从输入到输出信息保留度比较大。
把CNAN连到CSN,以及信息传递探究
前面说CNAN有更强的信息编码功能,那这里就将CNAN作为一个编码后输入,给CSN提供更多信息。
然而直接连不太行,需要进行处理。这个处理用到了LFP以及一些同步技术,这个同步技术就是两个脉冲神经网络之间的信息传输。本文还通过穷举搜索到近似最佳的同步参数,来实现最大化保留传输的信息。
注意网络架构也改了,输出层变成了36+10,那个10对应于CSN。
连接后的表现分析
准确率
CNAN在Alpha-digit训练,CSN在MNIST训练,连接后,CNAN将信息以87.47%的比例传到CSN。这个信息包括了Alpha-digit的信息,因此虽然CSN没经过字母训练,但是也可以识别字母。
字母识别效果和CNAN类似,有所降低就是前面那个比例。这里也可以证明那个比例可以代表信息传递效率。数字识别效果和CSN类似。
输出层神经元响应
其实在前面我们就应该有一个疑问,CNAN里的10个和CSN里的10个数字,会不会重复了,最后识别出来的算谁的?这就是这章讨论的内容。
横轴:输入模式 纵轴:响应模式 颜色:右边的cmap,代表响应频率
可以看到,在Alpha-digit的数字模式中,Alpha-digit和MNIST响应差不多,但是MNIST数字中,ALpha-dight响应就很低,说明数字的响应不依赖于CNAN,基本是来自于CSN的,于是输出层可以变成26+10,删去CNAN中的10个数字节点。
最终结论
Alpha:CSN可以识别Alpha字母,说明信息可以在神经网络之间传递,这个在脑区协作的情境下或许会有很大的作用。
数字:虽然删掉了10个节点,但还是可以用MNIST中训练出来的数字识别能力识别Alpha-dight的数字,这说明信息传输不仅可以无中生有,还可以将相似信息迁移,有助于进行进行类比学习,迁移学习。
运用这两个结论,还可以解决一些场景下SNN训练比较耗能耗时的问题。
|