APP下载

基于场景图知识融入与元学习的视觉语言导航

2021-08-31胡成纬江爱文王明文

山西大学学报(自然科学版) 2021年3期
关键词:先验对象机器人

胡成纬,江爱文,王明文

(江西师范大学 计算机信息工程学院,江西 南昌 330027)

0 引言

视觉语言导航是近年来人工智能领域比较热门的研究课题。其主要任务是随机定义导航机器人所处位置,然后机器人根据用户指令,根据对所处环境的分析,自主寻找路径并完成目标搜索。例如,考虑室内场景(如厨房、客厅等)S={S1,S2,…,Sn}和 目 标 对 象 类O={o1,o2,…,ok}。目标类以简单语言的形式(如“肥皂”“电视”等)表示。在每一次探索任务中,为导航机器人在场景中随机生成某一起始位置p,同时将场景中随机采样得到的目标对象呈现给机器人。在探索过程中的每个时间点t,机器人都会获得当前状态,即机器人的第一视角RGB 图像xt,并且要从动作集A中根据策略π采样一个动作at,直到一次探索过程结束。由于任务涉及对视觉图像和自然语言的综合理解,并进行路径优化,因此,任务对算法的智能要求比较高,挑战性非常大,受到计算机视觉和自然语言处理领域的研究者的广泛关注。

目前主流使用监督学习或强化学习(RL)的方式来解决大多数的视觉导航问题。在探索环境时,以机器人第一视角观察到的信息作为输入,得到一系列的动作输出。然而,强化学习模型需要经历多次试错才能收敛。这使得在真实世界很难满足实验条件。AI2-THOR[1]框架提供了较为逼真的仿真环境。当机器人在此环境中执行导航任务时,每一步都可以观察到行动后所导致的变化,为智能机器人提供了与真实世界高度仿真的试验条件。在模拟场景中预训练得到的模型,只需经过少量微调,便可具备泛化到机器人真实活动场景的潜力。AI2-THOR 与“演员-评论家”强化学习模型相结合,已成为当前视觉语言导航任务最先进也是最成功的模型之一。

视觉语言导航本质上是一个目标搜索定位的问题。例如,假设初次去朋友家,想在新环境中找个牙刷,一般除了依靠人眼观察,还可以依靠在自己或在其他人家中所积累的先验知识。常识会指引人们应该要去卫生间找牙刷,推断出牙刷应该在洗漱台附近。如果能够找到其中任何一个相关事物,都很有可能会帮助更有效率地寻找到目标。因此,有理由相信,在视觉导航任务中,如果将环境搜索所需要的先验知识融入导航机器人的学习过程,将有利于提高机器人的探寻效率。

视觉导航需要什么样的知识信息?需要多大复杂程度的信息?类似于每个职业、每个专业的人,他们所学得的知识都是不同的。医生在医院里工作时,寻找各种各样的医疗工具,需要认识各种不同的手术钳和药品,以及了解它们之间的关联。对于在工厂工作的工人们来说,需要知道的是车间中各种工具的相关信息,而不是医疗知识。因此,视觉导航所需的知识同样应该是基于特定的探索环境,而不需要加入所有的信息。因此,受到场景图生成[2]的启发,本文通过场景图生成的方式,自动获取目标环境相应的知识信息,构建对应的知识图谱,最终获得了特定场景下的导航相关知识。

本文模型基于“演员-评论家”(Actor-Critic)算法的变体,即“异步优势演员-评论家”算法(A3C,Asynchronous Advantage Actor-Critic)[3]来 实 现。为了解决知识融入的问题,一些工作[4-6]使用图神经网络来表示先验知识,在预训练的知识图上对“对象-对象”间的关系进行编码,取得良好的效果。图卷积网络可以有效地对任意结构化的图进行编码,同时还能够根据机器人在当前特定环境下观察到的情况,利用历史步骤积累的知识进行模型更新。因此,本文选择使用图卷积网络(GCN,Graph Con⁃volutional Networks)[7]作为信息处理载体,将先验知识加入深度强化学习框架中,在图模型中对知识信息进行编码。

为了提高模型在测试阶段时,能适应强化学习中的策略和先验知识,本文选择使用模型无关的元学习(MAML,Model Agnostic Meta-Learning)[8]算法构建元学习器来调节模型参数,通过交互(inter⁃action)损失函数来补偿测试期间的域转移(domain shift)。最后,本文基于AI2-THOR[1]框架,使用成功率(SR,Success Rate)和SPL(Success weighted by Path Length)作为评价指标来评估我们的算法性能。其中,成功率定义为成功导航到目标的任务次数占总任务次数的比率。SPL 同时考虑了成功率和从起点位置到目标位置的路径长度。实验结果表明,加入适应场景的知识信息可以有效提高基线强化学习的性能;同时,通过加入MAML 得到的自监督损失,我们的模型要优于当前主流先进的视觉导航工作[6]所加入人工构建知识信息后的效果。

