神经进化平台的解耦与模块化
在神经进化系统的开发中,为了提高系统的灵活性和可扩展性,对相关记录进行更新和解耦是非常必要的。下面我们将详细介绍这些更新内容。
1. 神经元记录更新
首先来看神经元记录的更新。新的神经元记录定义如下:
-record(neuron, {id, generation, cx_id, af, pf, aggr_f, input_idps=[], output_ids=[], ro_ids=[]}).
新增元素及其详细定义如下:
- pf :是一个原子,代表可塑性函数的名称。该函数接受突触权重列表、输入向量和输出向量作为输入,输出为更新后的突触权重。
- aggr_f :也是一个原子,代表聚合函数的名称。目前常用的是点积函数,它将输入信号与突触权重进行点积运算,若有偏置则加上偏置,最后将结果传递给激活函数。也可以使用其他替代方法,例如将输入信号聚合,保存到处理注册表,用当前输入信号减去前一个输入信号,再将结果与突触权重进行点积运算。
2. 代理记录更新
代理记录也进行了修改,以增加更多的灵活性和可选择性:
-record(agent,{id, generation, population_id, specie_id, cx_id, fingerprint, constraint,
evo_hist=[], fitness, innovati
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



