关于RL 和DRL中的算法总结

发布时间 2023-06-11 16:29:10作者: 精通+1

其中: RL 分为基于价值的学习和基于策略的学习 和 AC 架构的

价值学习

DQN

DQN = Q_learing+网络
使用了价值网络 q(..w)

DQN 训练的过程

基础的DQN 就是 训练Q网络 更新w 参数
代码中梯度下降用的是下面这一张

这里有个问题 下面这张图片 中有不一样的地方 即 Gradient descent
下面的dt 是反向传播得到的

DQN的改进之经验回放


DQN的改进之神经网络

使用到了优势函数A* = Q(s,a) - V(s)

DQN 改进Bootstrapping Double DQN

出现 高估价值问题 V 为啥会产生?
解决方法:
可以采用两种网络 一种 targetnetwork 二种:double DQN (allevate 观测值)
这里 只更新target network


两种网络中的参数更新

比较两种网格中的TD Target yt

double DQN 的优势原因 莫凡中那个使用了两个网络
根据bootstraping 新目标值 = 原目标值 + (原目标值-新评估值)
如果新的评估值和目标值 是在同一个网络下取的。就可以能会出现高估问题
所以:可以通过评估值和目标值锁定在不同的网络中 ,已减缓这个问题

策略学习

使用了策略网络 Π(..theata) = V(..theata)
一个蒙地卡罗+神经网络
PG = 一个蒙地卡罗+神经网络
策略网络图

策略网络中可以用于连续和离散的动作

基于policy 学习的 BaseLine 这里unknown

收敛的更快

AC 架构

基本的AC

网格+SARAS
使用了actor 和critic 这两个网络 = 策略网络 Π(..theata)和 价值网络 q(..w)

  1. AC 的训练总流程

  2. Q网格的训练流程

  3. Π网格的训练流程