本文的贡献可以总结为:(1)采用场景图生成的方式自动构建适应于目标环境的先验知识,且加入后效果优于基线强化学习。(2)通过加入模型无关的元学习过程,本文模型能够更快地适应任务,导航性能也有了进一步提高。(3)本文模型具有较好的泛化推广可能性,在非AI2-THOR 的环境(即室内家庭场景)中,仍然可以方便地自动构建先验知识图谱,进行有效导航。

1 相关工作

1.1 视觉导航

传统基于规划的机器人导航方法,通常是在给定的环境中,执行一系列的规划,或者是在探索的过程中构建地图[9-10]。近年来,随着深度学习和强化学习的不断发展,基于学习的导航方法开始流行[11-13]。

基于学习的视觉导航,以端到端的方式执行目标定位、探索和语义识别。其主要方法分为有监督学习(模仿学习)[14]和无监督学习(强化学习)[12]两大类。所给出的导航目标任务形式也不尽相同。有些任务的导航目标以图像的方式给出[11,13],而更多则是以语言表述的形式给出[14-16]。以图像的方式给出目标,该任务难度相对要简单一些,因为观察的对象与目标间存在相似的度量指标。而以自然语言指令方式给出目标任务的多模态视觉语言导航,则更加挑战性。因为需要综合理解自然语言所表述的目标以及视觉环境,任务的难度被大大地增加了。

随着视觉导航任务的提出,用于各种各样视觉导航任务的模拟器也陆续发布[1,14,17]。本文主要侧重在AI2-THOR 所定义的环境框架下进行研究。本文所使用的AI2-THOR 环境框架,拥有非常高质量的逼真设计以及连续的状态空间。与另一个工作[14]中的实验任务相比,AI2-THOR 环境中,导航机器人不要求遍历环境中的图节点,而是被随机放置在一个近乎真实环境的任何位置。在这种情况下,导航机器人很可能会站在有障碍物阻拦的路径前面,并持续地执行了失败的动作,直到设置的最大步长数消耗完。任务模式更贴着真实情况。

1.2 场景图生成

场景图(Scene Graph)[18]是一种图像内容的结构化表示,能够对场景图像中的各对象进行语义和空间信息编码,同时还能够表示对象之间的关系。近年来,这种对图像内容进行刻画推理的任务,越来越多地受到关注[19-20],同时也促进了从基础的图像识别与检测向更高阶的图像理解任务发展[21]。

目前在场景图生成任务中,受现实关系分布不均匀的影响,在训练过程中容易产生长尾效应。Chen 等人[2]利用数据集Visual Genome[22]获得对象间的关系信息,并通过加入对象间关系的统计知识信息,较好地解决了长尾效应问题。

在本文的AI2-THOR 实验框架中,物体与物体间大都是常见关系(如:附近、在上面、在后面等)。因此,我们选择使用场景图生成的方式,扫描目标环境并获得相应物体间关系的知识,用来作为导航过程中的先验信息。

1.3 知识图谱

知识图现在已经被广泛地运用在各种监督或半监督学习任务中,其中大部分情况是用来完成对结构化数据进行分类[5],但是也有被用于知识的结构化表示及推理问题[23-24]。例如,在场景图生成任务中[2],作者加入统计得到的对象关系知识,实现更有效的目标间关系识别。

本文提出在强化学习的框架中加入知识图谱来进行交互式的视觉导航任务。需要指出的是,虽然文献[25]与本文任务形式比较类似,学习边缘特征并编码成one-hot 向量,在导航中将此先验知识加入强化学习中,然而与本文工作不同的是,文献[25]将它们的任务应用在2D 完全可观察的探索环境中,而本文是在逼真的3D 环境下。因此,本文任务更有挑战性。与本文工作最相关的是文献[6],作者根据探索场景中可能出现的所有目标对象,使用从Visual Genome[22]数据集中统计得到的先验信息,手动地构建相应的知识图谱。与文献[6]不同的是,本文实现了根据目标环境自动获取相应的先验信息,尤其当环境改变时,依旧可以通过这种方式去获得先验知识,适应性更强,可以广泛地适用于各类场景。

1.4 元学习

