《Object-Centric Learning with Slot Attention》中文校对版

news2024/11/16 9:43:52

系列论文研读目录

例如:第一章 Python 机器学习入门之pandas的使用


文章目录

  • 系列论文研读目录
  • 摘要
  • 引言
  • 2 方法
    • 2.1 插槽注意力模块
    • 2.2 对象发现
    • 2.3 集合预测
  • 3 相关工作
  • 4 实验
    • 4.1 对象发现
    • 4.2 集合预测
  • 5 结论
  • 更广泛的影响


摘要

学习复杂场景的以对象为中心的表示是实现从低级感知特征进行高效抽象推理的一个有前途的步骤。然而,大多数深度学习方法学习的分布式表示并不能捕捉自然场景的组成属性。在本文中,我们提出了时隙注意模块,它是一个与感知表示(如卷积神经网络的输出)接口的架构组件,并产生一组与任务相关的抽象表示,我们称之为时隙。这些槽是可交换的,并且可以通过在多轮注意力的竞争过程中进行专门化来绑定到输入中的任何对象。实验结果表明,在无监督的目标发现和有监督的属性预测任务中,时隙注意能够提取以目标为中心的表征,从而能够泛化到不可见的组合。

引言

以对象为中心的表示有可能在一系列应用领域中提高样本效率和机器学习算法的泛化能力,例如视觉推理[1],结构化环境建模[2],多代理建模[3-5]和交互物理系统的模拟[6-8]。从原始感知输入(如图像或视频)中获得以对象为中心的表示是具有挑战性的,通常需要监督[1,3,9,10]或特定于任务的架构[2,11]。因此,学习以对象为中心的表示的步骤通常被完全跳过。相反,模型通常被训练为对环境的结构化表示进行操作,例如,从模拟器[6,8]或游戏引擎[4,5]的内部表示中获得。
为了克服这一挑战,我们引入了Slot Attention模块,这是感知表示(例如,CNN的输出)和一组称为slots的变量。使用迭代注意机制,Slot Attention产生一组具有排列对称性的输出向量。与胶囊网络中使用的胶囊不同[12,13],Slot Attention产生的插槽不会专门针对特定类型或类别的对象,这可能会损害泛化。相反,它们的行为类似于目标文件[14],即,插槽使用一种通用的表示格式:每个插槽可以存储(并绑定到)输入中的任何对象。这允许槽注意力以系统的方式推广到看不见的成分,更多的对象和更多的槽。
Slot Attention是一个简单且易于实现的架构组件,可以放置在CNN [15]编码器的顶部,以从图像中提取对象表示,并通过下游任务进行端到端训练。在本文中,我们考虑图像重建和集合预测作为下游任务,以展示我们的模块在具有挑战性的无监督对象发现设置和涉及集合结构对象属性预测的监督任务中的多功能性。
我们的主要贡献如下:(i)我们引入了Slot Attention模块,这是感知表示(例如CNN的输出)和构造为集合的表示之间接口处的一个简单架构组件。(ii)我们将基于Slot Attention的架构应用于无监督对象发现,它匹配或优于相关的最先进方法[16,17],同时更有效地利用内存,并且训练速度更快。(iii)我们证明了插槽注意模块可用于监督对象属性预测,其中注意机制学习突出单个对象,而无需直接监督对象分割。

2 方法

在本节中,我们将介绍Slot Attention模块(图1a; 2.1节),并演示如何将其集成到无监督对象发现架构(图1b; 2.2节)和集合预测架构(图1c; 2.3节)中。

2.1 插槽注意力模块

