【Image captioning】论文阅读八—ClipCap: CLIP Prefix for Image Captioning_2021

image-20240127185530171

中文标题:ClipCap: CLIP前缀用于图像描述(ClipCap: CLIP Prefix for Image Captioning)

文章目录

    • 1. 介绍
    • 2. 相关工作
    • 3. 方法
      • 3.1 综述
      • 3.2 语言模型微调
      • 3.3 映射网络架构
      • 3.4 推理
    • 4. 结果
    • 5. 结论

摘要:图像描述是视觉语言理解中的一项基础任务,模型会对给定的输入图像预测出一段文本信息性描述。本文提出了一种简单的方法来解决这个任务。我们使用CLIP编码作为描述的前缀,通过使用一个简单的映射网络,然后对语言模型进行微调以生成图像描述。最近提出的CLIP模型包含了经过文本上下文训练的丰富语义特征,使其成为最适合进行视觉语言感知的模型。我们的主要思想是,结合预训练的语言模型(GPT2),我们可以对视觉和文本数据进行全面的理解。因此,我们的方法只需要较快的训练就能产生一个有能力的图像描述模型。在没有额外注释或预训练的情况下,它能够高效生成大规模且多样化数据集的有意义的描述。令人惊讶的是,我们的方法即使只有映射网络被训练,CLIP和语言模型仍然被冻结,也能够良好地工作,这带来了更轻的架构和更少的可训练参数。通过定量评估,我们展示了我们的模型在具有挑战性的Conceptual Captions和nocaps数据集上取得了与最先进方法相当的结果,同时具备了更简单、更快速和更轻量的特点。我们的代码可在https://github.com/rmokady/CLIP_prefix_caption上找到。

1. 介绍

在图像描述任务中,目标是为给定输入图像提供一个有意义且有效的自然语言描述。这个任务面临两个主要挑战。第一个是语义理解。这涵盖了从简单任务(如检测主要对象)到更复杂任务(如理解图像中所描绘部分之间的关系)的各个方面。例如,在图1左上角的图像中,模型理解到对象是一个礼物。第二个挑战是描述同一图像的可能方式很多。在这方面,训练数据集通常会决定给定图像的首选描述方式。

image-20240127190022846

图1. 我们的ClipCap模型生成了描述相应图像的标题。这里的结果是使用Conceptual Captions数据集进行训练的模型的结果。

已经提出了许多用于图像字幕的方法[4,9,13,19,34,35,42,44,47]。通常,这些作品利用视觉提示编码器和文本解码器来生成最终字幕。从本质上讲,这导致需要弥合视觉和文本表示之间具有挑战性的差距。因此,此类模型需要大量资源。它们需要大量的训练时间、大量的可训练参数、大量的数据集,在某些情况下甚至需要额外的注释(例如检测结果),这限制了它们的实际适用性。

过长的训练时间对于需要多次训练过程的应用来说更为限制性。例如,针对多个不同数据集训练多个图像描述模型,可以为同一张图片的不同用户提供(或应用)不同的描述。另外,面对新获取的数据样本,我们期望能定期用这些新数据更新模型。因此,一个轻量级的图像描述模型更受欢迎。具体来说,如果一个模型拥有更快的训练速度和较少的可训练参数,那将特别有利,特别是在不需要额外监督的情况下。

如图2所示,我们的方法通过在CLIP嵌入上应用映射网络来为每个字幕产生前缀。该前缀是一个固定大小的嵌入序列,连接到字幕嵌入。这些被馈送到语言模型,该语言模型与映射网络训练一起沿着进行微调。在推理时,语言模型一个字接一个字地生成字幕,从CLIP前缀开始。该方案缩小了视觉和文本世界之间的上述差距,允许使用简单的映射网络。为了实现更轻的模型,我们引入了我们方法的另一种变体,其中我们只训练映射网络,而CLIP和语言模型都保持冻结。通过利用富有表现力的Transformer架构,我们成功地产生了有意义的字幕,同时施加了基本上更少的可训练参数。我们的方法受到Li等人[20]的启发,它展示了通过连接学习的前缀来有效地适应新任务的语言模型的能力。我们使用GPT-2 [30]作为我们的语言模型,它已被证明可以生成丰富多样的文本。

