【CS】什么是zero-shot learning零样本学习?
零样本学习(ZSL)是一种让AI模型识别训练时未见类别的技术,通过利用语义描述、属性等辅助信息而非标记样本来实现分类。它克服了监督学习需要大量标记数据的局限性,适用于样本稀缺或获取成本高的场景。ZSL方法包括基于属性(通过特征组合推断新类别)和基于嵌入(在联合语义空间中比较向量表示)等策略。广义零样本学习(GZSL)进一步处理已知和未知类别的混合数据。生成式方法(如VAE、GAN)和大型语言模型(
零样本学习 (ZSL) 是一种机器学习场景,其中训练AI 模型来识别和分类对象或概念,而无需事先看到这些类别或概念的任何示例。
大多数用于分类或回归的先进深度学习模型都是通过监督学习进行训练的,这需要大量相关数据类别的带标签样本。模型通过对带标签的训练数据集进行预测来“学习”;数据标签为每个训练示例提供了可能答案的范围和正确答案(或称基本事实)。这里的“学习”是指调整模型权重,以最小化模型预测与基本事实之间的差异。此过程需要足够多的带标签样本进行多轮训练和更新。
监督学习虽然功能强大,但在某些现实场景中并不实用。注释大量数据样本成本高昂且耗时,而且在罕见疾病和新发现物种等情况下,样本可能稀缺甚至不存在。以图像识别任务为例:一项研究表明,人类可以识别大约 30,000 个可单独区分的物体类别。1如果人工智能模型必须针对每个类别的标记数据进行明确的训练,那么从时间、成本和计算资源方面来看,它们根本无法接近人类的能力。
机器学习模型需要能够以最小的训练开销快速推广到大量语义类别,这催生了n 次学习:它是机器学习的一个子集,也包括小样本学习 (FSL) 和单样本学习。小样本学习通常使用基于迁移学习和元学习的方法来训练模型,使其能够仅使用少量带标签的训练样本(在单样本学习中,则使用单个带标签的样本)快速识别新类别。
零样本学习与所有 n 样本学习一样,不是指任何特定的算法或神经网络架构,而是指学习问题本身的性质:在 ZSL 中,模型不会在任何未见类别的标记示例上进行训练,而是要求对训练后进行预测。
此问题设置并未考虑该类别是否存在于训练数据中(尽管未标记)。例如,一些大型语言模型 (LLM)非常适合 ZSL 任务,因为它们通过自监督学习在海量文本语料库上进行预训练,这些语料库可能包含对未知数据类别的偶然引用或相关知识。由于没有标记示例可供借鉴,ZSL 方法都依赖于此类辅助知识进行预测。
鉴于其多功能性和广泛的用例,零样本学习已成为数据科学中越来越受关注的研究领域,尤其是在计算机视觉和自然语言处理(NLP)领域。
广义零样本学习(GZSL)
在传统的零样本学习( ZSL) 设置中,模型会在包含未知类别样本的数据集上进行测试。虽然它对于开发和验证零样本方法很有用,但它并不能反映大多数常见的现实世界情况:广义零样本学习(GZSL) 指的是特定的零样本学习问题,其中模型负责分类的数据点可能属于未知类别,也可能属于已知类别:即模型已经从带标签的样本中“学习”到的类别。
GZSL 必须克服另一个挑战:分类器倾向于将预测结果偏向于训练中见过的类别,而非尚未接触过的类别。因此,GZSL 通常需要额外的技术来缓解这种偏差。
零样本学习如何工作?
在缺乏模型所训练的类别的任何标记示例的情况下,零样本学习问题会利用辅助信息:文本描述、属性、嵌入表示或与当前任务相关的其他语义信息。
零样本学习技术通常输出一个概率向量,表示给定输入属于某些类别的可能性,而不是直接对类别之间的决策边界进行建模。GZSL 方法可能会添加一个初步判别器,首先确定样本是属于已知类别还是新类别,然后进行相应的处理。
了解标签
在监督学习以及小样本学习 (FSL) 中,模型通过直接观察每个类别的一个或多个带标签的样本来学习识别不同的类别。由于没有这些明确的标注作为指导,零样本学习需要对标签的含义有更深入的理解。
打个简单的比方,假设一个孩子想学习鸟的样子。在类似监督学习或FSL的过程中,孩子通过查看动物图画书中标有“鸟”的图像来学习。进一步来说,她会认出一只鸟,因为它与她已经见过的鸟图像相似。但在ZSL场景中,没有这样的带标签的样本。相反,孩子可能会阅读百科全书中关于鸟类的条目,并了解到它们是小型或中型动物,有羽毛、喙和翅膀,可以飞翔。这样,即使她以前从未见过鸟,她也能在现实世界中识别鸟,因为她已经学会了鸟的概念。
如前所述,LLM 已展现出 ZSL 的天然潜力,这源于他们从根本上理解用于命名数据类的单词的含义的能力。
迁移学习
为了最大限度地减少训练所需的时间和资源,以及识别未知类别所需的辅助信息量,ZSL 经常利用迁移学习(将训练好的模型重新用于新任务),而不是从头开始训练模型。
迁移学习在将类别和样本表示为语义嵌入的ZSL 方法中得到广泛应用。例如,执行零样本文本分类的模型可能会使用基于 Transformer 的模型(例如 BERT,该模型已在海量语言数据上进行预训练)将单词转换为向量嵌入。同样,零样本图像分类模型可能会重新利用预训练的卷积神经网络 (CNN)(例如 ResNet 或 U-Net),因为它已经学习了滤波器权重,这些权重有助于识别可以为分类提供信息的重要图像特征。
迁移学习对于 GSZL 尤为重要,因为模型对可见类别的知识可以用作关于不可见类别的辅助信息。例如,假设一个物体检测模型已经学会了识别灰熊。与其通过提供带标签的北极熊样本来训练它识别北极熊,不如训练它理解北极熊看起来像有白色皮毛的灰熊。
将学到的知识转移到新任务和不同类别的过程也称为领域适应。
基于属性的方法
基于属性的零样本学习方法采用与传统监督学习类似的逻辑。它不是直接在每个数据类的带标签样本上训练分类器,而是根据特定数据类的带标签特征(例如颜色、形状或其他关键特征)进行训练。
虽然在训练中无法直接看到目标类别,但如果看不见的类别的属性与训练数据中存在的属性类别相似,则可以推断出该类别的标签。
一旦分类器学习了所有相关特征,它就可以利用不同类别的语义描述。当目标类别的标记样本缺失,但其特征样本相对丰富时,这种方法尤其有用。例如,一个模型可以从老虎和斑马的图像中学习“条纹”;它可以从金丝雀的图像中学习“黄色”,从苍蝇的图像中学习“飞虫”。尽管训练集中没有蜜蜂图像,该模型现在可以对蜜蜂进行零样本分类,因为它可以将它们理解为学习到的特征的组合:“黄色、条纹的飞虫” 。
虽然基于属性的 ZSL 方法在适当的情况下用途广泛且有用,但它也存在严重的缺点:
- 他们依赖于一个关键假设,即每个类别都可以用一个属性向量来描述,但事实并非总是如此。Mall、Hariharan 和 Bala举了美洲金翅雀的例子——其颜色和羽毛图案会随着性别、年龄和繁殖状态而变化——以及室外羽毛球场地的例子,羽毛球场地在颜色、表面以及正式线条的存在(或缺失)方面差异很大。2
- 注释单个属性的示例可能与注释给定类的示例一样昂贵且耗时。
- 基于属性的方法无法推广到属性未知或不存在可用样本的类别。
基于嵌入的方法
许多 ZSL 方法将类和样本都表示为 语义嵌入:一种向量表示,可用于反映不同数据点的特征或含义(以及它们之间的关系)。然后,通过测量给定样本的语义嵌入与其可能被归类的不同类的嵌入之间的相似性来确定分类。
一旦数据点被表示为嵌入,就可以使用类似于 K 最近邻 算法的原理来确定分类:使用某种距离度量,例如 余弦相似度、欧氏距离或 Wasserstein 距离,来衡量输入数据的嵌入与每个潜在类的嵌入的接近程度。数据样本的嵌入与给定类的嵌入越接近(或越相似),它就越有可能属于该类。
这些嵌入可以通过多种方式生成。例如:
- 预先训练的模型和算法,如 BERT、word2vec 或 GloVe(全局向量),可以轻松输出单词的向量嵌入(如类标签的名称)。
- 同样,预先训练的 CNN 的编码器网络(如 ResNet)(或基于变压器的图像编码器,如 ViT)可以对图像执行相同的操作。
- 自动编码器 可以学习样本或类别的潜在表示(压缩的、低维的编码,可以隔离给定数据输入中最显著的变量)。
- 代替迁移学习,可以从头开始训练各种神经网络架构,使用相关的训练数据(例如有标记示例的相关数据类的样本),以输出有效的嵌入。
联合嵌入空间
因为基于嵌入的方法通常处理不同形式(或 模态)数据的辅助信息和向量空间嵌入 - 例如描述类标签的词嵌入和可能属于该类的照片的图像嵌入 - 它们需要一种方法来促进不同数据类型嵌入之间的比较。
为了进行比较,不同类型和大小的向量嵌入必须进行归一化,并投影到一个共享的高维语义空间(称为 联合嵌入空间),以便它们可以在同类环境中进行比较。抽象地说,这类似于寻找最小公分母来比较不同分数的概念。不同嵌入源之间强大的关联映射对于模型的泛化性能至关重要。3
一些零样本学习模型还使用 对比学习 来更好地对齐来自不同模型或算法的语义嵌入:使用语义嵌入对,对比学习训练模型以最小化“正”对(如狗图像的嵌入和单词“狗”的嵌入)之间的距离,并最大化“负”(不匹配)对之间的距离。
联合端到端训练
确保不同模型的嵌入之间对齐的一个有效方法是并行联合训练这些模型。例如,OpenAI 的对比语言-图像预训练 (CLIP) 模型就是在一个庞大的未标记数据集上训练的,该数据集包含来自互联网的超过 4 亿个图像-字幕对。4
这些配对被用于从头开始联合训练图像编码器和文本编码器,并使用对比损失来最大化图像嵌入与其对应字幕嵌入之间的余弦相似度。这赋予了 CLIP 天然的零样本分类能力:无需微调,CLIP 在 27 个不同的图像分类数据集上展现出强大的分类性能。
基于生成的方法
生成式人工智能 为零样本学习问题提供了一种替代解决方案:使用辅助信息来生成样本数据,而不需要标记的示例来这样做。
基于生成的方法可以利用未见类的语义表征来生成样本,这些样本一旦被标记,便可用于将学习问题转化为标准的监督学习。虽然未标记样本(或密切相关的可见类的表征)有助于样本的合成,但在零样本环境下,这一过程通常主要依赖于语义描述。
LLM 可以减少生成高质量描述所需的劳动力:OpenAI 在其 DALL-E 3 文本到图像生成模型的发布论文中指出,合成字幕甚至比“地面实况”字幕提高了模型性能。5
变分自编码器
变分自编码器 (VAE) 是 一种自监督 生成模型,它将训练数据的潜在表征学习为潜在变量的参数化分布。换句话说,它们学习将数据类编码为潜在空间中的概率分布,而不是静态语义嵌入。然后,解码器可用于从该潜在空间生成随机样本。条件变分自编码器 (CVAE) 可以通过最大化所选变量的概率来约束合成样本的属性。
生成对抗网络(GANS)
GAN 由两个神经网络组成,它们在对抗性零和博弈中联合训练:一个生成器,利用语义属性和高斯噪声来合成样本;另一个鉴别器,用于判断样本是真还是“假”(即由生成器合成的)。鉴别器的反馈用于训练生成器,直到鉴别器无法区分真假样本。自 2014 年 GAN 论文发表以来,人们已经开发出许多改进方法,以完善和稳定这一过程。
VAE vs. GAN
VAE 和 GAN 都存在缺点:
VAE 很稳定,但由于从潜在空间重建样本的性质,往往会生成模糊的图像。
GAN 学习生成高质量的图像,但由于它们必须融合两个独立且不同的训练过程,因此容易不稳定。
尽管已经开发出许多修改来改进和稳定这两个过程,但结合这两种模型架构在零样本设置中已经取得了有希望的结果。6
大型语言模型(LLM)
LLM 还可以用于合成标记样本:例如,使用像 Llama 2这样的自回归模型 来生成样本,这些样本可用于训练像 Sentence-BERT 这样的双向语言模型,用于文本分类任务。
更多推荐
所有评论(0)