论文信息

题目:Disentangled Prompt Representation for Domain Generalization
基于解耦提示表示的域泛化方法

论文创新点

  1. 文本引导的视觉提示调优框架:本文提出了一种新颖的文本特征引导的视觉提示调优框架,通过大语言模型(LLM)自动解耦文本提示,并利用解耦的文本特征引导域不变的视觉表示学习。

  2. 域特定原型学习(DSPL):为了充分利用域特定信息,本文设计了域特定原型学习机制。该机制为每个域中的每个类别学习一个原型,并在推理过程中选择合适的域特定原型进行分类。

  3. GPT辅助的文本解耦:本文利用GPT-3生成细粒度的域不变和域特定描述,并通过这些描述指导文本和视觉特征的学习。

  4. 解耦表示学习的端到端框架:本文提出了一个端到端的解耦表示学习框架,结合了文本解耦、图像解耦和域特定原型学习。

摘要

域泛化(Domain Generalization, DG)旨在开发一个能够在未见过的目标域上表现良好的通用模型。近年来,预训练的视觉基础模型(Visual Foundation Models, VFMs),如CLIP,展示了显著提升深度模型泛化能力的潜力。尽管基于VFM的域提示调优在DG中得到了越来越多的关注,但如何有效地学习能够解耦所有域中不变特征的提示仍然是一个主要挑战。本文提出通过利用VFM的可控和灵活的语言提示来解决这一挑战。观察到VFM的文本模态本质上更容易解耦,作者引入了一种新颖的文本特征引导的视觉提示调优框架。该框架首先使用大语言模型(LLM)自动解耦文本提示,然后通过学习解耦的文本特征来引导域不变的视觉表示。此外,作者还设计了域特定原型学习,以充分利用域特定信息,结合不变特征预测进行最终推理。在主流DG数据集(PACS、VLCS、OfficeHome、DomainNet和TerraInc)上的大量实验表明,所提出的方法在性能上优于现有的最先进DG方法。

关键字

域泛化,提示调优,解耦表示,大语言模型,视觉基础模型

III. 方法

问题定义

设和分别为源域和目标域的集合。具体来说,,其中是输入空间上的分布,是源域的总数。对于每个源域,,其中每个数据样本由输入图像及其对应的标签组成。未见的目标域也可以定义为,其中目标域的数量通常在实验中设置为1。DG的目标是构建一个模型,该模型在仅使用源域数据进行训练时,能够在目标域上表现良好。主要挑战是解决源数据和目标数据之间的域分布偏移。需要注意的是,本研究在解决图像分类问题上进行了验证。

DPR方法的整体框架

如图2所示,所提出的DPR方法的整体框架包括以下模块:1)GPT辅助的文本解耦模块;2)图像解耦模块;3)相关性启发的域特定原型学习。图2(a)中的文本解耦过程涉及训练域不变和域特定文本嵌入,随后这些嵌入将作为图2(b)中图像解耦的指导。最后,在图2(c)中,域特定信息被有效利用,与域不变预测结合进行最终推理。通过这种方式,所提出的DPR方法可以通过解耦提示调优捕捉域特定和域不变信息。

预备知识

CLIP模型上的提示调优

作者采用CLIP作为预训练的视觉-语言基础模型进行提示调优。由于CLIP使用400M(图像,文本)关联对进行训练,它包含两种类型的编码器:1)视觉编码器,将输入图像映射为视觉嵌入;2)文本编码器,将文本描述映射为文本嵌入。对于基于CLIP的提示调优,它使用手工提示或可学习提示来适应预训练的CLIP模型到下游任务,同时冻结视觉和文本编码器。

对于具有个类别的下游任务,CLIP使用手工/可学习提示,表示为,用于生成其对应的文本嵌入,所有类别的文本嵌入可以表示为。给定一个图像及其对应的标签,可以通过视觉编码器获得视觉嵌入:。之后,图像的预测概率可以计算如下:

其中,作者可以将定义为对进行分类的概率集合,在公式1中表示属于第标签的概率。是控制输出锐度的超参数,是点积,可以称为余弦相似度,因为特征已归一化。结合交叉熵损失,作者可以训练CLIP模型或对其进行微调。

文本提示调优