image-20240127191445544图2. 我们基于Transformer的架构概述,使得在CLIP和语言模型GPT-2都被冻结的情况下生成有意义的字幕。为了提取固定长度的前缀,我们训练了一个轻量级的基于Transformer的映射网络,从CLIP嵌入空间到GPT-2中的一个学习到的常量。在推理过程中,我们使用GPT-2根据前缀嵌入生成字幕。我们还提出了一种基于多层感知机(MLP)的架构,请参阅第3节了解更多细节。

由于我们的方法利用了 CLIP 丰富的视觉文本表示,因此我们的模型需要的训练时间显着缩短。例如,我们在单个 Nvidia GTX1080 GPU 上对海量概念字幕数据集的 300 万个样本训练模型 80 小时。尽管如此,我们的模型可以很好地推广到复杂的场景,如图 1 所示(例如,日落时分在海滩上练习瑜伽)。我们广泛评估我们的方法,展示成功的现实且有意义的字幕。尽管我们的模型需要更少的训练时间,但它仍然在具有挑战性的 Conceptual Captions [33] 和 nocaps [1] 数据集上取得了与最先进的方法相当的结果,并且对于更受限制的 COCO [7, 22 ] 基准。此外,我们还对所需的前缀长度和微调语言模型的效果进行了彻底的分析,包括对我们生成的前缀的解释。总的来说,我们的主要贡献如下:

  • 我们采用了一种轻量级的图像描述方法,该方法同时利用预训练且冻结的模型进行视觉和文本处理。
  • 即使在对语言模型进行微调时,我们的方法也更为简洁、训练速度更快,并且在极具挑战性的数据集上展现出与最先进水平相当的结果。

2. 相关工作

近期,Radford等人[29]提出了一种名为CLIP的新方法,用于同时表示图像和文本描述。CLIP包含两个编码器,一个针对视觉线索,一个针对文本。它通过无监督对比损失在超过4亿个图像-文本对上进行了训练,从而得到了丰富的语义潜空间,共享了视觉和文本数据。许多工作已经成功地使用了CLIP来处理需要理解辅助文本的计算机视觉任务,如基于自然语言条件生成或编辑图像的任务[5,14,28]。在本文中,我们利用强大的CLIP模型来进行图像字幕生成。需要注意的是,我们的方法不使用CLIP的文本编码器,因为输入没有文本,输出的文本是由语言模型生成的。通常,图像字幕生成模型首先将输入像素编码为特征向量,然后用于生成最终的单词序列。早期的方法利用从预训练分类网络中提取的特征[6,9,13,42],而后来的方法[4,19,47]则利用了对象检测网络的更具表达力的特征[31]。尽管预训练的对象检测网络适用于流行的COCO基准测试集[7,22],但对于其他数据集来说并非如此。这意味着大多数方法需要额外的对象检测注释以在新的和多样化的数据集上运行。为了进一步利用视觉线索,通常使用注意机制[4,6,42]来关注特定的视觉特征。此外,最近的模型应用了自注意力机制[16,43]或使用了一个具有表达力的视觉Transformer作为编码器[12,23]。我们的工作使用了CLIP的表达力嵌入来进行视觉表示。由于CLIP是在大量图像上进行训练的,因此我们可以在任何一组自然图像上操作,而不需要额外的注释。

为了生成字幕本身,我们使用了文本解码器。早期的方法使用了LSTM的变体[8,38,39],而最近的方法[16,26]采用了改进的Transformer结构[36]。在Transformer上构建的最显著的工作之一是BERT[11],它展示了这种新引入的范式的优势。使用这种范式,语言模型首先在大规模数据集上进行预训练,以解决辅助任务。然后,在具体的任务上对模型进行微调,使用额外的监督信息。由于我们的视觉信息位于前缀中,我们使用了一个强大的自回归语言模型GPT-2[30]。考虑到训练损失项,早期的工作采用有效交叉熵,而当代方法也应用自我批评序列训练[15,32,45]。也就是说,一个额外的训练阶段来优化 CIDEr 指标。我们故意避免这种优化,以保留快速训练过程。