Slot Attention模块(图1a)从一组N个输入特征向量映射到一组K个输出向量,我们将其称为slot。例如,该输出集中的每个向量可以描述输入中的对象或实体。整个模块在算法1中以伪代码1描述。
在这里插入图片描述(a)槽注意模块和示例应用于(B)无监督对象发现和(c)具有标记目标yi的监督集合预测。详情请参见正文。
Slot Attention使用迭代注意力机制将其输入映射到插槽。随机初始化时隙,然后在每次迭代t = 1时细化时隙。…T绑定到输入要素的特定部分(或分组)。从公共分布随机采样初始槽表示允许槽注意力在测试时推广到不同数量的槽。
在每次迭代中,槽通过基于softmax的注意力机制[18-20]竞争解释输入的部分,并使用循环更新函数更新它们的表示。每个槽中的最终表示可以用于下游任务,例如无监督对象发现(图1b)或监督集合预测(图1c)。
在这里插入图片描述
我们现在描述Slot Attention在一组输入特征上的单次迭代,inputs ∈ RN×Dinputs,K个输出槽的维度为Dslots(为了清楚起见,我们省略了批次维度)。我们使用可学习的线性变换k、q和v将输入和插槽映射到一个公共维度D。
插槽注意力使用点积注意力[19],注意力系数在插槽上归一化,即,注意力机制的质疑。这种归一化的选择引入了解释输入部分的槽之间的竞争。
在这里插入图片描述
在这里插入图片描述
我们进一步遵循将softmax温度设置为固定值的惯例
在这里插入图片描述
换句话说,归一化确保了对于每个单独的输入特征向量,注意力系数总和为1,这防止了注意力机制忽略输入的部分。为了将输入值聚合到其分配的插槽中,我们使用加权平均值,如下所示:
加权平均值有助于提高注意力机制的稳定性(与使用加权和相比),因为在我们的情况下,注意力系数在时隙上被归一化。在实践中,我们进一步增加了一个小的偏移量的注意系数,以避免数值不稳定。
聚合更新最终用于通过学习的递归函数更新插槽,为此我们使用具有Dslots隐藏单元的门控递归单元(GRU)[21]。我们发现,使用具有ReLU激活和剩余连接的(可选)多层感知器(MLP)转换GRU输出[22]可以帮助提高性能。GRU和残余MLP都独立地应用于具有共享参数的每个时隙。我们在每次迭代开始时和应用残差MLP之前对模块的输入和槽特征应用层归一化(LayerNorm)[23]。虽然这不是严格必要的,但我们发现它有助于加快训练收敛。时间复杂度为O(T · D · N · K)。
我们确定了插槽注意力的两个关键属性:(1)相对于输入的排列不变性(即,输出与施加到输入的置换无关并因此适合于集合)和(2)相对于时隙的顺序的置换等方差(即,在初始化后排列插槽的顺序相当于排列模块的输出)。更正式地说:
在这里插入图片描述
第一项提案。设SlotAttention(inputs,slot)∈ RK×Dslots是时隙注意模块(算法1)的输出,其中输入∈ RN×Dinputs,而时隙∈ RK×Dslots。设πi ∈ RN×N,πs ∈ RK×K是任意置换矩阵.因此,以下成立:时隙注意(πi ·输入,πs ·时隙)= πs ·时隙注意(输入,时隙)。
证据在补充材料里。排列等方差属性对于确保槽学习公共表示格式以及每个槽可以绑定到输入中的任何对象是重要的。

2.2 对象发现

集合结构的隐藏表示是以无监督方式学习对象的一个有吸引力的选择:每个集合元素可以捕获场景中对象的属性,而无需假设对象被描述的特定顺序。由于Slot Attention将输入表示转换为一组向量,因此它可以用作自动编码器架构中的编码器的一部分,用于无监督对象发现。自动编码器的任务是将图像编码成一组隐藏表示(即,时隙),它们一起可以被解码回图像空间以重构原始输入。因此,槽充当代表性瓶颈,并且解码器(或解码过程)的架构通常被选择为使得每个槽仅解码图像的区域或部分[16,17,24-27]。这些区域/部分然后被组合以得到完整的重建图像。
编码器 我们的编码器由两个组件组成:(i)用位置嵌入增强的CNN主干,其次是(ii)插槽注意模块。Slot Attention的输出是一组表示场景分组(例如,根据对象)的插槽。
解码器 每个时隙都在空间广播解码器[28]的帮助下单独解码,如IODINE [16]中所用:时隙表示被广播到2D网格上(每个时隙)并使用位置嵌入进行增强。每个这样的网格都使用CNN(具有跨插槽共享的参数)进行解码,以产生大小为W×H × 4的输出,其中W和H分别是图像的宽度和高度。输出通道对RGB颜色通道和(未规格化的)Alpha遮罩进行编码。随后,我们使用Softmax对各个插槽的alpha掩码进行归一化,并将其用作混合权重,以将各个重建联合收割机组合成单个RGB图像。

