目录
方法
1. 引入参数化先验
2. 引入语义先验
实验
首页 科技周边 人工智能 用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

Apr 09, 2023 pm 09:51 PM
机器学习 代码

零样本学习(Zero-Shot Learning)聚焦于对训练过程中没有出现过的类别进行分类,基于语义描述的零样本学习通过预先定义的每个类别的高阶语义信息来实现从可见类(seen class)到未见类(unseen class)的知识迁移。传统零样本学习在测试阶段仅需要对未见类进行识别,而广义零样本学习(GZSL)需要同时识别可见类和未见类,其评测指标是可见类类平均准确率与未见类类平均准确率的调和平均。

一种通用的零样本学习策略是使用可见类样本和语义训练从语义空间到视觉样本空间的条件生成模型,再借助未见类语义生成未见类的伪样本,最后使用可见类样本和未见类伪样本训练分类网络。然而,要学习两个模态(语义模态与视觉模态)间的良好映射关系通常需要大量样本(参照 CLIP),这在传统零样本学习环境下无法实现。因此,使用未见类语义生成的视觉样本分布通常和真实样本分布存在偏差(bias),这意味着以下两点:1. 这种方法获得的未见类准确率有限。2. 在未见类平均每类生成伪样本数量与可见类平均每类样本数量相当的情况下,未见类准确率与可见类准确率存在较大差值,如下表 1 所示。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

我们发现就算只学习语义到类别中心点的映射,并将未见类语义映射为的单一样本点复制多次再参加分类器训练也能得到接近使用生成模型的效果。这意味着生成模型生成的未见类伪样本特征对分类器来说是较为同质(homogeneity)的。

先前的方法通常通过生成大量未见类伪样本来迎合 GZSL 评测指标(尽管大的采样数量对未见类类间判别没有帮助)。然而这种重采样(re-sampling)的策略在长尾学习(Long-tail Learning)领域被证明会导致分类器在部分特征上过拟合,在这里即是与真实样本偏移的伪未见类特征。这种情况不利于可见类和未见类真实样本的识别。那么,能否舍弃这种重采样策略,转而将生成未见类伪样本的偏移性和同质性(或者可见类与未见类的类别不平衡)作为归纳偏置(inductive bias)植入分类器学习呢?

基于此,我们提出了一个即插即用的分类器模块,只需修改一行代码就能提升生成型零样本学习方法的效果。每个不可见类只需生成 10 个伪样本,就能达到 SOTA 水平。与其他生成型零样本方法相比,新方法在计算复杂度上具有巨大优势。研究成员来自南京理工大学和牛津大学。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块


  • 论文: https://arxiv.org/abs/2204.11822
  • 代码: https://github.com/cdb342/IJCAI-2022-ZLA

本文以一致化训练与测试目标为指引,推导出广义零样本学习评测指标的变分下界。以此建模的分类器能够避免使用重采用策略,防止分类器在生成的伪样本上过拟合对真实样本的识别造成不利影响。所提方法能够使基于嵌入的分类器在生成型方法框架上有效,减少了分类器对于生成伪样本质量的依赖。

方法

1. 引入参数化先验

我们决定从分类器的损失函数上着手。假设类别空间已经被生成的未见类伪样本所完善,先前的分类器以最大化全局准确率为优化目标:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

其中用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块为全局准确率,用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块表示分类器输出,用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块表示样本分布,用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块为样本 X 对应标签。而 GZSL 的评测指标为:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

其中用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块分别代表可见类和未见类集合。训练目标和测试目标的不一致意味着先前的分类器训练策略没有考虑可见类和未见类的差异。自然而然地,我们试图通过对用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块进行推导来实现训练与测试目标一致的结果。经过推导,我们得到了其下界:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

其中用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块代表可见类 - 未见类先验,其与数据无关,在实验中作为超参数进行调整,用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块代表可见类或未见类内部先验,在实现过程中用可见类样本频率或均匀分布代替。通过最大化用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块的下界,我们得到了最终的优化目标:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

由此,我们的分类建模目标相较先前发生了以下改变:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

通过使用交叉熵(cross-entropy)拟合后验概率用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块,我们得到分类器损失为:

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

这与长尾学习中的逻辑调整(Logit Adjustment)类似,因此我们称之为零样本逻辑调整(ZLA)。至此,我们实现了通过引入参数化先验将可见类与未见类的类别不平衡作为归纳偏置植入到分类器训练中,并且在代码实现中只需对原始 logits 加上额外偏置项就能达到以上效果。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