最近与我们的工作最接近的是那些利用视觉和语言预训练来创建视觉和文本共享潜在空间的研究[19,25,35,46,47]。周等人[47]使用从对象检测器提取的视觉标记作为标题标记的前缀,整个模型通过BERT[11]架构进行预训练以执行预测。李等人[19]和张等人[46]也采用了BERT,但需要额外的对象标签监督,因此这些方法仅限于拥有此类对象检测器或注释的数据集。王等人[40]的方法缓解了对补充注释的需求,但仍需进行大量的图像-文本对预训练过程,导致训练时间较长。这种详尽的预训练步骤是必需的,以弥补语言和视觉联合表示的缺失,而我们通过采用CLIP自然而得到这种联合表示。

3. 方法

我们从问题陈述开始。给定一个由图像和标题成对组成的数据集 { x i , c i } i = 1 N \{x^i,c^i\}_{i=1}^N {xi,ci}i=1N,我们的目标是学习为未见过的输入图像生成有意义的标题。我们可以将标题表示为一系列标记 c i = c 1 i , … , c ℓ i c^{i}=c_{1}^{i},\ldots,c_{\ell}^{i} ci=c1i,,ci,其中我们将标记设置为最大长度时进行填充。我们的训练目标如下:
max ⁡ θ ∑ i = 1 N log ⁡ p θ ( c 1 i , … , c ℓ i ∣ x i ) , ( 1 ) \max_{\theta}\sum_{i=1}^{N}\log p_{\theta}(c_{1}^{i},\ldots,c_{\ell}^{i}|x^{i}),\quad\quad(1) θmaxi=1Nlogpθ(c1i,,cixi),(1)
在该目标函数中,模型参数 θ θ θ通过训练得到优化,利用强大的语义嵌入工具CLIP所提取的核心视觉数据作为约束条件。类似最近的研究[47]做法,我们把这一约束视为待生成标题的起始部分——即标题的前缀。鉴于前缀已包含了生成后续文本所需的全部语义信息,我们采用自回归语言模型,在不考虑后续标记的情况下逐个预测下一个标记,从而形成了我们的学习目标:
max ⁡ θ ∑ i = 1 N ∑ j = 1 ℓ log ⁡ p θ ( c j i ∣ x i , c 1 i , … , c j − 1 i ) ( 2 ) \max_\theta\sum_{i=1}^N\sum_{j=1}^\ell\log p_\theta(c_j^i|x^i,c_1^i,\ldots,c_{j-1}^i)\quad\quad(2) θmaxi=1Nj=1logpθ(cjixi,c1i,,cj1i)(2)

3.1 综述

我们方法的一个示例在图2中给出。我们使用GPT-2(大型)作为我们的语言模型,并利用其分词器将标题投射为一系列嵌入。为了从图像 x i x_i xi 中提取视觉信息,我们采用预训练的CLIP [29]模型的视觉编码器。接下来,我们采用一个轻量级映射网络 F F F,将CLIP嵌入映射到 k k k个嵌入向量:

p 1 i , … , p k i = F ( CLIP ( x i ) ) . ( 3 ) p_1^i,\ldots,p_k^i=F(\text{CLIP}(x^i)).\quad\quad\quad(3) p1i,,pki=F(CLIP(xi)).(3)
其中每个向量 p j i p_{j}^i pji的维度与一个词嵌入的维度相同。然后,我们将获得的视觉嵌入与标题 c i c^i ci的嵌入进行连接:
Z i = p 1 i , … , p k i , c 1 i , … , c ℓ i . ( 4 ) Z^i=p_1^i,\ldots,p_k^i,c_1^i,\ldots,c_\ell^i.\quad\quad(4) Zi=p1i,,pki,c1i,,ci.(4)
在训练阶段,我们将语言模型输入前缀与标题的拼接结果 { Z i } i = 1 N \{Z^i\}_{i=1}^N {Zi}i=1N。我们的训练目标是以自回归方式预测基于前缀的标题标记。为此,我们使用简单而有效的交叉熵损失来训练映射组件 F F F
L X = − ∑ i = 1 N ∑ j = 1 ℓ log ⁡ p θ ( c j i ∣ p 1 i , … , p k i , c 1 i , … , c j − 1 i ) . (5) \mathcal{L}_X=-\sum_{i=1}^N\sum_{j=1}^\ell\log p_\theta(c_j^i|p_1^i,\ldots,p_k^i,c_1^i,\ldots,c_{j-1}^i).\text{(5)} LX=i=1Nj=1logpθ(cjip1i,,pki,c1i,,cj1i).(5)
我们现在讨论我们方法的两个变体及其影响。针对语言模型的额外微调。

