当前位置: 首页 > 编程日记 > 正文

通过评估假设行为来学习人类目标

来源| deepmind

编译| 武明利,责编| Carol

出品 | AI科技大本营(ID:rgznai100)

当我们在现实世界中训练强化学习(RL)代理时,我们不会希望它们探索不安全的状态,例如将一个移动机器人开进沟里,或者向老板发送一封很尴尬的电子邮件。

在不安全状态下训练RL代理被称为安全探索问题。我们解决了这个问题中最难的部分,即代理最初不知道环境如何工作的,也不知道不安全状态在哪里。该代理有一个信息源:来自人类用户对不安全状态的反馈。

现有的人类反馈训练代理的方法要求用户评估代理在环境中的行为数据。也就是说,为了了解不安全状态,代理首先需要访问这些状态,以便用户可以对它们提供有关反馈。这使得之前的工作不适用于需要安全探索的任务。

在我们最新的论文中,我们提出了一种分为两个阶段的奖励建模方法。首先,鼓励系统通过综合产生的假设行为探索广泛的状态。用户提供有关此假设行为的反馈,并且系统以交互方式学习用户奖励功能的模型。只有在模型成功学会了预测奖励和不安全状态后,我们才部署可安全执行所需任务的RL代理。

我们从一个初始状态的生成模型和一个前向动态模型入手,这些模型是根据非政策数据(例如随机轨迹或安全的专业演示)进行训练的。我们的方法使用这些模型来合成假设的行为,要求用户用奖励标记这些行为,并训练神经网络来预测这些奖励。关键思想是从零开始积极地合成假设的行为,使它们尽可能多地提供信息,而无需与环境互动。我们称这种方法为通过轨迹优化(ReQueST)进行奖励查询合成。

ReQueST:在不安全状态的情况下,我们根据用户的目标安全地通知代理商行为的方法:

(1)使用动态模型

(2)它交互地从用户反馈的假设行为中获得奖励模型

(3)然后部署基于模型的RL代理商,以优化所获得的奖励。

使用轨迹优化合成信息假设

对于这种工作方法,我们需要系统来模拟和探索各种行为,以便有效地训练奖励模型。 为了鼓励在奖励模型训练过程中进行探索,ReQueST使用梯度下降轨迹优化来合成四种不同类型的假设行为。

第一种假设行为使奖励模型集合的不确定性最大化,从而引发了具有最高信息价值行为的用户标签。

第二种假设行为使预测的奖励最大化,从而出现奖励模型可能错误预测高奖励的行为。即奖励黑客。

第三种假设行为将预测的奖励降到最低,从而将潜在的不安全假设行为添加到训练数据中。该数据使奖励模型能够了解不安全状态。

第四种假设行为最大程度地提高了轨迹的新颖性,并鼓励人们探索各种状态,而不考虑预期的回报。

使用监督学习训练奖励模型

每个假设行为都由一系列状态转换(s,a,s’)组成。我们要求用户用奖励r来标记每个状态转换。然后,给定带标签的转变数据集(s,a,r,s’),我们训练神经网络使用最大似然目标预测回报。我们使用基于梯度下降的标准监督学习技术。

部署基于模型的RL代理

一旦用户对奖励模型感到满意,我们将部署一个基于计划的代理,该代理使用模型预测控制(MPC)来选择可优化学习奖励的操作。与通过试错法学习的无模型RL算法(如Q学习或策略梯度方法)不同,基于模型的RL算法(如MPC)使代理能够通过使用动态模型来预测其行为后果,从而避免部署期间的不安全状态。

实验评估

我们在基于状态的2D导航任务和基于图像的赛车视频游戏上与模拟用户一起评估ReQueST。结果表明,ReQueST满足三个重要的安全特性:(1)它可以训练奖励模型来检测不安全状态而无需访问它们;(2)它可以在部署代理之前纠正奖励黑客行为;(3)它倾向于学习强大的奖励模型,这些模型在转移到新环境中时表现良好。

在玩具2D导航任务中测试一般性

为了测试奖励模型的一般性,我们设置了具有单独训练和测试环境的2D导航任务。

在2D导航环境中,代理商必须避开陷阱区域(红色),然后到达目标区域(绿色)。

我们特意在初始状态分布中引入了一个重要变化:代理在训练环境中从左下角(0,0)开始,在测试环境中从右上角(1,1)开始。以前通过在训练环境中部署代理来收集数据的方法不太可能了解右上角的陷阱,因为它们会立即找到目标,然后无法继续探索。

