仵冀颖作者Joni编辑

机器人强化迁移学习指南:架设模拟和现实的桥梁

近年来,强化学习(Reinforcement learning)在人工智能领域中表现出了显著的性能,例如基于原始像素的 Atari 游戏,连续复杂控制策略的学习,以及在围棋游戏 Go 中超越人类的表现等。

然而,这些成功大多是在仿真、视频游戏等非物理环境中实现的,强化学习在物理系统上的复杂策略仍存在很大的挑战。强化学习需要与现实环境进行大量的交互,但是机器人强化学习从现实环境中获取样本的代价极高,因此,针对复杂运动技能的机器人强化学习是一个具有挑战性且尚未解决的问题,而迁移学习是实现物理机器人强化学习的重要策略。

本文聚焦如何利用迁移学习,使强化学习能够在模拟环境中进行训练,而在实际的物理机器人领域中得到应用。

机器人的强化迁移学习背景介绍

机器之心在之前的文章中对一般的强化迁移学习进行过梳理,我们首先来回顾一下

强化学习是一种根据环境反馈进行学习的技术。强化学习 agent 辨别自身所处的状态 (state),按照某种策略决定动作(action),并根据环境提供的奖赏来调整策略,直至达到最优。

马尔可夫决策 MDP(Markov Decision Process)是强化学习任务的标准描述,我们定义一个任务 M,用四元组< S , A , T, R>表示,其中 S 是状态空间,A 是动作空间,T 是状态转移概率,R 是奖赏函数。state-action 空间 S×A 定义了任务的域,状态转移概率 T 和奖赏函数 R 定义了任务的目标。


强化学习的状态动作空间 S×A 很大时,为了寻找最优策略,搜索过程非常耗时。此外,学习近似最优解所需的样本数量在实际问题中往往令人望而却步。无论是基于值的方法还是基于策略的方法,只要问题稍稍变动,之前的学习结果就会失效,而重新训练的代价巨大。因此,研究者们针对强化学习中的迁移学习展开了研究,希望能够将知识从源任务迁移到目标任务以改善性能。


上文中提到的样本数量、学习结果针对不同任务失效等这些在一般强化学习中存在的问题在机器人强化学习中尤其突出。现有的机器人强化学习方法大多只能完成单个任务,而无法在不同的任务之间推广,或者仅通过收集很少数量的现实机器人经验来概括一些任务策略,其性能无法满足实战的要求。将迁移学习引入机器人强化学习,目的是利用模拟环境中的数据辅助现实机器人学习。机器人强化学习中的迁移学习称为「模拟到现实(Sim-to-real)方法」,具体是指首先在模拟环境中收集数据并训练机器人控制策略,然后进行迁移学习,将训练获得的控制策略(新技能)应用于物理现实中的机器人。

然而,机器人的强化迁移学习也并不容易,因为并不存在能够完美捕捉现实的模拟器(环境),模拟与现实之间存在「现实差距」(Reality Gap),模型的输入分布在策略训练(模拟)和策略执行(现实)之间存在动态变化和差异性。如果继续在这种有缺陷的模拟环境中训练策略产生控制行为,这种行为无法应对现实环境中的任何微小变化。此外,对于一些机器人动作模拟问题(如滑动摩擦力和接触力),其背后的物理现象仍然没有在模拟器上百分百模拟,这就意味着根本不可能在模拟环境中对一些现实中的机器人动作进行完全精确的模拟。

目前,改进机器人的强化迁移学习主要有几类方法:

1、试图在模拟和现实之间建立明确的一致性,缩小模拟和现实的差距;

2、对模拟阶段的策略训练进行随机化处理,使其能够推广到相关的动力学现实策略中;

3、在模拟阶段得到一个足够好的策略,能够在现实的机器人策略执行过程中快速适应现实世界;

4、提高对机器人动作物理现象本身的模拟水平;

5、可以通过引入其他学习手段提升机器人强化迁移学习的效果。

本文对机器人强化迁移学习的最新进展进行了梳理,对不同的方法进行了简要分析。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
入门机器人迁移学习强化学习
2
相关数据
条件熵技术