尽管公式1可以通过使用固定的手工提示(即’a photo of a [class]')生成文本嵌入,轻松应用于零样本分类,但它无法很好地适应下游任务。因此,提出了可学习提示调优方法,通过学习一组连续向量来生成与任务相关的文本嵌入,例如CoOp。具体来说,文本编码器输入的可学习提示可以表示为:

其中是一个可学习向量,是提示维度,是提示长度,是第文本提示的类别标记。在训练期间,仅更新可学习提示,而原始视觉和文本编码器保持冻结。文本编码器的输出可以表示为。具体来说,作者采用CoOp机制来学习文本提示,使CLIP模型更好地适应下游任务。

视觉提示调优

为了微调视觉编码器,作者采用深度VPT技术,将一组可学习提示插入视觉编码器的Transformer层中。VPT使用多层Transformer来捕捉图像和文本之间的复杂关系。值得注意的是,它在每个层的输入处将可学习提示插入到patch嵌入和类别标记之间。

VPT模型将最后一个类别标记的输出连接到全连接层,并应用softmax函数生成类别概率。在训练期间,模型使用交叉熵损失来比较预测的类别概率与真实标签。它仅更新可学习提示参数,而保持预训练模型参数不变。

GPT辅助的文本解耦

为了学习解耦提示表示以进行DG,作者首先进行文本解耦,因为视觉基础模型中的文本模态本质上富含语义信息且更容易解耦。

为了实现文本解耦,作者首先采用GPT-3为每个域特定类别和特定域本身生成细粒度描述。首先,作者设计输入问题,利用以下问题格式生成细粒度描述:1)‘What does a [class] look like in [domain]’;2)‘How can you identify an [class] in [domain]’;3)‘A caption of an image of an [class] in [domain]’,以及其他一些提示:‘Please provide a detailed description of the object under this [domain] and [class]’。在生成足够数量的细粒度描述后,作者再次使用GPT-3总结和分析所有细粒度描述中的共享和共同属性,最终获得每个类别的更鲁棒和域不变的描述。同时,作者还采用GPT-3为每个域生成描述。图2展示了通过GPT-3进行文本解耦的过程。作者可以清楚地看到,通过本文方法获得的“雨伞”的域不变描述比手工描述包含更多的语义信息。

在获得每个类别的域不变描述后,作者通过CLIP的文本编码器生成每个类别的域不变嵌入。这样的域不变嵌入将作为学习域不变视觉提示的指导。具体来说,作者采用蒸馏损失如下:

是类别数量,是范数。需要注意的是,是通过原始CLIP模型获得的。为了学习域不变文本提示,作者同时优化上述知识蒸馏损失和文本与视觉嵌入之间的对比学习目标:

其中在公式5中表示one-hot标签,是标签维度。对于每个输入图像,实际标签被分配为。

类似地,作者在GPT辅助的域特定文本描述的指导下,学习第域的域特定文本嵌入。此外,定义所有域的文本嵌入为。与域不变文本提示的训练方法一致,作者采用对比学习目标和蒸馏损失。最终,整体损失函数为:

文本引导的图像解耦

在实现文本解耦后,作者保持文本编码器及其域不变和域特定文本提示固定。然后,在解耦的文本嵌入的指导下进行图像解耦。具体来说,作者采用深度VPT作为视觉编码器,提取域不变和域特定的图像特征,分别表示为和:

其中和分别表示域不变和域特定视觉编码器(即和)中的可学习视觉提示。为了微调视觉编码器,作者采用以下损失项:1)和之间的对比学习目标,以优化;2)域混淆正则化:

其中在公式8和公式9中是每个输入图像的域标签。为了训练域混淆正则化,作者将公式9中的one-hot域标签设置为,用于来自不同域的所有图像。2)同样,为了增强的泛化能力,作者还利用损失来减少和之间的距离:。

此外,作者还训练域特定视觉编码器,以便为后续步骤生成原型。作者采用对比学习目标来指导域特定视觉提示的训练。最终,整体损失函数可以写成如下形式:

域特定原型学习

为了充分利用域特定信息进行DG,作者进一步提出了相关性启发的域特定原型学习机制,以设计域特定预测器。如图4所示,域特定预测基于不同域分布之间的距离差异。给定一个未见域图像,作者可以直观地采用相关性启发的原型预测,以充分利用域特定图像特征,从而在推理过程中减少源域和目标域之间的分布偏移。

原型初始化

给定预训练的域特定视觉编码器,作者为每个特定域中的每个类别生成原型。具体来说,给定个类别和个源域,作者可以获得一个原型张量:,如下所示:

其中是特征维度,是输入图像的对应标签,是第源域中具有类别标签的实例总数。为简单起见,作者将原型张量重写为二维矩阵,并在模型训练期间将其存储在内存库中。

在构建原型内存库后,作者还将它们的对应标签转换为one-hot编码,因为每个原型对应一个类别标签。因此,作者可以将原型学习称为键值缓存模型,其中键是每个类别的原型,它们的对应值是标签集。在推理过程中,给定一个测试图像,它作为查询从缓存模型中检索,作者首先通过视觉编码器提取域特定图像特征。然后,域特定预测可以计算如下:

其中表示查询特征与存储在内存库中的原型之间的亲和度。它可以计算为:

其中是控制相似度输出锐度的调制超参数。可以看作是测试图像特征与所有域类别原型之间的余弦相似度,因为键和查询特征都已归一化。之后,基于缓存模型的域特定预测可以通过域特定缓存值的线性组合加权查询-键相似度获得,如公式12所示。

最后,为了利用域不变和特定信息进行DG,作者通过结合域不变和特定预测来做出最终预测:

其中是域不变预测,可以通过利用域不变视觉特征和相应的文本嵌入计算为。是权衡参数。

此外,作者进一步将内存库中的原型视为可学习参数,并以公式11中的均值特征作为初始化,然后通过SGD对进行微调。更新内存库中的原型可以提高亲和度的估计,从而更准确地计算测试特征与原型之间的余弦相似度。相比之下,值是表示真实注释的one-hot编码,应在训练期间保持冻结,以很好地记忆类别信息。

IV. 实验

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