【论文随笔】Transfer of temporal logic formulas in reinforcement learning

news2024/11/26 8:25:28

Zhe Xu and Ufuk Topcu. 2019. Transfer of temporal logic formulas in reinforcement learning. In Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI’19). AAAI Press, 4010–4018.

这是一篇将inference和learning结合起来的文章,并且利用timed automata建立了比 τ \tau τ-MDP 更高层的抽象。

文章内容:

  1. 从轨迹中推理出MITL公式

  2. 判断是否可以迁移

  3. 对于原任务和目标任务,对每个子公式构建timed automaton

  4. 原任务在构建的automaton上进行强化学习

  5. 建立原任务和目标任务的映射,把Q表迁移至目标任务

  6. 在迁移过来的Q表的基础上继续进行强化学习

结果:在两个相近的任务间进行迁移学习,采样效率最多能提高一个量级


1 Intro

高层信息的结合能够大大提高强化学习的采样效率

源任务:先去绿色区域待够4秒,再在40秒内到达黄色区域

目标任务:先去绿色区域待够5秒,再在40秒内到达黄色区域

机器人事先不知道绿色和黄色区域的位置

40秒时完成任务奖励100,否则惩罚-10

判断能否迁移:1. 没有相似性判断标准 2. 逻辑相似性是隐形的,要从数据中才能看出来 3. 没有自动化的迁移首端


2 前提

2.1 MITL

timed word: 一段轨迹,每个元素为当前时刻状态满足的原子命题的子集

“A timed word generated by a trajectory s0:L is defined as a sequence (L(st1 ), t1), . . . , (L(stm ), tm),” (Xu and Topcu, 2019, p. 4) (pdf)

timed word符合 Φ \Phi Φ=轨迹符合STL

2.2 Timed Automaton

C C C clock variable

φ C \varphi_C φC clock constraints:时间的取值范围

Def. 1:
在这里插入图片描述

在这里插入图片描述

A \mathcal{A} A timed automaton:

σ ∈ Σ \sigma\in\Sigma σΣ 输入

q ∈ Q q\in \mathcal{Q} qQ 状态

φ C \varphi_C φC 到达的时钟条件

r C r_C rC 被置零的时钟

F ⊂ Q \mathcal{F}\subset\mathcal{Q} FQ 接受状态:到达结束状态说明STL任务完成了

Δ \Delta Δ 转移函数:到时间给定输入、位置,更新位置并且置零一批时钟

离散时间的timed Automata: 滴答自动机

v v v clock valuation: 所有钟的时间构成一个向量

timed word 带时间戳的输入序列

a run (状态,时钟)序列

flow-step 由时间触发的

edge-step 由输入触发的


3 Inference

3.1 MITL信息增益

G L G_L GL 长度为L的轨迹出现的概率分布

Def.2:

G ˉ L ϕ \bar{G}^\phi_L GˉLϕ 已知MITL公式的后验概率分布

Def.3:

定义信息增益为KL散度

3.2 问题陈述

考虑二阶以下的基本命题

Def.4

t S , t e t_S,t_e tS,te: 衡量状态应该保存的大小

satisfying formula 满足最小正确分类率和公式长度的公式

Def.5

SDNF: 用于保证子公式的时间区间不重合,按照先后顺序排列

3.3 基于决策树的公式推理

Γ z \Gamma_z Γz 参数的约束

用粒子群优化方法最大化信息增益I和正确分类率CR

Akra-Bazzi方法:计算复杂度


4 任务迁移

4.1 可迁移性定义

Def.5 结构等价性:逻辑结构相同、时序算子相同

Def.7 结构可迁移性的判断条件:

  1. 结构等价

  2. 或者每个子公式结构等价

data collection phase: 源任务和目标任务都收集一系列带标记的轨迹

Def. 8 逻辑可迁移性

  1. 源任务和目标任务存在satisfying formula

  2. 且两个satisfying formula集合中存在结构可迁移的公式

4.2 逻辑结构迁移:建立两个公式间的对应关系

  1. 在源任务中提取公式,判断是否为satisfying formula

  2. 在目标任务中提取公式:将原任务的结构作为公式模板,进行参数学习,判断是否为satisfying formula

  3. 对目标任务的每个子任务构建DTA,在拓展的状态空间上用RL更新:

    • 每个子任务所对应的DTA的(智能体状态,DTA中的状态 ,时钟向量)

    • 每个回合根据启发式方法选取第i个子任务:子公式对应的原子命题的空间中心距离初始状态最近->即选择最容易完成的一个任务(由于初始位置是随机选定的,所以其他的任务也是可能会探索的?)

    • 用Q-learning进行Q表的更新

4.3 Q-表的迁移

上面用的Q表不是一个空白的表格,而是由Source Task下训练出来的Q表迁移过来进行的初始化。

Target Task和Source Task相差的只有时间参数和尺度参数

时间参数对应的是时钟变量,尺度参数对应的

在2个任务的输入、状态和时钟之间能够能够建立双射函数,自动机的结构不变

首先已知初始状态和接收状态的映射,逆推这个函数


5 实验

5.1 Case 1

9x9 走格子 存在motion uncertainty

每次初始状态随机选择

  1. 前10000次训练收集数据,带标签+1/-1

  2. 推理公式

  3. 原任务上训练

  4. 迁移Q表

  5. 目标任务上训练

对比:

  1. τ \tau τ-state Q-learning:收敛最慢 奖励低

  2. 不考虑信息增益 收敛稍快奖励略低

  3. 考虑信息增益 收敛略慢奖励高

  4. 考虑信息增益 transfer learning 收敛快奖励高

5.2 实验2

  • 目标任务与原任务环境大小不一样

  • transfer的作用更小 - 红蓝差异不大


