type
status
password
date
slug
summary
category
URL
tags
icon
11.1 简介
之前介绍的基于策略的方法包括策略梯度算法和 Actor-Critic 算法。这些方法虽然简单、直观,但在实际应用过程中会遇到训练不稳定的情况。当策略网络是深度模型时,沿着策略梯度更新参数,很有可能由于步长太长,策略突然显著变差,进而影响训练效果。
针对以上问题,我们考虑在更新时找到一块信任区域(trust region),在这个区域上更新策略时能够得到某种策略性能的安全性保证,这就是信任区域策略优化(trust region policy optimization,TRPO)算法的主要思想。
11.2 策略目标
策略梯度(Policy Gradient)之前已经讲过,这里再提一下。
目标函数
策略梯度法的目标函数如下。
梯度
假设当前策略为,参数为。我们考虑如何借助当前的找到一个更优的参数,使得。具体来说,由于初始状态的分布和策略无关,因此上述策略
其中是状态分布,是策略关于参数的梯度。此外,(9.8)有一个以期望形式表达的紧凑形式:
11.3 置信域
简介
假设是目标函数, 是优化变量。置信域方法需要构造一个函数,这个函数要满足这个条件:
集合就被称作置信域。顾名思义,在的邻域上,我们可以信任,
可以拿来替代目标函数。
策略梯度算法
对于策略梯度算法,模型的策略参数需要根据目标函数来进行更新。令当前的策略参数为
,定义当前策略的邻域为:
可将上述邻域想象为以参数为中心,半径为的超球面。如果在上述邻域中存在函数可以近似目标函数,则称该邻域为“置信域”。在置信域中,若可以近似,则若优化参数能优化,则同时也可以优化,这便是置信域优化算法的基本思想。置信域优化算法就是不断重复下述两步:
- 近似阶段给定当前参数,在其邻域(置信域)构建目标函数的近似函数
- 最大化阶段在置信域中,找到能够最大化模型函数的参数:
11.4 TRPO算法
目标函数
假设是一个行为策略。我们的目标是利用由生成的样本,学习一个目标策略,其中参数在的邻域内。借助重要性采样,得到TRPO的目标函数如下:
无法得到,所以会使用近似。其中为优势函数
置信域定义条件
置信域的表示方法有很多例如:
- KL散度:
- 距离:
优化
拉格朗日函数
根据拉格朗日 函数,得到上式的拉格朗日函数为
KKT条件
求解
稳定性
TRPO是找到新的策略,使得回报函数单调不减,一个自然地想法是能不能将新的策略所对应的回报函数分解成旧的策略所对应的回报函数+其他项。只要新的策略所对应的其他项大于等于零,那么新的策略就能保证回报函数单调不减。
11.7 价值函数
11.8 总结
本章讲解了 TRPO 算法,并分别在离散动作和连续动作交互的环境中进行了实验。TRPO 算法属于在线策略学习方法,每次策略训练仅使用上一轮策略采样的数据,是基于策略的深度强化学习算法中十分有代表性的工作之一。直觉性地理解,TRPO 给出的观点是:由于策略的改变导致数据分布的改变,这大大影响深度模型实现的策略网络的学习效果,所以通过划定一个可信任的策略学习区域,保证策略学习的稳定性和有效性。
TRPO 算法是比较难掌握的一种强化学习算法,需要较好的数学基础。读者若在学习过程中遇到困难,可自行查阅相关资料。TRPO 有一些后续工作,其中最著名的当属 PPO,我们将在第 12 章进行介绍。
11.9 参考文献
[1] SCHULMAN J, LEVINE S, ABBEEL P, et al. Trust region policy optimization [C]// International conference on machine learning, PMLR, 2015:1889-1897.
[2] SHAM K M. A natural policy gradient [C]// Advances in neural information processing systems 2001: 14.
[3] SCHULMAN J, MORITZ P, LEVINE S, et al. High-dimensional continuous control using generalized advantage estimation [C]// International conference on learning representation, 2016.