当前位置: 首页 > news >正文

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

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

CCC clock variable

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

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

在这里插入图片描述

A\mathcal{A}A timed automaton:

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

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

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

rCr_CrC 被置零的时钟

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

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

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

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

timed word 带时间戳的输入序列

a run (状态,时钟)序列

flow-step 由时间触发的

edge-step 由输入触发的


3 Inference

3.1 MITL信息增益

GLG_LGL 长度为L的轨迹出现的概率分布

Def.2:

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

Def.3:

定义信息增益为KL散度

3.2 问题陈述

考虑二阶以下的基本命题

Def.4

tS,tet_S,t_etS,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交替迭代形成闭环

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

相关文章:

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

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结合起来的文章…...

蓝桥杯-货物摆放

蓝桥杯-货物摆放1、题目描述1.1 答案提交1.2 运行限制2、解决方案2.1 方案一:暴力解法(三重循环)2.2 方案二:找出乘机的因子1、题目描述 小蓝有一个超大的仓库,可以摆放很多货物。 现在,小蓝有 n 箱货物要摆放在仓库,每…...

10 种顶流聚类算法 Python 实现(附完整代码)

聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群。 有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法。相反,最好探索一系列聚类算法以及每…...

微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。

一、前言 大家好!我是 是江迪呀。我们在进行微信小程序开发时,常常需要自定义一些东西,比如自定义顶部导航、自定义底部导航等等。那么知道这些自定义内容的具体位置、以及如何适配不同的机型就变得尤为重要。下面让我以在iPhone机型&#x…...

快速吃透π型滤波电路-LC-RC滤波器

π型滤波器简介 π型滤波器包括两个电容器和一个电感器,它的输入和输出都呈低阻抗。π型滤波有RC和LC两种, 在输出电流不大的情况下用RC,R的取值不能太大,一般几个至几十欧姆,其优点是成本低。其缺点是电阻要消耗一些…...

聊聊混沌工程

这是鼎叔的第五十四篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。欢迎关注本专栏和微信公众号《敏捷测试转型》,大量原创思考文章陆续推出。混沌工程是一门新兴学科,它不仅仅只是个技术活动,还包含如何设计能够持续协作的…...

做为骨干网络的分类模型的预训代码安装配置简单记录

一、安装配置环境 1、准备工作 代码地址 GitHub - bubbliiiing/classification-pytorch: 这是各个主干网络分类模型的源码,可以用于训练自己的分类模型。 # 创建环境 conda create -n ptorch1_2_0 python3.6 # 然后启动 conda install pytorch1.2.0 torchvision…...

网络协议(九):应用层(域名、DNS、DHCP)

网络协议系列文章 网络协议(一):基本概念、计算机之间的连接方式 网络协议(二):MAC地址、IP地址、子网掩码、子网和超网 网络协议(三):路由器原理及数据包传输过程 网络协议(四):网络分类、ISP、上网方式、公网私网、NAT 网络…...

有趣的小知识(三)提升网站速度的秘诀:掌握缓存基础,让你的网站秒开

像MySql等传统的关系型数据库已经不能适用于所有的业务场景,比如电商系统的秒杀场景,APP首页的访问流量高峰场景,很容易造成关系型数据库的瘫痪,随着缓存技术的出现很好的解决了这个问题。 一、缓存的概念(什么是缓存…...

SpringCloud之服务拆分和实现远程调用案例

服务拆分对单体架构项目来说:简单方便,高度耦合,扩展性差,适合小型项目。而对于分布式架构来说:低耦合,扩展性好,但架构复杂,难度大。微服务就是一种良好的分布式架构方案&#xff1…...

mybatis: Invalid bound statement (not found): com.atguigu.dao.UserDao.save

问题描述: 1 问题实质: dao层(又叫mapper接口)跟mapper.xml文件没有映射 2 问题原因: 出现这种映射问题的原因分为低级原因和更低级原因两种 更低级原因: (1)dao层的方法和mapper.xml中的方法不一样; (2)mapper中的namespace 值 和对应的dao层entity层不一致 &…...

JavaScript 代码规范

所有的 JavaScript 项目适用同一种规范。JavaScript 代码规范代码规范通常包括以下几个方面:变量和函数的命名规则空格,缩进,注释的使用规则。其他常用规范……规范的代码可以更易于阅读与维护。代码规范一般在开发前规定,可以跟你的团队成员…...

6综合项目 旅游网 【6.我的收藏和收藏排行榜】

我的收藏分析先登录→拿到当前登录的用户信息,从数据库中获取uid和对应uid的rid集合→将rid集合信息展示到我的收藏前台代码判断用户是否登录,传递uid,通过uid查找其对应的rid集合当查询的属性涉及到多张表,则必须使用多表连接&am…...

openpnp - error - 微调mark点坐标后,更新板子其他原件其他坐标报错的变通方法

文章目录openpnp - error - 微调mark点坐标后,更新板子其他原件其他坐标报错的变通方法概述想出来一个变通的方法ENDopenpnp - error - 微调mark点坐标后,更新板子其他原件其他坐标报错的变通方法 概述 载入坐标文件后, 指定左下角远点坐标, 然后定位板子上的3个Mark点, 因为…...

借助ChatGPT爆火,股价暴涨又暴跌后,C3.ai仍面临巨大风险

来源:猛兽财经 作者:猛兽财经 C3.ai的股价 作为一家人工智能技术提供商,C3.ai(AI)的股价曾在2021年初随着炒作情绪的增加,达到了历史最高点,但自那以后其股价就下跌了90%,而且炒作情…...

蓝桥杯-数位排序

蓝桥杯-数位排序1、问题描述2、解题思路3、代码实现1、问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。 例如, 2022 排在 409 前面, 因为 2022 的数位…...

【ES实战】ES 插件包离线安装(本地文件)

ES 插件包离线安装(本地文件) 文章目录ES 插件包离线安装(本地文件)使用安装命令安装直接解压式验证安装情况常用的分词插件analysis-ik analysis-pinyin analysis-dynamic-synonym 在集群的节点上分发插件的ZIP安装包 使用安…...

Spring的核心基础——IOC与DI

文章目录一、Spring简介1 Spring介绍1.1 为什么要学1.2 学什么2 初识Spring2.1 Spring家族2.2 Spring发展史3 Spring体系结构3.1 Spring Framework系统架构图4 Spring核心概念问题导入4.1 核心概念二、IOC和DI入门1 IOC入门问题导入1.1 门案例思路分析1.2 实现步骤1.3 实现代码…...

C++正则表达式基础

文章目录1. 查找第一个匹配的2. 查找所有结果3. 打印匹配结果的上下文4. 使用子表达式5. 查找并替换注意: .&#xff08;点&#xff09;在括号中没有特殊含义&#xff0c;无需转义用\转义。 1. 查找第一个匹配的 #include <iostream> #include <regex>using names…...

如何在网络安全中使用人工智能并避免受困于此

人工智能在网络安全中的应用正在迅速增长&#xff0c;并对威胁检测、事件响应、欺诈检测和漏洞管理产生了重大影响。根据Juniper Research的一份报告&#xff0c;预计到2023年&#xff0c;使用人工智能进行欺诈检测和预防将为企业每年节省110亿美元。但是&#xff0c;如何将人工…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...