Deep TAMER: Interactive Agent Shaping in High-Dimensional State Spaces

Deep TAMER:高维状态空间下的交互式代理塑造(shaping)

Garrett Warnell 1 , Nicholas Waytowich 1,2 , Vernon Lawhern 1 , Peter Stone 3

Abstract

        虽然最近在强化学习领域取得的进展允许agent能够在一系列复杂的任务中成功进行自主学习,但是现有的算法一般要求大量的训练数据。一个提高agent训练速度的方法是添加人类教练(human trainers)的输入。这样的输入可以有很多形式,但实时性,标量性的反馈输入在人类难以或无法提供专业示范的情况下是非常有效的。先前的方法已经显示出以这种方式提供的人类输入的有用性,例如 TAMER 框架。但是目前为止还没有考虑过高维状态空间的情况,也没有使用过深度学习。而在本篇论文中,我们把这两者结合起来了:我们提出了Deep TAMER,它在 TAMER框架 的基础上添加了具有表征能力的深度神经网络,这使得agent能够在人类教练的帮助下在很段的时间内学会完成很复杂的任务。我们通过以下的实验演示了Deep TAMER 的成功:只使用了15分钟的人类反馈就能训练出在Atari游戏之一——BOWLING中比人类表现的好的agent,而对于BOWLING游戏,即使是对于最先花则进的强化学习来说都是难度非常大的任务。

任务:了解TAMER
疑问1:本文是将TAMER与DQN结合,而不是运用RL方法咯?
疑问2:论文的核心思路是(we do both):consider high-dimensional state spaces and employed the use of
deep learning。找找论文是在哪里体现的?

Introduction

        我们交给自主agent完成的多数任务都可以看成是agent在各个时刻做决定。例如,我们让一个机器人自主导航到达某物理空间的目标位置,那么它会通过实时决策采取特定的动作来完成目标。可以通过指定policy来解决这类序列决策问题,即选择与agent的state(e.g.在环境的物理位置)相匹配的action(e.g.向某个特定的方向移动),在特定的政策下,一个agent采用先估计目前的状态,再根据政策的输出选择动作。

        在一些非常简单的情况下,人类专家可以通过完全事先指定好政策(即:手工代码)使agent完成特定的任务。在很多复杂的任务中,以提前指定政策的方式完成任务却比登天还难。然而,一些好的政策可以通过机器学习算法自动开发出来,例如增强学习(Sutton and Barto 1998)。这些算法可以计算出最优策略,而不需要人类明确的指导,只需要agent与环境交互时用到的数据。

        尽管大多数先进强化方法能够成功的找到最优决策方法,但是他们要求大量的训练时间和/或大量的数据输入。这主要是因为有趣的任务往往表现出高维状态空间,例如当agent的状态信息包含原始图像数据的时候。再没有任何先验知识的情况下,在这些状态空间上使用强化学习需要从头开始估计大量参数,因此,即使是最先进的技术都要求非常多的训练数据,直接导致了agent在学会好的政策之前需要花费大量的时间。例如,在深度强化学习领域最新的技术要求先从仿真器里生成数千万个含有经验的视频帧,之后agent才能学到好的策略去学习Atari游戏。(e.g.(Mnih et al. 2015))。

        本文我们着重考虑这样一种情况:快速、短时的训练是至关重要的。如之前的研究者一样,我们意图通过在典型的强化学习算法中加入人类教练的可用性来实现agent的快速学习,并且我们按照这个思路创造了一个新颖的算法。人类教练很有用,因为他们通常对希望agent完成的任务有很好的理解,并且这个理解就像先验知识一样重要,可以大幅减少agent的训练时间。最近有一系列概述TAMER框架的论文中提出并利用了这一观察结果(Knox and Stone 2009; 2012;Knox, Stone, and Breazeal 2013; Knox and Stone 2015)(see Figure 1),这些论文表明直接从非专业教练处学习的agent与独立学习的agent相比在采样复杂度整体表现方面有很大的性能提升。 尽管有一些后续的研究将人类反馈的质量看作人类参与度的函数(Li et al. 2013;Li, Hung, and Whiteson 2015; Li et al. 2017),至今为止,TAMER框架都只适用于低维度状态空间。
