我想升级我的进化模拟器以使用 Hebb 学习,就像这个。我基本上希望小动物能够学习如何寻找食物。我通过基本的前馈网络实现了这一点,但我一直坚持理解如何通过 Hebb 学习来做到这一点。Hebb 学习的基本原理是,如果两个神经元一起激发,它们就会连接在一起。
因此,权重更新如下:
weight_change = learning_rate * input * output
我发现的关于这如何有用的信息非常稀缺,我不明白。
在我当前版本的模拟器中,当一个生物吃一块食物时,动作和输入(运动、眼睛)之间的权重会增加,我看不出这如何转化为这个新模型。这里根本没有空间判断它是否做对了,因为唯一的参数是输入和输出!基本上,如果一个输入激活了一个方向的运动,那么无论该生物是否在吃东西,重量都会继续增加!
我是否以错误的方式应用 Hebb 学习?仅供参考,我使用的是 Python。