论文信息

题目:Disentangling before Composing: Learning Invariant Disentangled Features for Compositional Zero-Shot Learning
先解耦再组合:学习不变解耦特征用于组合零样本学习
源码链接:https://github.com/PRIS-CV/Disentangling-before-Composing

论文创新点

  1. 域不变特征学习:将属性和对象视为域,学习对象不变属性和属性不变对象特征,提升模型对未见组合的泛化能力。

  2. 编码-重排-解码过程:通过随机重组解耦特征生成虚拟样本,避免虚假相关性,增强模型在开放世界场景中的表现。

  3. 双分支解耦架构:构建对象域和属性域分支,分别学习解耦特征,减少训练和测试集之间的域差异。

摘要

组合零样本学习(Compositional Zero-Shot Learning, CZSL)旨在通过从训练集中已见过的属性-对象组合中学习知识,来识别新的组合。以往的研究主要将图像及其对应的组合投影到一个共同的嵌入空间中,通过计算它们的兼容性得分来进行识别。然而,由于属性和对象共享上述学习到的视觉表示,导致模型容易利用虚假的相关性,并对已见过的组合产生偏差。相反,作者将CZSL重新考虑为一个分布外泛化问题。如果将对象视为一个域,作者可以学习对象不变的特征,从而可靠地识别附加在任何对象上的属性,反之亦然。具体来说,作者提出了一个不变特征学习框架,通过在表示和梯度层面上对齐不同的域,来捕捉与任务相关的内在特征。为了进一步促进和鼓励属性和对象的解耦,作者提出了一个“编码-重排-解码”过程,通过将解耦的特征随机重组为合成特征,帮助模型避免虚假的相关性。最终,作者的方法通过学习解耦表示属性和对象的两个独立因素的特征,提高了泛化能力。实验表明,所提出的方法在封闭世界和开放世界场景中均达到了最先进或具有竞争力的性能。

关键字

  • 组合零样本学习

  • 分布外泛化

  • 不变特征学习

  • 特征解耦

3. 方法

在典型的CZSL中,作者可以访问所有属性和对象,而训练阶段只能获得部分属性-对象组合。目标是识别单个属性和对象概念的未知组合。由于测试类别与训练类别不同,无法直接通过训练好的分类器进行分类。然而,当单独考虑属性或对象时,CZSL就变成了一个一般的识别问题,这是作者方法的内在动机。由于将学到的知识组合成未见组合严重依赖于分布外泛化能力,作者将CZSL形式化为两个DG子任务,其中将属性视为域以识别对象,反之亦然。然后,提出了两种不变机制和“编码-重排-解码”过程,以去除虚假的域特定特征并提高模型的泛化能力。

图2展示了作者提出的框架的概述。在接下来的部分中,作者首先介绍CW-CZSL和OW-CZSL的问题公式化。然后介绍基于视觉空间的特征解耦,并描述视觉特征如何在表示和梯度不变机制中依次处理。接下来,作者提出“编码-重排-解码”过程以进一步增强解耦。最后,作者描述了优化目标和推理过程。

3.1 问题公式化

定义为属性集合,为对象集合,为它们所有可能组合的集合。表示训练期间模型可见的组合集合,表示测试期间的目标集合。和都是的子集。作者考虑广义的CZSL设置,其中在测试期间,模型同时评估已见和未见的组合,即。根据不同的,可以分为两种场景:封闭世界CZSL(CW-CZSL)和开放世界CZSL(OW-CZSL)。在CW-CZSL中,模型的输出空间包括数据集中已存在和未见的组合,即。在OW-CZSL中,模型的输出空间包括所有可能的组合,即。OW-CZSL极具挑战性,因为从一个小的已见集合泛化到一个非常大的未见集合极为困难。

3.2 视觉特征分解

作者首先通过将对象或属性分别视为域,将视觉特征分解为两部分。这里,作者设计了一个三元组输入网络,输入为、和,以多样化域间变化,其中表示不同的属性,表示不同的对象,例如表示与具有相同属性的不同对象的图像。作者将三元组输入的组合集合表示为。分类任务集表示为。

作者在预训练网络的平均池化层之前提取卷积特征,然后将其输入由卷积层、批量归一化和ReLU激活组成的图像编码器。然后,编码后的视觉特征,直接输入两个独立的解耦器,。给定交叉熵损失函数,属性和对象分类损失可以定义为

其中表示任务的分类器,该分类器在解耦的视觉特征上预测标签。表示分类器和解耦器的参数。表示输入的任务的真实标签。

3.3 不变机制

不变性的概念意味着某些东西在变化时保持不变。捕捉不变性有助于模型学习与标签相关的核心特征。回到前面的例子,区分番茄和苹果的解释应该是不变的,无论番茄是红色还是绿色。因此,作者利用不变特征学习来捕捉对象在属性变化时的不变性,反之亦然。最终,学习到的属性和对象的不变特征可以推广到新的组合。

当模型以和作为输入时,作者构建了一个场景,其中将对象视为域以识别属性概念。类似地,以和作为输入,作者构建了一个场景,其中将属性视为域以识别对象概念。目标是识别与任何对象相关联的属性,并识别由任何属性描述的对象。为了提高模型的泛化性能,作者在表示层面和梯度层面上显式地促进不变性。