图1.                                                                                图1.本文提出的Deep TAMER框架
人类教练观测一个尝试在高维状态空间中完成任务的agent并且提供标量反馈来塑造(shaping)agent的行为。通过与人类教练的交互,agent学会了深度神经网络的参数:Ĥ,它被用来预测人类教练的反馈,接着这个预测驱动agent的行为策略。在本文中,我们着重考虑了使用像素级状态空间的Atari游戏——BOWLING。

        在本篇论文中,我们旨在增强TAMER框架,使其能够应用于高维状态空间。我们建议结合深度学习中的函数逼近技术来实现这一目标,这个技术已经在高维状态空间下的强化学习领域取得了一些成功。值得注意的是,我们的算法带来了双重贡献:

  1. 我们对TAMER进行了特殊的增强,使其能够成功应用在高维状态空间,我们把这个新框架称作Deep TAMER。
  2. 我们在具有高维状态特征的空间中量化了TAMER和Deep TAMER之间的性能差异。

        为了评估Deep TAMER ,我们重点关注了Atari的BOWLING游戏。在BOWLING游戏中,已经被证明,即使是使用最先进的强化学习算法,成功训练agent也是十分困难的。例如,即使训练的时间以天为单位,近期提出的几个深度强化学习框架训练出的agent在最高分是270分的情况下也只能获得35~70范围内的原始得分。然而,我们将在论文中展示,使用我们的提出的技术,人类教练可以通过交互式训练在几分钟内训练出表现更好的agent。并且,我们会展示在BOWLING游戏中展示,人类教练可以训练出比他们自己玩游戏得分更高的agent。

Related Work

        尽管已有大量的技术文献可以训练出通过与人类教练的互动来进行学习的自主agent,但没有一个解决了我们提出的问题或一个使用过我们在本文中提出的方法。

        一个已经引起广泛关注的研究领域:人机交互学习,将重点放在了特殊的问题:范例学习(Schaal 1997; Argall et al. 2009; Hussein et al. 2017)。为解决这个问题而开发的技术往往将人类操作任务时的表现作为输入,并且旨在使用这些范例来计算出使得自主agent能够完成所演示任务的策略。虽然从示范技术中学习通常在训练时间方面具有令人印象深刻的表现,但演示数据有时是不可得的:人类演示专家并不总是可用,或者,对于困难的任务,甚至可能都不存在这样的专家。这个问题同样在困扰着另一个相关领域:逆向强化学习(Ng and Russell 2000; Abbeel and Ng 2004)。在逆向强化学习中,自主代理人试图通过明确的任务演示来学习回报函数(reward function) - 并通过这种方式学习有用的政策。此外,由于此设置中的目标通常是模仿人类,因此基础任务的表现通常会受到演示者所展示的内容的限制,这使得培养能够超人类表现的自主代理人的任务变得困难。另一个旨在通过明确的人机交互来提高agent学习速率的研究领域是:奖励塑形(Skinner 1938; Randløv and Alstrøm 1998; Ng, Harada, and Russell 1999; Devlin and Kudenko 2012)。奖励塑性技术不需要范例,而是人类直接修改用于指定任务的低级奖励函数。假设人类对任务本身以及如何适当修改基础奖励函数的复杂性有良好的理解,这些方法也可以非常有效。然而,就像示例学习一样,人们对机器学习的理解水平或熟练程度都不足以以这种方式与agent进行交互。

        与本文介绍的工作相关性更的研究是,最近提出的几种算法使得agent能够在与非专业教练的交互中进行学习。(Thomaz and Breazeal 2006; MacGlashan et al. 2014; Loftin et al. 2014; 2016; Peng et al. 2016)。在这些研究中,我们着重考虑TAMER (通过评估强化手动训练agent) 技术(Knox and Stone 2009; 2012; Knox, Stone, and Breazeal 2013; Knox and Stone 2015) ,特别是训练自主agent。TAMER允许自主agent通过一系列非专家教练的实时反馈进行学习:人类教练观测agent的行为并提供反馈来指出他们认为现在agent的行为有多好或有多坏。作为响应,agent尝试去评估一个隐藏函数,该函数逼近人的反馈,并调整自己的行为以与该估计保持一致。尽管TAMER框架已经在几项有限的任务中成功运作,但现有的工作还没有考虑到在许多更复杂有趣的任务中经常遇到的高维维度状态空间。

        此外,强化学习领域最近通过深度学习中的新函数逼近技术取得了重大突破(Krizhevsky, Sutskever, and Hinton 2012; LeCun, Bengio, and Hinton 2015)。这一进步推动了强化学习技术在高维状态空间学习能力的巨大飞跃,例如简单的Atari游戏(Mnih et al. 2015; 2016)。深度学习同样被运用到了上面陈述的几个领域:包括范例学习(Hester et al. 2017) 和逆向强化学习(Wulfmeier, Ondruska, and Posner 2016)。将深度学习应用于人机交互的技术可以在很多有趣的任务中促成高效的human-agent学习,然而它还未得到充分研究。**值得注意的是, (Christiano等人在2017年)对深度学习和人机交互进行了研究。**在他们的研究工作中,深度学习被应用于一种范例,在该范例中,agent积极询问人类从而比较学习过程中的行为示例虽然这项工作确实与我们的相似,但是我们可以明确指出两个关键差异。第一,首先,(Christiano等人2017年)讨论的方法要求学习者在人机交互的过程中访问并在后台使用模拟器,这在现实世界的情况下并不总是可能的,例如在机器人技术中可能出现的情况。而我们在本文中提出的方法在人机交互的过程中就不需要访问模拟器。第二,(Christiano等人2017)提出的技术要求在与人机交互期间在模拟器中执行1000万个时间步,这需要极其强大的硬件资源。我们在本文中提出的算法是通过与人类实时交互来实现,并不需要模拟器,而且在BOWLING游戏中只需要花费几千个时间步就能从环境中学习到一个好的政策。这使得我们的算法能在标准硬件资源上执行(例如笔记本电脑)。