元学习(meta-learning)或者说“学习如何去学习”,一直是机器学习研究中被持续关注的话题。近年来,元学习技术在很多跨领域的工作中取得了比较成功的进展[8,26-27]。元学习目前已经在不同的场景中应用于强化学习[26,28]。

Chelsea Finn 等人[7]提出一种模型无关的元学习(MAML,Model Agnostic Meta-Learning),能匹配任何使用梯度下降算法训练的模型,适用于各种不 同 的 学 习 问 题。近 期,Wortsman 等 人[16]利 用MAML 设计了可训练的自监督交互损失,取得良好的实验结果。

2 基于场景图知识融入的视觉导航方法

在本小节中,为了描述清晰,首先定义本文所要完成的视觉导航任务。接下来,详细地介绍本文方法以及相关的基线模型。

2.1 任务定义

考虑一系列场景(如厨房、客厅等)S={S1,S2,…,Sn}和目标对象类O= {o1,o2,…,ok}。目标类以简单语言的形式(如“肥皂”“电视”等)表示。在每一次探索任务中,随机为导航机器人在场景中的随机生成某一起始位置p,同时将场景中随机采样的目标对象呈现给机器人。在一次探索过程的每个时间点t,机器人都会获得当前的状态,即机器人的第一视角RGB 图像xt,并且要从动作集A中根据策略π采样一个动作at,直到一次探索过程结束。动作集A中包括6 个动作:{“前进”“左转”“右 转”“向 上 看”“向 下 看”“完 成”},其 中“向 上 看”与“向下看”将调整镜头30°。在每一步中,机器人唯一可使用的是观察到的第一视角RGB 图像。机器人需要在每一步根据所观察到的图像,从策略(poli⁃cy)中采样下一步的操作,以此一步步找到目标。当机器人在目标对象一定范围内(例如1 m 内)且视角中有目标物时执行“完成”动作,我们视为一次成功的探索;若超出最大步长数或是在其他情况下执行“完成”动作,都认为这次过程结束且失败。

我们使用成功率(SR,Success Rate)和SPL(Success weighted by Path Length)[15]作为评价指标来评估算法性能。其中,成功率定义为成功导航到目标的任务次数占总任务次数的比率。SPL 同时考虑了成功率和从起点位置到目标位置的路径长度,定义为

其中N是总任务次数,Si是第i探索过程是否成功的{0,1}标记,Pi代表第i探索过程产生的路径长度,Li是第i探索过程所需要的最短长度(由环境提供)。

我们同时还对最短路径长度不小于5 的情况做了评估,在实验部分我们标记为L≥5。

2.2 基线模型

本文直接采用深度强化学习框架作为论文的基线模型。在给定语义任务目标o和场景S,在每一步长中,根据当前状态xt,机器人从动作集A中采样动作at。由于目标对象描述和当前的状态包含不同模态信息,我们设计了两个分支的子网络σ(.;m)和δ(.;n),将两个输入分别进行特征嵌入(embed⁃ding)。σ(.;m) 表 示 视 觉 特 征 抽 取 网 络 如ResNet50,δ(.;n)表示词潜入网络,如Glove 网络,m和n分别表示两个网络的参数。将两部分特征进行串联作为强化学习A3C 网络的输入,网络(通过θ参数化)会返回可选动作的分布策略πθ(xt)和当前状态的价值函数vθ(xt)。按照公式(2)从策略网络πθ(.;θ)中采样动作:

在本基线模型中,与[11⁃12]类似,本文使用传统的“演员⁃评论家”模型的导航损失函数,标记为LA3c,通过最小化损失函数可以最大化奖励函数(re⁃ward function)。当探索成功时,即当机器人在目标对象一定范围内(1 m 内)且视角中有目标物时,执行“完成”动作,奖励值设置为5;对于探索过程中的每一步,设置较小的惩罚,如-0.01。最后,每个过程中最大步长设置为50。

2.3 自适应场景知识图谱生成

文献[6]首次提出将知识信息融入导航过程。作者将知识图谱的节点数目设置为探索环境所提供的目标对象个数。节点之间的关系从Visual Ge⁃nome[22]数据集中获取。Visual Genome 是一个拥有超过100 kb 自然图像的数据集,其中每张图像的物体及其属性、物体间关系都被标注出来。文献[6]根据两个物体之间的关系次数在Visual Genome 中是否达到一定阈值(如3 次),确定节点之间边的关系。

该方法尽管取得了良好的实验结果,但是仍然存在一些问题。首先,它需要人工收集先验的关系知识,而探索环境中存在的潜在关系可能不能被获取。其次,根据不同的任务场景,目标之间的关系可能会发生相应的变化,仅从外部获取的知识可能不适用于我们的环境。

