深度强化学习算法 A3C (Actor-Critic Algorithm)

本文详细介绍了深度强化学习中的A3C(Actor-Critic Algorithm),包括其作为Policy和Value Function结合的特性,以及在高维度和连续动作空间中的优势。文章首先对比了Policy Based和Value Based方法的优缺点,然后深入探讨了A3C算法的背景、概念,如discounted return、value function、action value function、advantage function等。此外,还提到了Policy Gradient的优化方法和Actor-Critic框架,以及并行代理和N-step return在A3C中的作用。最后,文章给出了基于Python和Keras的A3C实现代码链接。
摘要由CSDN通过智能技术生成

对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也给想学习的小伙伴一个参考。

  想要认识清楚这个算法,需要对 DRL 的算法有比较深刻的了解,推荐大家先了解下 Deep Q-learning 和 Policy Gradient 算法。

  我们知道,DRL 算法大致可以分为如下这几个类别:Value Based and Policy Based,其经典算法分别为:Q-learning 和Policy Gradient Method

  

  而本文所涉及的 A3C 算法则是结合 Policy 和 Value Function 的产物,其中,基于 Policy 的方法,其优缺点总结如下:

  Advantages:
    1. Better convergence properties (更好的收敛属性)
    2. Effective in high-dimensional or continuous action spaces(在高维度和连续动作空间更加有效)
    3. Can learn stochastic policies(可以Stochastic 的策略)
  Disadvantages:
    1. Typically converge to a local rather than global optimum(通常得到的都是局部最优解)
    2. Evaluating a policy is typically inefficient and high variance (评价策略通常不是非常高效,并且有很高的偏差)

 

  我们首先简要介绍一些背景知识(Background):

  

  在 RL 的基本设置当中,有 agent,environment, action, state, reward 等基本元素。agent 会与 environment 进行互动,而产生轨迹,通过执行动作 action,使得 environment 发生状态的变化,s -> s' ;然后 environment 会给 agent 当前 动作选择以 reward(positive or negative)。通过不断的进行这种交互,使得积累越来越多的 experience,然后更新 policy,构成这个封闭的循环。为了简单起见,我们仅仅考虑 deterministic environment,即:在状态 s 下,选择 action a 总是会得到相同的 状态 s‘。

  

  为了清楚起见,我们先定义一些符号:

  1. stochastic policy π(s)π(s) 决定了 agent's action, 这意味着,其输出并非 single action,而是 distribution of probability over actions (动作的概率分布),sum 起来为 1. 

  2. π(a|s)π(a|s) 表示在状态 s 下,选择 action a 的概率;

  而我们所要学习的策略 ππ,就是关于 state s 的函数,返回所有 actions 的概率。

  

  我们知道,agent 的目标是最大化所能得到的奖励(reward),我们用 reward 的期望来表达这个。在概率分布 P 当中,value X 的期望是:

  

  其中 Xi 是 X 的所有可能的取值,Pi 是对应每一个 value 出现的概率。期望就可以看作是 value Xi 与 权重 Pi 的加权平均。

  这里有一个很重要的事情是: if we had a pool of values X, ratio of which was given by P, and we randomly picked a number of these, we would expect the mean of them to be E_{P}[X]. And the mean would get closer to E_{P}[X] as the number of samples rise. 

  

  我们再来定义 policy ππ 的 value function V(s),将其看作是 期望的折扣回报 (expected discounted return),可以看作是下面的迭代的定义:

  

  这个函数的意思是说:当前状态 s 所能获得的 return,是下一个状态 s‘ 所能获得 return 和 在状态转移过程中所得到 reward r 的加和

  

  此外,还有 action value function Q(s, a),这个和 value function 是息息相关的,即:

  

  此时,我们可以定义一个新的 function A(s, a) ,这个函数称为 优势函数(advantage function):

  

  其表达了在状态 s 下,选择动作 a 有多好。如果 action a 比 average 要好,那么,advantage function 就是 positive 的,否则,就是 negative 的。

  

  Policy Gradient

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值