表示不变学习。为了学习一个有助于泛化到新域的不变分类器,作者在表示层面上探索不变性,以将来自不同域的相同类别的样本拉近。换句话说,学习一个将不同域映射到单一统计分布的模型。

首先,作者计算不同域中预测结果相对于表示的梯度,

与相似梯度相关的表示表明属性概念的内在特征对对象因素是不变的,反之亦然。因此,作者计算两个梯度之间的绝对差值,

差值较小的语义通道可以被视为属性的对象不变特征通道和对象的属性不变特征通道。作者将差值从大到小排序,取百分位的值,记为。然后,作者构建一个与表示维度相同的掩码如下。对于第个元素,

通过将掩码覆盖到原始表示上,网络过滤掉域特定的特征通道,以学习域不变特征,

然后,作者计算与对象无关的属性特定表示和与属性无关的对象特定表示的交叉熵损失,

梯度不变学习。深度神经网络通过梯度下降算法进行训练,其中梯度通过损失函数更新网络参数以实现优化。梯度幅度的较大差异会干扰多任务优化,使得难以实现较大的效率增益。多个域也会受到梯度幅度差异较大的影响,这些差异与不同域相关,而不是任务相关。在DG任务中,差异较大的梯度包含与单个域相关的信息,这些信息与其他域无关。作者执行梯度级域对齐,以在同一方向上优化不同域,这将惩罚网络以最小化不同域中梯度的分散,从而捕捉不变性。增强梯度一致性的目标是在所有训练域的损失空间中找到局部或全局最小值,并使网络在不同域中共享相似的Hessian矩阵。

作者计算不同对象域中属性预测结果对属性分类器的梯度,以及不同属性域中对象预测结果对对象分类器的梯度,如下所示,

梯度表示最优路径。通过鼓励所有域中的相同优化路径,更容易在不同域中获得不变的预测。为了在梯度层面上对齐不同域并学习与标签相关的不变性,作者通过最小化两个梯度之间的欧几里得距离来惩罚域预测能力,如下所示,

通过协调域间梯度,神经权重在同一方向上更新,使得图像分类器更加鲁棒。作者通过计算不同域之间梯度的欧几里得距离来衡量对齐程度。此外,在消融实验中还考虑了余弦距离来衡量域的对齐(见表VI)。

3.4 编码-重排-解码

学习理想的域不变特征可能具有挑战性,尤其是在处理显著的域差异或广泛的数据分布时。因此,为了减少训练数据和测试数据之间的域差距,作者提出了一种新颖的“编码-重排-解码”过程,以合成虚拟样本,从而增加已见组合的多样性,并使模型在测试阶段具有更广泛的泛化能力。

自编码器。在将视觉特征映射到属性和对象子空间的过程中,可能会丢失一些关键信息,导致子空间中的特征可能无法准确表示原始数据的属性和对象。如果作者将解耦器视为编码器,可以通过添加解码器来构建自编码器结构,该解码器可以学习输入数据的潜在特征,并使用这些特征重建原始数据。首先,如第3.1节所述,将高度耦合的特征输入解耦器,即编码器,以获得解耦的特征。然后,将获得的属性和对象特征连接并输入解码器,以生成重建的特征。最后,作者缩小重建特征和原始耦合特征之间的差异,以强制最终输出近似输入组合,

重建模块可以确保属性和对象特征尽可能保留原始数据,同时避免因解耦而导致的判别特征丢失。

重排策略。对于属性和对象,作者需要大量的视觉数据来学习完整的概念。例如,属性“旧”与“老虎”和“汽车”的组合在视觉上有很大差异。作者需要考虑多种情况以使概念更加完整和准确。因此,作者将属性部分与对象部分重排,连接重排后的特征,并将其输入解码器以进行特征级增强。具体来说,对于以、和为输入的三元组输入网络,作者随机重排原始解耦的属性和对象特征,以获得新的解耦特征,

然后,随机重排的属性和对象特征被连接并输入解码器进行重建,

由于新组合的属性和对象来自不同的图像,它们之间几乎没有相关性,这可以避免模型受到虚假相关性的损害。为了确保解耦特征是可组合的,并且解耦过程是可逆的,作者重新解耦这些组合特征,并实现属性和对象识别,

其中是重排后的第个属性标签或对象标签。

最终,“编码-重排-解码”过程的总体损失函数为

其中和是权衡参数。

对新合成的样本进行重新识别也确保了解耦语义因素的更改可以准确地转换回原始表示,从而实现语义可控的解耦。

重排调度。虽然重排和重组解耦特征可以进一步增强解耦性能,但从训练开始就使用它们可能会引入不必要的噪声。特别是,如果使用未经训练的解码器重建特征,重建特征中包含的信息可能与原始信息有很大差异。在重排之前,解码器应该已经训练到一定程度;否则,重新组合的特征将作为噪声样本。作者在消融实验中验证了调度策略的重要性(见表9)。

4. 实验

如何学习大模型 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

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