2. 引入语义先验

到目前为止,零样本迁移的核心,即语义先验(semantic prior)仅在训练生成器与生成伪样本阶段发挥作用,对未见类的识别完全取决于生成的未见类伪样本的质量。显然,如果能够在分类器训练阶段引入语义先验,将会有助于未见类的识别。在零样本学习领域有一类基于嵌入(embedding-based)的方法能够实现这一功能。然而,这一类方法与生成模型学习到的知识是相似的,即语义与视觉间的联系(semantic-visual link),这导致在先前的生成型框架中(参照论文 f-CLSWGAN)直接引入基于嵌入的分类器无法取得比原先更好的效果(除非这种分类器本身就有更好的零样本性能)。通过本文提出的 ZLA 策略,我们能够改变生成的未见类伪样本在分类器训练中扮演的角色。从原先的提供不可见类信息到现在的调整不可见类与可见类间的决策界限(decision boundary),我们得以在分类器训练阶段引入语义先验。具体地,我们采用了原型学习的方法将每个类别的语义映射为视觉原型(即分类器权值),再将调整的后验概率(adjusted posterior)建模为样本与视觉原型间的余弦相似度(cosine similarity),即

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

其中用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块为温度系数。在测试阶段,样本被预测为与其余弦相似度最大的视觉原型对应类别。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

实验

我们将所提出的分类器与基础 WGAN 结合,在每个未见类生成 10 个样本的情况下达到了媲美 SoTAs 的效果。另外我们将其插入到更加先进的 CE-GZSL 方法中,在不改变其他参数(包括生成样本数量)的情况下提升了初始效果。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

在消融实验中,我们将基于生成的原型学习器(prototype learner)与纯原型学习器进行了比较。我们发现,最后一个 ReLU 层对于纯原型学习器的成功至关重要,因为将负数置零可以增大类别原型与未见类特征的相似度(未见类特征同样经过 ReLU 激活)。然而将部分数值置零也限制了原型的表达,不利于更进一步的识别性能。借助伪未见类样本来弥补未见类信息不仅能在使用 RuLU 时达到更高性能,更能在没有 ReLU 层的情况下实现进一步的性能超越。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

在另一项消融研究中,我们将原型学习器与初始分类器进行比较。结果显示当生成大量未见类样本时,原型学习器与初始分类器相比没有优势。而在使用本文提出的 ZLA 技术时,原型学习器显示出其优越性。正如前文所说,这是因为原型学习器和生成模型都在学习语义 - 视觉联系,所以语义信息很难被充分利用。ZLA 使生成的未见类样本能够调整决策边界,而不是仅仅提供未见类信息,从而对原型学习器起到激活作用。

用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块

以上是用一行代码大幅提升零样本学习方法效果,南京理工&牛津提出即插即用分类器模块的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1243
24
一文带您了解SHAP:机器学习的模型解释 一文带您了解SHAP:机器学习的模型解释 Jun 01, 2024 am 10:58 AM

在机器学习和数据科学领域,模型的可解释性一直是研究者和实践者关注的焦点。随着深度学习和集成方法等复杂模型的广泛应用,理解模型的决策过程变得尤为重要。可解释人工智能(ExplainableAI|XAI)通过提高模型的透明度,帮助建立对机器学习模型的信任和信心。提高模型的透明度可以通过多种复杂模型的广泛应用等方法来实现,以及用于解释模型的决策过程。这些方法包括特征重要性分析、模型预测区间估计、局部可解释性算法等。特征重要性分析可以通过评估模型对输入特征的影响程度来解释模型的决策过程。模型预测区间估计

通过学习曲线识别过拟合和欠拟合 通过学习曲线识别过拟合和欠拟合 Apr 29, 2024 pm 06:50 PM

本文将介绍如何通过学习曲线来有效识别机器学习模型中的过拟合和欠拟合。欠拟合和过拟合1、过拟合如果一个模型对数据进行了过度训练,以至于它从中学习了噪声,那么这个模型就被称为过拟合。过拟合模型非常完美地学习了每一个例子,所以它会错误地分类一个看不见的/新的例子。对于一个过拟合的模型,我们会得到一个完美/接近完美的训练集分数和一个糟糕的验证集/测试分数。略有修改:"过拟合的原因:用一个复杂的模型来解决一个简单的问题,从数据中提取噪声。因为小数据集作为训练集可能无法代表所有数据的正确表示。"2、欠拟合如

人工智能在太空探索和人居工程中的演变 人工智能在太空探索和人居工程中的演变 Apr 29, 2024 pm 03:25 PM

