【论文随笔】强化学习与奖励机 LTL and Beyond: Formal Languages for Reward Function Specification in RL

本文探讨了强化学习中奖励机制的表示方法,引入了奖励机(Reward Machine)的概念,它是一种用自动机表示奖励结构的工具。作者指出,通过将形式化语言(如LTL)转化为奖励机,可以更好地定义和处理复杂的奖励函数,从而提高强化学习算法的样本效率。实验部分涉及Q-Learning和DQN,展示了如何结合奖励机进行奖励塑造,以加速学习过程。
摘要由CSDN通过智能技术生成

前言: 最近对强化学习比较感兴趣,来读一读时序逻辑与强化学习交叉的文章。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)=sST(ss,a)(r(s,a,s)+γaAmaxq(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)+γamaxq~(s,a)

等式右边的是更新的步长, α \alpha α是学习率。

优点缺点
off-policy状态空间很大或连续时不适用
  • Off-policy——将收集数据当做一个单独的任务
    算法维护两个策略,一个行为策略(具有随机性)用于收集数据,一个目标策略(确定性策略)用于最终输出
  • On-policy——行为策略与目标策略相同
DQN

使用深度神经网络来完成state到action的映射,利用反向传播来更新策略。

DQN收敛性无法保证,文中用了Double DQN和Prioritized Experience Replay来改进其收敛性。


3 Specifying Reward Functions

奖励函数通常需要程序员手写,有以下问题:

  1. 抽象程度不够
  2. 奖励函数定义上只与当前状态相关,但是复杂任务可能涉及时序特征

那么为了解决问题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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值