0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在不更改模型结构和不修改数据的情况下提升智能体

深度学习自然语言处理 来源:复旦DISC 作者:张霁雯 2021-11-09 15:43 次阅读

2018 年 Anderson 等人提出了视觉语言导航(Vision-and-Language Navigation,VLN)任务和对应的基准数据集(Room-to-Room Dataset)。该任务旨在探究智能体是否能在仿真模拟环境中遵循自然语言指令,因此可以形式化的评估智能体是否具有跨模态的理解能力。先前的工作取得了长足的进步,然而少有工作专注于探究智能体是否充分学习了数据中的信息,或者说,智能体是一个好学生吗?在计算机视觉领域,Hlynsson 等人试图通过衡量数据效率来回答这个问题。具体而言,该工作将模型性能作为数据集大小的函数,并衡量在不同规模数据集上模型的性能。在视觉语言导航领域,Huang 等人开发了基于神经网络的数据鉴别器(discriminator),可以过滤低质量的指令路径对以提升智能体的学习效率。而在本文中,我们试图回答:能否在不更改模型结构和不修改数据的情况下进一步提升智能体?

我们监控了智能体在导航过程中所犯的第一个错误,并在下图中展示了不同错误的比率。我们发现当智能体导航失败时,大约 50% 的错误是由代理错误地预测下一个室内方向引起的。此类错误的比例随着导航任务跨越更多房间而降低,但仍保持在一个较高水平。这些现象表明导航智能体受限于它在一个房间内和两个房间之间导航的能力。因此,我们认为传统学习过程使得智能体不能充分地学习数据中的信息,采用类似范式进行训练的导航智能体很可能被低估了。

02 Methods

智能体在这些简单案例上的糟糕表现激励我们借鉴课程学习的想法。课程学习是一类关注数据集中样本难度的分布的训练范式,由 Bengio 于 2009 年提出,主要思想是模仿人类学习的特点,让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。本文借鉴了课程学习的理念,首创性地提出了基于课程的 VLN 训练范式。

首先,我们为导航任务设计了合适的课程。从抽象角度看,课程被视为一系列训练准则。每个训练准则都与训练样本上的一组不同的权重相关联,或更普遍地,与训练样本分布的重新加权有关。要定义课程,首先需要定义样本的难度。对于人类来说,很容易在很小的范围内找到特定物体或地点。在经过简单的探索后,人类就可以利用有关环境的知识来完成更艰巨的任务。因此,我们假设路径 可以覆盖的房间数量 主导了导航任务的难度级别。我们建议根据 对基准数据集R2R数据集进行重新划分,划分后的数据集如下表所示:

b679f9d0-412b-11ec-b939-dac502259ad0.png

我们认为从简单到困难的数据集划分方式使得对智能体在这些子集上的学习与玩街机游戏非常相似,因此我们根据子集中样本的难度将训练集的各个子集命名为第一回合(Round 1)至第五回合(Round 5)。从平均路径长度、平均指令长度和全景图覆盖率可以看出,我们划分的数据子集呈现出明显的阶梯特征。这说明我们对数据集难度的划分是合理的。新数据集被称为为课程学习设计的R2R数据集(R2R for curriculum learning dataset,CLR2R dataset)。

有许多方法可以应用在 CLR2R 数据集上。如果我们将每个子集都视为一个课程,则 CLR2R 适用于自动课程学习。如果我们将整个数据集视为一个大课程,则每个回合中的样本应被赋予相同的优先级,因此可以使用自定进度的课程学习。在本文中,我们将重点放在后一种模式上。

由 Jiang 等人提出的自定进度课程学习(Self-Paced Curriculum Learning,SPCL)是一种“师生协作”学习方法,它在统一框架中考虑了训练之前人类对于数据的先验知识和训练过程中智能体对数据的学习进度。具体而言,SPCL 的目标损失函数定义为

其中 表示参数化的导航智能体, 是反映样本重要性的权重变量。 称为控制学习方案的自定进度函数, 是限制学习速度的超参数。 是编码预定课程表(predetermined curriculum)信息的可行区域。本文将 CLR2R 数据集看作一个完整的课程。因此每个回合中的样本应被赋予相同的课程等级。因此,在 CLR2R 数据集上只需 5 个标量就足以定义课程区域的参数向量。Jiang 等人讨论了一些自定进度函数的具体形式,在本文中, 我们主要关注两种较为简单的自定进度函数:二进制方案(binary scheme)和线性方案(linear scheme)。

容易发现,公式(1)中的两个参数是可以交替优化的。具体而言,对于参数 的优化是一个凸优化问题,

在 和简单自定进度函数的条件下具有封闭解。本质上公式(2)是一个线性约束凸优化问题。对于一般的课程区域 我们可以应用投影梯度下降法(Projected Gradient Descent,PGD)来获得最优权重 。

