【李宏毅-强化学习笔记】p6、Actor-Critic

一、policy gradient回顾

在这里插入图片描述
G是看到st后采取at之后获取的收益总和,但是这个值是一个分布值,在不同的episode中可能波动会很大。如果有足够的数据的话,这不是一个问题,当数据不足的时候,那么模型的波动会很大,希望用期望值来代替采样(当前的)值。就是说,训练一个network,输入为s输出为奖励的期望值。

二、Q_learning回顾

在这里插入图片描述
V是态势评估,Q是引导选择。

三、Actor-Critic

在这里插入图片描述
就是说,现在用两个网络来计算之前波动的系数。Q用来表征当前的选择有多哈,V表征均值,这样就有正有负。难点在于需要同时train两个网络,如何简化呢?
在这里插入图片描述
就是用V来表示Q,理论上需要冠上期望,但现在波动仅在一步的奖励值,所以为了简化问题,不用期望值。就有:
在这里插入图片描述
首先,让agent和环境做互动,拿到一笔数据,然后用MC或者TD来训练出一个Vπ,V训练好之后就可以用来带进式子,更新agent。
即所谓的先调查,再发言,没有调查就没有发言权。一个tip是:
在这里插入图片描述
1、行为和理论都来源于事物本身,所以两者会共享部分网络。
2、希望actor的输出有较大的熵,这样便于exploration
最后提一下A3C,就是用多线程的方法,拷贝参数→更新参数。

四、Pathwise Derivative

在讲具体的技术之前,还是以一个例子大概类比下原理。没有想到现实中很好的例子,YY一个吧。假设有两个人A和B,现在要打一场仗,为了获得胜利A和B决定合作一把。A负责观看大量的战例,学习在不同形势下不同作战方案的优劣,即对不同的方案打分。B负责根据战场形势作出最好的方案。
之所以说是合作,是因为B需要A对他评价,之后才能不断更新自己的方案制定,而A需要B产生的大量战例。当然还有一个第三者就是环境,环境返回的奖励值是A能够学习的根本。之后A不断进步,B也不断进步。最后看到一个形态B就能马上找到最好的作战方案。
另外,要说明的一点是:既然A可以对方案打分,理论上A自己就可以生成最佳的方案,确实是这样的,只不A要不断的分析推演(gradient ascent)才能想到好的方案,但是B直接就输出了,所以不让A做这个事情,相当于用人力换时间(对应到实际计算机就是用空间换时间,因为多了一个network)。

4.1 介绍

被认为是特殊的actor-critic以及q_learning解连续问题的方法。我们知道:Q是输入s输出不同a的收益期望,但是是针对离散的情况。相比之下Pathwise更加炫酷,为什么呢?因为他直接输出的就是最佳的action。
在这里插入图片描述
输入是s,直接输出最佳的action。下面分析其原理。
在这里插入图片描述
首先,看到St,采取At,获得奖励Rt,进入到画面St+1,存入到buffer中。
然后从buffer中采样一组新数据:(si,ai,ri,si+1)针对这组数据有两个目标:
1:输入Si+1到大网络(target-network已经fixed)中,生成一个奖励值,把这个奖励值和r相加,用来作为Q针对s和a回归的目标值。获得Q的梯度。
2:调整π使得输出的a获得Q最大化。获得π的梯度。

4.2 算法

在这里插入图片描述
在这里插入图片描述

发布了12 篇原创文章 · 获赞 1 · 访问量 261

猜你喜欢

转载自blog.csdn.net/weixin_43522964/article/details/104288259
今日推荐