2.3 集合预测

集合表示通常用于许多数据模式的任务中,包括点云预测[29,30]、对图像中的多个对象进行分类[31]或生成具有所需属性的分子[32,33]。在本文考虑的例子中,我们给出了一个输入图像和一组预测目标,每个预测目标描述场景中的一个对象。预测集合的关键挑战是存在K!一组K个元素的可能等价表示,因为目标的顺序是任意的。这种归纳偏差需要在架构中明确建模,以避免学习过程中的不连续性,例如,当两个语义专用槽在整个训练过程中交换其内容时[31,34]。Slot Attention的输出顺序是随机的,与输入顺序无关,这解决了这个问题。因此,Slot Attention可用于将输入场景的分布式表示转换为集合表示,其中每个对象都可以使用标准分类器单独分类,如图1c所示。

编码器 我们使用与对象发现设置(第2.2节)相同的编码器架构,即用位置嵌入增强CNN骨干,然后是Slot Attention,以获得一组插槽表示。
分类器 对于每个槽,我们应用具有槽之间共享的参数的MLP。由于预测和标签的顺序是任意的,我们使用匈牙利算法[35]匹配它们。我们将其他匹配算法的探索[36,37]留给未来的工作。

3 相关工作

对象发现 我们的对象发现架构与最近关于合成生成场景模型的一系列工作密切相关[16,17,24-27,38-44],这些模型根据具有相同表示格式的潜在变量的集合来表示场景。与我们的方法最接近的是IODINE [16]模型,它使用迭代变分推理[45]来推断一组潜变量,每个潜变量描述图像中的一个对象。在每次推理迭代中,IODINE执行解码步骤,然后执行像素空间中的比较和随后的编码步骤。相关模型如MONet [17]和GENESIS [27]类似地使用多个编码-解码步骤。相反,我们的模型使用迭代注意力将此过程替换为单个编码步骤,从而提高了计算效率。此外,这允许我们的架构即使在没有解码器的情况下也能推断对象表示和注意力掩码,从而打开了自动编码之外的扩展,例如用于对象发现的对比表示学习[46]或直接优化下游任务,如控制或规划。我们的基于注意力的路由过程也可以与基于补丁的解码器结合使用,用于AIR [26],SQAIR [40]和相关方法[41-44]等架构中,作为通常采用的自回归编码器[26,40]的替代方案。我们的方法与使用对抗训练[47-49]或对比学习[46]进行对象发现的方法是正交的:在这样的环境中利用Slot Attention是未来工作的一个有趣途径。
集合神经网络一系列最近的方法探索了集合编码[34,50,51],生成[31,52]和集合到集合映射[20,53]。图形神经网络[54-57],特别是Transformer模型[20]的自注意机制,经常用于变换具有恒定基数的元素集(即,集合元素的数量)。槽注意力解决了从一个集合映射到另一个不同基数的集合的问题,同时尊重输入和输出集合的排列对称性。深度集预测网络(DSPN)[31,58]通过为每个示例运行内部梯度下降循环来尊重排列对称性,这需要许多步骤来收敛和仔细调整几个损失超参数。相反,Slot Attention仅使用几次注意力迭代和单个特定于任务的损失函数直接从集合映射到集合。在并发工作中,DETR [59]和TSPN [60]模型都建议使用Transformer [20]进行条件集生成。大多数相关的方法,包括DiffPool [61],Set Transformers [53],DSPN [31]和DETR [59]使用学习的每个元素初始化(即,每个集合元素的单独参数),这防止了这些方法在测试时推广到更多的集合元素。
迭代路由 我们的迭代注意力机制与胶囊网络变体中通常采用的迭代路由机制有相似之处[12,13,62]。最接近的这种变体是反向点积注意路由[62],它类似地使用点积注意机制来获得表示之间的分配系数。然而,他们的方法(与其他胶囊模型一致)不具有置换对称性,因为每个输入-输出对都被分配了一个单独的参数化变换。注意力机制如何规范化和更新如何聚合的低级细节以及所考虑的应用程序在两种方法之间也有显着差异。
交互记忆模型 注意力槽可以被视为交互记忆模型的变体[9、39、46、63-68],它利用一组槽及其成对交互来推理输入中的元素(例如视频中的对象)。这些模型的共同组成部分是(i)独立作用于各个插槽的经常性更新功能和(ii)引入插槽之间通信的交互功能。通常情况下,这些模型中的槽是完全对称的,所有槽都具有共享的经常性更新函数和交互函数,RIM模型[67]除外,它为每个槽使用一组单独的参数。值得注意的是,RMC [63]和RIM [67]引入了一种注意机制,将信息从输入汇总到插槽。在时隙注意力中,从输入到时隙的基于注意力的分配在时隙上被归一化(而不是仅仅在输入上),这引入了时隙之间的竞争以执行输入的聚类。此外,我们在这项工作中不考虑时间数据,而是使用循环更新函数来迭代地改进单个静态输入的预测。
混合专家 专家模型[67,69-72]与我们的基于时隙的方法相关,但不完全共享单个专家之间的参数。这导致个别专家的专业化,例如,不同的任务或对象类型。在Slot Attention中,插槽使用通用的表示格式,并且每个插槽都可以绑定到输入的任何部分。
软聚类 我们的路由过程与软k均值聚类[73](其中槽对应于聚类质心)有关,有两个关键区别:我们使用点积相似性与学习的线性投影,我们使用参数化的可学习更新函数。具有可学习的,特定于聚类的参数的软k均值聚类的变体已被引入计算机视觉[74]和语音识别社区[75],但它们与我们的方法不同,因为它们不使用循环的多步更新,并且不尊重排列对称性(聚类中心在训练后充当固定的有序字典)。集合Transformer [53]的诱导点机制和DETR [59]中的图像到槽注意机制可以被视为这些使用多个注意头的有序单步方法的扩展(即,多个相似性函数)。
反复注意 我们的方法与图像建模和场景分解[26,40,76-78]以及集合预测[79]中使用的循环注意力模型有关。在这种情况下,也考虑了不使用注意力机制的集合预测的循环模型[80,81]。这种工作经常使用置换不变损失函数[79,80,82],但依赖于以自回归方式推断每个时间步的一个槽,表示或标签,而槽注意力在每个步骤同时更新所有槽,因此完全尊重置换对称性。