通常, 公式(1)中的优化问题可以采用交替凸搜索算法(Alternative Convex Search,ACS)求解。原始算法的主要问题是在第 4 步,其中使用固定的最新权重向量 来学习最佳模型参数 。在基于神经网络的导航智能体的训练中,由于梯度下降方法优化的神经网络缺乏全局最优保证以及计算复杂度问题,我们不可能计算的确切最优值。因此本文建议无需计算确切的最小值,将原算法中的第 4 步替换为机器学习训练范式中的多个梯度下降更新步骤。这样做能使算法的速度加快,并且此时权重向量 实际上是通过考虑 “当前”学习进度而不是 “最终” 学习进度来更新的。

03 Experiments

3.1 Setup

在实验中,我们采用了三种训练范式

机器学习: 对训练数据集进行一致采样(Uniform Sampling),采样得到的数据作为批数据(mini-batch)呈递给模型进行学习。

朴素课程学习(Naïve Curriculum Learning):对训练集中的样本从易到难进行排序,按照从易到难的顺序将样本呈递给模型进行学习。具体而言, 智能体首先在 CLR2R 数据集的 Round 1 子集上进行学习, 然后在 Round 1~2 子集上进行学习, 最终在集合 Round 1~5 (也就是 R2R 的训练集) 上进行学习。

自定进度课程学习(Self-Paced Curriculum Learning):如前所述,为了应用 SPCL 算法,我们需要首先确定课程区域和自定进度函数。对于课程区域,我们假设 CLR2R 数据集中每个 Round 子集中的样本都具有相同的难度,因此我们设置 Round 。对于自定进度的函数,由于在导航任务中每个样本对于的损失 是不受限的,因此我们选择二进制方案和线性方案。

3.2 Results

主要结果:下表提供三个 SOTA 智能体在不同的训练设置下在验证集的上的实验结果。实验表明,采用自定进度课程学习训练的智能体在已见和未见的验证划分上都可以达到最佳性能。

学习速率:整体而言,相比于传统机器学习,采用自定进度课程学习训练的智能体在迭代相同的次数之后可以获得更优的性能表现。相同精度的结果,采用自定进度课程学习所需要的循环次数大大减少。这说明自定进度课程学习不仅可以提升模型的性能,还可以优化模型的训练效率。

SPCL 超参数鲁棒性:为了理解权重 初始化和步长 的选择对自定进度课程学习的影响,我们对这两个超参数进行网格搜索,结果如图所示。下图表明,自定进度课程学习对权重初始化和步长选择并不敏感,在大多数情况下采用自定进度课程学习训练的导航智能体在验证集上的结果都要优于机器学习基准。

损失地形:为了探究自定进度课程学习为何能够提升导航智能体的性能,我们遵循计算机视觉分析批归一化采用的方法,通过计算最大和最小损失之间的距离来研究智能体训练期间的损失地形。结果如图所示。一般而言,我们的实验结果与理论结果一致,即课程学习可以有效地平滑优化环境、改善损失地形。

迁移学习:使用课程学习训练 的智能体既可以保持在 R2R 数据集上的导航性能,也能够迁移到 RxR-en 数据集上完成更难的导航任务。

b9401ff0-412b-11ec-b939-dac502259ad0.png

与预训练方法结合:为了探究采用课程学习范式训练的导航智能体是否也可以从预训练方法中受益,我们将智能体与基于视觉语言 Transformer 的模型 VLN-BERT(Majumdar 等,2020)相结合。我们将束搜索大小限制为 5,并纯粹使用 VLN-BERT 模型来评分和选择路径-指令对。在未见验证划分上的结果如图所示。Beam search 和 VLN-BERT 都可以提高智能体的导航性能。通过基于课程的方法训练的导航智能体获得更多改进。

04 Conclusion

我们首先建议将有关训练样本的人类先验知识整合到导航智能体的训练过程中,首先提出采用课程学习对导航智能体进行训练。

我们为视觉语言导航任务设计了第一个课程,并基于 Room-to-Room ( ) 数据集构建了可用于课程学习的第一个 VLN 数据集。

我们采用自定进度课程学习提出了一种导航智能体的训练范式。这种训练范式能在不增加模型复杂度的前提下提高智能体的训练效率和性能。

我们验证了课程学习的作用是平滑损失函数 (smooth loss landscape),从而加速学习进度、使智能体收敛到更好的局部最优点。

我们进一步的实验表明,课程学习适用于迁移学习,并能与预训练方法相结合。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    161

    文章

    4320

    浏览量

    119968
  • 导航
    +关注

    关注

    7

    文章

    517

    浏览量

    42322

