<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第1张图片


目录

摘要:

一、介绍

二、Preliminaries

2.1、CLIP

2.2、Vision-Language Understanding Tasks

三、Zero-shot VQA

3.1、A Two-Step Prompt Generation Method

Step I: Automatic Template Generation 

Step II: Answer Filtering

3.2 TAP-C Method for VQA

四、Zero-shot Cross-modality Transfer

五、Few-shot Learning for VQA

5.1 Setup of Few-shot VQA

5.2 Parameter-efficient Fine-tuning

六、Experiments

6.1 Experimental Settings

6.2 Results of Zero-shot VQA

6.3 Zero-shot Cross-modality Transfer

6.4 Results of Few-shot VQA

6.5 Analyses and Discussion

七、Related Work

八、Conclusions

附录、

Few-shot Training Procedure

Examples of Template Generation


摘要:

        CLIP在各种视觉任务中表现出非凡的zero-shot能力,以前CLIP只被认为是一个强大的视觉编码器。然而,在经过大规模图像文本对的预训练后,CLIP本身也应该具备一些视觉语言任务的few-shot能力。我们的实验表明,CLIP可以成为一个强大的视觉语言few-shot学习器,我们首先评估了CLIP在vqa任务中的zero-shot性能,并展示了CLIP在visual entailment(视觉蕴含)任务中的zero-shot跨模态迁移能力。然后,我们提出了一种参数有效的微调策略,以提高vqa任务的few-shot性能。在不引入任何预训练的情况下,在vqavisual entailment任务上取得了竞争性的zero/few-shot结果。

一、介绍

        视觉语言理解任务,如vqavisual entailment(简称ve),需要同时理解图像和语言。为了捕捉视觉和语言之间的一致性,出现很多视觉语言预训练模型。尽管这些方法性能优越,但它们广泛使用了大量人工标注训练数据,如目标检测数据集和对齐的图像-文本对。收集此类数据集需要在数据收集和人工标注方面进行大量工作,因此其规模可以达到数千万,远小于NLP预训练的互联网文本语料库。

        最近,CLIP被提出通过自然语言监督学习视觉概念,从互联网上爬取4亿对图像文本对。CLIP由一个视觉编码器和一个文本编码器组成,它通过对比损失对齐图像和文本来学习视觉表征。通过这种方式,CLIP在ImageNet等视觉基准上实现了强大的zero-shot性能,还可以作为一个强大的视觉编码器,有利于下游视觉语言任务,和以前的视觉编码器之间有两个主要区别:

  • 它是在更大但更多噪声的网络数据上训练的。
  • 它在视觉和语言之间的交互很浅(看下CLIP模型图就知道了)。

第一个特点保证了zero-shot的泛化能力,第二个特点保证了跨模态的对齐能力。CLIP强大的zero-shot能力能否迁移到视觉语言理解任务中?

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第2张图片

        为了回答上述问题,我们研究了如何将CLIP的zero-shot能力转化为VLU(视觉语言理解)任务,并进一步将CLIP转化为few-shot学习器。我们在两个VLU任务上进行了实验:1)vqa,模型需要根据图像和问题给出答案;2)ve,模型需要确定图像和文本的蕴涵关系。图1展示了两项研究任务的基本形式。

        对于zero-shot vqa任务,zero-shot能力迁移成功的关键是缩小CLIP预训练任务与vqa任务形式之间的差距(解释:因为CLIP模型预训练任务是对齐图像文本对,而vqa任务是要输出答案,两者任务形式不同)。受NLP中的few-shot最新进展的启发,我们引入两步prompt生成策略(可以先百度一下prompt方法)来解决这个问题,包括从问题到陈述的自动转换,以及填充生成性预训练T5模型的span,以获得候选答案(后文细说)

        我们通过ve任务探索了一种zero-shot跨模态迁移能力。具体来说,我们在训练期间用标题文本替换图像,只更新一个小的分类层。然后在推理时,像往常一样,我们仍然使用图像-文本对进行测试,这使我们能够研究语言和视觉表达在CLIP模型中的对齐程度(解释:假设CLIP模型已经将图像和文本完美对齐了,那就说明文本caption已经能够很好的描述图像上的内容,也就是训练的时候文本caption能够替代图像)

        在zero-shot迁移方法的基础上,我们进一步利用few-shot来提高CLIP的vqa性能。我们发现,仅优化偏差和归一化(BiNor)参数将更好地利用有限的样本,并产生比最新的few-shot冻结模型更好的结果。实验证明,CLIP是一个很好的视觉语言few-shot学习器。

  • 据我们所知,这是第一项研究如何将CLIP的zero-shot能力转化为VLU任务的工作,并确认CLIP模型可以成为优秀的few-shot学习器。
  • 验证了CLIP中的zero-shot跨模态迁移能力。
  • 为了提高CLIP的few-shot vqa性能,提出了一种参数有效的微调策略BiNor。