场景图生成和适应。 为了解决上述问题,本文采用对目标环境进行场景图生成的方式,获取先验知识。本文直接使用了文献[2]的方法,通过对每个目标环境进行场景图生成,最终获得相应物体间的关系。利用这种方式所获得的先验知识,能够较好地适应探索环境,尤其当物体间的位置关系在日常生活中很难获取时,使用场景图生成先验知识的方式可以很好地提取到相关信息来适应新场景,例如医院、仓库等。

图1 主要展示了本文模型是如何通过场景图生成来获得具体环境场景中的相关知识信息,并由这些信息创建知识图谱的过程。首先,利用生成的场景图学习具体场景环境中的相关知识信息,如实体间的依赖关系。然后,针对数据集中所有的场景环境,抽取对应的实体名和关系,将关系中两对象间出现次数最多的关系确定为三元组中的关系,最终建立面向训练数据集知识图谱。

图1 场景图生成与知识图谱创建过程Fig. 1 Process of scene graph generation and knowledge graph construction

知识图谱的创建。 从生成的场景图中定义知识图谱为G= (V,E),其中V代表结点集,E代表结点间的边集。其中,每个结点vi∈V都是包含目标环境中的一个对象,但是不仅仅局限于目标环境提供的导航对象。每条边eij∈E代表对象i和对象j之间的关系。每个节点初始化时,由联合特征进行表示。该联合特征包括目标对象描述的语义嵌入向量(word embedding)和对应图像特征向量xt。具体地,本文采用ResNet50 提取图像的全局特征,采用Glove Embedding 提取目标对象实体名的词表示。

最终,通过图卷积网络将自适应生成的场景图知识映射成一个512 维的特征向量。该特征与基线模型的联合特征进行拼接,输入A3C 强化学习框架,进行导航过程的学习。

2.4 元学习

为了导航模型在测试阶段能够更好地适应所学的知识,本文借鉴模型无关的元学习策略(MAML,Model Agnostic Meta-Learning)[8]。在训练过程中,将训练集划分为元训练(meta-training)域D和元验证(meta-validation)域D′,然后学习参数为φ的交互损失函数,补偿测试期间的域转移(domain shift)。在每次训练过程中,总的优化目标表示为如公式(4)所示。

其中,θ是强化学习网络的参数,αmeta是对参数进行自适应的学习率超参数,La3c是传统A3C 强化学习算法损失,LDφ是参数为φ的交互损失函数。

综合所述,本文在基线模型的基础上,融入了场景图知识生成和元学习策略,得到的最终模型框架如图2 所示。

图2 模型的总体框架图Fig. 2 Overall framework of the proposed method

3 实验

3.1 实验设置

本文在AI2-THOR 仿真环境下进行了实验,验证模型的有效性。AI2-THOR 环境模拟器由逼真的室内环境组成,分为四种不同的房间类型:厨房、卧室、浴室、客厅,共有120 个场景,每个类型30 个,分别都有不同的外观和配置。

实验将每个类别的房间场景随机分为三个部分,即20 个用来训练,5 个用来验证,5 个用来测试。即共计80 个训练场景,20 个验证场景,20 个测试场景。数据集中所有可用对象共有87 个。所有对象在训练集,验证集和测试集中均共享。本文采用PyTorch 框架进行模型训练,使用随机梯度下降法(SGD)进行交互损失的梯度更新,采用Adam 法更新导航损失的梯度。“异步优势演员-评论家”算法,即A3C(Asynchronous Advantage Actor-Critic)被用来对每个时间步长的动作进行预测采样。

3.2 实验细节

对比的基线模型输入是一个1 024 维的联合特征,分别来自观察到的图像部分xt和给定的语义任务目标o。具体来说,(1)在视觉特征抽取网络部分xt,将224×224 的RGB 图像作为输入,通过预训练的ResNet-50 提取到2 048 维特征。但是考虑到历史时刻的动作的影响,在实验过程中,本文将当前时刻图像特征与前序时刻的三个观察结果进行串联,从而得到了一个8 192 维的特征向量。然后,使用一个全联接层和激活函数ReLu 将所串联得到的图像特征映射成512 维的低维特征向量。(2)在语义对象o部分,使用Glove Embedding 方法提取目标对象描述的词嵌入特征,特征维度为300 维。然后,使用一个全联接层和激活函数ReLu 层将其映射成512 维的特征向量。将以上两部分的网络输出拼接起来得到的联合特征输入强化学习网络,模型会产生两个输出:策略(policy)和价值(value)。其中,策略π(at|xt)是采样动作分布,维度为6 维。价值函数帮助强化学习内部更新。