原文标题:NeurlPS2021 | 视觉语言导航的课程学习

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    牺牲尺寸的情况下提高脉搏血氧仪溶液的性能

    电子发烧友网站提供《牺牲尺寸的情况下提高脉搏血氧仪溶液的性能.pdf》资料免费下载
    发表于 09-21 10:54 0次下载
    <b class='flag-5'>在</b><b class='flag-5'>不</b>牺牲尺寸的<b class='flag-5'>情况下</b>提高脉搏血氧仪溶液的性能

    不影响性能或占用空间的情况下隔离您的CAN系统

    电子发烧友网站提供《不影响性能或占用空间的情况下隔离您的CAN系统.pdf》资料免费下载
    发表于 08-29 10:49 0次下载
    <b class='flag-5'>在</b>不影响性能或占用空间的<b class='flag-5'>情况下</b>隔离您的CAN系统

    为什么电容低电压情况下会发热

    本身存在内阻,低电压会导致电流增加,如果内阻相对较大,电容器内部的能量损耗增加,也会导致发热。 3、老化或劣化 :电容器长期使用后,可能会因为绝缘材料老化、劣化等原因增加介质损耗,即使低电压情况下,损耗功率依然较
    的头像 发表于 08-26 14:04 496次阅读
    为什么电容<b class='flag-5'>在</b>低电压<b class='flag-5'>情况下</b>会发热

    破坏ESP8266的情况下,ADC的最大电压是多少?

    破坏ESP8266的情况下,您可以应用于ADC(TOUT,引脚6)的最大电压是多少。是否有像二极管一样的内部削波器?
    发表于 07-19 06:24

    你是否真的了解结构占用了多少字节?

    结构成员所占内存空间大小一般情况下,如果想知道结构成员的内存占用情况需要:1、先用
    的头像 发表于 06-04 08:04 358次阅读
    你是否真的了解<b class='flag-5'>结构</b><b class='flag-5'>体</b>占用了多少字节?

    如何在不修改起始地址的情况下,运行SCRCFG为0xA且起始地址为0x0的SCR?

    SCRCFG 0xA 并启动 SCR 时,SCR 的起始地址突然出现在\"_Exit\" 上。 因此,如果我想运行可控硅,就应该将地址改为 0x0。 如何在不修改起始地址的情况下,运行 SCRCFG 为 0xA 且起始地址为 0x0 的 SCR? 请告诉我。
    发表于 06-03 06:11

    如何在不修改起始地址的情况下,运行SCRCFG为0xA且起始地址为0x0的SCR?

    SCRCFG 0xA 并启动 SCR 时,SCR 的起始地址突然出现在\"_Exit\" 上。 因此,如果我想运行可控硅,就应该将地址改为 0x0。 如何在不修改起始地址的情况下,运行 SCRCFG 为 0xA 且起始地址为 0x0 的 SCR? 请告诉我。
    发表于 05-28 07:00

    无功补偿装置投入电容的情况下显示负数

    无功补偿装置是一种重要的电力设备,用于调节电网的功率因数,提高电能利用效率。然而,有时投入电容的情况下,无功补偿装置会显示负数,给用户们一种误导。 首先,需要明确的是,无功补偿装置的显示负数并不
    的头像 发表于 03-06 14:11 4673次阅读

    如何在更换固件的情况下控制cyusb3014USB 2.0和USB 3.0模式的读写速度?

    您好,我想通过上层机测试cyusb3014 USB 2.0和 USB 3.0模式的读写速度。 如何在更换固件的情况下控制是通过上位机以 USB 2.0 还是 USB 3.0 速度
    发表于 02-27 06:24

    使用TC275 CPU看门狗,喂狗的情况下只能复位一次,然后再次复位时,就直接死机了是什么情况

    使用TC275CPU看门狗,定时器设为1.3秒,喂狗的情况下只能复位一次,然后再次复位时,就直接死机了,程序不能重启运行。这是什么情况
    发表于 02-05 07:10

    什么情况下应选择使用环形变压器而不是其他类型的变压器?

    什么情况下应选择使用环形变压器而不是其他类型的变压器? 环形变压器是一种特殊类型的变压器,其独特的设计和结构使得它在特定情况下比其他类型的变压器更适用。
    的头像 发表于 01-30 16:18 477次阅读

    无功补偿什么情况下需要增设电容补偿

    无功补偿引发的电能损耗是很多用户需要解决的问题之一。某些情况下,为了降低无功功率的影响,需要增设电容补偿。
    的头像 发表于 01-18 14:18 910次阅读

    weblogic修改数据源需要重启吗

    ,需要根据不同的情况来决定。 首先,我会介绍WebLogic数据源的基本概念和作用,然后会解释不同的情况下修改数据源是否需要重启,最后进一
    的头像 发表于 12-05 16:09 1248次阅读

    什么是always on buffer?什么情况下需要插always on buffer?

    相比普通的buffer cell,always on buffer(AOB)有secondary always on pin,可以让AOB即使primary power off的情况下保持on的状态;AOBsecondary
    的头像 发表于 12-01 15:31 2230次阅读
    什么是always on buffer?什么<b class='flag-5'>情况下</b>需要插always on buffer?

    oracle修改数据库表字段类型

    。 2.使用ALTER TABLE语句修改字段类型:Oracle中,使用ALTER TABLE语句可以修改表的结构。通过ALTER TABLE语句,可以
    的头像 发表于 11-21 11:33 3126次阅读