3.2 语言模型微调

我们在训练过程中的主要挑战是将CLIP和语言模型的表示进行转换。尽管这两个模型都能够产生丰富多样的文本表示,但它们的潜空间是独立的,因为它们没有进行联合训练。此外,每个图像字幕数据集都包含不同的风格,这对于预训练的语言模型可能不是自然的。因此,我们建议在映射网络的训练过程中对语言模型进行微调。这为网络提供了额外的灵活性并产生更具表现力的结果。

然而,对语言模型进行微调会自然地增加可训练参数的数量。因此,我们提出了我们方法的另一种变体,在训练过程中保持语言模型不变。我们对冻结的语言模型进行调整的尝试受到了Li和Liang的工作[20]的启发。在他们的工作中,他们通过只学习前缀来使这种预训练模型适应新的任务。这个前缀会在标准训练过程中自动优化,以引导语言模型朝着新的目标前进。按照这个方法,我们建议避免对语言模型进行微调,以实现更轻量级的模型,只训练映射网络。正如第4节所介绍的,我们的模型不仅能够产生逼真而有意义的字幕,而且在某些实验中,甚至可以在不微调语言模型的情况下实现更好的结果。请注意,微调CLIP并不会提高结果的质量,但会增加训练时间和复杂性。因此,我们推测CLIP空间已经包含了所需的信息,并且将其调整为特定风格并不会增加灵活性。

3.3 映射网络架构

我们的关键组件是映射网络,它将CLIP嵌入转换到GPT-2的空间中。当同时微调语言模型时,映射任务变得不那么复杂,因为我们能够轻松地控制这两个网络。因此,在这种情况下,我们可以采用一个简单的多层感知机(MLP)。由于CLIP预训练的目标是视觉-语言统一,即使只使用单个隐藏层,我们也已经实现了生成真实且有意义的标题。

然而,当语言模型被冻结时,我们建议采用更具表现力的Transformer架构[36]。Transformer能够在全球范围内对输入令牌之间实现注意力机制,并且在处理长序列时减少了参数数量。正如第4部分所示,这使得我们可以通过增加前缀大小来改善结果。我们为Transformer网络提供两个输入:CLIP的视觉编码和一个学习得到的常量输入。这个常量有两个作用,首先,通过多头注意力从CLIP嵌入中提取有意义的信息;其次,它学会调整固定的语言模型以适应新的数据。这一点在第4部分得到了验证,在该部分我们提供了生成前缀的可解释性。可以看出,当语言模型固定时,Transformer映射网络学习了一组精细的、不具备文本意义的嵌入。这些嵌入经过优化以驯服语言模型。

3.4 推理

在推理阶段,我们使用CLIP编码器和映射网络 F F F从输入图像 x x x中提取视觉前缀。我们开始基于视觉前缀生成标题,并在语言模型输出的指导下逐个预测下一个标记。对于每个标记,语言模型会输出词汇表中所有标记的概率,这些概率将通过贪心方法或束搜索来确定下一个要生成的标记。

4. 结果

数据集。我们使用了COCO-captions [7,22]、nocaps [1]和Conceptual Captions [33]数据集。我们按照Karpathy等人的方法[17]将前者进行了拆分,训练集包含120,000张图像和每张图像5个标题。由于COCO只包含80类,nocaps数据集被设计用于衡量对未见过的类别和概念的泛化能力。它只包含验证集和测试集,训练过程使用的是COCO数据集本身。nocaps数据集分为三个部分:域内包含只包含COCO类别的图像,近域包含COCO和新颖类别的图像,域外只包含新颖类别的图像。正如Li等人建议的[19],我们只使用验证集评估模型。尽管有些方法使用了新颖类别的对象标签,但我们只考虑无额外监督的设置,因为我们发现这在实践中更适用。因此,我们没有采用约束束搜索的方法[2]。Conceptual Captions数据集包含了300万对图像和标题,从网络上收集并进行后处理。由于图像和标题的样式更加多样化,并且不限于特定类别,因此这个数据集被认为比COCO更具挑战性。为了关注概念,数据集中的特定实体被替换为一般概念。例如,在图1中,人名被替换为"政治家"。我们使用验证集进行评估,其中包含12.5K张图像,因为测试集不对公众开放。因此,我们没有在验证集上进行验证。

