Neural Task Graphs: Generalizing to Unseen Tasks from a Single Video Demonstration

本文主要是介绍Neural Task Graphs: Generalizing to Unseen Tasks from a Single Video Demonstration,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

科研相关
  • 读论文目的:
    • 目标: 完成上层任务规划
    • 输入: 总任务
    • 输出: n * (操作 + 参数)
  • 论文题目:Neural Task Graphs: Generalizing to Unseen Tasks from a Single Video Demonstration
  • 论文地址:论文地址
  • 论文视频:视频从 23:56 开始讲这篇论文
  • 会议官网:CVPR 2019
  • 论文目的:在指定的域中,只有一个完成任务的视频演示,我们需要根据这个演示生成一个策略,用来完成一个没有见过的任务

Abstract
  • 作者假定为了能借助单次演示完成复杂的任务,明确地将任务的组合结构合并到模型中是必要的
  • 为此作者提出了 Neural Task Graph (NTG) Networks,用共轭任务图作为中间表示,对视频演示衍生策略进行了模块化
  • 实现的两个例子:
    1. Block Stacking in BulletPhysics
    2. Object Collection in AI2-THOR
  • NTG 通过可视化输入提高了数据效率,同时实现了强大的泛化,而不需要密集的分层监督
  • 当应用到真实世界的数据时,类似的性能仍然存在,作者证明 NTG 能有效地预测 JIGSAWS 手术数据集上的任务结构并推广到看不见的任务

1. Introduction
  • 直接从视频中学习,对将现有的模仿学习方法推广到真实世界场景至关重要,因为在每个视频中注释状态(如物体轨迹)是不可行的
  • 作者关注的是 long-horizon 任务,因为现实世界的任务,如烹饪或组装,本质上是 long-horizon 长期的和 hierarchical 分层的
  • 作者将任务结构策略组合建模,从而将一次性视觉模仿扩展到复杂的任务
  • 在 Visual Question Answering 和 Policy Learning 中,使用组合性建模可以获得更好的泛化效果
    在这里插入图片描述
  • 作者提出了 NTG 网络,这是一种以任务图作为中间表示的新框架,对视化演示衍生策略进行了模块化
  • NTG 由一个 generator 生成器和一个 execution engine 执行引擎组成,其中生成器从任务演示视频中构建一个任务图来捕获任务的结构,而执行引擎与环境交互并执行任务,该任务以推断的任务图为条件
  • 挑战:未见过的演示很容易引出训练过程中从未观察过的状态,举个例子:一个未见过的块堆叠任务的目标状态,是在训练过程中从未出现的
  • 这篇论文的目标是在没有强大监督的情况下从视觉观察中学习,这就放大了这种挑战,这种方法模糊了状态结构,并阻止了直接分解状态空间.
  • 虽然存在无数种可能的 state 状态,但在一个特定的域中,可能的 action 操作的数量是有限的
  • 作者利用 state 状态和 action 动作之间的共轭关系,并提出在 Conjugate Task Graph (CTG) 共轭任务图上学习 NTG,其中节点是动作,边是状态
  • 此外,CTG 的中间表示可以产生 yield alternate action sequences 交替动作序列来完成任务,这一特性对于在随机动力学世界中泛化看不见的场景至关重要
  • 这使得 NTG 与以前的工作不同,以前的工作是在一个演示中直接用 options 或 actions 动作输出策略
  • Block Stacking in BulletPhysics 和 Object Collection in AI2-THOR 这两个任务都涉及到 multi-step planning for interaction 交互的多步骤规划,并且本质上是 compositional 组成的
  • 本研究的主要成果有:
    1. 为 task 任务和 policy representation 策略表现引入组合性,实现 long-horizon 任务的一次性视觉模仿学习;
    2. 提出神经任务图 (NTG) 网络,这是一种利用任务图来捕获任务结构和目标的新框架;
    3. 利用共轭任务图 (CTG) 分解视觉状态

2. Related Work
  • Imitation Learning 模仿学习
    • 传统模仿学习:物理指导或远程操作作为演示
    • 第三人称模仿学习使用来自其他 agent 观察者的数据
    • NTP 和我们的工作很相似,NTP 使用强大的分层框架进行监督学习,在可视化状态时,性能明显下降
    • 我们的方法减少了强监督的需要,在训练过程中只需要演示动作序列,同时提升了 25% 的成功率
  • Task Planning and Representations 任务规划和表现
    • 传统的任务规划侧重于高级计划和低级状态空间
    • 最近的工作通过深度学习整合感知,HTN 将低级子任务组合为高级抽象,以降低规划的复杂性。
    • 与以前的方法不同,我们的任务图表示是 data-driven 数据驱动domain-agnostic 域无关
    • 我们直接从任务演示中生成节点和边
  • Structural Video Understanding 结构上对视频的理解
    • 从演示视频生成任务图,与对视频的理解相关
    • 很难获得视频中的注解,一个解决方案是使用语言作为监督,这包括教学视频,电影脚本和字幕注释
    • 我们关注的是,这种结构对任务学习有什么帮助,并为所看到的任务进行注释
  • Compositional Models in Vision and Robotics 视觉和机器人的组合模型
    • 最近的研究已经利用 compositionality 组合性来改善模型的泛化,包括 visual question answering 视觉问题回答policy learning 策略学习
    • 作者证明了,同样的原理可以显著提高模仿学习的数据效率,使复杂任务的视觉学习成为可能