4 实验

本节的目标是评估Slot Attention模块在两个以对象为中心的任务(一个是受监督的,另一个是不受监督的)上的效果,如第2.2节和第2.3节所述。我们针对每个相应的任务与专业的最先进的方法[16,17,31]进行比较。我们在补充材料中提供了有关实验和实施的进一步细节,以及其他定性结果和消融研究。
基线 在无监督对象发现实验中,我们比较了两种最新的最先进的模型:IODINE [16]和MONet [17]。对于监督对象属性预测,我们与深度集预测网络(DSPN)进行比较[31]。DSPN是唯一的集合预测模型,尊重排列对称性,我们知道,除了我们提出的模型。在这两个任务中,我们进一步比较了一个简单的基于MLP的基线,我们称之为插槽MLP。该模型将Slot Attention替换为MLP,该MLP从CNN特征图(调整大小和展平)映射到(现在已排序的)插槽表示。对于MONet,IODINE和DSPN基线,我们使用相同的实验设置,与[16,31]中公布的数字进行比较。
数据集 对于对象发现实验,我们使用以下三个多对象数据集[83]:CLEVR(带掩码),Multi-dSprites和Tetrominoes。CLEVR(带掩码)是带有分割掩码注释的CLEVR数据集的一个版本。与IODINE [16]类似,我们只使用CLEVR(带掩码)数据集的前70 K个样本进行训练,并裁剪图像以突出显示中心的对象。对于Multi-dSprites和Tetrominoes,我们使用前60 K个样本。与[16]一样,我们评估了320个对象发现的测试示例。对于集合预测,我们使用原始的CLEVR数据集[84],其中分别包含70 K和15 K渲染对象图像的训练验证分割。每个图像可以包含三到十个对象,并具有每个对象的属性注释(位置、形状、材质、颜色和大小)。在一些实验中,我们过滤CLEVR数据集,使其仅包含最多6个对象的场景;我们将此数据集称为CLEVR 6,为了清楚起见,我们将原始完整数据集称为CLEVR 10。

