0

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

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

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

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

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

4

1 回答 1

1

您不希望添加在状态表示中重复的不必要的特征,因为它可能会妨碍您稍后想要将模型扩展到更大的输入大小(如果这是在您的计划中)的 RL 代理收敛。

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

于 2021-02-03T14:59:11.043 回答