基准方法。我们所提出的方法与当前最先进的几项工作进行了比较,其中包括Li等人[19](即Oscar模型)、视觉-语言预训练模型(VLP)[47]以及Anderson等人[4]的卓越工作(标记为BUTD)。这些模型首先都采用目标检测网络[31]生成视觉特征。其中,BUTD模型运用LSTM来生成图像的描述,而VLP和Oscar则采用了类似BERT[11]训练方式的Transformer结构。VLP和Oscar两者都经过了在数百万对图像-文本数据上的大规模预训练过程。特别地,相比于我们的设置,Oscar[19]还使用了额外的监督信息,即为每张图像提供对象标签。

我们的默认配置使用Transformer映射网络,没有对语言模型进行微调,称为Ours; Transformer。此外,我们还评估了使用MLP映射网络并对语言模型进行微调的变体,称为Ours; MLP + GPT2 tuning。其他配置在表1(D)中进行了评估。定量评估。在具有挑战性的Conceptual Captions数据集上的定量结果见表1(A)。

image-20240127212520205

评估指标。与 Li 等人[19]类似,我们使用通用指标 BLEU [27]、METEOR [10]、CIDEr [37] 和 SPICE [3] 在 COCO 数据集上验证我们的结果,并使用 CIDEr 和 SPICE 在 nocaps 数据集上验证我们的结果。对于概念字幕,我们按照作者 [33] 的建议报告了 ROUGE-L [21]、CIDEr 和 SPICE。

此外,我们测量训练时间和可训练参数的数量,以验证我们方法的适用性。减少训练时间可以快速获得新数据的新模型,创建模型集合并降低能耗。与其他工作类似,我们报告以 GPU 小时为单位的训练时间以及所使用的 GPU 模型。可训练参数的数量是衡量模型可行性的常用指标。

定量评估。具有挑战性的Conceptual Captions数据集的定量结果如表1(A)所示。可以看出,我们超越了VLP的结果,同时需要更少的训练时间。我们注意到,我们的轻量级模型,即不微调GPT-2的模型,对于这个数据集实现了较差的结果。我们假设由于样式的大量变化,比我们的轻量级模型更具表现力的模型是必需的,这会导致显著较低的参数数量。我们只与VLP进行比较,因为其他基线还没有发布此数据集的结果或训练模型。

表1(B)展示了nocaps数据集的结果,我们在这里取得了与最先进方法Oscar相当的结果。可以看出,Oscar实现了稍微更好的SPICE分数,而我们实现了稍微更好的CIDEr分数。尽管如此,我们的方法使用了更少的训练时间和可训练参数,并且不需要额外的对象标签,因此在实践中更加有用。

表1(C)展示了COCO数据集的结果。Oscar达到了最好的结果,但是它使用了形式为对象标签的额外输入。我们的结果接近于VLP和BUTD,它们使用了更多的参数和训练时间。请注意,VLP和Oscar的训练时间不包括预训练步骤。例如,VLP的预训练需要在Conceptual Captions上进行1200个GPU小时的训练。

Conceptual Captions和nocaps都旨在建模比COCO更多样化的视觉概念。因此,我们得出结论,我们的方法更适用于通过快速训练过程对多样化数据进行泛化。这源于利用了CLIP和GPT-2已经丰富的语义表示能力。

image-20240127212941578

