强化学习(RL)可以让机器人通过反复试错进行交互,进而学会复杂行为,并随着时间的推移变得越来越好。之前谷歌的一些工作探索了 RL 如何使机器人掌握复杂的技能,例如抓取、多任务学习,甚至是打乒乓球。虽然机器人强化学习已经取得了长足进步,但我们仍然没有在日常环境中看到有强化学习加持的机器人。因为现实世界是复杂多样的,并且随着时间的推移不断变化,这为机器人系统带来巨大挑战。然而,强化学习应该是应对这些挑战的优秀工具:通过不断练习、不断进步和在工作中学习,机器人应该能够适应不断变化的世界。
在谷歌的论文《 Deep RL at Scale: Sorting Waste in Office Buildings with a Fleet of Mobile Manipulators 》中,研究人员探讨了如何通过最新的大规模实验解决这个问题,他们在两年内部署了一支由 23 个支持 RL 的机器人组成的群组,用于在谷歌办公楼中进行垃圾分类和回收。使用的机器人系统将来自真实世界数据的可扩展深度强化学习与来自模拟训练的引导和辅助对象感知输入相结合,以提高泛化能力,同时保留端到端训练优势,通过对 240 个垃圾站进行 4800 次评估试验来验证。

论文地址:https://rl-at-scale.github.io/assets/rl_at_scale.pdf
如果人们没有正确分类垃圾,成批的可回收物品可能会受到污染,堆肥可能会被不当丢弃到垃圾填埋场。在谷歌的实验中,机器人在办公楼周围漫游,寻找 “垃圾站”(可回收垃圾箱、堆肥垃圾箱和其它垃圾箱)。机器人的任务是到达每个垃圾站进行垃圾分类,在不同垃圾箱之间运输物品,以便将所有可回收物品(罐头、瓶子)放入可回收垃圾箱,将所有可堆肥物品(纸板容器、纸杯)放入堆肥垃圾箱,其他所有东西都放在其它垃圾箱里。
其实这项任务并不像看起来那么容易。仅仅是捡起人们扔进垃圾箱的不同物品的子任务,就已经是一个巨大的挑战。机器人还必须为每个物体识别合适的垃圾箱,并尽可能快速有效地对它们进行分类。在现实世界中,机器人会遇到各种独特的情况,比如以下真实办公楼的例子:
在工作中不断学习是有帮助的,但在达到这一点之前,需要用一套基本的技能来引导机器人。为此,谷歌使用了四种经验来源:(1)简单的手工设计策略,成功率很低,但有助于提供初步经验;(2)模拟训练框架,使用模拟 - 真实的迁移来提供一些初步的垃圾分类策略;(3)“robot classrooms”,机器人使用有代表性的垃圾站不断练习(4)真实的部署环境,机器人在有真实垃圾的办公楼里练习。

强化学习在该大规模应用中的示意图。使用脚本生成的数据引导策略的启动(左上图)。然后训练一个从仿真到实际的模型,在仿真环境中生成额外的数据(右上图)。在每个部署周期中,添加在 “robot classrooms” 中收集的数据(右下图)。在办公楼中部署和收集数据(左下图)。
这里使用的强化学习框架基于 QT-Opt,实验室环境下的不同垃圾的抓取以及一系列其他技能也是使用该框架。在仿真环境中从简单的脚本策略开始引导,应用强化学习,并使用基于 CycleGAN 的迁移方法,利用 RetinaGAN 使仿真图像看起来更加逼真。
到此就开始进入 “robot classrooms”。虽然实际的办公楼可以提供最真实的体验,但数据收集的吞吐量是有限的 —— 有些时间会有很多垃圾需要分类,有些时间则不会有那么多。机器人在 “robot classrooms” 中积累了大部分的经验。在下面展示的 “robot classrooms” 里,有 20 个机器人练习垃圾分类任务:

当这些机器人在 “robot classrooms” 接受训练时,其它机器人正在 3 座办公楼中的 30 个垃圾站上同时学习。
最终,研究人员从 “robot classrooms” 收集了 54 万个试验数据,在实际部署环境收集了 32.5 万个试验数据。随着数据的不断增加,整个系统的性能得到了改善。研究者在 “robot classrooms” 中对最终系统进行了评估,以便进行受控比较,根据机器人在实际部署中看到的情况设置了场景。最终系统的平均准确率约为 84%,随着数据的增加,性能稳步提高。在现实世界中,研究人员记录了 2021 年至 2022 年实际部署的统计数据,发现系统可以按重量将垃圾桶中的污染物减少 40%至 50%。谷歌研究人员在论文提供了有关技术设计、各种设计决策的削弱研究以及实验的更详细统计数据的更深入见解。
实验结果表明,基于强化学习的系统可以使机器人在真实办公环境中处理实际任务。离线和在线数据的结合使得机器人能够适应真实世界中广泛变化的情况。同时,在更加受控的 “课堂” 环境中学习,包括在仿真环境和实际环境中,可以提供强大的启动机制,使得强化学习的 “飞轮” 开始转动,从而实现适应性。
虽然已经取得了重要成果,但还有很多工作需要完成:最终的强化学习策略并不总是成功的,需要更强大的模型来改善其性能,并将其扩展到更广泛的任务范围。除此之外,其它经验来源,包括来自其它任务、其它机器人,甚至是互联网视频,也可能会进一步补充从仿真和” 课堂 “中获得的启动经验。这些都是未来需要解决的问题。
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG
文章目录1、自相关函数ACF2、偏自相关函数PACF3、ARIMA(p,d,q)的阶数判断4、代码实现1、引入所需依赖2、数据读取与处理3、一阶差分与绘图4、ACF5、PACF1、自相关函数ACF自相关函数反映了同一序列在不同时序的取值之间的相关性。公式:ACF(k)=ρk=Cov(yt,yt−k)Var(yt)ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}ACF(k)=ρk=Var(yt)Cov(yt,yt−k)其中分子用于求协方差矩阵,分母用于计算样本方差。求出的ACF值为[-1,1]。但对于一个平稳的AR模型,求出其滞
目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标
写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c