知道我的理论的人不多,但是这个问题完全可以当成一个小游戏,规则如下:
- 有若干“神经元”,每个处在激活态或未激活态(一共2个状态)
- 神经元有“能量”和“阈值”,为方便理解,先假设每个神经元都一样
- 神经元间存在单向的联系,允许两个神经元间有多个联系(比如一正一反)
- 这若干个神经元可以进行“演化”,每次演化,神经元同时行动,先把自己的能量平均分给联系到的神经元,然后如果接收到超过阈值的能量,就激活,否则不激活。
- 如果两个神经元同时激活且有联系,则此联系加强,不再是平均分而是按权值分配(初始权值相等,平均分;每次加强一个固定的值)
目的:设定权值和阈值、初始权值和增加权值还有连接(主要是连接),让这些神经元表现出一些有意义/有趣的行为。
(这里能量是阈值的3倍)
这和生命游戏很像,和hopfield网络也很像,但这可以作为一个独立的游戏来研究。而且你可以【试着添加自己的规则】,来使得网络(即这若干个神经元)完成更多功能而不失优雅。
以下是挑战内容:
1.模拟出巴甫洛夫的“铃声-食物”实验
2.让同一个网络能对多个反射作出反应
3.模拟斯金纳箱
4.模拟桑代克的猫(斯金纳箱的反面)
5.让网络可以由斯金纳箱变为桑代克的猫
嗯……
python写的示例程序如下:http://down.51cto.com/data/2449065,需要安装python和 库pygame,操作是鼠标点击节点改变状态,方向右键演化一次,delete清除值,home清除权值和值并时间归零,回车重新载入配置文件(不用重启)。可以自己试试修改配置文件(可读性应该还可以)
(2018-7-9于地球)
原文地址:http://blog.51cto.com/13535617/2139366
时间: 2024-10-06 15:27:48