03 强化学习——Actor-Critic(AC)基础篇(TD-AC)

本文详细介绍了强化学习中的Actor-Critic(AC)算法,包括广义梯度公式、AC算法框架、网络误差计算及原理图。AC算法结合了策略网络(actor)和评价网络(critic),通过TD误差来评估策略效果。文章讨论了AC算法的蒙特卡洛和TD方法,并分析了网络训练中的问题,如回报函数的收敛性和训练效率。
摘要由CSDN通过智能技术生成

目录

 

一、算法描述

1.1 广义梯度公式

1.2 AC算法框架

1.3 网络误差

1.4 原理图

二、代码

三、问题思考


一、算法描述

1.1 广义梯度公式

根据上一章PG算法可以得知对于策略梯度下降的方法我们关注的是:

因此从广义的策略理论上,策略梯度可以写成:

\mathbf{\Psi_{t}}可以表示为一下几种

1、,轨迹的总回报。

2、,动作后的总汇报(从该动作往后算,可以看成前期的对后面没有影响)

3、,加入基线的累计回报

4、,状态-值函数

5、,优势函数

6、,TD误差

将广义的策略梯度分开来看,\mathbf{\Psi_{t}}是一个评价器(critic),评估策略\mathbf{p\left(a_{t} \mid s_{t}, \theta\right)}的好坏(策略为actor),在PG中使用的是一条轨迹的累计回报来评价策略的好坏,但这种评价比较粗糙,不够精确。以TD误差为例,构建critic和actor。

1.2 AC算法框架

将状态V(s)进行参数化V(s,w),评价器采用 \mathbf{\Psi_{t}}=\delta_{t}=\hat{Q}-V(s_t,w),可以理解使用\delta_t来评价策略的好坏【注意在一般的框架中\delta_t并不就是指TD的误差】

AC通用框架的伪代码如下:

输入:参数化策略\pi (a|s,\theta )和参数化的状态V(s,w)

初始化:随机初始化两个参数(\theta,w)[两个网络]

循环:

       利用当前策略\pi (a|s,\theta )采样数据(s_t,r_t,s_{t+1})

       利用数据计算行为值函数,并进行单步更新。【其中的行为值函数即为\hat{Q},其目的为计算评估器】

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值