人类偏好的“可塑性”,从博弈说起
作者 | 斯图尔特·罗素
来源 | 《AI新生》
出品 | AI科技大本营
经济学家通过为人类受试者提供选择来套取他们的偏好。该技术广泛应用于产品设计、营销和交互式电子商务系统中。例如,汽车设计师向受测试者提供具有不同油漆颜色、座位安排、后备厢大小、电池容量、杯架等选项的汽车,以此来了解人们关心哪些汽车功能,以及他们愿意为这些功能支付多少钱。另一个重要应用是在医学领域,肿瘤学家在考虑截肢的可能性时,可能需要评估病人在行动能力和预期寿命之间的偏好。当然,披萨餐厅想知道人们愿意为香肠披萨支付的价格比普通披萨高多少。
如何寻找奖励信号优化复杂行为?
套取偏好通常只考虑在多个对象之间做出的单一选择,我们假设这些对象的价值对受试者而言是显而易见的。我们目前还不清楚如何将其拓展到对未来生活的偏好上。为此,我们(和机器)需要从长期的行为观察中学习,这涉及具有多种选择和不确定结果的行为。
1997年初,我和同事迈克尔·迪金森、鲍勃·弗尔讨论了我们如何应用机器学习的思想来理解动物的运动行为。迈克尔仔细研究了果蝇翅膀的运动。而鲍勃特别喜欢令人毛骨悚然的爬虫,他为蟑螂制作了一台小型跑步机,以便观察它们的步态如何随着速度的变化而变化。我们认为,利用强化学习来训练机器人或模拟昆虫,以此重现这些复杂的行为是可能的。我们面临的问题是,我们不知道使用什么奖励信号,不知道苍蝇和蟑螂在优化什么。没有这些信息,我们就无法应用强化学习来训练虚拟昆虫,所以我们陷入了困境。
一天,我从我们在伯克利的房子去当地超市。这条路有一个下坡,我注意到,这个斜坡使我走路的方式发生了轻微的变化,我相信大多数人都会这样。此外,几十年中发生的数次小地震造成了路面不平坦,所以走在上面的人会发生额外的步态变化,由于地面高度无法预测,我的脚抬得更高了一点,下落时也不那么生硬。当我思考这些平凡的生活观察时,我意识到我们弄错了。当强化学习从奖励中产生行为时,我们实际上想要的恰恰相反:学习给定行为的奖励。我们已经有了由苍蝇和蟑螂产生的行为,我们想知道这种行为所优化的具体奖励信号。换言之,我们需要逆强化学习算法(IRL)。(当时我还不知道,还有一个类似的问题曾被研究过,它被称为“马尔科夫决策过程的结构式估计方法”,这是诺贝尔奖得主汤姆·萨金特(Tom Sargent)在20世纪70年代末开创的一个领域。)这样的算法不仅可以解释动物的行为,还可以预测它们在新环境下的行为。
或许,理解逆强化学习算法的最简单方法是:观察者从对真实的奖励函数的一些模糊估计开始,然后随着观察到更多的行为而细化这个估计,使之更精确。或者,用贝叶斯的理论来解释:从可能的奖励函数的先验概率开始,然后随着证据的增加来更新奖励函数的概率分布。
如何让机器将人类行为转化为人类偏好?
逆强化学习如今已经是构建有效的人工智能系统的重要工具,但它做了一些简化的假设。
第一,机器人一旦通过观察人类学会了奖励函数,它就会采用奖励函数,这样它就可以执行相同的任务。这对驾驶汽车或驾驶直升机来说没问题,但对于喝咖啡不行:一个观察我早晨习惯的机器人应该知道我(有时)想喝咖啡,但不应该知道它自己想喝咖啡。解决这个问题很容易,我们只需确保机器人将偏好与人类联系起来,而不是与自身联系起来。
逆强化学习中的第二个简化假设是,机器人正在观察一个人类解决单智能体决策问题。例如,假设机器人在医学院,通过观察人类专家来学习成为外科医生。逆强化学习算法假设人类通常以最佳方式进行手术,就好像机器人不在那里一样。但事实并非如此:人类外科医生的动机是让机器人(像其他医科学生一样)学得又快又好,这样她就会大大改变自己的行为。她可以边走边解释她在做什么;她可以指出需要避免的错误,比如切口太深或伤口缝合太紧;她可以描述万一手术中出现问题,应当采取什么应急方案。在单独进行手术时,这些行为都没有意义,因此逆强化学习算法将无法解释这些行为所暗示的偏好。出于这个原因,我们需要将逆强化学习从单智能体设置发展到多智能体设置,也就是说,我们需要设计一种学习算法,当人和机器人是同一环境的一部分并且相互交互时,该算法必须发挥作用。
当一个人和一个机器人处于同一环境中的时候,我们就进入了博弈论的领域。在这个理论的第一个版本中,我们假设人类有偏好,并根据这些偏好行事。机器人不知道人类有什么偏好,但它无论如何都想满足他们。我们称这种情况为“辅助博弈”,因为根据定义,机器人应该对人类有所帮助。
辅助博弈实例化了我在《AI新生》中提到的三个原则:机器人的唯一目标是满足人类的偏好,它最初并不知道人类的偏好是什么,以及它可以通过观察人类的行为来学习更多。也许辅助博弈最有趣的特性是,通过解决博弈问题,机器人可以自己弄明白如何将人类行为转化为有关人类偏好的信息。
机器人罗比会梦见回形针吗?
辅助博弈的一个例子是回形针博弈。这是一个非常简单的游戏,在这个游戏中,人类哈里特有一种动机来向机器人罗比“发送”一些她的偏好信息。罗比能够解读这个信号,因为它能玩这个游戏, 由此它能理解哈里特有什么样的偏好,以便让她发出那样的信号。
游戏的步骤如图12所示,涉及制作回形针和订书钉。哈里特的偏好是通过一个收益函数来表达的,该函数取决于生产的回形针和订书钉的数量,两者之间有一定的“汇率”。例如,她可能会把回形针的价值定为45美分,将订书钉的价值定为55美分。(我们将假设这两个价值的总和始终为1.00美元,重要的只有比率。)因此,如果生产10个回形针和20个订书钉,哈里特的收益将是10×45美分+20×55美分=15.50美元。机器人罗比一开始完全不确定哈里特的偏好:他对回形针的价值有一个均匀分布(也就是说,价值有可能是从0美分到1.00美元的任何值)。哈里特先做了选择,她可以选择制作2个回形针,或2个订书钉,或每种各1 个。然后,罗比选择制作90个回形针,或90个订书钉,或每种各50个。
请注意,如果哈里特自己做这件事,做了2个订书钉,价值为1.10美元。但是罗比在看着,它从她的选择中学习。它到底学到了什么?这取决于哈里特如何做出选择。哈里特是如何做出选择的?这取决于罗比如何解释它。所以,我们似乎遇到了一个循环问题!这在博弈论问题中很典型,也是纳什提出纳什平衡的原因。
为了找到一个均衡的解决方案,我们需要为哈里特和罗比确定策略,假设任意一方的策略保持不变,则双方都没有改变自己策略的动机。哈里特的一个策略是,根据她的偏好,指定要做多少回形针和订书钉;罗比的一个策略是,根据哈里特的行动,指定要做多少回形针和订书钉。
事实证明,似乎只有一个均衡解。
• 哈里特根据她对回形针的估价做出如下决定:
如果价值低于44.6美分,我就制作0个回形针和2个订书钉;
如果价值在44.6-55.4美分之间,我就每种各制作1个;
如果价值大于55.4美分,我就制作2个回形针和0个订书钉。
• 罗比回应如下:
如果哈里特制作0个回形针和2个订书钉,我就制作90个订书钉;
如果哈里特每种各制作1个,我就每种各制作50个;
如果哈里特制作2个回形针和0个订书钉,我就只制作90个回形针。
通过这种策略,哈里特实际上是在用一种简单的代码(如果你喜欢,也可以说是一种语言)告诉罗比她的偏好,这种简单的代码是从均衡分析中产生的。就像外科医生教学的例子一样,单智能体逆强化学习算法无法理解这段代码。还要注意,罗比从来没有确切地了解哈里特的偏好,但是它学到了足够多的东西来代表她采取最佳行动,也就是说,它的行为就像确实知道哈里特的偏好一样。在陈述的假设下和哈里特在正确玩游戏的假设下,我们可以证明罗比对哈里特是有益的。
人们也可以构建问题,罗比会像一个好学生一样问问题,而哈里特会像一个好老师一样告诉罗比要避免的陷阱。之所以会出现这些行为,并不是因为我们编写了让罗比听从哈里特的脚本,而是因为这是哈里特和罗比参与的辅助博弈的最佳解决方案。
我们还有很多方法来完善模型或将模型嵌入复杂的决策问题中。然而我相信,核心理念——有益的、顺从的行为和机器对人类偏好的不确定性之间的重要联系,会经受住这些细化和复杂化的考验。
作者介绍
斯图尔特·罗素(Stuart Russell)
加州大学伯克利分校计算机科学家,人类兼容人工智能中心(CHAI) 主任,人工智能研究实验室指导委员会(BAIR)成员。中信出版集团·前沿·《AI 新生》
世界经济论坛人工智能和机器人委员会副主席,美国科学促进会 (AAAS)会士,美国人工智能协会(AAAI)会士。
曾与谷歌研究总监彼得·诺维格合著,出版了人工智能领域里的“标 准教科书”《人工智能》,该书被 128 个国家的 1400 多所大学使用。
获得过多项科学荣誉,包括美国国家科学基金会总统青年研究员奖、 国际人工智能联合会议(IJCAI)计算机与思想奖、国际计算机学会 (ACM)卡尔斯特朗杰出教育家奖等,并受邀在 TED、世界经济论坛演 讲。
本文整理自《AI新生》 斯图尔特·罗素著 中信出版集团 2020.10
#欢迎留言在评论区和我们讨论#
看完本文,对于AI技术你有什么想说的?
欢迎在评论区留言
我们将在 11 月 5 日精选出 2 条优质留言
赠送《AI新生》纸质书籍一本哦!
更多精彩推荐
四款5G版iPhone 12齐发,苹果股价却应声而跌
魏永明:我们的目标是取代物联网中的安卓
韩辉:国产操作系统的最大难题在于解决“生产关系”
iPhone 12全线跌破发行价;任正非:华为设计的芯片我们造不出来;Fedora 33发布|极客头条
偷天换日,逼真的天空置换算法
相关文章:

基于python的一个运维自动化的项目(进度更新)【已开源】
文章已经转到 http://xiaorui.cc 个人博客里,欢迎浏览 !!!交流Python & Golang 可以加群 278517979 .

关于Android方法数量限制的问题
限制Android方法数量的原因是: Android应用以DEX文件的形式存储字节码文件,在Dalvik字节码规范里,方法引用索引method referenceindex只有16位,即65536个。 Op & Format Mnemonic / Syntax Arguments 6e..72 35c invoke-kind {vC, vD…

asp.net中显示DataGrid控件列序号的几种方法
在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下ÿ…
一口气看完45个寄存器,CPU核心技术大揭秘
作者 | 轩辕之风O来源 | 编程技术宇宙头图 | CSDN下载自视觉中国自1946年冯诺伊曼领导下诞生的世界上第一台通用电子计算机ENIAC至今,计算机技术已经发展了七十多载。从当初专用于数学计算的庞然大物,到后来大型机服务器时代,从个人微机技术蓬…

用友公司Java面试题(含答案)
为什么80%的码农都做不了架构师?>>> 用友公司Java面试题(含答案) 1.Hashtable和HashMap有什么区别? a.Hashtable是继承自陈旧的Dictionary类的,HashMap继承自AbstractMap类同时是Java 1.2引进的Map接口…

使用memcache做web缓存
为什么80%的码农都做不了架构师?>>> 下载: memcached server [密码: vTI8, 安装启动和调用, 内部有说明] 下载: python-memcached 1.57 现在准备用web.py写个网站, 缓存这块一直没想好用哪个, 今天终于想好了, 直接用memcache # coding: utf-8import me…

Asp.net中DataGrid控件的自定义分页
使用实现起来虽然比较方便,但是效率不高,每次都需要读取所有页(整个记录集),而加载的只是其中一页,造成了资源的浪费,记录多又会使效率变得很低。下面通过DataGrid的自定义分页功能来减少资源使…

实战:在Windows Server2008上配置NLB
1.1 在Windows Server2008上配置NLB 试验环境: DCServer是ESS.COM域的域控制器。 Fileserver和Research属于ESS.COM域,安装有Windows Server 2008企业版。 Sales计算机是ESS.COM域的成员,安装Vista企业版。 试验要求: 实现FileSer…
无人驾驶矿山赛道单笔最大融资:踏歌智行完成2亿元B轮融资
10月30日,矿山无人驾驶运输企业踏歌智行完成了2亿元的B轮融资,本轮融资由前海母基金和宝通投资共同领投,清研资本、蓝焱资本等跟投。踏歌智行继2019年连续完成三轮融资后,再创行业新高。据了解,踏歌智行2019年签订了超…

Python加密—RSA加密
为什么80%的码农都做不了架构师?>>> 公钥加密,私钥解密。 import rsa import base64 from Crypto.PublicKey import RSA # RSA加密解密pubkey -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCcB4zYqi3mjdP3E2f9jyPuF0X…

在asp.net中为Web用户控件添加属性和事件
在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程。它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的实现了对数据库的访问,就当时来说,这是一项多么吸引人的技术&#x…
1024 鲲鹏开发者技术沙龙·福州站圆满收官!给程序员的福利你收到了吗?
10月24日,由华为技术有限公司与福建鲲鹏生态创新中心联合主办的“1024鲲鹏开发者技术沙龙”在福州顺利举行。在沙龙上,来自福建鲲鹏生态创新中心运营总监宋宗佑为活动进行致辞,福建鲲鹏生态创新中心生态总监朱晓彤对鲲鹏生态创业中心进行介绍…

IPsec ××× 配置實例
試驗top:ipsec ***的配置包括一下幾個步驟:1.配置ike的協商2.配置ipsec的協商3.配置端口的應用4ike的調試和排錯按照步驟建立ike 的協商策略和參數R1<config>#crypto isakmp policy 編號<1-10000>編號越低優先級越高#hash { md5 | sha1 } 此命令表明設置密匙認…

springMVC参数绑定与数据回显
简单例子:修改商品信息的jsp页面: 参数绑定过程: 1.2.1 默认支持的参数类型 处理器形参中添加如下类型的参数处理适配器会默认识别并进行赋值。 1.1.1 HttpServletRequest 通过request对象获取请求信息 1.1.2 HttpServletResponse 通…

使用Qt编写模块化插件式应用程序
动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来。比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级…

datagrid的正反双向排序
在asp.net中利用datagrid控件按列进行排序很是方便。可是我们只能单项排序!如果我们需要正反排序那么就需要加入一些代码控制一下。 首先我们需要将datagird控件的属性设置为 AllowSorting"True",且需要排序列需要制定排序表达式 eg: SortExpr…
比Python 3.8快20%,Pyston v2正式发布
作者 | 写代码的明哥来源 | Python编程时光头图 | CSDN付费下载于视觉中国Pyston 自从 2017 年发布 0.6.1 版本后,已经淡出了人们的视线三年多了,导致现在新人都很少听过它的大名。前两天(2020年10月28日)Pyston 在官方博客上&…

基于Netty实现的轻量级分布式服务框架
对分布式技术比较感兴趣,于是在闲暇时间写了一个简单的RPC框架娱乐一下,项目持续更新中...... GitHub项目地址: Pudding 如果感觉Pudding对你有帮助可以顺手点个Star哦......哈哈 直接看一下示例代码吧 第一步: 启动注册中心 public class RegistryTest…

在分页状态下删除纪录的问题
在使用DataGrid分页的时候,正常情况下,绑定数据库列表纪录时会自动产生分页的效果,然而我发觉在删除纪录的时候总会发生"无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。"的异常,其实解决这个问题很简…
老码农90%的程序猿都是瞎努力,这份路线教你成为高手!
数据正在变得越来越常见,小到我们每个人的社交网络、消费信息、运动轨迹……,大到企业的销售、运营数据,产品的生产数据,交通网络数据……如何从海量数据中获得别人看不见的知识,如何利用数据来武装营销工作、优化产品…

android 365手机秘书源代码
2019独角兽企业重金招聘Python工程师标准>>> 应用到的知识还算挺多的,网络编程,xml解析,通知,广播,联系人,服务等,希望对新手有帮助 运行环境: 在android 2.3.3 运行…

centos安装及网络配置
感谢老师传授,共同学习!谢谢!仅供自己日后复习之用!centos安装关键点:创建分区:/ 系统分区/boot 启动分区SWAP 交换分区,虚拟内存。主要是缓解物理内存不足。虚拟化软件:VMware work…

使用DataGrid动态绑定DropDownList
简单的使用模板列绑定DropDownList,初学者想必都会了,但有时候,我们要做的就是在编辑的时候想让某一列定制为DropDownList,并且根据正常情况下显示的值自动变换DropDownList中所选的值,然后保存选择后的值到数据库或XM…
隐私数据在隐私AI框架中的安全流动
作者 | Rosetta技术团队责编 | 晋兆雨出品 | AI科技大本营本文中,我们将介绍为了保护用户的隐私数据,在隐私 AI 框架的计算任务全流程中,数据是如何以密文形式流动,同时仍正确完成加法、乘法等计算步骤的。隐私 AI 系统存在的目…

MS Sql Server 作业编辑报错以及不显示历史记录
如下图: 解决方法: 1.开始->运行,输入dcomcnfg.exe 2.打开组件服务器->计算机->我的电脑->DCOM配置; 3.找到Microsoft Office Excel或者Microsoft Office Word点击右键->属性 4.选择安全,将启动和激活权…

基于Guava实现的文件复制
需求:现需要将文件D:\A\B\C\abc.txt进行一下操作 1.在文件夹D:\A\B\C下,没有以abc命名的文件夹则创建 2.将目标文件D:\A\B\C\abc.txt复制到abc下 实现代码: /*** 以目标文件名创建文件夹,并将目标文件复制到该文件夹下** param sr…
破局传统算法痛点,腾讯安全首提基于跨模态检索的二进制代码-源代码匹配
整理 | 高卫华出品 | AI科技大本营头图 | CSDN付费下载自视觉中国近日,在NeurIPS 2020正式发布的论文入选名单中,腾讯安全科恩实验室聚焦解决二进制安全问题的《CodeCMR: Cross-Modal Retrieval For Function-Level Binary Source Code Matching》&#…

DataGrid删除确认及Item颜色交替
有时候我们需要在删除DataGrid中Item相对应的数据时,需要弹出一个确认对话框来提示使用者,其实这个功能非常简单,下面的代码可以在DataGrid的Item 中产生颜色交替的效果。 private void dg_ItemDataBound(object sender, DataGridItemEve…

SharePoint 2010 自定义日志
7/6/2012 How to log to the SharePoint ULS Logs(Clean Debugging and Error Logging broken down into steps) By: Philip Stathis 原文地址 http://www.thesharepointblog.net/Lists/Posts/Post.aspx?ID122 This article is meant to introduce a simple error logging rou…

使用Bot Service创建Bot Framework
创建Bot Service:进入至Azure控制台中,新建Bot Service,如不知道Bot Service在哪个选项中,可以先查找Bot Service再创建 在弹出的查询结果中,选择Bot Service,点击后会进入至下一个步骤 在弹出的Bot Servic…