定性评估。我们在Conceptual Captions和COCO数据集的测试集中呈现了未经筛选的前几个示例的视觉结果,如图3和图4所示。可以看出,我们生成的说明对于两个数据集都是有意义的,成功地描绘了图像。我们在图1中还呈现了从网上收集的其他示例。可以看出,我们的Conceptual Captions模型对任意未见的图像具有良好的泛化能力,因为它是在大量多样的图像上进行训练的。我们还在图5中呈现了针对智能手机图像的结果,以进一步展示对新场景的泛化能力。此外,我们的模型在仅在COCO上进行训练时,成功识别出了不常见的物体。例如,如图3所示,我们的方法比Oscar更好地识别出了木质勺子或带蜡烛的蛋糕,因为CLIP是在多样的图像上进行的预训练。然而,我们的方法在某些情况下仍然失败,比如在图3中的火车旁边识别自行车。这是因为CLIP模型本身并没有察觉到自行车。我们得出结论,我们的模型在改善CLIP物体检测能力方面将受益,但将此视为未来工作的方向。对于Conceptual Captions,我们的方法主要产生准确的说明,如图4中绿色的3D人物。如预期的那样,我们的方法仍然受到数据偏差的影响。例如,对于图4中的卧室图像,它将其描述为“该物业的市场价值为1英镑”,这是因为在训练过程中曾见过此类物业广告的解说。

image-20240127213345378

image-20240127213410709

语言模型微调。正如第3节所述,对语言模型进行微调会得到一个更加富有表达力的模型,但同时也更容易出现过拟合问题,因为可训练参数的数量增加了。如表1所示,包含和不包含语言模型微调的两个变体是可比较的。在复杂的Conceptual Captions数据集上,我们通过微调获得了更好的结果。而在流行的COCO数据集上,避免微调可以获得更好的结果。关于nocaps数据集,结果大致相等,因此较轻量级的模型更可取。因此,我们猜测非常精细的数据集或者呈现出独特风格的数据集需要更高的表达能力,因此更有可能从微调中受益。

前缀可解释性。为了进一步理解我们的方法和结果,我们建议将生成的前缀解释为一个词序列。由于前缀和词嵌入共享相同的潜在空间,因此可以进行类似的处理。我们将 k k k个前缀嵌入的解释定义为在余弦相似度下最接近的词汇标记。图6显示了一些图片的示例,以及生成的标题和其前缀的解释。当同时训练映射网络和GPT-2时,解释是有意义的。在这种情况下,解释包含与图像内容相关的显著单词,例如第一个示例中的摩托车和展示柜。然而,当我们只训练映射网络时,解释变得基本上无法阅读,因为网络还负责操作固定的语言模型。实际上,对于相同模型的不同图像,前缀嵌入的相当一部分是共享的,因为它执行相同的调整操作到GPT-2上。

image-20240127213653148前缀长度。Li和Liang[20]表明,增加前缀长度(在一定值范围内)可以提高模型在底层任务中的性能。此外,饱和长度在不同任务之间可能有所不同。对于图像字幕任务,我们使用COCO数据集对前缀长度进行了消融实验,涵盖了我们的方法的两个配置:Ours; TransformerOurs; MLP + GPT2 tuning。结果如图7所示。对于每个前缀大小和配置,我们在训练集和测试集上训练网络5个时代,并报告BLEU@4和CIDEr分数。

image-20240127213751816

如图7a所示,当允许调优语言模型的同时增加前缀长度,会导致对训练集过拟合,原因是可训练参数的数量很大。然而,当语言模型被冻结时,我们在训练和测试评估中都会有改善,如图7b所示。当然,非常小的前缀长度会导致结果较差,因为模型表达能力不够。此外,我们指出,MLP架构在本质上更有限,因为它无法扩展到较长的前缀。例如,前缀长度为40意味着网络具有超过45亿个参数,这对于我们的单GPU设置来说是不可行的。Transformer架构允许在只增加少量参数的情况下增加前缀长度,但由于注意力机制的二次存储成本,仅限于80。

Mapping网络。通过表1(C),(D)中的消融研究,我们展示了Mapping网络架构的结果。可以看出,在语言模型微调下,MLP取得了更好的结果。然而,当语言模型被冻结时,Transformer表现更为优越。我们得出结论,当采用语言模型的微调时,Transformer结构的表达能力是不必要的。

