AI好奇心,不只害死猫!MIT强化学习新算法,智能体这回「难易通吃」
人人都遇见过一个古老的难题。
周五晚上,你正试图挑选一家餐厅吃饭,但没有预定。你应该去你最爱的那家人满为患的餐厅排队等位,还是尝试一家新餐厅,希望能发现一些更好吃的惊喜?
后者确实有可能带来惊喜,但这种好奇心驱动的行为是有风险的:你去尝试的那家新餐厅的东西可能会更难吃。
好奇心作为AI探索世界的驱动力,实例已经不胜枚举了——自主导航、机器人决策、优化检测结果等等。
在某些情况下,机器使用「强化学习」来完成一个目标,在这一过程中,AI智能体从被奖励的好行为和被惩罚的坏行为中反复学习。
就像人类在选择餐厅时面临的困境一样,这些智能体也在努力平衡发现更好的行动(探索)的时间和采取过去导致高回报的行动(利用)的时间。
太强的好奇心会分散智能体的注意力,无法做出有利的决定,而好奇心太弱,则意味着智能体永远无法发现有利的决定。
为了追求使AI智能体具有「恰到好处」的好奇心,来自麻省理工学院计算机科学与AI实验室(CSAIL)的研究人员创造了一种算法,克服了AI过于「好奇」和被手头的任务分散注意力的问题。
他们研究出的算法会在需要时自动增加好奇心,如果智能体从环境中得到足够的监督,已经知道该怎么做,则降低好奇心。
论文链接:https://williamd4112.github.io/pubs/neurips22_eipo.pdf
经过60多个视频游戏的测试,该算法能够在不同难度的探索任务中取得成功,而以前的算法只能单独解决简单或困难难度。这意味着AI智能体可以使用更少的数据来学习决策规则,达到激励最大化。
「如果你很好地掌握了探索-开发之间权衡,就能更快地学习正确的决策规则,而任何不足之处都需要大量的数据,这可能意味着产生的结果是非最优的医疗方案,网站的利润下降,以及机器人没有学会做正确的事情。」
该研究带头人之一、麻省理工学院教授兼Improbable AI实验室主任Pulkit Agrawal说。
好奇心,不只害死猫!
我们似乎很难从心理学角度解释好奇心的心理基础,对于这种寻求挑战的行为的潜在神经学原理,我们一直没有深入理解。
有了强化学习,这个过程在情感上被「修剪」了,将这个问题剥离至最基本的层面,但在技术实现上却相当复杂。
从本质上讲,智能体只应该在没有足够的监督来尝试不同的事情时才会有好奇心,如果有监督,它必须调整好奇心,降低好奇心。
在测试游戏任务中,很大一部分是小智能体在环境中跑来跑去寻找奖励,并执行一长串的行动来实现一些目标,这似乎是研究人员算法的逻辑测试平台。
在《马里奥赛车》和《蒙特祖玛的复仇》等游戏实验中,研究人员将上述游戏分为两个不同类别:
一种监督稀疏的环境,智能体获得的指导较少,也就是「困难」的探索游戏;另一种是监督更密集的环境,即「简单」的探索游戏。
假设在《马里奥赛车》中,只删除所有的奖励,你不知道什么时候敌人杀了你。当你收集一个硬币或跳过管道时,不会得到任何奖励。智能体只有在最后才被告知其表现如何。这就属于稀疏监督环境,也就是困难任务。在这种任务中,激励好奇心的算法表现非常好。
而如果智能体处于密集监督环境,也就是说,跳过管道、收集硬币和杀死敌人都有奖励,那么,表现最好的就是完全没有好奇心的算法,因为经常得到奖励,只要照着走流程就行了,不需要额外探索就能收获颇丰。
这里如果使用激励好奇心的算法,学习速度会很慢。
因为好奇心强的智能体,可能会试图以不同的方式快速奔跑,到处乱逛,走遍游戏的每一个角落。这些事情都很有趣,但并不能帮助智能体在游戏中取得成功,获得奖励。
如前文所言,在强化学习中,一般用激励好奇心和抑制好奇心的算法,来分别对应监督稀疏(困难)和监督密集(简单)任务,不能混用。
这一次,MIT团队的新算法始终表现良好,无论是在什么环境中。
未来的工作可能涉及回到多年来令心理学家高兴和困扰的探索:好奇心的适当衡量标准--没有人真正知道从数学上定义好奇心的正确方法。
MIT CSAIL博士生Zhang Weihong说:
通过改进探索算法,为你感兴趣的问题调整算法。我们需要好奇心来解决极具挑战性的问题,但在某些问题上,好奇心会降低性能。我们的算法消除了调整「探索和利用」的平衡负担问题。
以前要花一个星期来解决的问题,新算法可以在几个小时内就得到满意的结果。
他与麻省理工学院CSAIL工程硕士、22岁的Eric Chen是关于这项工作的新论文的共同作者。
卡内基梅隆大学的教师Deepak Pathak说:
「像好奇心这样的内在奖励机制,是引导智能体发现有用的多样化行为的基础,但这不应该以在给定的任务中做得好为代价。这是AI中的一个重要问题,这篇论文提供了一种平衡这种权衡的方法。看看这种方法如何从游戏扩展到现实世界的机器人智能体上,将是很有趣的一件事。」
加州大学伯克利分校心理学特聘教授和哲学副教授Alison Gopnik指出,当前AI和认知科学的最大挑战之一,就是如何平衡「探索和利用」,前者是对信息的搜索,后者是对奖励的搜索。
「这篇论文使用了令人印象深刻的新技术来自动完成这一工作,设计了一个能够系统地平衡对世界的好奇心和对奖励的渴望的智能体,让AI智能体朝着像真正的儿童一样聪明的方向,迈出了重要一步。」他说。
参考资料:
https://techxplore.com/news/2022-11-bad-ai-curious.html
https://www.csail.mit.edu/news/ensuring-ai-works-right-dose-curiosity
以上是AI好奇心,不只害死猫!MIT强化学习新算法,智能体这回「难易通吃」的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Vue.js 中字符串转对象时,首选 JSON.parse() 适用于标准 JSON 字符串。对于非标准 JSON 字符串,可根据格式采用正则表达式和 reduce 方法或解码 URL 编码字符串后再处理。根据字符串格式选择合适的方法,并注意安全性与编码问题,以避免 bug。

