【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),通过使用映射网络来应用。

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

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

相关文章

函数入门.

函数入门 1. 初识函数2. 函数的参数2.1 参数2.2 默认参数2.3 动态参数 3. 函数返回值总结作业 1. 初识函数 函数到底是个什么东西? 函数,可以当做是一大堆功能代码的集合。 def 函数名():函数内编写代码......函数名()例如: # 定义名字叫in…

【Axure高保真原型】可视化环形图

今天和大家可视化环形图的原型模板,,包括4种效果,移入变色在环形中部显示数据、移入变色在标签弹窗显示数据、移入放大在环形中部显示数据、移入放大在标签弹窗显示数据。这个原型是用Axure原生元件制作的,所以不需要联网或者调用…

项目中从需求分析到研发上线

一、背景 应用系统从设想到需求到研发到上线会经历一些列工程化过程。比如经典的瀑布模型工作流,其实就是一个经过很多经验总结下来的工程方法。本节阐述项目中从需求到研发上线的过程。但是也有些根据不同的行业,不同的公司,不同管理者的风…

Spring Boot使用AOP

一、为什么需要面向切面编程? 面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,如果采用面向对象编程的方法&…

记录浏览器能打开github.com,android studio无法拉取github项目,并且ping github.com也拼不通的问题

问题: Android studio编译flutter工程突然碰上如下问题: 在浏览器打开该地址能正常打开,尝试ping: 解决方式 通过搜索,查到如下办法: 1、首先在ipaddress.com中查询github.com域名的固定ip地址&#xff…

LLM之RAG实战(二十一)| 使用LlamaIndex的Text2SQL和RAG的功能分析产品评论

亚马逊和沃尔玛等电子商务平台上每天都有大量的产品评论,这些评论是反映消费者对产品情绪的关键接触点。但是,企业如何从庞大的数据库获得有意义的见解? 我们可以使用LlamaIndex将SQL与RAG(Retrieval Augmented Generation&#x…

【Go】Channel底层实现 ②

文章目录 channel底层实现channel发送、接收数据有缓冲 channelchannel 先写再读channel 先读再写(when the receiver comes first) 无缓冲channelchannel存在3种状态: channel底层实现 // channel 类型定义 type hchan struct {// channel 中的元素数量, lenqcoun…

【vue3源码】vue源码探索之旅:项目介绍

简言 记录下我眼中的vue源码项目。 gitHubvue3项目仓库 项目要求: vue版本 3.4.15nodeV18.12.0以上使用pnpm包管理器vitest测试框架Vue3 vue3是渐进式JavaScript框架,易学易用,性能出色,适用场景丰富的 Web 前端框架。 Vue 是一个框架,也是一个生态。其功能覆盖了大部分…

解决 github.com port 443: Timed out 的问题

国内访问github.com总是那么不竟如人意,时而无法加载网页,时而等我们抽完了一根烟后,它还处于转圈的状态。 虽然国内有gitee.com等诸多的代码托管平台,但却鲜有国人愿意去呢?其中的缘由,想必也不用我多说&a…

openssl3.2 - 测试程序的学习 - test\aesgcmtest.c

文章目录 openssl3.2 - 测试程序的学习 - test\aesgcmtest.c概述笔记能学到的流程性内容END openssl3.2 - 测试程序的学习 - test\aesgcmtest.c 概述 openssl3.2 - 测试程序的学习 aesgcmtest.c 工程搭建时, 发现没有提供 test_get_options(), cleanup_tests(), 需要自己补上…

Strassen矩阵乘法的C语言算法实现

矩阵乘法是高等代数中的重要基本运算,本文将介绍Strassen矩阵乘法的基本原理和用C语言进行算法实现的过程。 1. 一般矩阵乘法 首先,我们来看一下一般矩阵乘法的计算过程。 矩阵 A [ a 11 a 12 … a 1 n a 21 a 22 … a 2 n … … … … a n 1 a n 2 …

【算法】观光(求次短路,Dijkstra)

题目 “您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。 比荷卢经济联盟有很多公交线路。 每天公共汽车都会从一座城市开往另一座城市。 沿途汽车可能会在一些城市(零或更多)停靠。 旅行社计划旅途从 S 城市出发,到 F 城市结…

美赛注意事项

2024年1月27日 : 赖维杰 同学分享 1、最后的展现必须要漂亮(绘图、呈现) 李维情 西北建模王 论文位(核心)必须清楚建模位、编程位知道做了些什么 常见模型: 1、看真题,读往年论文,选…

在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通

目录 博客前言 一.创建springboot项目 新建项目 选择创建类型​编辑 测试 二.集成达梦数据库 添加达梦数据库部分依赖 添加数据库驱动包 配置数据库连接信息 编写测试代码 验证连接是否成功 博客前言 随着数字化时代的到来,数据库在应用程序中的地位越来…

pytorch-metric-learning度量学习工具官方文档翻译

基于Pytorch实现的度量学习方法 开源代码:pytorch-metric-learning官网文档:PyTorch Metric Learning官方文档 度量学习相关的损失函数介绍: 度量学习DML之Contrastive Loss及其变种度量学习DML之Triplet Loss度量学习DML之Lifted Structu…

RDMA vs InfiniBand 网卡接口如何区分?

(该架构图来源于参考文献) 高性能计算网络,RoCE vs. InfiniBand该怎么选? 新 RoCEv2 标准可实现 RDMA 路由在第三层以太网网络中的传输。RoCEv2 规范将用以太网链路层上的 IP 报头和 UDP 报头替代 InfiniBand 网络层。这样,就可以在基于 IP…

Android (6) 弹窗 onJsAlert,onJsConfirm,onJsPrompt

目录 1 网页的3种弹窗 1.1 Alert警示弹窗 1.2 Confirm确认弹窗 1.3 Prompt输入弹窗 2 WebView支持弹窗 2.1 onJsAlert 2.2 onJsConfirm 2.3 onJsPrompt AndroidApp内嵌一个WebView用于承载网页,WebView会监听拦截网页的3种弹窗(Alert,Confirm,Prompt),如果不做任何处理…

Java算法---递归算法基础介绍

目录 一、递归算法 二、递归算法的典型例子 (1)阶乘 (2)二分查找 (3)冒泡排序 (4)插入排序 一、递归算法 计算机科学中,递归是一种解决计算问题的方法。其中解决方案…

GM/T 0018-2012 设备接口描述笔记

GM/T 0018-2012 设备接口描述笔记 文章目录 GM/T 0018-2012 设备接口描述笔记6. 设备接口描述6.1 密码设备应用接口在公钥密码基础设施应用技术体系框架中的位置6.2 设备管理类函数6.3 密钥管理类函数6.4 非对称算法运算类函数6.5 对称算法运算类函数6.6 杂凑运算类函数6.7 用户…

ServletResponse接口

ServletResponse接口 ServletContext接口向servlet提供关于其运行环境的信息。上下文也称为Servlet上下文或Web上下文,由Web容器创建,用作ServletContext接口的对象。此对象表示Web应用程序在其执行的上下文。Web容器为所部署的每个Web应用程序创建一个ServletContext对象。…