二、Preliminaries

2.1、CLIP

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第3张图片

        CLIP是对比语言图像预训练的缩写,通过自然语言监督学习视觉表征,如图2,包括视觉编码器V,例如ResNet和ViT,文本编码器T,例如transformer,它们分别对图像和文本进行编码,接下来是两个编码器输出之间的点积,即T(文本)·V(图像),用作输入图像和文本之间的对齐分数,通过对比损失对对齐的图像-文本对随机组合的图像-文本对进行预训练。CLIP没有进行视觉基准测试方面的训练,而是利用了4亿个网络图像-文本对的丰富的语言监督,可以在不进行特定优化的情况下执行各种图像分类任务。然而,将CLIP作为视觉语言理解模型直接应用仍然很困难。

2.2、Vision-Language Understanding Tasks

        Visual question answering. VQA要求模型根据图像输出问题的答案,我们对VQA v2进行实验,并将任务描述为一个分类问题,涉及3129个预定义的最常见答案,图像来自coco,有65种类型的问题,答案类型包括yes/no、number和other。

        Visual entailment. 与自然语言推理类似,视觉蕴涵任务预测前提和假设之间的蕴涵关系,包括蕴涵、中性和矛盾三种类别。在VL设置下,视觉蕴涵的前提是基于图像的细节,而不是自然语言推理中的文本描述。SNLI-VE数据集改编自SNLI,并用Flickr30k数据集中的图像替换了SNLI的前提。考虑到上述特点,我们在这里利用SNLI-VE数据集来验证CLIP模型的zero-shot跨模态迁移能力。zero-shot评估CLIP模型中视觉和语言表征的对齐程度。

三、Zero-shot VQA

3.1、A Two-Step Prompt Generation Method

        之前的研究发现,直接将CLIP模型应用于zero-shot VL任务是不可行的。例如,通过直接应用“问题:[问题文本],答案:[答案文本]”prompt模板,在VQA v2数据集上观察到几乎随机的zero-shot表现。在重新思考CLIP本质之后,我们可以发现,VQA任务的zero-shot能力迁移成功的关键是缓解自然语言描述和问答形式之间的差距

        受上述观察结果的启发,我们提出了一种两步自动prompt生成方法,在预训练的生成性T5模型的帮助下,在CLIP模型中实现zero-shot VQA功能。关键思想如图3所示:第一步是将问题转换为masked template \tau(就是带有mask的陈述句,为什么带有mask?因为并不知道这个问题的答案),第二步是通过语言模型过滤出不可能的答案,并获得候选答案集\nu _{F}。模板以自然的陈述句方式连接问题和答案,因此可能是VQA任务的理想prompt形式。

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第4张图片