4.1 对象发现

训练 训练设置是无监督的:学习信号由(均方)图像重建误差提供。我们使用Adam优化器[85]训练模型,学习率为4 × 10−4,批量大小为64(使用单个GPU)。我们进一步利用学习率预热[86]来防止注意力机制的早期饱和和学习率的指数衰减时间表,我们发现这可以减少方差。在训练时,我们使用时隙注意力的T = 3次迭代。我们在所有数据集上使用相同的训练设置,除了槽数K之外:对于CLEVR 6,我们使用K = 7个槽,对于Multi-dSprites,我们使用K = 6个槽(最大值)。每个场景5个对象),并且对于Tetrominoes,K = 4(每个场景3个对象)。尽管Slot Attention中的槽数可以针对每个输入示例设置为不同的值,但我们对训练集中的所有示例使用相同的值K,以便更容易地进行排序。
量度 与以前的工作[16,17]一致,我们使用调整后的兰德指数(ARI)得分[87,88]将解码器(针对每个单独的对象槽)产生的alpha掩码与地面真值分割(不包括背景)进行比较。ARI是度量聚类相似性的分数,范围从0(随机)到1(完美匹配)。为了计算ARI分数,我们使用Kabra等人提供的实现。[83]。
结果 定量结果总结见表1和图2。总的来说,我们观察到我们的模型与两个最新的最先进的基线:IODINE [16]和MONet [17]相比较。我们还比较了一个简单的基于MLP的基线(插槽MLP),它的表现优于机会,但由于其有序的表示是无法模拟的组成性质,这项任务。我们注意到我们的模型的一个失败模式:在极少数情况下,它可能会陷入Tetrominoes数据集上的次优解决方案,在那里它将图像分割成条纹。这导致训练集上的重建误差显著更高,因此可以在训练时轻松识别此类离群值。我们从表1的最终评分中排除了一个这样的离群值(5个种子中的1个)。我们希望仔细调整训练超参数,特别是针对这个数据集,可以缓解这个问题,但为了简单起见,我们选择了在所有数据集上共享的单个设置。
在这里插入图片描述

与IODINE [16]相比,Slot Attention在内存消耗和运行时间方面都更有效。在CLEVR6上,我们可以在单个V100 GPU上使用高达64的批处理大小,具有16GB的RAM,而不是使用相同类型的硬件的4 in [16]。类似地,当并行使用8个V100 GPU时,CLEVR6上的模型训练对于Slot Attention大约需要24小时,而IODINE大约需要7天[16]。
在图2中,我们研究了当在测试时使用更多的Slot Attention迭代时,模型的泛化程度,同时使用固定数量的T = 3迭代进行训练。与训练集(CLEVR6)相比,我们进一步评估了对更多对象(CLEVR10)的泛化。我们观察到,当使用更多的迭代时,分割分数显著提高,超过了表1中报告的数字。当在具有更多对象的CLEVR10场景上测试时,这种改进更强。对于这个实验,我们在测试时将槽的数量从K = 7(训练)增加到K = 11。总体而言,即使在包含比训练期间看到的更多对象的场景上进行测试,分割性能仍然很强。
我们在图3中可视化了所有三个数据集的发现对象分割。如果槽比对象多,模型会学习将槽保持为空(仅捕获背景)。我们发现,插槽注意力通常会将均匀的背景分散在所有插槽中,而不是仅在单个插槽中捕获它,这可能是注意力机制的伪影,不会损害对象解纠缠或重建质量。我们进一步可视化注意力机制如何在各个注意力迭代中分割场景,并检查每个迭代的场景重建(模型已被训练为仅在最终迭代后重建)。可以看出,注意力机制在第二次迭代时已经学会专门提取单个对象,而第一次迭代的注意力图仍然将多个对象的部分映射到单个槽中。
在这里插入图片描述
为了评估插槽注意力是否可以在不依赖于颜色线索的情况下执行分割,我们进一步在黑色背景上具有白色对象的多dSprites的二进制化版本和CLEVR 6的灰度版本上运行实验。我们使用来自Kabra等人的二进制化多dSprites数据集。[83],其中Slot Attention使用K = 4个插槽实现69.4 ± 0.9% ARI,而IODINE [16]和R-NEM [39]分别为64.8 ± 17.2%和68.5 ± 1.7%,如[16]中所报告的。插槽注意力在分解场景为对象的基础上的形状线索只执行竞争力。在图4中,我们可视化了在灰度CLEVR 6上训练的Slot Attention模型的发现对象分割,尽管缺乏对象颜色作为区别特征,但Slot Attention处理没有问题。
在这里插入图片描述
由于我们的对象发现架构使用与IODINE [16]相同的解码器和重建损失,我们预计它将类似地处理包含更复杂背景和纹理的场景。利用不同的感知[49,89]或对比损失[46]可以帮助克服这种限制。我们将在第5节和补充材料中讨论进一步的限制和未来的工作。
总结 在对象分割的质量以及训练速度和内存效率方面,Slot Attention与以前的无监督场景分解方法相比具有很强的竞争力。在测试时,可以在没有解码器的情况下使用Slot Attention来从看不见的场景中获得以对象为中心的表示。

