DeepMind提出强化学习新算法,教智能体从零学控制

2024-04-12 20:18

本文主要是介绍DeepMind提出强化学习新算法,教智能体从零学控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AI 科技评论按:不管你让小孩还是大人整理物品,他们很大可能都不会乖乖听你的话,如果想要让 AI 智能体进行整理收拾,那就更难了。如果想成功,需要掌握如下几个核心视觉运动技能:接近物体,抓住并举起它,打开盒子,把物体放进去。而更复杂的是,执行这些技能时,必须按照正确的顺序。

对于一些控制类的任务,比如整理桌面或堆叠物体,智能体需要在协调它的模拟手臂和手指的九个关节时,做到三个 W,即如何(how),何时(when)以及在哪里(where),以便正确地移动,最终完成任务。

在任何给定的时间内,需要明确各种可能的运动组合的数量,以及执行一长串正确动作,这些需求引申出一个严肃的问题,这成为强化学习中一个特别有趣的研究领域。

诸如奖赏塑形(reward shaping)、学徒学习(Apprenticeship learning)或从演示中学习(Learning from Demonstration)等技术可以帮助解决这个问题。然而,这些方法依赖于大量与任务相关的知识,而从零开始,通过最少的预先知识学习复杂的控制问题仍然是一个众所周知的挑战。

我们最近的论文提出了一种新的学习范式,叫做「调度辅助控制」(Scheduled Auxiliary Control (SAC-X)),我们试图通过这种学习范式来克服这个问题。

SAC-X 是基于从头开始学习复杂的任务这种想法,即一个智能体首先应该学习并掌握一套基本技能。就像婴儿在爬行或走路前必须具有协调能力和平衡能力,为智能体提供与简单技能相对应的内在目标(具有辅助作用),这会增加它理解和执行更复杂任务的可能性。

我们在几个模拟和真实的机器人任务中演示了 SAC-X 法,包括不同物体的堆叠,将物体放到盒子里。我们定义的辅助任务遵循一般原则:鼓励智能体探索其感应空间。

例如,激活手指上的触觉传感器,感知手腕的力度,利用本体感应器将关节角度调到最大,在视觉传感器范围内强制性移动物体。对于每个任务,如果实现目标,会提供相应的简单奖励。没实现目标的话,奖励为零。

智能体首先学习激活手指上的触觉传感器,然后移动物体

模拟智能体最终掌握复杂的堆叠任务

智能体接下来可以自行决定其当前的「意图」,例如下一步做什么。可能会是一个辅助任务或者是外部定义的目标任务。至关重要的是,对于目前还没有使用基于回放的离策略学习方法的任务,该代理可以从奖励信号中发现和学习。例如,当拾取或移动一个物体时,智能体可能会偶然地将物体堆叠起来,观察到「堆叠奖励」。一系列简单的任务会让智能体观察到罕见的外部奖励,所以让智能体具有安排意图的能力至关重要。

基于收集到的所有的间接知识,智能体会建立一个个性化的学习课程。在如此大的领域中,通过这种方法来利用知识非常高效,在只有很少的外部奖励信号的情况下尤其有用。

通过调度模块,智能体会决定接下来的意图。利用元学习算法,调度器会在训练过程中得到改进,该算法试图最大限度地提高主任务的进程,进而显著提高数据效率。

在探索完许多内部辅助任务之后,智能体学会了如何堆叠和整理物品

评估表明,SAC-X 能够从零开始完成我们设置的所有任务,这些任务都是在相同的辅助任务集下完成的。令人兴奋的是,利用 SAC-X,我们实验室的机器人手臂能够成功地从零开始学习拾取和摆放。在过去这极具挑战性,因为在现实世界中让机器人学习需要高效的数据,所以流行的方法是预训练模拟智能体,然后再将这种能力转移到真正的机器人手臂中。

针对真实的机器人手臂, SAC-X 能学习如何举起和移动绿色的立方体,在此之前它从来没有接触过这类任务

我们认为 SAC-X 是通向从零学习控制任务的重要一步,只需定义好整体目标。SAC-X 允许任意定义辅助任务,这些任务可以基于一般的看法(如有意激活传感器),最终会涵盖研究人员认为重要的任务。从这方面来说,SAC-X 是一种通用的强化学习方法,可以广泛应用于控制和机器人领域之外的一般稀疏强化学习环境。

论文地址:

https://arxiv.org/abs/1802.10567

via:DeepMind,AI 科技评论编译整理。



点击下方“阅读原文”了解【人工智能实验平台】
↓↓↓

这篇关于DeepMind提出强化学习新算法,教智能体从零学控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898133

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、