对于 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 . And the mean would get closer to 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