4.2 集合预测

训练 我们使用与4.1节中相同的超参数来训练我们的模型,除了我们使用512的批量大小和编码器中的步幅。在CLEVR 10上,我们使用K = 10个对象槽来与[31]保持一致。插槽注意力模型使用具有16GB RAM的单个NVIDIA Tesla V100 GPU进行训练。
度量 遵循Zhang等人。[31],我们计算对象检测中常用的平均精度(AP)[90]。如果在一定的距离阈值内有一个具有完全相同属性(形状,材料,颜色和大小)的匹配对象,则预测(对象属性和位置)被认为是正确的(∞表示我们不强制任何阈值)。预测的位置坐标被缩放到[-3,3]。我们对目标进行零填充,并在[0,1]中预测与对象的存在概率对应的附加指标得分(1表示存在对象),然后将其用作预测置信度来计算AP。
结果 在图5(左)中,我们报告了CLEVR 10上监督对象属性预测的平均精度结果(在训练和测试时间使用T = 3的时隙注意力)。我们比较了[31]的DSPN结果和Slot MLP基线。总的来说,我们观察到我们的方法匹配或优于DSPN基线。我们的方法的性能在更具挑战性的距离阈值(对于对象位置特征)处优雅地降低,保持合理的小方差。请注意,DSPN基线[31]使用了更深的ResNet 34 [22]图像编码器。在图5(中间)中,我们观察到在测试时增加注意力迭代的数量通常会提高性能。Slot Attention可以通过改变插槽的数量在测试时自然地处理更多的对象。在图5(右)中,我们观察到,如果我们在CLEVR6(K = 6个插槽)上训练模型并使用更多对象对其进行测试,AP会优雅地降级。
在这里插入图片描述
直觉上,为了解决这个集合预测任务,每个槽应该关注不同的对象。在图6中,我们可视化了两个CLEVR图像的每个插槽的注意力图。一般来说,我们观察到注意力地图自然地分割对象。我们注意到,该方法仅被训练用于预测对象的属性,而没有任何分割掩码。定量地,我们可以评估注意面具的调整后兰德指数(ARI)得分。在CLEVR10(带掩码)上,由Slot Attention生成的注意掩码实现了78.0% ± 2.9的ARI(为了计算ARI,我们将输入图像缩小到32 × 32)。注意,表1中评估的掩码不是注意力图,而是由对象发现解码器预测的。
总结 Slot Attention学习了集合结构属性预测任务的对象表示,并实现了与现有最先进方法竞争的结果,同时更容易实现和调整。此外,注意力掩模自然地分割场景,这对于调试和解释模型的预测是有价值的。

5 结论

