Python pybrain神经网络不学习

Python pybrain神经网络不学习,python,machine-learning,neural-network,pybrain,Python,Machine Learning,Neural Network,Pybrain,我正在使用pybrain构建一个学习趋化性的代理(根据化学信号向食物移动)。代理由神经网络表示,神经网络应根据其与食物的距离调整其权重。输入是两个传感器神经元,输出是两个移动代理的运动神经元。因此,我有连续的状态和动作。奖励与食物的距离成反比 这是我的主循环的本质: task = ChemotaxisTask(ChemotaxisEnv(), MAX_STEPS) module = buildNetwork(2,2,2) learner = HillClimber(task, module, m

我正在使用pybrain构建一个学习趋化性的代理(根据化学信号向食物移动)。代理由神经网络表示,神经网络应根据其与食物的距离调整其权重。输入是两个传感器神经元,输出是两个移动代理的运动神经元。因此,我有连续的状态和动作。奖励与食物的距离成反比

这是我的主循环的本质:

task = ChemotaxisTask(ChemotaxisEnv(), MAX_STEPS)
module = buildNetwork(2,2,2)
learner = HillClimber(task, module, maxEvaluations=MAX_TRIALS, mustMinimize=True, storeAllEvaluations=True, storeAllEvaluated=True, verbose=False)
learner.learn()
我尝试过的方法有:

  • 用Q做实验(因为我有连续的状态/动作,所以不起作用)
  • 使用Enhance/ENAC进行试验(梯度下降计算无变化)
  • 使用Enhance/ENAC继续进行试验(见上文)
  • HillClimber情景实验(网络权重不变)
我决定尝试使用情景实验,因为它似乎最适合我的实验

我终于可以看到网络权重的变化,但我的平均适应度并没有随着时间的推移而增加。我可能做错了什么

这里是我所有代码的主要存储库

以下是pybrain文档: 学习者文档(如Q、强化、HillClimber)位于

代码本身位于。学习者在,实验在

然而,我使用优化学习器进行情景实验;这些都位于


我相信您可以从那里找到文档和代码。我正在处理的所有其他事情都已准备就绪。

我对神经网络知之甚少,但我确实对Python有所了解。请编辑您的问题,将您使用的模块链接包括在内:Q、Enhance/ENAC等?此外,链接到这些模块的文档,向回答者展示从哪里开始学习这些模块,也会有所帮助。祝你好运