Step I: Automatic Template Generation 

        此步骤旨在将问题转换为模板,即带有mask token的语句。为了应对转换挑战,我们探索了两种方法,包括in-context demonstration方法和基于dependency parsing的方法。

  • Demonstration to T5. 这种转换方法的思想相对简单:通过向语言模型演示问题到模板(带有[mask]标记)示例,模型可以隐式地捕获转换模式,我们为每个问题类型定义了几个示例,并根据问题类型转换问题,图3显示了一个转换示例。更多案例可在附录中找到,具体而言,我们使用T5模型,这是一个经过预训练的大型文本到文本转换器,用于问题到模板的转换。T5经过预训练,以填充句子中缺失的span(由T5特殊标记代替,例如,就是我们需要生成的陈述句)。我们将示例、问题和串联到T5,以进行条件生成以恢复它,生成的span是我们的带mask模板,名为\tau _{demo}
  • Dependency parsing. 虽然T5转换方法在大多数情况下运行良好,但它仍然面临一些覆盖范围外的问题。为了弥补这个缺点,我们转向传统的基于依赖关系解析的方法。该方法通过词性标记和分析结果将问题转换为语句,识别wh词、根词、助词或连接词,以及依赖wh词或根的介词,并根据语法规则执行转换。我们使用Stanza(Qi等人,2020年)对问题进行POS标记和解析,并将答案作为mask token。然后利用Demszky等人(2018)中的规则执行转换。我们将通过这种方式获得的模板命名为\tau_{parsing}

Step II: Answer Filtering

        按照常理,“一种花”永远不可能是花瓶。因此,利用预训练的语言模型(这些模型在预训练期间已经很好地学习了这些概念)来过滤不太可能的答案,并对最终的性能产生积极影响。给定masked模板\tau、语言模型L和答案词汇表\nu,我们得到过滤后的答案\nu _{F}为:

其中,[mask]是模板T中的答案范围,PL是语言模型的输出分布(就是将模板中的mask替换为每一个答案,输出概率最高的k个答案作为过滤后的答案集VF)。在这里,我们也将T5应用于填充答案,因为它不假设span(生成的陈述句)的长度和位置。一旦我们得到模板T和过滤后的答案VF,我们用VF中的每个答案替换模板T中的[mask]标记,以获得prompts P。

3.2 TAP-C Method for VQA

        所提出的方法遵循模板答案prompt,然后CLIP构成pipeline,因此我们将其命名为TAP-C。为了更好地利用模板\tau_{parsing}\tau _{demo},我们通过简单地设置T5生成置信度的阈值,使用两个模板的集合。我们更喜欢使用\tau _{demo},但如果生成置信度较低,则使用\tau_{parsing}。最后,给定图像i和生成的prompts P,TAP-C方法可以通过以下方式获得zero-shot VQA预测:

其中V和T是CLIP模型中的视觉和文本编码器。pv是由TAP-C方法生成的prompts(注意VF有多少个答案就有多少个prompt) ,其中masked模板中填充了过滤答案词汇表VF中的答案v。

四、Zero-shot Cross-modality Transfer

        最近经过预训练的多语言模型已被证明能够成功地在不同语言之间传递表征。例如,它们只能在源语言上进行微调,并在各种目标语言上进行评估,而无需特定的训练,但仍能获得良好的性能。另一方面,CLIP模型在图像到文本和文本到图像检索任务(Radford et al.,2021)上实现了强大的zero-shot性能,这仅通过视觉和语言表示之间的点积实现,这让我们直观地看到,CLIP模型中的两种模态非常一致。在CLIP模型中,语言和视觉之间是否有跨模态能力,就像跨语言的多语言模型一样?

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第5张图片

        为了回答上述问题,我们利用视觉蕴涵任务来探索zero-shot跨模态的性能。图4简要介绍了关键思想(注意图4上半部分是训练阶段,下半部分是推理阶段),具体来说,我们在前提和假设的融合表示上训练MLP分类器,融合函数为:

v1和v2是两个输入向量。在训练中,只使用文本caption前提和假设作为CLIP文本编码器的输入:

其中T是CLIP文本编码器,在训练期间不会更新。而pret和hypt是文本的前提和假设。然后在推理时,前提在图像中,并被输入到CLIP视觉编码器中,利用经过训练的MLP进行预测:

 其中prei是图像前提,V是CLIP视觉编码器(这里解释一下为什么训练阶段和推理阶段不一样,因为CLIP模型已经将文本和图像进行了对齐,因此经过文本编码器和图像编码器输出的文本和图像也是对齐的,所以在训练阶段用文本作为前提,推理阶段用图像作为前提,若得到不错的推理结果,则说明CLIP模型确实有对齐的能力)

