我正在尝试训练神经网络来控制模拟2D环境中的简单实体,目前使用遗传算法。
也许由于缺乏对正确术语的熟悉,我的搜索在以下所有情况下都没有提供有关如何对待健身和训练的大量信息:
目前我的方法如下:
我有几个问题。
这是一个合理,标准的方法来解决这个问题吗?不出所料,这一切都加起来计算成本非常高昂。我想知道是否有任何方法可以避免每次产生适合度值时从头开始重新运行模拟。
如上所述,同一组随机种子用于一代中每个个体的模拟。从一代到下一代,这个集合应该保持静态,还是应该是不同的?我的本能是每代使用不同的种子以进一步避免过度拟合,并且这样做不会对选择力产生不利影响。但是,根据我的结果,我对此不确定。
答案 0 :(得分:2)
这是一种合理的方法,但遗传算法并不是非常快/有效。尝试爬山,看看是否更快。还有许多其他优化方法,但如果您认为该功能是一个只能从中采样的黑盒子,那么没有什么是好的。强化学习可能有效。
使用随机种子可以防止过度拟合,但可能没有必要,这取决于静态测试的平均代表性,以及过度拟合是多么容易。