在模仿学习中,你是不是简单地注入了最优的经验元组?( s , a , r ,s')(s,a,r,s′)进入你的经验回放缓冲区?

人工智能 强化学习 深度学习 经验回放 模仿学习 学徒学习
2021-10-25 04:23:18

由于我的 RL 算法难以学习一些控制动作,我决定使用模仿学习/学徒学习来指导我的 RL 执行最佳动作。我已经阅读了一些关于这个主题的文章,只是想确认如何实现它。

我是否只是简单地采样一个状态s,然后执行最优动作a在那个状态s, 计算动作的奖励r,然后观察下一个状态s,最后把那个放到经验回放中?

如果是这种情况,我正在考虑按如下方式实施:

  1. 初始化最佳重放缓冲区DO
  2. 添加最佳经验元组(s,a,r,s)进入重播缓冲区DO
  3. 初始化正常重放缓冲区DN
  4. 在模拟过程中,初始采样(s,a,r,s)仅来自最佳重放缓冲区DO,同时填充正常的重播缓冲区DN与仿真结果。
  5. 随着训练/学习的进行,对最佳重放缓冲区的使用进行退火处理,并仅从正常重放缓冲区中采样。

这样的架构行得通吗?

1个回答

这似乎是功能性的。

这是一个很好的方法,只要您使用离策略算法(因为您用来学习的样本不是当前正在执行的策略),例如 Q-learning。

通过将采样率从最佳缓冲区退火到常规缓冲区,您将噪声引入网络并强调探索(尽管更加有限)。当您(研究人员)无法访问最佳策略而仅仅是“好”策略,并且您仍然希望网络尝试改进这些策略时,这很有帮助。