我们已经介绍了插槽注意模块,一个多功能的架构组件,学习对象为中心的抽象表示从低层次的感知输入。Slot Attention中使用的迭代注意机制允许我们的模型学习分组策略,将输入特征分解为一组插槽表示。在无监督视觉场景分解和监督对象属性预测的实验中,我们已经证明了Slot Attention与之前的相关方法具有很强的竞争力,同时在内存消耗和计算方面更有效。
自然的下一步是将Slot Attention应用于视频数据或其他数据模态,例如,用于点云处理骨干之上的图形中的节点聚类,或者用于文本或语音数据。它还有望研究其他下游任务,如奖励预测,视觉推理,控制或规划。

更广泛的影响

插槽注意力模块允许从感知输入中学习以对象为中心的表示。因此,它是一个通用模块,可用于广泛的领域和应用程序。在我们的论文中,我们只考虑在良好控制的设置下人工生成的数据集,其中插槽预计将专门用于对象。然而,我们模型的专门化是隐含的,完全由下游任务驱动。我们注意到,作为评估模块是否以不必要的方式专门化的具体措施,可以可视化注意力掩码以了解输入特征如何在插槽中分布(参见图6)。虽然需要更多的工作来正确地解决注意力系数在解释网络整体预测中的有用性(特别是如果输入特征不是人类可解释的),但我们认为它们可以作为迈向更透明和可解释的预测的一步。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2165387.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

erlang学习:Linux命令学习5

从本地上传文件 使用rz命令选择文件,将本地文件上传至linux服务器 rz与本地文件中的txt文本文件内容相同 将上传的文件按行分割 split -l 1 study.txt -d -a 1 study_-l:按行分隔,每1行对study.txt文件进行切割 -d:添加数字后缀 -a 1:以1位数数字做尾…

Java_Day03学习

Day03 构造方法目的 为类的属性赋值构造方法调用 //调用带参方法时,要先实例化类,创建对象再调用; eg:public class Max_and_Min {//方法:访问修饰符 返回类型 方法名(形式参数类型 形参,形参类型 形参) {}public v…

速刷DuckDB官网24小时-掌握核心功法

简介 DuckDB 是面向列的本地 OLAP 数据库,SQLite是面向行的本地 OLTP 数据库。duckdb是 数据分析师得力助手,可以很好的直接读取本地的各种结构化数据文件,速度显著快于主流的pandas等工具。 duckdb通过加载插件可以成为各种RDBMS数据库的中…

Linux突发网络故障常用排查的命令

测试环境 系统:Ubuntu 18硬件:单核2G ping 用于测试客户机和目标主机通信状况,是否畅通。以及测量通信的往返时间,判断网络质量的好坏。 它通过发送ICMP回显请求消息到目标主机,并等待返回的ICMP回显回复消息。 pin…

C#和数据库高级:继承与多态

文章目录 一、继承的基本使用继承的概念:继承的特点:为什么使用继承? 二、继承的关键字1、this关键字2、base关键字3、Protected关键字4、子类调用父类的构造函数的总结: 三、继承的特性继承的传递性:继承的单根性&…

C/C++逆向:循环语句逆向分析

在逆向分析中,循环语句通常会以特定的汇编模式或结构体现出来。常见的循环语句包括 for 循环、while 循环和 do-while 循环。由于不同的编译器会根据代码优化的级别生成不同的汇编代码,分析循环的模式也可能会有所不同。以下是三种常见循环语句的汇编分析…

【源码+文档+调试讲解】人事管理系统设计与实现Python

摘 要 人事管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来&#xff…

【数据结构】剖析二叉树(Binary Tree)