在信息论中,条件熵描述了在已知第二个随机变量 {\displaystyle X} X 的值的前提下,随机变量 {\displaystyle Y} Y 的信息熵还有多少。同其它的信息熵一样,条件熵也用Sh、nat、Hart等信息单位表示。基于 {\displaystyle X} X 条件的 {\displaystyle Y} Y 的信息熵,用 {\displaystyle \mathrm {H} (Y|X)} \mathrm{H} (Y|X) 表示。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

Julia技术

Julia 是MIT设计的一个面向科学计算的高性能动态高级程序设计语言,项目大约于2009年中开始,2018年8月JuliaCon2018 发布会上发布Julia 1.0。据介绍,Julia 目前下载量已经达到了 200 万次,且 Julia 社区开发了超过 1900 多个扩展包。这些扩展包包含各种各样的数学库、数学运算工具和用于通用计算的库。除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ 和 Java 中的库,这极大地扩展了 Julia 语言的使用范围。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

度量学习技术

即学习一个度量空间,在该空间中的学习异常高效,这种方法多用于小样本分类。直观来看,如果我们的目标是从少量样本图像中学习,那么一个简单的方法就是对比你想进行分类的图像和已有的样本图像。但是,正如你可能想到的那样,在像素空间里进行图像对比的效果并不好。不过,你可以训练一个 Siamese 网络或在学习的度量空间里进行图像对比。与前一个方法类似,元学习通过梯度下降(或者其他神经网络优化器)来进行,而学习者对应对比机制,即在元学习度量空间里对比最近邻。这些方法用于小样本分类时效果很好,不过度量学习方法的效果尚未在回归或强化学习等其他元学习领域中验证。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

动力系统技术

动态系统(dynamical system)是数学上的一个概念。动态系统是一种固定的规则,它描述一个给定空间(如某个物理系统的状态空间)中所有点随时间的变化情况。例如描述钟摆晃动、管道中水的流动,或者湖中每年春季鱼类的数量,凡此等等的数学模型都是动态系统。 在动态系统中有所谓状态的概念,状态是一组可以被确定下来的实数。状态的微小变动对应这组实数的微小变动。这组实数也是一种流形的几何空间坐标。动态系统的演化规则是一组函数的固定规则,它描述未来状态如何依赖于当前状态的。这种规则是确定性的,即对于给定的时间间隔内,从现在的状态只能演化出一个未来的状态。 若只是在一系列不连续的时间点考察系统的状态,则这个动态系统为离散动态系统;若时间连续,就得到一个连续动态系统。如果系统以一种连续可微的方式依赖于时间,我们就称它为一个光滑动态系统。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

信息论技术

信息论是在信息可以量度的基础上,研究有效地和可靠地传递信息的科学,它涉及信息量度、信息特性、信息传输速率、信道容量、干扰对信息传输的影响等方面的知识。通常把上述范围的信息论称为狭义的信息论,又因为它的创始人是香农,故又称为香农信息论。

围棋技术

围棋是一种策略性棋类,使用格状棋盘及黑白二色棋子进行对弈。起源于中国,中国古时有“弈”、“碁”、“手谈”等多种称谓,属琴棋书画四艺之一。西方称之为“Go”,是源自日语“碁”的发音。

连续控制技术

连续控制代指需要进行连续控制的任务,经典例子包括推杆摆动,3D人形运动等等。

迁移学习技术

迁移学习 是属于机器学习的一种研究领域。它专注于存储已有问题的解决模型,并将其利用在其他不同但相关问题上。比如说,用来辨识汽车的知识(或者是模型)也可以被用来提升识别卡车的能力。计算机领域的迁移学习和心理学常常提到的学习迁移在概念上有一定关系,但是两个领域在学术上的关系非常有限。

强化迁移学习技术

强化迁移学习是指的是,强化学习中的概括性不仅应存在任务内,还应在不同任务间。我们对特定情境提出一个转移框架,奖励函数在不同任务间可以发生改变,但是环境动态是不变的,可以迁移的。

暂无评论
暂无评论~