Contents
1. 前言 - 基于策略学习的意义
2. 策略目标函数
3. Finite Difference Policy Gradient
4. Monte - Carlo Policy Gradient
5. Actor - Critic Policy Gradient
6. DDPG 算法
7. Policy Gradient 算法对比
基于策略学习的意义
基于价值的学习:基于价值的学习对应的最优策略通常是确定性策略,因为它是从众多行为价值中选择的一个最大价值的行为. 而有些问题的最优策略确是随机策略, 这种情况下同样是无法通过基于价值的学习来求解的. 面对行为空间连续,观测受限,随机策略的学习等问题仍然显得力不从心, 因此基于策略的学习是解决这一列问题的一个新的途径.
策略的学习:将策略看成是状态和行为的带参数的策略函数,通过建立恰当的目标函数,利用个体与环境进行交互产生的奖励来学习得到策略函数的参数.
基于策略学习的优点:
. 更好的收敛特性
. 在高纬度空间或者连续行为空间问题上更有效
. 能够学习随机策略
基于策略学习的缺点:
. 很容易收敛到局部最优而不是全局最优
. 策略评价很难并且具有high variance 特性
对比基于价值的学习与基于策略的学习:
策略函数: 在给定的状态和一定的参数设置下,采取任何可能行为的概率. 是一个概率密度函数.
策略目标函数
三种不同的策略目标函数:
1. 使用初始状态收获的期望:
2. 使用平均价值
3. 对于每一个time step 使用平均奖励.
* 这三种策略目标函数都与奖励相关, 而且都识图通过奖励与状态或者行为的价值联系起来. 策略目标函数的值越大代表着策略越优秀. 可以使用与梯度下降相反的梯度上升来求解最优参数:
4. 策略梯度函数:
5. Softmax 策略和高斯策略
Softmax 策略:是应用于离散行为空间的一种常用策略.
Score Function:
高斯策略:应用于连续行为空间的一种常用策略.
Score Function :
Policy Gradient Theorem:
For any differentiable policy πθ(s; a),for any of the policy objective functions J = J1; JavR; or 1/(1-1γ) JavV ,the policy gradient is
θJ(θ) = Eπθ [θ log πθ(s,a) Qπθ(s, a)]
Finite Difference Policy Gradient
Monte - Carlo Policy Gradient
Actor - Critic Policy Gradient
Actor-Critic 算法:包含一个策略函数和一个行为价值函数, 其中策略函数充当Actor,生成行为与环境交互,行为价值函数充当(critic),负责评价演员的表现,并指导演员的后续行为动作. Critic 的行为价值函数是基于策略 的一个近似.
Actor-Critic 算法包含两组参数:
- Critic : 更新行为价值函数的参数w
- Actor:依据策略调整的方向更新策略参数 ,
QAC 算法:
定理:如果下面两个条件满足:
1. 近似价值函数的梯度与分值函数的梯度相同
2. 近似价值函数的参数w能够最小化,那么策略梯度就是准确的.
Baseline 函数B(s):
与行为无关仅仅基于状态的基准(Baseline)函数B(s)的概念:
Advantage 函数:
优势函数相当于记录了在状态s时采取行为a会比停留在状态s多出的价值,这正好与策略改善的目标是一致的,由于优势函数考虑的是价值的增量,因而大大减少的策略梯度的变异性,提高了算法的稳定性。
在使用不同强化学习的方法来进行Actor-Critic学习时,描述Critic的函数的参数可以通过不同形式进行更新.
Actor 在不同时刻更新策略:
Policy Gradient with ET
深度确定性策略梯度(DDPG)算法:
深度确定性策略梯度算法是使用深度学习技术,同时基于Actor-Critic 算法的确定性策略算法.该算法中的Actor 和Critic 都使用深度神经网络来建立近似函数. 由于该算法可以直接从Actor 的策略生成确定的行为而不需要依据行为的概率分布进行采样而被成为确定性策略.该算法在学习阶段通过在确定性的行为基础上增加一个噪声函数而实现在确定性行为周围的小范围内探索. 而且为Actor 和Critic 网络各备份了一套参数用来计算行为价值的期待值以更稳定的提升Critic 的策略指导水平. 四个网络更新参数过程:
1. Actor 网络:根据当前状态 生成的探索或者不探索的具体行为;
2. Target Actor 网络:根据环境给出的后续状态 生成预估价值用到的a1.
3. Critic 网络:计算状态s0和生成的行为a0对应的行为价值
4. Target Critic 网络:根据后续状态s1,a1 生成用来计算目标价值y = Q(,)的Q’(,);