Problem Formulation(问题陈述)

        在本文中,我们主要回答下列问题:使用深度神经网络会对高维状态空间下的实时、标量性的人机交互学习带来什么影响?本节我们将更准确的阐述这个问题。尽管我们将采用与(Knox and Stone 2009)类似的阐述,仍会存在两处主要的不同:

  1. agent选取的用来表示来自人类的反馈的函数不同
  2. 用来训练agent的最优化方法不同

         我们将在经典序列决策的背景下考虑agent的学习问题(Bellman 1957)。特别的,令 S S 表示自主agent能到达的状态的集合,令 A A 表示agent可以执行的动作的集合。当agent选择并执行动作的时候( a 1 , a 2 , . . . a_1,a_2,... ),产生了一条状态轨迹( s 0 , s 1 , s 2 , s 3 , . . . s_0,s_1,s_2,s_3,... ),我们假设有一个人类教练在观测这条状态轨迹,并且定期提供代表他们对agent行为评价的标量反馈信号,( h 1 , h 2 , . . . h_1,h_2,... )。这里我们假设较大的 h h 对应于来自人类教练的更积极的评估。批判性考虑,我们也假设人类教练是根据一些他们隐式理解的隐藏函数 H ( , ) : S × A R H(·, ·): S × A→ R 来提供的这项反馈。我们这里所考虑的agent学习问题是计算出这个隐藏函数的一个估计,用 H ^ Ĥ 来表示,这样就能很好的匹配 H H ,给定目前的评估 H ^ Ĥ ,假设agent短视,根据一个固定的动作选择策略 π π 来选择下一个动作作为最大化预测的人类反馈的动作,即 π ( s ) = m a x a H ^ ( s , a ) π(s) = max_a Ĥ(s, a)

         给定这个固定的行为政策,上述陈述的问题其实就是有监督的机器学习的一种类型:agent以自己的经验形式作为 H ^ Ĥ 的观测输入 x = ( s , a , t s , t e ) x = (s, a, t^s , t ^e) , 将人类教练的反馈形式作为 y = ( h , t f ) y = (h, t^ f ) 作为 H ^ Ĥ 的观测输出,其中 ( t s , t e ) (t^s,t^e) 是agent在状态s下采取动作 a a 之前的时间间隔, t f t^f 是观测到人类教练反馈值的是时间点。从这些观测中,agent需要计算 H ^ Ĥ ,重要的是,我们并不假设在输入和输出之间存在一对一的匹配关系,也就是说,我们期望每个观测到的 y y 对应着几个最近观测到的 x x ,并且,有些 x x 可能根本没有对应的反馈值。我们通过使用以下损失函数来判断Ĥ的质量,在学习过程中对此假设进行编码:

                                                                  l ( H ^ ; x , y ) = w ( t s , t e , t f ) [ H ^ ( s , a ) h ] 2 l(Ĥ ; x, y) = w(t^s , t^e , t^f ) [ Ĥ(s, a) − h]^2 ,                                                                  (1)

其中 w w 是一个对于 ( x , y ) (x,y) 对来说更大的标量权重函数, h h 是我们假设人类教练将给 ( s , a ) (s,a) 的评估,我们将把 w w h h 结合起来使用。 w w 的具体形式将在下界展开讨论。但是, w w 需要满足这样的特性:当 t f t^f t s t^s 小的时候 w w 的值为0,并且在 t f t^f 远比 t e t^e 大时变得非常小,这些特性分别对应着以下的情况:人类教练的反馈在状态-行为对产生之前给出、或在在状态-行为对产生之后很久才给出。

         使用(1)作为我们的损失函数相当于根据它在我们对人类教练想要进行评估的目标的先验知识来判断 H ^ Ĥ 的质量 ,因此,学习问题就变成了只是简单计算出一个使(1)在一系列可能的观测中最小化的评估。由于我们是希望agent在与人类教练进行交互的过程中进行实时学习而不是在交互完成之后,因此我们把本文研究的问题归类为在线监督学习,我们把观测视为随机变量的实现,并寻求在统计意义上最小化损失 。本文中,我们将通过寻找一个能够最小化期望损失值的 H ^ Ĥ 来完成这个目标。
H ^ = a r g m i n E x , y [ l ( H ^ ; x , y ) ] Ĥ^∗ = arg min E _x,_y [ l( Ĥ ; x, y) ] (2)

猜你喜欢

转载自blog.csdn.net/weixin_41913844/article/details/85207471