实现细节。对于MLP Mapping网络,我们使用了 K = 10 K = 10 K=10的前缀长度,其中MLP包含了一个隐藏层。对于Transformer Mapping网络,我们将CLIP嵌入设置为 K = 10 K = 10 K=10个常数标记,并且使用了8个多头自注意力层,每个层有8个头。我们使用批大小为40进行10个epoch的训练。在优化方面,我们使用AdamW [18]优化器,并设定权重参数。

5. 结论

总体而言,我们基于CLIP的图像字幕生成方法简单易用,不需要额外的注释,并且训练速度更快。尽管我们提出了一个更简单的模型,但它在数据集更加丰富多样时展现了更多的优点。我们认为我们的方法是新一代图像字幕生成范式的一部分,注重利用现有模型,仅训练一个最小的映射网络。这种方法实质上学习了如何将预训练模型对语义的现有理解适应目标数据集的风格,而不是学习新的语义实体。我们相信在不久的将来,利用这些强大的预训练模型的方法将会受到更多关注。因此,了解如何利用这些组件具有很大的研究价值。未来的工作中,我们计划在其他具有挑战性的任务中(如视觉问答或图像到3D转换)结合预训练模型(如CLIP),通过使用映射网络来应用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

黑群晖屏蔽更新

黑群晖屏蔽更新 修改Host删除控制面板的红点和更新提示 修改Host ssh连接群晖后执行以下命令 sudo vim /etc/hosts按i键进入编辑模式 光标移动定位到最后一行后追加以下两行 127.0.0.1 update.synology.com 127.0.0.1 update7.synology.com按esc键,然后输入:wq并…

Nginx进阶篇【四】

Nginx进阶篇【四】 六、Nginx负载均衡6.1.负载均衡概述6.2.负载均衡的原理及处理流程6.3.负载均衡的作用6.4.负载均衡常用的处理方式6.4.1.方式一:用户手动选择6.4.2.方式二:DNS轮询方式6.4.2.1.DNS6.4.2.2.为某一个域名添加的IP地址,用2台服务器来做负载均衡6.4.2.…

ROS2学习笔记(0)开坑声明

