是否可以在A2C稳定基线3中暴露回放缓冲区,以包括人为判断



我正在使用稳定基线3(此处为包链接(包中的A2C(Advantage Actor Critic(框架来解决奖励为+1或0的强化问题。我有一个自动机制,可以在给定的状态下为选择分配奖励。然而,这种自动机制还不足以奖励我的选择。我评估过,人类的判断(如果一个人坐下来并奖励选择(会更好。

现在,我想将这种人类判断纳入A2C训练框架。

这是我对A2C工作原理的理解:

假设一集有N个时间步长。轨迹存储在体验回放缓冲区中:[(S1,A1,R1(,(S2,A2,R2(…],用于在剧集结束时训练演员和评论家的神经网络。

我可以访问这个发送到神经网络进行训练的缓冲区吗?或者,在A2C框架中,有没有引入人在环的替代方案?

当然!该环境是一个简单的python脚本,在该脚本中,在env.step末尾的某个位置,计算并返回奖励,然后将其与状态和操作一起添加到回放缓冲区。

然后,您可以使用简单的I/O命令,在每次执行操作时手动插入奖励值。

然而,深度强化学习通常需要数十万次迭代(经验(才能学习有用的东西(除非环境足够简单(。

最新更新