ReQueST综合了各种假设状态,包括陷阱内和周围的状态。用户将这些状态标记为奖励,使用哪个ReQueST学习一个健壮的奖励模型,该模型使代理能够在测试环境中绕过陷阱。

ReQueST学习一种奖励模型,该模型可准确捕获目标区域和陷阱区域的边界。以前的工作采用的其他方法不了解陷阱区域,并且不正确地推断目标区域。

ReQueST(蓝色)产生的代理要比在先工作(茶和橙)适应的基准要重要得多。特别是,ReQueST学习一种奖励模型,该模型可以检测到不安全的状态,足以使代理商完全避免使用它们(0%的崩溃率)。

在基于图像的赛车中测试可伸缩性

为了测试ReQueST是否可扩展到具有高维、连续状态(如图像)的域,我们使用了OpenAI Gym的Car赛车视频游戏。

在赛车环境中,代理商必须尽可能避免在许多道路上打补丁

ReQueST综合以下假设行为:

(1)最大化奖励不确定性;

(2)最大化预期奖励;

(3)最小化预期奖励;

(4)最大化新奇。

这些视频显示了使用VAE图像解码器和LSTM动态模型从完整交易的奖励模型合成的假设。不确定性最大化的行为表明汽车行驶到道路的边缘并减速。奖励最大化的行为向人们展示了汽车向下行驶并转弯的过程。奖励最小的行为表明汽车尽可能快地越野。最大限度地提高创新行为表现了汽车保持静止状态。

ReQueST(蓝色)产生的代理可以驱动新的道路补丁,并且比以前的工作(茶和橙)所采用的方法明显更好。

除了对照以前的方法对ReQueST进行基准测试外,我们还进行了超参数扫描和消融研究,在该过程中,我们在轨迹优化过程中改变了动态模型的正则化强度以及合成的假设子集,以测量ReQueST对这些设置的敏感性。我们发现,ReQueST可以在生成现实查询和信息查询之间进行权衡,并且最佳权衡在各个域之间都不同。我们还发现,四种假设行为中每一种的有用性都取决于领域和收集的训练数据的数量。

下一步做什么?

据我们所知,ReQueST是第一个奖励建模算法,可以安全地学习不安全状态和在具有高维、连续状态的环境中训练神经网络奖励模型。

ReQueST依赖于初始状态的生成模型和正向动态模型,对于具有复杂动态的视觉域,这可能很难获得。到目前为止,作者只证明了ReQueST在相对简单的动态模拟域中的有效性。未来工作的一个方向是在3D领域中使用更逼真的物理学和其他在环境中起作用的代理来测试ReQueST。

原文:

https://deepmind.com/blog/article/learning-human-objectives-by-evaluating-hypothetical-behaviours

(*本文由 AI 科技大本营编译,转载请联系微信1092722531)

【end】

精彩推荐

「中国远程办公调查问卷」来啦!精选的技术书籍等你来拿!

长按图片参与有奖调查,提交后卷末尾抽奖页面的进群规则,即可加入交流群!!每天第6名和第8名入群者即为中奖者!

点击阅读原文或者识别海报二维码填写问卷!

推荐阅读

  • 远程办公是巨头游戏?十倍扩容,他们如何做到百万级并发流量

  • “夸夸机器人”App来了:变身百万粉丝大V,48万人给你的帖子点赞

  • AI口罩“督查官”诞生记

  • 从Kubernetes安全地访问AWS服务,告诉你多云场景下如何管理云凭据!

  • 华为最新 5G 折叠机 MateXs 发布,起售价 19000 多元

  • 游戏之道

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

ReactiveCocoa入门-part2

ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术。在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号。你还学到了如何转换、分割和聚合这些信号。 在本系列教程…

VirtualBox虚拟机安装RedHat7.3编译Linux0.01内核

引子 由于需要编译linux0.01内核,而目前的linux版本太高需要降低gcc版本等等,需要做不少调整非常不方便。 所以,直接安装RedHat7.3,这样就好编译linux0.01的内核了。 但是,安装RedHat7.3需要注意一些问题。 下载老…

远程办公是巨头游戏?十倍扩容,他们如何做到百万级并发流量

疫情发生后,除了Zoom这样深耕视频会议多年的软件,钉钉、企业微信、飞书等一大批互联网巨头也开通了免费服务,凭借着自身庞大的资源四处招揽用户。 据说,远程办公工具是2020年的第一个风口。 疫情发生后,除了Zoom这样深…

linux下使用sort命令升序、降序、随机及组合方式排序方法