目录 💯引言 💯二叉树的定义与基本概念 (一)定义 (二)节点结构 (三)二叉树的形态 💯二叉树的遍历 (一)前序遍历(Preorder Trav…

机器人控制器设计与编程基础实验高效版本-ESP32等单片机实验报告

只需要课程大纲或进度表wokwi 大模型工具&#xff0c;就可以完全掌握嵌入式系统基础实验的所有核心点。 LCD // Learn about the ESP32 WiFi simulation in // https://docs.wokwi.com/guides/esp32-wifi https://wokwi.com/projects/321525495180034642#include <WiFi.h>…

【AI学习】Lilian Weng:What are Diffusion Models?

读OpenAI 的 Lilian Weng博客《What are Diffusion Models?》 文章链接:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/ 通过浏览器的在线翻译&#xff0c;直接截图了。翻译的有些问题&#xff0c;但是基本能大概看明白了。 我只是个人的记录&#xff0c;…

开发经验总结: 读写分离简单实现

背景 使用mysql的代理中间件&#xff0c;某些接口如果主从同步延迟大&#xff0c;容易出现逻辑问题。所以程序中没有直接使用这个中间件。 依赖程序逻辑&#xff0c;如果有一些接口可以走读库&#xff0c;需要一个可以显示指定读库的方式来连接读库&#xff0c;降低主库的压力…

降准降息一揽子措施点燃 A 股激情,4% 大涨之后趋势深度剖析

文章目录 牛回速归原因分析引爆点情绪和信心一根大阳线&#xff0c;千军万马来相见阴霾是否一扫而空还未可知 流动性和增量 潜在隐患等待经济复苏配套政策期待中美关系进展 短期内趋势分析空军短期内仍有余力如何看待第2日的回撤外围 趋势分析结论短期内可能仍有波折中长期会是…

【数学分析笔记】第3章第4节闭区间上的连续函数(1)

3. 函数极限与连续函数 3.4 闭区间上的连续函数 3.4.1 有界性定理 【定理3.4.1】 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上连续&#xff0c;则 f ( x ) f(x) f(x)在闭区间 [ a , b ] [a,b] [a,b]上有界。 【证】用反证法&#xff0c;假设 f ( x ) f(x) f(x)在 [ …

2-103 基于matlab的光电信号下血氧饱和度计算

基于matlab的光电信号下血氧饱和度计算&#xff0c;光转换成电信号时&#xff0c;由于动脉对光的吸收有变化而其他组织对光的吸收基本不变&#xff0c;得到的信号就可以分为直流DC信号和交流AC信号。提取AC信号&#xff0c;就能反应出血液流动的特点。这种技术叫做光电容积脉搏…

【Linux学习】2-1 Linux系统下运行C语言输出hello word

1.双击打开VMware软件&#xff0c;点击开启此虚拟机后&#xff0c;等待点击头像输入密码进入 2.“CtrlAltt”调出命令行终端&#xff0c;输入命令sudo apt-get install vim安装vim&#xff0c;输入命令sudo apt-get install gcc安装gcc 3.输入命令vi hello.c进入C语言编写环境&…

Linux —— Socket编程(一)

一、本篇重点 1. 认识IP地址、端口号、网络字节序等网络编程中的基本概念 2. 学习Socket api的基本用法 3. 能够实现一个简单的udp客户端/服务器 二、基本概念 1. 理解源IP地址和目的IP地址 简单的理解&#xff0c;IP地址是用于标识一台机器的&#xff0c;我们通过IP地址去…

使用 UWA Gears 测试小游戏性能

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台&#xff0c;提供了实时监测和截帧分析功能&#xff0c;帮助您精准定位性能热点&#xff0c;提升应用的整体表现。 随着小游戏的规模和用户量持续增长&#xff0c;玩家对于小游戏的性能要求也越来越高。为了能够给玩…

力扣234 回文链表 Java版本

文章目录 题目描述代码 题目描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为 回文链表 。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true 示例 2&…

【ASE】第三课_山丘颜色梯度效果

今天我们一起来学习ASE插件&#xff0c;希望各位点个关注&#xff0c;一起跟随我的步伐 今天我们来学习山丘的颜色梯度显示&#xff0c;根据不同的高度显示不同的颜色 最终效果&#xff1a; 思路&#xff1a; 1.先加载模型的纹理贴图和法线贴图 2. 获得模型世界顶点Y向量&am…

【渗透测试】-灵当CRM系统-sql注入漏洞复现

文章目录 概要   灵当CRM系统sql注入漏洞&#xff1a;   具体实例&#xff1a;  技术名词解释  小结 概要 近期灵当CRM系统爆出sql注入漏洞&#xff0c;我们来进行nday复现。 灵当CRM系统sql注入漏洞&#xff1a; Python sqlmap.py -u "http://0.0.0.0:0000/c…