3. Problem Formulation

在这里插入图片描述

  • 论文的目标是通过一个视频演示来学习执行一个以前看不到的任务
  • 作者将此称为单次视觉模仿,来强调模型直接从视觉输入中学习
  • T: 感兴趣领域中所有任务的集合
  • A: 高层次的动作集合
  • O: 视觉观察的空间
  • d: 视频演示
  • τ: 任务
  • dτ = [o1, ..., oT]: 演示完成任务
  • Tseen: 利用很多的演示和监督进行训练
  • Tunseen: 利用单个演示进行测试
  • φ(·): 由 Tseen 训练得到的模型
  • πd(a|o): 基于视觉观察 o,实例化一个策略 πd(a|o),根据演示 d,完成任务 Tunseen
  • 问题可以描述为:将演示 d 映射到策略 φ(d) = πd(a|o)

4. Neural Task Graph Networks

在这里插入图片描述

  • φ(·) 被分解为 φgen(·)φexe(·)
  • φgen(·): G = φgen(d) 根据演示 d 生成任务图 G
  • φexe(·): 图形执行引擎,πd = φexe(G) 执行任务图 G, 作为策略 πd
4.1. Neural Task Graph Generator
  • 应用了 conjugate task graph 共轭任务图,将 state 状态action 动作关联起来,节点是动作边和当前状态相关
Conjugate Task Graph (CTG)
  • 传统任务图 G' = {V', E'}
    • V': 状态节点
    • E': 节点之间的有向边,表示动作
    • 成功执行任务,等同于按照图中到达目标节点路径执行一遍
    • 但在高纬状态空间中,如何对未见过的任务,生成传统的任务图,是极具挑战的
  • 因此本文提出共轭任务图 G = {V, E}
    • V: 动作
    • E: 状态
    • 这种方法是在对操作的先决条件进行编码
    • 可以绕过显式的状态建模,并仍然能够通过遍历共轭任务图来执行任务
  • 生成节点
    • 假设在训练过程中所有的动作,都是从见过的任务中观察到的,这对于相同域的任务来说是合理的
    • 将观察到的动作,作为所有的节点,目标是推断出正确的边
  • 生成边:分为两步
    1. Demo Interpretation 演示解释:通过观察演示中的动作顺序,获得一个遍历共轭任务图的有效路径
    2. Graph Completion 补全图:添加演示中未观察到的边(状态)
      • 虽然改变部分行为顺序可能不影响最后结果,但由于我们只有一个演示,在前面的步骤中无法得出这种互换性
      • 需要训练一个 Graph Completion Network图补全网络,除了 Demo Interpretation 已有的边,它还可以添加更多适当的边
Demo Interpreter
  • 输入:演示 d = [o1, ..., oT]
  • 输出:行动序列 A = [a1, ..., aK], 其中的 ai 都是在演示中执行的行动,这些 ai 也同样都是在 CTG 中的初始节点(论文中这里似乎出现了笔误,写成了 the initial edges)
    在这里插入图片描述
    在这里插入图片描述
  • 作者采用了 machine translation literature 机器翻译文献中的 seq2seq 模型作为 demo interpreter 演示解释器
  • 这里的关键是,动作序列 A 为我们的共轭任务图,提供了合理的初始动作顺序约束(边)
Graph Completion Network (GCN)
  • 输入:Demo Interpreter 演示解释提供的行动序列 A = [a1, ..., aK]
  • 输出:添加演示中未观察到的边
  • 这个过程可以描述为:学习图的状态转换
  • Graph Completion Network (GCN) 迭代以下两步
    1. edge update 更新边
    2. propagation 传播
  • 由于这一部分涉及公式,并且有较多专有名词,直接上图
    在这里插入图片描述