示例文件:####################################################序号 优先级 字段1 字段21 5 abc def2 5 ae3 wff6 4 l…

mysql数据库备份、恢复文档

说明:为了加强线上数据库安全,避免研发人员误操作造成数据的丢失,制作本文档。一线运维人员可以参考!一、数据备份:专用数据库备份服务器,定时对数据库进行热备、冷备,即主从设置、mysqldump冷备、mysql-bin-log日志备…

Linux环境ddd安装与使用

ddd是一个优秀的调试器,安装ddd破费周折 必须安装x开发环境 1.下载 http://ftp.gnu.org/gnu/ddd/,下载最新的ddd-3.3.12.tar.gz # wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.12.tar.gz # tar zxvf ddd-3.3.12.tar.gz # cd ddd-3.3.12/ 2.配置 # ./…

华为诺亚、北大提出GhostNet​,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020...

作者 | Kai Han, Yunhe Wang等编译 | Conv出品 | AI科技大本营(rgznai100)受限于内存空间和计算资源,将卷积神经网络部署到嵌入式设备中会比较困难。CNNs中特征图的冗余性是保证其成功的关键,但是在神经网络的结构设计中却鲜有研究…

pap和chap交叉认证

pap和chap交叉认证:R1启动pap,R2启动chap。R1上的配置:Router>enRouter#config tRouter(config)#enable s ciacoRouter(config)#line c 0Router(config-line)#pass ciacoRouter(config-line)#loginRouter(config-line)#logging syRouter(c…

如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock...

如何在App中实现朋友圈功能之二快速实现用户信息的自定义自我关联社交元素:anSocial中很多的社交元素API,如帖子(Post)、相册(Album)、文件(File)等,这些API的可选参数中…

使用cat /proc/进程id/maps 查看进程内存映射

proc/<PID>/maps 查看进程的虚拟地址空间是如何使用的。 该文件有6列&#xff0c;分别为&#xff1a; 地址&#xff1a;库在进程里地址范围 权限&#xff1a;虚拟内存的权限&#xff0c;r读&#xff0c;w写,x,s共享,p私有&#xff1b; 偏移量&#xff1a;库在进程里地址范…

两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告

整理 | 郭芮 责编 | 唐小引 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; “求知若饥&#xff0c;虚心若愚”——这个原本出自《全球概览》的俳句&#xff0c;因为乔布斯在斯坦福大学毕业演讲中的引用而备受推崇&#xff0c;流传成为 IT 界的至理名言之一。在…

怎么处理404 错误页面 、处理404页面、asp.net 处理404页面

说明 On 指定启用自定义错误。如果未指定 defaultRedirect&#xff0c;用户将看到一般性错误。 Off 指定禁用自定义错误。这允许显示标准的详细错误。 RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。 system.web 元素 下添加下边…

转载:python原生态的输入窗口抖动+输入特效

python原生态的输入窗口抖动输入特效 出处&#xff1a;https://coding.net/u/acee/p/PythonPowerInput/git/blob/master/test_power_input.py __author__ Administrator import sys from lib.qm_app import App from PyQt4.QtGui import * from PyQt4.QtCore import * import …

华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020...

作者 | VincentLee来源 | 晓飞的算法工程笔记导读&#xff1a;为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题&#xff0c;参考ENAS和NSGA-III&#xff0c;论文提出连续进化结构搜索方法(continuous evolution architecture search, CARS)&#xff0c;最大化利用…

在.Net Micro Framework中显示汉字

摘要:MF平台支持的字体是专有格式&#xff0c;扩展名为tinyfnt&#xff0c;需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体。在.Net Micro Framework SDK中提供了一个叫做TFConvert.exe的工具&#xff0c;我们可以用它在命令行下将PC机上的TrueType或者OpenT…

汇编语言使用C库函数和Linux动态链接

使用printf 代码 #cpuid2.s -- Using C labrary calls .section .data output: .asciz "The processor Vender is %s\n".section .bss .lcomm buffer, 12 .section .text .globl _start _start: movl $0, %eax cpuid …

springJDBC实现查询方法二

无废话&#xff0c;看代码&#xff1a; Overridepublic List<Sites> queryAllSites(Pager pager) {String sql "select * from sakai_site order by SITE_ID limit ?,?";Object[] obj new Object[]{pager.getStart(),pager.getLimit()};List<Sites> …

全球计算机视觉顶会CVPR 2020论文出炉:腾讯优图17篇论文入选