五、Few-shot Learning for VQA

        在本节中,我们的目标是调查CLIP模型是否能从few-shot learning中受益,我们在视觉问答任务中研究它。

5.1 Setup of Few-shot VQA

        在这里,我们简要地定义了我们的视觉问答设置中使用的术语(可以先了解一下小样本学习)

  • Number of ways.它被定义为任务中不同的类。然而,我们没有根据答案词汇表定义3129-way的任务,而是将way的数量定义为问题类型乘以答案类型,即65×3=195-way,以确保模型在回答一类问题时的泛化能力。
  • Number of shots. 每个way不同样本数量,这里的一个shot是一张带有问题和答案的图像。
  • Support set and query set. 在训练之前,我们将从VQA v2训练集中抽取一个195-way K-shot子集,因此在few-shot learning中有195×K个不同的示例可用。在每个训练阶段,我们从195-way中选择C-way进行参数优化,并将每个way中的k个shot按一定比例划分为支持集和查询集。支持集用于模型训练,查询集用于性能评估。

 5.2 Parameter-efficient Fine-tuning

        在few-shot设置下,我们的目标是让CLIP模型学习N-way K-shot样本,并提高zero-shot VQA性能。具体而言,我们只训练了CLIP模型中非常小的一组参数(超过1亿个参数中约有30万个,详情见附录B.3),包括待优化的偏差项和归一化项。对于ResNet中的BatchNorm或Transformer中的LayerNorm,标准化可以统一表示为:

其中x和y为batch输入和输出,γ和β为学习参数。对于CLIP模型中的所有线性层,可以表示为:

 其中h和o是输入和输出向量。我们将可学习参数集定义为:

我们优化了偏置和标准化(BiNor)参数,这些参数是在每个image-prompt对的点积上使用标准交叉熵损失(公式2)。

        此外,当有几个样本可用时,我们还可以利用上下文演示方式,通过以下方式提高TAP-C中答案过滤过程的性能:

其中D表示演示。D类似于模板T,但已经填充了答案,它是从可用的几个样本中的同一类型问题中抽取的。由此产生的过滤词汇表被称为Vdemo。

六、Experiments

6.1 Experimental Settings

        Datasets. 对于视觉问答和视觉蕴涵,我们分别在VQA v2和SNLI-VE数据集上进行了实验。我们在附录A中报告了这两个数据集的统计数据。对于VQA任务的评估,我们遵循冻结模型(Tsinpoukelli等人,2021年)计算VQA v2验证集上的VQA分数。对于视觉蕴涵,我们通过sklearn计算验证集和测试集的准确性。

        CLIP models. 根据视觉编码器的类型,例如ResNet或ViT,CLIP模型有不同的变体,导致可学习的偏差和规范化参数的数量存在显著差异。我们在附录B.3中报告了CLIP变体的可学习参数数量。我们从两种视觉编码器(包括CLIP Res50x16和CLIP ViT-B\/16)中选择了两种性能最好(且可公开获得)的变体,通过应用我们的迁移方法(§3-5),对其zero-shot和few-shot视觉语言理解性能进行实证研究。

6.2 Results of Zero-shot VQA

        由于以前的VL模型严重依赖于目标检测子模块,因此在zero-shot设置下直接应用它们是不可行的。在这里,我们根据两个最新工作设置了zero-shot VL基线:

  • Frozen. Frozed(Tsinpoukelli等人,2021年)提出了一个70亿参数的32层语言模型,其中包含图像表示。它基于对齐的 image-caption数据进行训练,也是第一个显示出良好的zero-shot和few-shot VQA性能的模型。
  • Question irrelevant prompt. Shen等人(2021年)直接探索了VQA任务的CLIP模型。他们使用“问题:[问题文本]答案:[答案文本]”模板,以及图像分类来准备prompt。生成的prompt与问题无关,因此我们将此方法称为QIP。

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第6张图片

