首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用无外部库的Q学习模型

使用无外部库的Q学习模型
EN

Stack Overflow用户
提问于 2019-04-08 01:58:03
回答 1查看 548关注 0票数 0

我正在尝试在一个基于吃豆人的游戏中使用强化学习。我想使用Q学习技术来生成我的代理的操作。我计划使用openai-gym和keras库来训练我的模型,但我希望有一种方法可以保存我的模型并使用它,而不使用open-gym和keras库(在它被训练之后)。据我所知,Q学习可以用来生成状态-动作对,我想知道是否可以将这些组合的所有可能组合保存到Pacman这样的可解系统中。这似乎有点不切实际,所以如果你有任何其他想法,我很想听听。

EN

回答 1

Stack Overflow用户

发布于 2019-04-09 01:43:15

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

要保存模型,完全取决于您使用的RL算法。当然,它们都可以保存,否则在现实世界中将毫无用处。

Tabular :Tabular -learning基本上将智能体的策略(Q值)存储到形状(S X A)的矩阵中,其中s是所有状态,a是所有可能的操作。解决环境问题后,只需将此矩阵另存为csv文件。我在我的GitHub上的强化学习下快速实现了这一点。

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

深度RL:与线性RL相同。你只需要保存神经网络的权重。如果网络是您自己编写的,那么将其另存为csv文件应该很简单。如果您使用的是tensorflow,则可以通过以下方式创建检查点:

代码语言:javascript
复制
saver = tf.train.Saver()  # Builds the saver

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

代码语言:javascript
复制
saver.save(sess, model_path)

对于我的GitHub上的深度确定性策略梯度,我也有一个实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55562034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档