全球计算机视觉顶级会议CVPR2020 (IEEE Conference on Computer Vision and Pattern Recognition&#xff0c;即IEEE国际计算机视觉与模式识别会议) 即将于2020年6月14日-19日在美国西雅图召开。本届大会总共录取来自全球论文1470篇&#xff0c;腾讯优图实验室入选17篇。 作为…

gcc使用总结

1.基本选项 -o 指定输出文件名。如果不给出这个选项&#xff0c;gcc就给出预设的可执行文件a.out。 # cc -o XX XX.c -c 编译、汇编到目标代码&#xff0c;不进行链接 -v 打印较多信息&#xff0c;显示编译器调用的程序。 -E 仅作预处理&#xff0c;不进行编译、汇编…

websecurity - Web Security Testing Framework 超级牛B扫描器

Windows – Websecurify 0.3.exehttp://websecurify.googlecode.com/files/Websecurify%200.3.exeLinux – Websecurify 0.3.tgzhttp://websecurify.googlecode.com/files/Websecurify%200.3.tgzMac – Websecurify 0.3.dmghttp://websecurify.googlecode.com/files/Websecurif…

C中的qsort函数和C++中的sort函数的理解与使用

一、qsort()函数 原型&#xff1a;_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); 参数解释&#xff1a;1、待排序数组首地址&#xff1b;2、数组中待排序元素数量&#xff1b;3、各元素的占用空间的大小&#xff1b;4、指向函数的指…

机器学习新闻综述:2019年AI领域不得不看的6篇文章

作者 | Limarc Ambalina翻译 | 火火酱&#xff0c;编辑 | Carol出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;在这篇机器学习新闻综述中&#xff0c;我们将回顾一些2019年以来在人工智能各个领域广泛传播或产生影响的重大新闻。此外&#xff0c;我们还将…

GDB attach到进程

要调试守护进程等已经启动的进程或是调试陷于死循环的进程可以使用attach命令 格式 attach pid C语言代码 #include <stdio.h> int main(void) { int marks[10]; int i; for(i0;i<12;i) { scanf("%d",&marks[i]); …

Chrome使用技巧和编辑框拖动怪问题。

常用快捷键&#xff1a;ctrlshiftt 重新打开刚关闭的网页ctrlh 打开历史记录ctrl 放大。ShiftEscape 查看任务管理器据说Chrome能调整编辑区大小&#xff0c;我没发现。倒发现Chrome一个问题&#xff0c;选中编辑框中的文字&#xff0c;一直拖动鼠标&a…

Linux中断研究

2019独角兽企业重金招聘Python工程师标准>>> 研究linux系统&#xff0c;不管是做驱动、协议栈还是进程调度等等&#xff0c;都离不开中断。这说明&#xff0c;要想编写正确的linux代码&#xff0c;不了解中断是不行的。 话说曾几何时&#xff0c;在大学的课堂里&…

linux环境内存分配原理

Linux的虚拟内存管理有几个关键概念&#xff1a; Linux 虚拟地址空间如何分布&#xff1f;malloc和free是如何分配和释放内存&#xff1f;如何查看堆内内存的碎片情况&#xff1f;既然堆内内存brk和sbrk不能直接释放&#xff0c;为什么不全部使用 mmap 来分配&#xff0c;munm…

大脑芯片公司Neuralink计划在人脑内植入芯片,他们到底想干什么?

作者 | James Murphy翻译 | 火火酱&#xff0c;编辑 | Carol出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;说实话&#xff0c;科幻电影在遇到Neuralink时也不得不甘拜下风。2019年7月&#xff0c;埃隆马斯克(Elon Musk)宣布&#xff0c;他的公司正在研发…

判断链表是否存在环(及其延伸)

有一个单链表&#xff0c;其中可能有一个环&#xff0c;也就是某个节点的next指向的是链表中在它之前的节点&#xff0c;这样在链表的尾部形成一环。问题&#xff1a;1、如何判断一个链表是不是这类链表&#xff1f;2、如果链表为存在环&#xff0c;如果找到环的入口点&#xf…

iOS跳转到各种系统设置界面

定位服务 定位服务有很多APP都有&#xff0c;如果用户关闭了定位&#xff0c;那么&#xff0c;我们在APP里面可以提示用户打开定位服务。点击到设置界面设置&#xff0c;直接跳到定位服务设置界面。代码如下&#xff1a; //定位服务设置界面 NSURL *url [NSURL URLWithString:…

Linux内存管理大图(第三稿)

网友画的还不错就转了 &#xff0c;该作者一共画了3版 v0.1 v0.2 v0.3 原文地址&#xff1a;http://bbs.chinaunix.net/thread-2018659-1-1.html