强化学习的学习之路(三十八)_2021-02-07: Actor Critic - Discount factor

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

Discount factor

Discount factor其实在我们前面讲return(Goal函数)的时候就已经讲到了,当trajectory的步长变成无穷时,估计中就会出现无穷大量, 这就会导致算法整体难以分析。所以我们就引入discount factor这个量, 对后续的reward进行discount, 而避免无穷的问题:

image-20210224112446682

在TD方法中, target可以转化为如下的形式:.
y i , t ≈ r ( s i , t , a i , t ) + γ V ^ ϕ π ( s i , t + 1 ) y_{i, t} \approx r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right) yi,tr(si,t,ai,t)+γV^ϕπ(si,t+1)
据此得到gradient
∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ∑ t = 1 T ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) ( r ( s i , t , a i , t ) + γ V ^ ϕ π ( s i , t + 1 ) − V ^ ϕ π ( s i , t ) ) \nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right)\left(r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t}\right)\right) θJ(θ)N1i=1Nt=1Tθlogπθ(ai,tsi,t)(r(si,t,ai,t)+γV^ϕπ(si,t+1)V^ϕπ(si,t))
在Monte Carlo中,这个问题就有两种不同的情况:

在这里插入图片描述

在第一种形式中,对causality后的reward从舍去部分开始计算discount,也就是说前面切掉的部分对discount的累乘没有影响。而第二种形式中,先引入了discount,再计算causality,故而对于被舍去的部分它的discount效应仍然存在,在这种情况下,越往后的steps的对结果的影响会相对第一种更小。

在实际中我们通常是使用第一种方式,因为对于后面的状态我们也是希望对网络有贡献的,如果factor过小,那么就会导致后面的状态一直不太准确,影响整体结果。

我们最终得到的Actor-Critic的算法为下图所示:前者采样一个batch再进行学习,后者按照单个样本进行学习,学完之后就把这个样本丢弃。

在这里插入图片描述

上一篇:强化学习的学习之路(三十七)_2021-02-06: Actor Critic - Evaluation for value function
下一篇:强化学习的学习之路(三十九)_2021-02-08: Actor Critic -Design Decisions

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值