强化学习的学习之路(三十七)_2021-02-06: Actor Critic - Evaluation for value function

作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!

Evaluation for value function

在上面我们讲到,我们需要去拟合V来构建Actor-Critic的结构,那么我们具体该怎么做呢?其实也就是我们前面讲到的用MC和TD方法,这里再简要介绍一下:

Monte Carlo

最直观的方法就是根据V的定义, 采用Monte Carlo的方法, 计算每个state到terminal state的 trajectory上会有多少reward, 经过无数条reward的平均之后得到V值:
V π ( s t ) ≈ 1 N ∑ i = 1 N ∑ t ′ = t T r ( s t ′ , a t ′ ) V^{\pi}\left(\mathbf{s}_{t}\right) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t^{\prime}=t}^{T} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) Vπ(st)N1i=1Nt=tTr(st,at)
在实际中引入无穷大条trajectory是不可能的, 所以这样也采用sampling替代expectation的方法进行替换, 这样虽然并不完美,但是在实际中也是适用的。
V π ( s t ) ≈ ∑ t ′ = t T r ( s t ′ , a t ′ ) V^{\pi}\left(\mathbf{s}_{t}\right) \approx \sum_{t^{\prime}=t}^{T} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) Vπ(st)t=tTr(st,at)
转化为监督学习,如果要利用神经网络来approximate V , \mathrm{V}, V, 则可以转化在如下数据集下:
 training data:  { ( s i , t , ∑ t ′ = t T r ( s i , t ′ , a i , t ′ ) ⏟ y i , t ) } \text { training data: }\left\{(\mathbf{s}_{i, t}, \underbrace{\sum_{t^{\prime}=t}^{T} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)}_{y_{i, t}})\right\}  training data: (si,t,yi,t t=tTr(si,t,ai,t))
给予如下的目标函数, 训练网络:
L ( ϕ ) = 1 2 ∑ i ∥ V ^ ϕ π ( s i ) − y i ∥ 2 \mathcal{L}(\phi)=\frac{1}{2} \sum_{i}\left\|\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}\right)-y_{i}\right\|^{2} L(ϕ)=21iV^ϕπ(si)yi2

Temporal difference

相对Monte Carlo方法直接使用整条轨迹来计算, Temporal difference引入了bootstrapped的方法。在前面target y是由整段轨迹的reward累积来确定的, 但是如果在V估计准确的情况下,
它 其实也等于当前state采取某个action的reward加上下一个state的V值。这个也就是temporal difference方法降低采样需求的思路, 故而给予同样的目标函数下, target的值发生了改变:
 training data:  { ( s i , t , r ( s i , t , a i , t ) + V ^ ϕ π ( s i , t + 1 ) ⏟ y i , t ) } \text { training data: }\left\{(\mathbf{s}_{i, t}, \underbrace{r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)}_{y_{i, t}})\right\}  training data: (si,t,yi,t r(si,t,ai,t)+V^ϕπ(si,t+1))
这两种方法的对比其实非常像REINFORCE方法与Actor-Critic方法的对比。 MC方法使用了整条轨迹作为target, 它可以理解为是unbiased的,但是由于估计中存在policy与dynamic的随机性, 所以variance非常高。而TD则是引入了适当的bias, 大幅度减少了variance, 也提高了训练速度。

上一篇:强化学习的学习之路(三十六)_2021-02-05: Actor Critic - Reducing variance with critic
下一篇:强化学习的学习之路(三十八)_2021-02-07: Actor Critic - Discount factor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值