强化学习 DQN 经验回放 是什么

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习 DQN 经验回放 是什么相关的知识,希望对你有一定的参考价值。

经验重放: 强化学习由于state之间的相关性存在稳定性的问题,因为智能体去探索环境时采集到的样本是一个时间序列,样本之间具有连续性,所以需要打破时间相关性,解决的办法是在训练的时候存储当前训练的状态到记忆体M,更新参数的时候随机从M中抽样mini-batch进行更新。

具体地,M中存储的数据类型为 <s,a,r,s′>,M有最大长度的限制,以保证更新采用的数据都是最近的数据。经验重放的最终目的是防止过拟合。

算法过程总结如下:

1.随机初始化一个状态 s,初始化记忆池(Replay DB),设置观察值。

2.循环遍历(是永久遍历还是只遍历一定次数这个自己设置):

(1) 根据策略选择一个行为(action)。

(2) 执行该行动(aaction),得到奖励(reward)、执行该行为后的状态 s`和游戏是否结束 done。

(3) 保存 s, a, r, s`, done 到记忆池里。

(4) 判断记忆池里的数据是否足够(即:记忆池里的数据数量是否超过设置的观察值),如果不够,则转到(5)步。

①在记忆池里随机抽取出一部分数据做为训练样本。

②将所有训练样本的 s`做为神经网络的输入值,进行批量处理,得到 s`状态下每个行为的 q 值的表。

③根据公式计算出 q 值表对应的 target_q 值表。

公式:Q(s, a) = r +Gamma * Max[Q(s`, all actions)]

④使用 q 与 target_q 训练神经网络。

(5) 判断游戏(目标系统是否运行结束)是否结束。

①游戏结束,给 s 随机设置一个状态,再执行(1), (2),(3),(4)。

②未结束,则当前状态 s 更新为 s`(意思就是当前的状态变成 s`,以当前的 s`去action,得到r,得到执行该行为后的状态 s`'和游戏是否结束 done)。

基于深度强化学习的智能体系结构参数调优 - 知乎CAPES(Computer Automated Performance Enhancement System) 1 摘要存储系统的参数调整是存储系统优化的一个重要方法,当前的参数调整实践通常涉及大量的基准调整周期,耗时耗力,所以需要一个无监督模型来进行参…https://zhuanlan.zhihu.com/p/339964218

从Replay Memory中抽取一定量的样本,对神经网络的参数进行更新 

 

https://www.jianshu.com/p/42507aa63b05/https://www.jianshu.com/p/42507aa63b05/ 

以上是关于强化学习 DQN 经验回放 是什么的主要内容,如果未能解决你的问题,请参考以下文章

强化学习笔记 experience replay 经验回放

深度学习与图神经网络核心技术实践应用高级研修班-Day4深度强化学习(Deep Q-learning)

pytorch 笔记: DQN(experience replay)

强化学习笔记:noisy DQN

强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

强化学习DQN episode是什么