我们在表1中报告了zero-shot VQA结果。实验结果验证了我们的假设(§3.1),即应该使用CLIP的prompts来描述标签,而不是任务。正如我们所看到的,与问题无关的prompts方法只是简单地呈现了任务描述和CLIP模型的答案,并且只得到了比随机猜测更好的结果。相比之下,我们的TAP-C方法通过将问题转换为模板,并使用预训练好的语言模型过滤答案,使CLIP模型在VQA任务中具有强大的zero-shot能力,即使与参数冻结zero-shot模型相比也是如此。

6.3 Zero-shot Cross-modality Transfer

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第7张图片

        我们在表2中报告了zero-shot跨模态迁移结果。我们首先研究语言到视觉的转换能力,我们在纯文本SNLI-VE数据集上训练分类器,其中图像由其文本caption替换。在推理时,将图像和文本作为输入,对训练好的分类器进行评估。如第一组结果所示,在对文本(以caption为前提)蕴涵数据进行单独训练后,不同的CLIP变体可以在图像文本设置下成功获得类似的辨别能力。为了确保上述结果确实是从语言转移到视觉,我们在推理时通过mask掉图像进行了双重检查。如我们所见,结果类似于对三种关系的随机猜测,表明图像在跨模态评估中具有重要意义。

        既然我们已经观察到了CLIP模型中的语言到视觉转换能力,我们将进一步研究是否也存在视觉到语言转换能力。我们进行了类似的实验,但在原始SNLI-VE数据集上训练分类器,即图像前提和文本假设。在推理时,我们使用仅限文本的有效数据和测试数据来评估分类器。结果见表2,这证实了语言能力的愿景。由于文本数据通常比视觉数据便宜得多,第一种迁移在实践中更具前景。

6.4 Results of Few-shot VQA

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第8张图片

        我们在表3中报告了few-shot VQA结果。我们以冻结的模型和被冻结的图像为基线。在不同的k下,我们的方法总是能够从有限的训练样本中学习,并在zero-shot结果的基础上提高,这证实了CLIP模型可以成为VL few-shot学习器。随着shot次数的增加,在其他类别中观察到了显著的性能提升,这与我们的直觉一致:当我们从每种问题类型中抽取样本时,其他类别中的大多数答案不会向模型显示,因此,该模型可以随时学习改进。同样,向T5展示示例也可以改进答案过滤过程,从而比其他类别获得显著的性能提升。相比之下,当模型刚开始看到一些训练示例时,数字类别的得分显著提高,而随着k的继续增加,得分降低。

6.5 Analyses and Discussion

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第9张图片

        The effects of template generation methods. 我们的TAP-C方法使用依赖解析模板Tparsing和T5演示模板Tdemo的集成。在这里,我们研究是否有必要使用这样的集合。我们在表4中报告了两种模板的消融结果。结果表明,这两种模板对不同的问题有不同的效果,集成可以充分利用它们的优势。

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第10张图片

        The effects of two steps in TAP-C. TAP-C方法通过模板生成和答案过滤生成prompt。在这里,我们量化了每一步对最终zero/few-shot VQA性能的贡献。我们在表5中报告了消融结果。当我们删除答案过滤步骤时,zero/few-shot的表现通常都会下降20%左右,但这些模型仍然保留了一些few-shot的学习能力。我们进一步删除了模板生成步骤,只使用与问题无关的模板:所有结果几乎一分为二,这表明在zero/few-shot场景中考虑问题的重要性。

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第11张图片

        Comparisons of fine-tuning methods. 我们只在few-shot学习期间更新偏差和标准化参数。为了研究我们的BiNor微调策略是否有效,我们将BiNor与两种微调方法进行了比较:1)全微调,它更新了模型中的所有参数。2) BitFit(Ben Zaken et al.,2021),它只更新所有模型层中的偏差项。我们在表6中报告了比较结果,BiNor和BitFit的性能都明显优于完全微调方式:数百万个参数很容易过度拟合到几个训练样本中。当k很小时,BiNor和BitFit之间的性能差异非常小,当k变大时,BiNor开始以明显的优势超过BitFit。我们的BiNor微调策略与BitFit类似,但不同之处在于它还更新了规范化参数,这将赋予ResNet CLIP模型更好的灵活性,以适应新样本,因为它们的批量规范化参数较多。关于每个CLIP变体中不同参数的具体数量,请参考附录B.3。

        Limitations of TAP-C. 提出的TAP-C方法探索了CLIP模型执行zero/few-shot VQA任务的潜力。然而,我们也发现了一些限制,这些限制阻碍了进一步提高few-shot性能,这可能源于CLIP模型。首先,CLIP模型难以计算图像中细粒度对象的数量,尤其是从图像的一小部分开始计算,任何语言知识都很难改善这个缺点,此外,片段模型在区分细微语义差异方面表现不佳。例如,当被问及“背景中的人在做什么?”,所有经过实验的CLIP模型都给出了“前景中”这个人的预测。在这种情况下,即使TAP-C方法完美地将问题转化为prompt,最终结果仍然是错误的。尽管如此,我们相信通过使用更强大的文本编码器来增强CLIP模型可以很好地解决这个问题,我们将在未来的工作中进行探索。