6 讨论

limitation:

由样本推理来的公式可能不完整

future work:

  • 对于复杂任务,可以将总任务分解为更简单的子任务,或者将inference和learning交替迭代形成闭环

  • 探索其他的强化学习算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/384978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium如何隐藏浏览器页面?

Selenium隐藏浏览器页面 背景 在工作,学习中,我们常常会使用selenium来获取网页上的数据,编完完整程序之后,实现真正意义上的自动化获取,此时我们会发现在运行中往往会弹出浏览器页面,在调试过程中&…

Java程序的逻辑控制

一、顺序结构 顺序结构比较简单,如果我们按照代码书写的顺序一行一行执行,将会是这样的: System.out.println("aaa"); System.out.println("bbb"); System.out.println("ccc"); // 运行结果 aaa bbb ccc 如…

网络基础服务器 与SMP、NUMA、MPP 三大体系结构科普

OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅。今天这篇网络基础科普,就是根据OSI层级去逐一展开的。01计算机网络基础01 计算机网络的分类按…

JVM—类加载子系统

JVM细节版架构图 ​ 本文针对Class Loader SubSystem这一块展开讲解类加载子系统的工作流程 类加载子系统作用 1.类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识即16进制CA FE BA BE; 2.加载后的Class类信息…

Flink SQL Checkpoint 学习总结

前言 学习总结Flink SQL Checkpoint的使用,主要目的是为了验证Flink SQL流式任务挂掉后,重启时还可以继续从上次的运行状态恢复。 验证方式 Flink SQL流式增量读取Hudi表然后sink MySQL表,任务启动后处于running状态,先查看sin…

IDEA 断点总是进入class文件没有进入源文件解决

前言 idea 断点总是进入class文件没有进入源文件解决 问题 在源文件里打了断点,断点模式启动时却进入了class文件里的断点,而没有进入到java源文件里的断点。 比如:我在 A.java 里打了断点,调试时却进入到了 jar 包里的 A.clas…

基于ensp的小型局域网网络搭建及需求分析

一 需求分析本实验的目的在于建立小型局域网。由于公司由财政部、人事部、科技部三个部门组成,分布在同一个交换机下。设计以下网络:三个个部门使用两台交换机连接,然后连接到汇聚交换机,再通过路由器与外网以及其他部门网络相连。…

java TCP Socket 数据传输,服务端与客户端

java TCP Socket 数据传输,服务端与客户端 1. socket通信基本原理 socket 通信是基于TCP/IP 网络层上的一种传送方式,我们通常把TCP和UDP称为传输层。 如上图,在七个层级关系中,我们讲的socket属于传输层,其中UDP是…

单位冲激函数与单位阶跃函数

目录 单位阶跃函数 单位冲激函数 狄拉克定义: 冲激函数的性质 对时间的积分等于单位阶跃函数 筛分性质 尺度特性 冲击偶的定义:单位冲击函数的导数 各阶导数 离散的阶跃信号与冲激信号 (1)阶跃信号,其定义为…

vi编辑器操作指令分享

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方…

国内vs国外:外贸建站该如何选择?

外贸建站找国内还是国外? 答案是:国内。 随着互联网的发展,越来越多的企业开始意识到在网络上进行商业活动的重要性。 其中,建立一个专业的外贸网站是企业在国际市场上拓展业务的关键。 然而,对于选择国内还是国外…

电脑出问题了怎么重装系统修好

电脑在使用过程中经常会出现各种各样的问题,如系统崩溃、蓝屏、病毒感染等。这些问题如果不能及时得到解决,将会给用户带来很多麻烦和损失。小白一键重装系统是一个功能强大的工具,可以帮助用户快速解决电脑常见问题。下面我们就来详细介绍如…

Vulnhub靶场----8、DC-8

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-8下载地址:https://download.vulnhub.com/dc/DC-8.zip kali:192.168.144.148 DC-8:192.168.144.156 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.156思路&am…

每日分享(四合一即时通讯聊天源码APP群聊、私聊、朋友圈)

demo软件园每日更新资源,请看到最后就能获取你想要的: 1.Python整洁编程 完整版PDF Python 与其他语言的不同之处在于,它是一种简单而有深度的语言。因为简单,所以谨慎编写代码要重要得多,尤其是在大项目中,因为代码很容易变得复…

ros2创建一个工程

第一步:创建src目录 $ mkdir ros2-demo $ cd ros2-demo/ $ mkdir src $ cd src/第二步:创建功能包cd src$ ros2 pkg create --build-type ament_cmake ros2_demo --dependencies rclcpp std_msgsros2 pkg create --build-type ament_python learning_pkg…

打地鼠游戏-第14届蓝桥杯STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第102讲。 蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多…

外贸建站多少钱?不同预算对应的建站方案!

外贸建站多少钱? 答案是:3000左右。 作为一个外贸企业的经营者,我们深知一个优质的外贸网站对于企业的重要性。 然而,建立一个优质的外贸网站需要耗费大量的时间和资金,因此我们需要在预算有限的情况下,…

代码随想录算法训练营第三天| 203. 移除链表、707. 设计链表、206.反转链表

977 有序数组的平方题目链接:203 移除链表元素介绍给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。思路一如果要被删除的元素是非头节点,只需要找到前一个节点&…

MySQL之幻读问题

MySQL之幻读问题 导读 在进入今天的主题之前必须先了解事务的四大特性ACID、MVCC、事务隔离级别(具体的自行查询),其中I(Isolation)隔离性所产生的问题涉及到的事务隔离分为不同级别,包括读未提交&#x…

python+pytest接口自动化(7)-cookie绕过登录(保持登录状态)

在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者&#xff0c…