如何识别强化学习中的网络太小?

人工智能 神经网络 机器学习 深度学习 强化学习
2021-10-24 13:40:53

我正在使用Open AI 的代码在我自己构建的环境中执行 RL 任务。

我尝试了一些网络架构,它们都在 CartPole 上更快或更慢地收敛。

在我的环境中,奖励似乎没有收敛,并且永远闪烁。

我怀疑神经网络太小了,但我想在走研究架构的路线之前确认我的信念。

如何确认架构是问题所在,而不是神经网络强化学习任务中的其他问题?

2个回答

检查功能损失。

可能是您的环境无法学习。但是,很可能网络根本无法处理它。通过测量学习阶段的损失,如果你发现它总是很高并且没有减少,这强烈表明这可能是问题所在。

因为网络太简单,当你针对某些状态进行优化时,你会毁掉其他状态。没有正式的方法可以确定是否是这种情况,但是由于相同的算法在其他地方也可以使用,因此它要么是您的环境问题,要么是网络问题。

训练期间损失没有减少并不意味着网络没有训练。这可能意味着网络处于探索模式。我观察到这种情况 - 累积奖励稳步增长,这意味着网络训练良好,但损失没有减少。

如果您已经知道环境的某些(更简单或其他)版本的解决方案,则可以以监督方式训练网络以重现该解决方案。如果网络无法重现现有解决方案,则强烈表明网络太小或其他方面不好。

累积奖励振荡的另一个原因可能是网络对最新训练样本的过度拟合。在这种情况下,更大的重播缓冲区或更慢的目标网络更新(如果使用目标网络)可能会有所帮助。