0.前提 在做racecar的过程中发现已经有不少的开发者和公司开始从ros1转向ros2的怀抱了,刚好寒假在家,我就顺带试试看能不能学点ros2,刚好我有两辆车和主板可以双线开工(是的,全是老师们赞助的,真的我哭死&…

Java面试题之序列化和反序列化

Java面试题之序列化和反序列化 文章目录 Java面试题之序列化和反序列化序列化和反序列化什么是序列化?什么是反序列化?如果有些字段不想进行序列化怎么办?常见序列化协议有哪些?为什么不推荐使用 JDK 自带的序列化? 文章来自Java Guide 用于…

Python初学者学习记录——python基础综合案例:数据可视化——地图可视化

一、基础地图使用 1、基础地图演示 2、基础地图演示——视觉映射器 from pyecharts.charts import Map from pyecharts.options import VisualMapOpts# 准备地图对象 map Map() # 准备数据 data [("北京市", 99),("上海市", 199),("湖南省", 2…

stable-diffusion-webui 汉化(中文界面)

大家好,我是水滴~~ 本文主要介绍 Stable Diffusion WebUI 是如何汉化的,文章详细的介绍汉化过程,并加上配图能够清晰的展示该过程。 Stable Diffusion WebUI 官方并没有出中文界面,需要通过安装插件来汉化,下面是详细…

MySQL-进阶-SQL优化

一、insert优化 插入大量数据 二、主键优化 1、数据组织方式 2、页分裂 3、页合并 4、逐渐设计原则 三、order by优化 四、group by优化 五、limit优化 六、count优化 七、update优化

3 JS类型 值和变量

计算机对value进行操作。 value有不同的类型。每种语言都有其自身的类型集合。编程语言的类型集是该编程语言的基本特性。 value需要保存一个变量中。 变量的工作机制是变成语言的另一个基本特性。 3.1概述和定义 JS类型分为: 原始类型和对象类型。 原始类型&am…

react实现滚动到顶部组件

新建ScrollToTop.js import React, { useState, useEffect } from react; import ./ScrollToTop.css;function ScrollToTop() {const [isVisible, setIsVisible] useState(true);// Show button when page is scorlled upto given distanceconst toggleVisibility () > {…

【K12】运用tk控件演示欧姆定律串联电阻小应用

上述代码是一个基于Python的图形用户界面(GUI)应用程序,用于演示欧姆定律。用户可以通过输入电阻值来计算电流,并在图形上显示结果。该程序使用了Tkinter库来创建GUI,matplotlib库来绘制图形,以及numpy库进…

docker 构建应用

docker 应用程序开发手册 开发 docker 镜像 Dockerfile 非常容易定义镜像内容由一系列指令和参数构成的脚本文件每一条指令构建一层一个 Dockerfile 文件包含了构建镜像的一套完整指令指令不区分大小写,但是一般建议都是大写从头到尾按顺序执行指令必须以 FROM 指…

大型语言模型 (LLM)全解读

一、大型语言模型(Large Language Model)定义 大型语言模型 是一种深度学习算法,可以执行各种自然语言处理 (NLP) 任务。 大型语言模型底层使用多个转换器模型, 底层转换器是一组神经网络。 大型语言模型是使用海量数据集进行训练…

P1042 [NOIP2003 普及组] 乒乓球 Java版最简单题解!

为什么说最简单,因为本人就是一个算法小白,只学过一点数据结构,打算备战蓝桥杯的,网上说备战蓝桥杯就去刷洛谷,早有听闻洛谷很难,今天一看算是真的被打醒了,对于小白是真的太难了。(;༎ຶД༎ຶ…

uni-app 微信小程序之红包雨活动

文章目录 1. 页面效果2. 页面样式代码 1. 页面效果 GIF录屏有点卡&#xff0c;实际比较丝滑 每0.5s掉落一个红包控制4s后自动移除红包点击红包消除红包&#xff08;或者自行1&#xff0c;或者弹窗需求&#xff09; 2. 页面样式代码 <!-- 红包雨活动 --> <template>…

拦截器的简单使用

拦截器的简单使用 拦截器的使用创建拦截器preHandle 目标方法执行前执行postHandle 目标方法执行后执行afterCompletion 视图渲染后执行 拦截器使用场景返回值注册拦截器运用拦截器 拦截器的使用 创建拦截器 首先,我们需要创建一个拦截器器的类,并且需要继承自HandlerIntercep…

Linux系统优化要义

这里不敢说 linux优化奥义&#xff0c;主要是本文比较浅显&#xff0c;适合普通开发相关人员去读 linux作为服务器系统的王者&#xff0c;以稳定性著称&#xff0c;但对于不同的“应用场景”&#xff0c;相关配置还需调整&#xff0c;才能保证业务稳定性。以下是相关总结 IO优…

快快销ShopMatrix 分销商城多端uniapp可编译5端-代理商收益管理:差价奖励和销售额统计

代理商收益管理是一种针对代理商的利润分配模式&#xff0c;主要通过差价奖励和销售额统计来实现。这种模式的核心思想是通过激励代理商的销售行为&#xff0c;提高代理商的积极性和销售效率&#xff0c;从而实现整个销售网络的增长。 差价奖励是代理商收益管理中的一种常见方…

兄弟DCP-7057黑白激光多功能一体机加粉后清零方法

硒鼓加粉机器上清零&#xff0c;方法如下&#xff1a; 打开安装硒鼓的前盖。按“清除”键&#xff0c;显示“更换硒鼓”。不用管提示&#xff0c;接着按“启用Start”&#xff0c;再按“”&#xff0c;屏幕上显示“01”。继续按“”&#xff0c;直到屏幕上显示“11”。按“OK”…

E5071C 是德科技网络分析仪

181/2461/8938产品概述&#xff1a; E5071C ENA 矢量网络分析仪&#xff0c;9 kHz 至 20 GHz&#xff0c;配有增强型 TDR 测量选件。 E5071C 是大规模无源元器件测试的理想解决方案。 它具有出色的测量性能&#xff0c;有助于提高测试吞吐量&#xff0c;尤其是与 E5092A 多端…

Discuz论坛搭建:Linux宝塔面板一键部署,固定地址畅享公网访问

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 安装基础环境二. 一键部署Discuz三. 安装cpolar工具四. 配置域名访问Discuz…