七、Related Work

        Vision-language few-shot learning. 利用对齐的字幕数据,通过图像文本辨别丢失预训练的视觉语言模型最近在图像分类和跨模态检索任务中实现了强大的zero-shot泛化(Jia等人,2021;Radford等人,2021)。与区分方式不同,Tsinpoukelli等人(2021)以生成的方式提出了一个带有视觉前缀的大型冻结语言模型,这是第一个视觉语言few-shot模型。

        Language model prompting. 这项工作也受到语言模型prompt研究的启发(Liu等人,2021年)。由GPT系列(Radford et al.,2018,2019;Brown et al.,2020)初始化,prompt已成为从预先训练的语言模型(Petroni et al.,2019)中以zero-shot 或 few-shot way挖掘知识的流行方式(Shin et al.,2020;Gao et al.,2021;Qin和Eisner,2021)。除了从语言模型中挖掘知识外,PET work(Schick and Schütze,2021a,b)还提出了一种半监督的prompt方法,用于提高少数镜头语言理解性能。

八、Conclusions

        在这项工作中,我们实证研究了如何将CLIP模型转换为视觉语言理解任务。我们首先利用语言prompt探索了CLIP模型的zero-shot VQA能力,并进一步提出了一种参数有效的微调方法来提高few-shot性能。我们还展示了CLIP模型在视觉蕴涵任务中的zero-shot跨模态迁移能力。在VQA v2和SNLI-VE上进行的实验和分析证实,CLIP模型可以成为很好的VL few-shot学习器。

附录、

Few-shot Training Procedure

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第12张图片

 Examples of Template Generation

        在本节中,我们将展示几个模板生成示例,以说明所提出的方法是如何工作的。由于我们已经介绍了如何通过向T5演示示例将问题转换为隐藏模板,因此我们在这里直接在表12中展示了几个示例。这些例子来自五种不同的问题类型,也涵盖了三种答案类型。如表12所示,演示中的一个演示由一个问题和一个带有[mask]标记的答案组成。请注意,[mask]标记在预先训练的语言模型中只是一个占位符,而不是真正的掩码。与T5中代表损坏范围的不同,[mask]用于通知T5答案应该放在哪里。在演示中看到几个示例后,强大的T5大型模型可以捕获每种类型问题中的转换模式,并在不忽略微妙语法的情况下完美地完成大多数转换。生成masked模板后,我们可以在[mask]中填充答案词,然后进行进一步处理。yes/no类型的处理有点不同:因为它是一个二进制任务,我们直接为yes和no分别生成一个肯定prompt和一个否定prompt,而不是mask模板。

<<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment_第13张图片

你可能感兴趣的:(Visual,Question,Answering,Multi-Modal,Pretraing,计算机视觉,人工智能,transformer,深度学习)