硕士论文题目:SAFE REINFORCEMENT LEARNING: AN OVERVIEW, A HYBRID SYSTEMS PERSPECTIVE, AND A CASE STUDY
HSCC:Safe Reinforcement Learning for Control Systems: A Hybrid Systems Perspective and Case Study
{Hybrid Systems: Computation and Control
HSCC 2019
文章目录
摘要
RL在游戏方面取得的成就主要用于具有离散环境和主体的系统。在安全-计算机-物理系统应用中使用RL的一个关键问题是 在确保他们安全的同时还要使他们能够学习是很困难的。本文提出了一种用于学习非线性连续动力学控制系统安全策略的框架 FoRShield。建立了基于在线RL的控制系统的通用混合系统模型,该模型被用于形式化护盾的概念,该护盾可以过滤不安全的操作选择并向学习系统提供反馈。Present了一种利用现有混合可达性分析工具计算屏蔽层的具体方法。最后,为了说明这种方法的可行性,使用了一个无人机灭火的动态消防案例。
Introduction
我们的问题设置涉及分层控制系统:低层控制器将系统驱动到近期目标或航路点,一个高级的控制者或规划者选择一系列的目标来完成一个长期的任务。
低层控制器:现有的控制设计技术(如PID、LQR、MPC等)足以设计低级控制器。
高层规划器:规划者在完成任务时必须为多个目标进行优化,同时满足低级规划者施加的约束。人们可以使用自适应控制技术来设计这种规划器,但强化学习(RL)提供了另一个有利的方向,因为它不需要完整的环境模型,也不需要明确的目标函数规范。
通常的RL算法很少对可以探索和学习的策略类型设置任何限制。
所以引入了一种护盾的方法,能够将主体可以执行的操作集限制为仅安全的操作集。尽管护盾的方法是直观的,但如何开发模型来限制特定的操作集是模糊的。本文的工作通过可达性分析克服了这种模糊性。
提出的框架 FORShield: 利用带护盾的RL的有效策略探索来同时验证具有连续动态的agent在特定环境中的行为。
为了处理连续agent在状态空间中的复杂性和爆炸性,本文框架中的学习算法还利用了连续agent的离散抽象。离散主体用于驱动离散环境中RL算法的探索过程,而护盾则使用连续主体的动力学来验证所选择的操作对于连续主体是安全的。
我们还提出了一种对具有平移不变动力学的主体重用可达性分析计算的方法。(这个没太明白作用是什么)
主要贡献如下:
(a)将基于RL的控制系统形式化为一个混合系统的框架;
(b)利用现有的混合验证技术对非线性对象模型和基于NN的RL算法的护盾提出适度的建议;
(c)在一个案例研究中对该方法进行了实验可行性测试。
基于学习控制系统的形式化模型
-
Agent
Sa,主体的连续状态空间,由(低级控制器决定的)微分方程确定:
Oa ,the set of observable states of the agent。当前时刻,能够观察到的主体的状态。
Obs,Sa → Oa 主体的状态到能够观察到的当前场景的映射。以案例为例就是 :Sa → Oa := [n] × {Emp, Full},意思就是无人机本来是连续的一个9维状态,但是要把它转换到这个2维地图中来,就只用关心它在哪一个格子,水箱是否有水就可以了。 -
Environment
Se,离散的环境状态。在无人机这个案例中就是这个二维的地图。
O, O = Oa ×Se 环境+主体的状态集合。 -
Planner
P,所有可能planners 的集合。
Planner function Pl : O × G → G ,由当前观察到的状态和当前的目标,得到下一个目标。这就是计划者的职责。 -
Learner
Le : P×O×G ⊥ _⊥ ⊥ → P , 学习者根据当前观察到的状态(主体和环境)和当前目标,用一个新的计划更新当前的计划器,目的是在任务完成的同时实现任务目标确保安全 -
Goal
G,可能被计划指定的目标。案例中,就是地图上每个格子的坐标(r,c)表示,要去到这个目的地。 -
混成系统的状态空间
Q = Sa × Se × G ⊥ _⊥ ⊥ × P, -
系统中的轨迹
ξ,指的是[0,T]这一段时间的轨迹。 -
Shield 护盾
Sh : O × G → {safe, unsafe}.输入当前观察到的状态和当前的目标,输出到达这个目标是轨迹是否安全。 -
所以整个流程应该是,随机初始化策略。然后learner把当前策略告诉Planner,Planner使用这个策略,再根据当前环境和主体的状态输出一个小目标。这个时候,我们有了主体状态,环境状态以及目标,就可以利用已有的可达集计算方法结合低级控制器的微分方程来检查:在(Sa,Se)这个状态使用一个固定的随机策略p,确立一个g这样的目标,是不是安全的。–这个过程就是shield护盾。 如果不安全就使用负reward对Learner反馈,令其使用新策略来重复刚才的事情。如果安全,那么就更新状态,继续前进。就这样根据反馈来不断更新策略,直到完成消防任务,获得最佳策略。
-
所以我们的目标就是,设计一个好的Learner和shield,使得系统H在安全的情况下,环境Se达到Se*这个目标状态。
-
整个混成系统的定义1: 四元组 H = ⟨Q, Θ, D, T ⟩
- Q = Sa × Se × G⊥ × P is the state space of the automaton.
- Θ ⊆ Q is the set of initial states
- T is a set of trajectories for Q
- D ⊆ Q × {env, pln,repln} × Q the set of discrete transitions
- (ℓ =evn 并且时间到达了t ( 每 过 t 时 间 都 会 发 生 一 次 )