强化学习DQN环境结构

时间:2021-02-02 10:41:21

标签: python deep-learning reinforcement-learning dqn

我想知道如何最好地将我的 DQN 代理对其环境所做的更改反馈给自身。

我有一个电池模型,代理可以通过该模型观察 17 个步骤和 5 个特征的时间序列预测。然后决定是充电还是放电。

我想将其当前的充电状态(空、半满、满等)包含在其观察空间中(即在我提供给它的 (17,5) 个数据帧内的某处)。

我有几个选项,我可以将一整列设置为充电状态值、整行,或者我可以展平整个数据框并将一个值设置为充电状态值。

这些有什么不明智的吗?将一整列设置为单个值对我来说似乎有点简陋,但它真的会影响性能吗?由于我计划使用 conv 层或 lstm 层(尽管当前模型只是密集层),因此我对扁平化整个事情持谨慎态度。

1 个答案:

答案 0 :(得分:1)

您不希望添加在状态表示中重复的不必要特征,因为当您想将模型缩放到更大的输入大小时(如果这在您的计划中),它可能会妨碍您的 RL 代理收敛。< /p>

此外,您希望在状态表示中提供多少信息的决定主要是实验性的。最好的开始方法是只给出一个值作为电池状态。但如果模型不收敛,那么也许您可以尝试您在问题中提到的其他选项。