【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic

李宏毅深度强化学习- Actor-Critic

  • Asynchronous Advantage Actor-Critic (A3C)
    • 回顾 – Policy Gradient
    • 回顾 – Q-Learning
    • Actor-Critic
  • Pathwise Derivative Policy Gradient

李宏毅深度强化学习课程 https://www.bilibili.com/video/av24724071

李宏毅深度强化学习笔记(一)Outline
李宏毅深度强化学习笔记(二)Proximal Policy Optimization (PPO)
李宏毅深度强化学习笔记(三)Q-Learning
李宏毅深度强化学习笔记(五)Sparse Reward
李宏毅深度强化学习笔记(六)Imitation Learning
李宏毅深度强化学习课件

Asynchronous Advantage Actor-Critic (A3C)

回顾 – Policy Gradient

先对policy gradient进行回顾,只需要记得几个要点:

  1. 给定某个state采取某个action的概率
  2. 考虑到行动输出的概率和为一,为了保证reward越大的有更大的概率被sample到,需要加上baseline b
  3. 考虑到当先action对过去的reward没有影响,从当前时间点开始进行reward的累加
  4. 考虑到时间越久,当前action对后期reward的影响越小,添加折扣系数 γ \gamma γ

由于无法sample到如此多的G,因此我们引入了Q-learning
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第1张图片

回顾 – Q-Learning

Q-learning部分主要记住以下几个点:
状态价值函数 V π ( s ) V^\pi(s) Vπ(s)(state value function,表示当使用某个actor时,观察到state之后预计会得到的累积reward)

状态行动价值函数 Q π ( s , a ) Q^\pi(s, a) Qπ(s,a)(state-action value function,当使用某个actor与环境互动时,在某个state采取某个action预计会得到的累积reward)
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第2张图片

Actor-Critic

在policy gradient和Q-learning的基础上,我们引入actor-critic。
将两者结合,即用Q-learning当中的V和Q来替换policy gradient公式里面的累积reward和baseline,分别表示为 Q π θ ( s t n , a t n ) − V π θ ( s t n ) Q^{\pi_\theta}(s_t^n, a_t^n)-V^{\pi_\theta}(s_t^n) Qπθ(stn,atn)Vπθ(stn) V π θ ( s t n ) V^{\pi_\theta}(s_t^n) Vπθ(stn)

但是,在这个时候我们需要估计两个network,Q和V,这会导致整个模型的结果更加不稳定,因此引入advantage actor-critic
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第3张图片

Advantage Actor-Critic
相比于前面所介绍的计算G的方法,即用Q减去V,这里引入对G的另外一个估计,将Q表示为下一个状态的V加上当前状态下获得的reward变化值r,这样做的好处是降低了模型整体方差(类似于MC到TD)

实验表明,这个方法是对Q值的最好估计。
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第4张图片
算法:
先用一个actor π \pi π 与环境做互动,利用TD或MC的方法学习V值,根据学到的V值对actor进行更新 π → π ′ \pi \rightarrow \pi' ππ,替换原来的 π \pi π 之后继续与环境互动,重复上述步骤。
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第5张图片
注意:
actor π ( s ) \pi(s) π(s)'s 和 critic V π ( s ) V^\pi(s) Vπ(s) 网络的前几层的参数是可以共享的,因为他们具有相同的输入s,在对s的处理上可以共享该部分参数。

使用output entropy 作为 π ( s ) \pi(s) π(s) 的正则项的时候,最好用较大的entropy(与之前的课笔记中所述的exploration方法类似,避免总sample到reward较大的几个action)

Asynchronous Advantage Actor-Critic (A3C)

效率来源: multi-workers

方法步骤:

  1. 每个worker都会copy全局参数
  2. 每个worker都与环境进行互动,并得到sample data
  3. 计算梯度
  4. 更新全局参数

Pathwise Derivative Policy Gradient

另外一种使用 Critic 的方式:
对于最原始的actor-critic,critic只会告诉actor,某个行动是好的还是坏的。而这里引入的Pathwise Derivative Policy Gradient不仅仅会告诉actor某一个action的好坏,还会告诉actor应该采取哪一个action(使用以下训练出来的actor告知)

即训练一个actor π \pi π,如果给这个actor输入state,会返回一个使得Q值最大的action a
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第6张图片
然后将这个actor 返回的action和state一起输入到一个固定的Q中,计算出来的Q值一定会增大,然后使用梯度上升更新actor,重复上述步骤。
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第7张图片
以上网络实际上是两个网络的叠加,类似于conditional GAN,其中actor是generator,Q是discriminator
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第8张图片
算法:
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第9张图片

  1. 当前采取的action由训练的actor决定
  2. Q是用state s以及 π ^ \hat{\pi} π^ 采取的action来计算的
  3. 不仅需要更新Q,也需要更新 π \pi π.

由于该方法与GAN类似,可以根据已有的研究进行两个领域的研究方向迁移,为之后的研究提供一定的思路。
【笔记2-4】李宏毅深度强化学习笔记(四)Actor-Critic_第10张图片

你可能感兴趣的:(笔记,李宏毅深度强化学习笔记)