【问题标题】:Building a deep reinforcement learning with a cnn q - approximation使用 cnn q 近似构建深度强化学习
【发布时间】:2020-07-12 07:40:10
【问题描述】:

我是 DRL 的新手。从这段代码https://github.com/jaromiru/cwcf开始,我想用CNN替换用于q函数逼近的MLP,但我不知道该怎么做。有谁能够帮我?谢谢

【问题讨论】:

    标签: python pytorch reinforcement-learning conv-neural-network


    【解决方案1】:

    尝试浏览this,它详细解释了如何构建 DQN 来解决 CartPole 问题。您还可以查看this,它实现了许多 DRL 算法

    然后,您可以将 repo 中的 agent.py 中的代码替换为 DQN 代理代码

    【讨论】:

    • 谢谢,第一个链接真的很有用。现在,我的下一个问题是关于 conv1d() 的输入大小,因为我不使用图像,而且 repo 中的代码适用于多代理环境。我的输入形状是 [1000,2,17] ,其中第一个代表代理的数量,另一个是状态。我应该调整输入的大小以供 cnn 使用。我该怎么办?
    • 我们一般在数据有空间关系的时候使用cnns。在您尝试使用 cnn 之前,请了解您正在处理的数据是否具有一些可以提取以解决任务的空间信息。 conv1d 在一维上运行,因此如果您确定要执行 conv1d,您可以展平或重塑数据。对于非常低维的数据,如果您增加模型的复杂性,模型可能会过度拟合数据
    • 是的,我应该使用 conv1d。我的问题是重塑我的数据以给 conv1d 正确的输入,但我对多代理的存在感到困惑。如果我reshape数据,第一个维度应该是batch size吧?
    • 是的,如果您尝试使用多代理设置为单个策略生成数据,那么您有 1000 个数据样本
    • 所以,我尝试作为输入,假设一个 conv1d(17,17,1,stride = 1) (我不知道它是否真的有意义),(-1,17,1) .可以是正确的方法吗?
    猜你喜欢
    • 2018-11-05
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多