前言: 最近对强化学习比较感兴趣,来读一读时序逻辑与强化学习交叉的文章。P.S. 随着毕业设计的结束,最近恢复了一波旧帖子。另外新建了个人网站,可能慢慢把笔记都移到个人网站上,但就目前而言还是CSDN的编辑器用着更顺手一些些。
主要参考文献:
Camacho, A., Toro Icarte, R., Klassen, T. Q., Valenzano, R., & McIlraith, S. A. (2019, August). LTL and Beyond: Formal Languages for Reward Function Specification in Reinforcement Learning. Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. https://doi.org/10.24963/ijcai.2019/840
文章目录
概览
这篇文章提出了奖励机(Reward Machine)的概念,用自动机来表示强化学习中的奖励机制
名词解释
名词 | 解释 |
---|---|
Reward Machines | 奖励机,用于表示奖励结构的自动机 |
Reward Shaping | |
Sample Efficiency | |
lingua franca | [拉丁] 通用语言 |
流水账笔记
1 Introduction
强化学习,简而言之,就是得到一个决策策略,使得agent获得最大收益。听起来很简单,但是其中有两个主要的问题:(1)这里的“收益”,也就是reward,应该如何定义?(2)由于大多是场景下是稀疏奖励,训练一个RL agent需要时间长、难度大。
为了解决上面两个问题,作者介绍了Toro Icarte等人的一系列工作。他们认为,通过针对特定的任务手动设计特定的奖励函数,收敛更快、效果更好。他们也探索过用LTL的一个子集来表示reward function,也是他们提出了reward machine的概念。
但是呢,在之前的工作中,每研究一门specification language,就得单独编写RL算法。于是本文作者就想,先把specification language转化为reward machine的形式(可是这一步算法不也得单独写),再由reward machine编写RL算法。
本文工作:
- 用Mealy自动机来表示reward机制
- 完成了各种语言到奖励机的“翻译”算法
- 实验了reward-machine-based q-learning算法
2 Background on Reinforcement Learning
介绍了强化学习的基本背景。
RL通常表示为一个MDP过程 M = < S , A , s 0 , T , r , γ > \mathcal{M}=<S,A,s_0,T,r,\gamma> M=<S,A,s0,T,r,γ>
符号 | 含义 |
---|---|
S S S | 有限状态集合 |
A A A | 有限动作集合 |
s 0 s_0 s0 | 初始状态 |
T T T | 状态转移概率分布 |
r r r | 奖励函数 |
γ \gamma γ | 折扣因子 |
q值,定义为一段时间内的累积折扣奖励,满足Bellman方程。最优策略 π ∗ \pi^* π∗使得q值最大。
q ∗ ( s , a ) = ∑ s ′ ∈ S T ( s ′ ∣ s , a ) ( r ( s , a , s ′ ) + γ max a ′ ∈ A q ∗ ( s ′ , a ′ ) ) q^{*}(s, a)=\sum_{s^{\prime} \in S} T\left(s^{\prime} \mid s, a\right)\left(r\left(s, a, s^{\prime}\right)+\gamma \max _{a^{\prime} \in A} q^{*}\left(s^{\prime}, a^{\prime}\right)\right) q∗(s,a)=s′∈S∑T(s′∣s,a)(r(s,a,s′)+γa′∈Amaxq∗(s′,a′))
由上式可知,如果 q ∗ q^* q∗是知道的,就可以反解出策略 π ∗ \pi^* π∗(也就是 ( a , s ) (a,s) (a,s)对)。
2.1 Q-Learning
实验部分验证了tabular q-learning和DQN两种算法。
表格q-learning算法
通过表格完成state到action的映射。
构建一个虚拟的
q
~
\tilde{q}
q~函数,使其在迭代中逐渐逼近
q
∗
q^*
q∗。
q ~ ( s , a ) ← α r ( s , a , s ′ ) + γ max a ′ q ~ ( s ′ , a ′ ) \tilde{q}(s,a) \xleftarrow{\alpha}r(s,a,s') + \gamma \max_{a'} \tilde{q}(s',a') q~(s,a)αr(s,a,s′)+γa′maxq~(s′,a′)
等式右边的是更新的步长, α \alpha α是学习率。
优点 | 缺点 |
---|---|
off-policy | 状态空间很大或连续时不适用 |
- Off-policy——将收集数据当做一个单独的任务
算法维护两个策略,一个行为策略(具有随机性)用于收集数据,一个目标策略(确定性策略)用于最终输出 - On-policy——行为策略与目标策略相同
DQN
使用深度神经网络来完成state到action的映射,利用反向传播来更新策略。
DQN收敛性无法保证,文中用了Double DQN和Prioritized Experience Replay来改进其收敛性。
3 Specifying Reward Functions
奖励函数通常需要程序员手写,有以下问题:
- 抽象程度不够
- 奖励函数定义上只与当前状态相关,但是复杂任务可能涉及时序特征
那么为了解决问题1,这里提出了下面三个概念:
名词 | 概念 |
---|---|
Vocabulary | 命题符号集合 P \mathcal{P} P |
Labeling Function | 将(上一状态,动作,当前状态)转化为于命题逻辑相关的布尔值 |
NMRDP | (Non-Markovian Reward Decision Process),和MDP不同的是只有Reward是和历史状态相关的 |
4 Reward Machines
那么RM到底是什么呢?
RM是一种mealy自动机,其reward仅取决于当前的状态以及当前的label。其中,label由labeling function得到,与历史状态,当前状态以及当前动作有关。
为了补充说明,提出以下概念:
名词 | 概念 |
---|---|
Mealy Machine | 系统输出取决于系统的当前输入以及状态 |
NM Reward Function induced by an RM | 当前奖励取决于当前状态和label |
4.1 Relationship to Automata
DFA(Determinisitc finite automata)接受串行输入,产生二元的输出,能够与所有的正则语言等价。
为什么要提DFA呢?是为了分两步把时序逻辑公式先转化为DFA,再转化为RM。
5 Formal Language Specification
5.1 Formal Languages and Temporal Logics
这一节中列出了不同种类的形式语言与时序逻辑
名称 | 解释 |
---|---|
Linear Temporal Logic | |
LTL on finite traces | |
LTL of the Past | |
Linear Dynamic Logic on finite traces | |
LTL with Regular Expressions for finite traces | |
Subset of TLA+ | |
Subset of Golog | |
Regular Expressions |
5.2 Specifying Rewards with Temporal Logics
名称 | 解释 |
---|---|
reward specification | |
R induced by a specification |
5.3 Constructing Reward Machines
6 Using QRM with Reward Shaping
6.1 Reward Shaping with Value Iteration
6.2 Experiments with RM-Based Reward Shaping
7 Concluding Remarks
心得与记录
- 本文有利于学术工作的分工化,研究形式化语言的可以专注将各种语言转化为自动机,研究RL的可以通过一个统一的算法得到reward function