进一步地,本文通过场景图生成的方法进行知识图谱的构建。具体来说,使用文献[2]中基于Vi⁃sual Genome 训练好的模型。在总的120 个场景中,选择用于训练的80 个场景来提供信息,其中每个场景4 张图像。建立的图共有87 个对象节点,包含环境中所有可用对象,关系由出现次数最多的决定,若仅出现一次也保存使用。

在图卷积网络中,每个节点的初始化输入是一个1 024 维的联合特征,由Glove 生成的512 维词嵌入对象描述特征和当前观察图像512 维视觉特征串联得到。不同的节点词嵌入特征是不同的。我们使用3 层图卷积网络,前两层输出1 024 维的潜在特征,最后一层每个节点输出一个单一的值构成了87维的特征向量。最后,通过全连接层将其映射成512 维,并将与从视觉和语义部分得到的1 024 维特征联接,得到1 536 维的联合特征向量,送入强化学习网络来进行动作预测。

3.3 基线对比方法

为了验证模型各部分的有效性,本文与最相关的几种模型进行了对比:(1)随机导航。在探索过程中,机器人在每个时间点上,随机均匀分布地从动作集中进行动作采样。(2)基线模型,未使用知识场景图和元学习的自监督交互损失函数的基础型“异步优势演员-评论家”(A3C)强化学习算法。(3)与本文最为类似的工作[6],作者使用了手动定义的知识图谱,且知识信息从外部获取,没有考虑到具体的探索环境。

3.4 实验结果

整体实验结果数据如表1 所示。从表中数据可以看出,如果与目标距离很近的话,即使是随机导航,也能够有一定的概率找到目标。在更加真实的导航过程中,即最短路径长度大于5 时的情况,随机导航方式的成功率和SPL 都下降明显。文献[6]中的方法加入了知识信息的方法,相比基线模型A3C,的确可以提高导航效率。本文模型的结果在文献[6]模型的基础上,使用了元学习的方式,使得在测试阶段更好适应所学到的知识,所有的指标均优于文献方法。尤其是,当目标对象距离较远(L≥5)时,导航性能提高更为显著,在成功率上提高近5 个百分点,SPL 也提高了近2 个百分点。

表1 AI2-THOR 仿真环境下视觉导航的实验结果表Table 1 Experimental results of visual navigation under AI2-THOR simulation environment

消融实验。 为了进一步分析场景图知识的作用,本文通过将公式(4)中αmeta设置为0,即消除元学习器的作用,以此得到仅加入从场景图中获取知识的实验结果。本文的最终模型框架退化成了与文献[6]所提模型相同的设置。相应的实验结果如表2 所示。

表2 仅使用知识信息的视觉导航实验结果表Table 2 Experimental results of models using only knowledge information

对比文献[6]中的模型,虽然本文的退化模型在最后的实验结果上与其并没有显著区别。但是前者采用从外部数据集中获得的物体间关系知识的方法,而本文退化模型的知识融入方式采用的是场景图生成的自适应知识抽取方式。本文的模型策略实现了知识的自动化抽取与构建。

消融实验中的性能区别不大的原因,可能是本文实验的导航任务环境是相对比较普通的日常环境(家庭)。其中,物体目标以及物体间的关系属于常识性的关系,在其他外部数据集上也能同样获取。但是如果是在更加特殊的导航场景中,特定环境内部设置的物体关系与日常认知有所不同,那么文献[6]加入的外部知识,信息可能会缺失甚至错误,便有可能导致负面的效果。虽然目前视觉导航还没有发布此种特殊情况的数据集和仿真环境,但是这是一个值得继续探讨的研究问题。

4 结论

本文提出了一种基于场景图知识融入与元学习的视觉语言导航方法。该方法对目标环境通过场景图生成的方式,自动获取相应的知识信息用以构建对应的知识图谱,获得特定场景下的导航相关知识。本文基于“异步优势演员⁃评论家”算法,结合元学习策略的自监督交互损失函数,实现了交互式的视觉导航任务。本文方法在主流AI2⁃THOR 仿真环境中与模型最为相关的算法进行了实验对比。实验结果显示,本文的模型在成功率和SPL 等性能指标上较对比基线方法有较大的提升,显示了本文模型的良好有效性。

猜你喜欢

先验对象机器人
神秘来电
基于无噪图像块先验的MRI低秩分解去噪算法研究
攻略对象的心思好难猜
基于自适应块组割先验的噪声图像超分辨率重建
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
基于平滑先验法的被动声信号趋势项消除
机器人来帮你
认识机器人
机器人来啦