4.2. Neural Task Graph Execution
  • 本文提出了 NTG execution engine NTG 执行引擎,通过执行任务图与环境交互
  • NTG execution engine 通过以下两步来执行任务图:
    1. Node Localization 节点定位 :执行引擎首先根据视觉观察,对图中的当前节点进行定位
    2. Edge Classification 边分类:对于一个给定的节点,可以有多个输出边,用于转换到不同的动作。边缘分类器检查每个可能的下一步动作的(潜在的)先决条件,并选择最适合的一个
  • 这两个步骤,可使执行引擎使用生成的共轭任务图作为反应策略,来完成任务给定的观察
  • 由于这一部分涉及公式,并且有较多专有名词,直接上图
  • n: 当前节点
  • o: 视觉观察
  • l(n|o): 当前节点的定位
  • ϵ(a|n,o): 边分类器
  • π(a|o) ∝ ϵ(a|n,o)l(n|o) 边分类器根据 n 当前节点和 o 视觉观察,加上当前节点的定位,决定边转移,这等同于选择对应的下一个动作 a
    在这里插入图片描述
Node Localizer

在这里插入图片描述

  • 一个节点的概率,与编码过的视觉观察 Enc(o)嵌入该节点的节点 NE loc(n)内积成正比
  • 因为节点是动作,并且是之前见过的任务中的动作,作者容易高效学习 node embeddings
  • 这体现了模块化作者策略的好处,使得子模块更加一般化
Edge Classifier
  • 边分类器是 NTG 算法推广到未见过任务的关键
  • 与 Localizer 不同,边分类器是近似的
    在这里插入图片描述
    在这里插入图片描述
  • 例子:目标是将 A B C 依次堆叠,除非 B 在 A 上,否则不应该操作 C,边分类器应该识别出涉及 C 的行动前提条件
  • 式子解读有困难
    在这里插入图片描述
4.3. Learning NTG Networks
  • NTG 只需要原始视觉观察和平面动作序列
    在这里插入图片描述
Learning Graph Generation

在这里插入图片描述

  • 任务 τ,演示 dτi,对应的执行动作 Aτi = [a1, ..., aK]
  • 先将 Ai 转化为路径 {Pτi = (V, Eτi)},节点 V 是所有动作 ai,并添加从 Ai 过渡到 Ei 的边
  • 对于单个任务 τ,作者使用任务 τ 路径演示路径的并集,作为 ground truth 正确标注的共轭任务图 的边 Et
  • GCN 的目标是,将每个 Pτi 通过补全缺失边转化成
  • 作者通过 binary cross entropy loss (pytorch 有) 训练 GCN,输入的 Pτi,训练生成
Learning Graph Execution

在这里插入图片描述
在这里插入图片描述

  • 从生成器中给出一个任务图,我们就可以学习一个导出策略的执行引擎
  • 作者将策略分解为节点定位器和边分类器
  • 对于定位器,使用视频帧作为输入,使用来自演示的相应动作标签作为目标
  • 对于边分类器,收集通过转换连接的所有 source-target 源-目标节点对,并使用演示中的动作标签作为目标
  • 此外,边分类器使用从图补全网络嵌入的节点
  • 这个想法是,来自 GCN 的嵌入可以通知边分类器,它应该分类什么样的视觉状态,并学习将其推广到看不见的任务

5. Experiments
  • 结果肯定是很好的,但是,我们需要先把上面的东西弄懂

这篇关于Neural Task Graphs: Generalizing to Unseen Tasks from a Single Video Demonstration的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Apple quietly slips WebRTC audio, video into Safari's WebKit spec

转自:http://www.zdnet.com/article/apple-quietly-slips-webrtc-audio-video-into-safaris-webkit-spec/?from=timeline&isappinstalled=0 http://www.zdnet.com/article/apple-quietly-slips-webrtc-audio-video-

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes 优势 1、构建了一个用于监督原始视频去噪的基准数据集。为了多次捕捉瞬间,我们手动为对象s创建运动。在高ISO模式下捕获每一时刻的噪声帧,并通过对多个噪声帧进行平均得到相应的干净帧。 2、有效的原始视频去噪网络(RViDeNet),通过探

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

兔子--Android Studio出现错误:Error:Execution failed for task ':myapp:dexDebug'. com.android.ide.common.pro

重点在:finished with non-zero exit value 2. 这里表明了有重复的内容存在。 由于:Android Studio中引入包的方式有如下2种:    compile 'com.android.support:support-v4:22.0.0'    compile files('libs/support-v

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

深入理解.NET 中的 Task 和 Task.WhenAll

一、Task 的原理         Task 代表一个异步操作。它允许你在不阻塞主线程的情况下执行耗时的操作,如文件读取、网络请求等。 异步执行 当你调用一个异步方法时,它会立即返回一个 Task 对象。这个 Task 对象表示正在进行的异步操作。异步方法会在后台线程上执行,而不会阻塞调用它的线程。例如,使用 Task.Run(() => { /* 耗时操作 */ }); 可以在一个新的线

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以