20世纪50年代,人工智能(AI)诞生。当时研究人员发现机器可以执行类似人类的任务,例如思考。后来,在20世纪60年代,美国国防部资助了人工智能,并建立了实验室进行进一步开发。研究人员发现人工智能在许多领域都有用武之地,例如太空探索和极端环境中的生存。太空探索是对宇宙的研究,宇宙涵盖了地球以外的整个宇宙空间。太空被归类为极端环境,因为它的条件与地球不同。要在太空中生存,必须考虑许多因素,并采取预防措施。科学家和研究人员认为,探索太空并了解一切事物的现状有助于理解宇宙的运作方式,并为潜在的环境危机

通透!机器学习各大模型原理的深度剖析! 通透!机器学习各大模型原理的深度剖析! Apr 12, 2024 pm 05:55 PM

通俗来说,机器学习模型是一种数学函数,它能够将输入数据映射到预测输出。更具体地说,机器学习模型就是一种通过学习训练数据,来调整模型参数,以最小化预测输出与真实标签之间的误差的数学函数。在机器学习中存在多种模型,例如逻辑回归模型、决策树模型、支持向量机模型等,每一种模型都有其适用的数据类型和问题类型。同时,不同模型之间存在着许多共性,或者说有一条隐藏的模型演化的路径。将联结主义的感知机为例,通过增加感知机的隐藏层数量,我们可以将其转化为深度神经网络。而对感知机加入核函数的话就可以转化为SVM。这一

使用C++实现机器学习算法:常见挑战及解决方案 使用C++实现机器学习算法:常见挑战及解决方案 Jun 03, 2024 pm 01:25 PM

C++中机器学习算法面临的常见挑战包括内存管理、多线程、性能优化和可维护性。解决方案包括使用智能指针、现代线程库、SIMD指令和第三方库,并遵循代码风格指南和使用自动化工具。实践案例展示了如何利用Eigen库实现线性回归算法,有效地管理内存和使用高性能矩阵操作。

你所不知道的机器学习五大学派 你所不知道的机器学习五大学派 Jun 05, 2024 pm 08:51 PM

机器学习是人工智能的重要分支,它赋予计算机从数据中学习的能力,并能够在无需明确编程的情况下改进自身能力。机器学习在各个领域都有着广泛的应用,从图像识别和自然语言处理到推荐系统和欺诈检测,它正在改变我们的生活方式。机器学习领域存在着多种不同的方法和理论,其中最具影响力的五种方法被称为“机器学习五大派”。这五大派分别为符号派、联结派、进化派、贝叶斯派和类推学派。1.符号学派符号学(Symbolism),又称为符号主义,强调利用符号进行逻辑推理和表达知识。该学派认为学习是一种逆向演绎的过程,通过已有的

Flash Attention稳定吗?Meta、哈佛发现其模型权重偏差呈现数量级波动 Flash Attention稳定吗?Meta、哈佛发现其模型权重偏差呈现数量级波动 May 30, 2024 pm 01:24 PM

MetaFAIR联合哈佛优化大规模机器学习时产生的数据偏差,提供了新的研究框架。据所周知,大语言模型的训练常常需要数月的时间,使用数百乃至上千个GPU。以LLaMA270B模型为例,其训练总共需要1,720,320个GPU小时。由于这些工作负载的规模和复杂性,导致训练大模型存在着独特的系统性挑战。最近,许多机构在训练SOTA生成式AI模型时报告了训练过程中的不稳定情况,它们通常以损失尖峰的形式出现,比如谷歌的PaLM模型训练过程中出现了多达20次的损失尖峰。数值偏差是造成这种训练不准确性的根因,

可解释性人工智能:解释复杂的AI/ML模型 可解释性人工智能:解释复杂的AI/ML模型 Jun 03, 2024 pm 10:08 PM

译者|李睿审校|重楼人工智能(AI)和机器学习(ML)模型如今变得越来越复杂,这些模型产生的输出是黑盒——无法向利益相关方解释。可解释性人工智能(XAI)致力于通过让利益相关方理解这些模型的工作方式来解决这一问题,确保他们理解这些模型实际上是如何做出决策的,并确保人工智能系统中的透明度、信任度和问责制来解决这个问题。本文探讨了各种可解释性人工智能(XAI)技术,以阐明它们的基本原理。可解释性人工智能至关重要的几个原因信任度和透明度:为了让人工智能系统被广泛接受和信任,用户需要了解决策是如何做出的

See all articles