总结:将 Vue.js 字符串数组转换为对象数组有以下方法:基本方法:使用 map 函数,适合格式规整的数据。高级玩法:使用正则表达式,可处理复杂格式,但需谨慎编写,考虑性能。性能优化:考虑大数据量,可使用异步操作或高效数据处理库。最佳实践:清晰的代码风格,使用有意义的变量名、注释,保持代码简洁。

Vue和Element-UI级联下拉框v-model绑定常见的坑点:v-model绑定的是一个代表级联选择框各级选中值的数组,而不是字符串;selectedOptions初始值必须为空数组,不可为null或undefined;动态加载数据需要使用异步编程技巧,处理好异步中的数据更新;针对庞大数据集,需要考虑使用虚拟滚动、懒加载等性能优化技术。

利用地理空间技术高效处理700万条记录并创建交互式地图本文探讨如何使用Laravel和MySQL高效处理超过700万条记录,并将其转换为可交互的地图可视化。初始挑战项目需求:利用MySQL数据库中700万条记录,提取有价值的见解。许多人首先考虑编程语言,却忽略了数据库本身:它能否满足需求?是否需要数据迁移或结构调整?MySQL能否承受如此大的数据负载?初步分析:需要确定关键过滤器和属性。经过分析,发现仅少数属性与解决方案相关。我们验证了过滤器的可行性,并设置了一些限制来优化搜索。地图搜索基于城

远程高级后端工程师职位空缺公司:Circle地点:远程办公职位类型:全职薪资:$130,000-$140,000美元职位描述参与Circle移动应用和公共API相关功能的研究和开发,涵盖整个软件开发生命周期。主要职责独立完成基于RubyonRails的开发工作,并与React/Redux/Relay前端团队协作。为Web应用构建核心功能和改进,并在整个功能设计过程中与设计师和领导层紧密合作。推动积极的开发流程,并确定迭代速度的优先级。要求6年以上复杂Web应用后端

为了设置 Vue Axios 的超时时间,我们可以创建 Axios 实例并指定超时选项:在全局设置中:Vue.prototype.$axios = axios.create({ timeout: 5000 });在单个请求中:this.$axios.get('/api/users', { timeout: 10000 })。

文章介绍了MySQL数据库的上手操作。首先,需安装MySQL客户端,如MySQLWorkbench或命令行客户端。1.使用mysql-uroot-p命令连接服务器,并使用root账户密码登录;2.使用CREATEDATABASE创建数据库,USE选择数据库;3.使用CREATETABLE创建表,定义字段及数据类型;4.使用INSERTINTO插入数据,SELECT查询数据,UPDATE更新数据,DELETE删除数据。熟练掌握这些步骤,并学习处理常见问题和优化数据库性能,才能高效使用MySQL。

MySQL启动失败的原因有多种,可以通过检查错误日志进行诊断。常见原因包括端口冲突(检查端口占用情况并修改配置)、权限问题(检查服务运行用户权限)、配置文件错误(检查参数设置)、数据目录损坏(恢复数据或重建表空间)、InnoDB表空间问题(检查ibdata1文件)、插件加载失败(检查错误日志)。解决问题时应根据错误日志进行分析,找到问题的根源,并养成定期备份数据的习惯,以预防和解决问题。
