使用没有外部库的Q学习模型

问题描述 投票:0回答:1

我正在尝试在基于Pacman的游戏中使用强化学习。我想使用Q-learning技术来生成我的代理的动作。我正计划使用openai-gym和keras库来训练我的模型,但是我希望有一种方法可以保存我的模型并在没有开放式健身房和keras库的情况下使用它(在它经过训练之后)。根据我的理解,Q-learning可用于生成状态 - 动作对,我想知道是否有可能为Pacman等可解决的系统保存这些的所有可能组合。这看起来有点不切实际,所以如果你有任何其他想法,我很乐意听到它们。

python machine-learning keras openai-gym q-learning
1个回答
0
投票

从你的问题来看,你似乎有一个世界模型(基于吃豆子的游戏),并且想要训练一个Q学习算法来解决环境问题。完成后,您要保存模型。

要保存模型,它完全取决于您使用的RL算法。当然,所有这些都可以保存,或者在现实世界中无用。

表格RL:表格Q学习基本上将代理的策略(Q值)存储到形状矩阵(S x A)中,其中s是所有状态,a是所有可能的动作。解决环境后,只需将此矩阵另存为csv文件即可。我在强化学习下的GitHub上快速实现了这一点。

线性RL:如果状态空间和/或动作空间太大,则可以使用函数逼近。在这种情况下,您构建一个近似Q矩阵的线性模型。要保存此模型,您只需将此线性模型的权重保存为csv,甚至是文本文件。

深RL:与线性RL相同。你只需要保存神经网络的权重。如果您自己编码网络,将它保存为csv文件应该是微不足道的。如果您使用tensorflow,则可以通过以下方式创建检查点:

saver = tf.train.Saver()  # Builds the saver

在你的训练结束的地方,放:

saver.save(sess, model_path)

我对GitHub上的深层确定性策略渐变也实现了这一点。

© www.soinside.com 2019 - 2024. All rights reserved.