Brian中的N_outgoing等

本文围绕Brian架构展开,其神经元和突触连接、动态方程可自定义,与传统神经网络框架构建方式不同。还介绍了脉冲神经网络中突触与动态过程相关,学习中部分连接参数较难理解,并对代码对应的网络结构参数如N_outgoing_pre等进行了分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Brian架构中的神经元和突触都可以自己来连接,动态方程可以自己定义,在很多细节上和传统的神经网络框架的构建方式都不一样。对于突触的理解加深了很多,传统神经网络中突触就用权重来代替,但是在脉冲神经网络中,这个突触和动态过程直接相关,突触前和突触后的概念经常出现。在学习过程中,发现做连接有几个参数不是很好理解。

>>> group1 = NeuronGroup(3, '')
>>> group2 = NeuronGroup(3, '')
>>> syn = Synapses(group1, group2)
>>> syn.connect(i=[0, 0, 1, 2], j=[1, 2, 2, 2])
>>> print(syn.N_outgoing_pre)  # for each presynaptic neuron
[2 1 1]
>>> print(syn.N_outgoing[:])  # same numbers, but indexed by synapse
[2 2 1 1]
>>> print(syn.N_incoming_post)
[0 1 3]
>>> print(syn.N_incoming[:])
[1 3 3 3]

简单画了一下上面代码对应的网络结构:
在这里插入图片描述
N_outgoing_pre:就是前面这层的神经元连接的输出突触的个数:分别是2,1,1

N_incoming_post:和上面思想一样,就是数的是第二层的三个神经元分别连接的突触数目

N_outgoing:这里不是从神经元的角度出发,而是从突触的角度出发,突触的数目总共有4个,分别是红字标出来的0,1,2,3,这样一来:和突触0连接的第一个神经元连接的突触数目是2,和突触1连接的第一个神经元连接的突触数目是2.。。。同理后面就是1,1.
这里需要特别理解的就是outgoing,这里还是从神经元的角度出发的突触数目,所以说得是第一层,不是第二层。紧紧是从突触的角度来统计。

虽然英文注释也是这个意思,但是我还是经过思考才得出结论,也的确是自己没有理解到位,所以就记录一下,我觉得以后想不起来的可能性很大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

binqiang2wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值