广义零样本学习的转移增量

news2024/11/15 8:53:08

在这里插入图片描述
摘要:零样本学习(ZSL)是一种成功的从未知类中对对象进行分类的范例。然而,它在广义零样本学习(GZSL)设置中遭受严重的性能降级,即以识别来自可见类和不可见类的测试图像。在本文中,为了GZSL和更开放的场景,我们提出了一个简单而有效的基于转移增量策略的机制。一方面,构建了一个基于双知识源的生成模型,解决了数据缺失问题;具体地,同时考虑从标签嵌入空间提取的局部关系知识作为特征嵌入空间中的估计数据中心的全局关系知识来合成虚拟样本。另一方面,我们进一步探讨了GZSL环境下生成式模型的训练问题。设计了两种增量式训练模式,直接从合成样本中学习未见类,而不是将已见样本和合成未见样本一起训练分类器。在实际应用中,该方法不仅能有效地实现不可见类学习,而且所需的计算和存储资源较少。基于5个基准数据集进行了综合实验。与现有方法相比,提出的迁移增量策略兼顾了虚拟样本的生成和训练过程,对传统任务和GZSL任务都有显著改进。

一、问题背景

在ZSL和GZSL中,类标签的属性、文本描述和词向量经常被用作辅助信息,以弥合可见类和不可见类之间的差距。这种技术使得仅仅通过描述一个新的物体就可以识别它。起初ZSL已经在不现实的设置中进行了研究,在这种设置中,测试数据被默认为来自看不见的类。但由于可见对象在现实世界中总是更常见,可见类的分类精度可能与不可见类的分类精度一样重要,所以GZSL取消了对ZSL的不合理限制,在测试阶段允许可见类和不可见类,大大提高了实用性。

二、本文贡献

  1. 为了实现简单有效的知识转移,提出了一种基于双知识源的GRK和LRK生成模型;
  2. 首先设计增量式训练模式,直接从合成样本中学习未出现的类,从而获得更有效的GZSL任务训练过程。

三、基础知识

3.1.嵌入技术

特征和标签嵌入是未知物体识别任务中的基础技术,它将图像和标签从其原始空间转换到设计的特征和标签嵌入空间。嵌入技术的图示如图2所示。
在这里插入图片描述

  • 在特征嵌入空间中,通常通过网络提取特征进行深度表示。
  • 在标签嵌入空间中,数据集的每一类都由其属性或词向量来描述,等等。

这里,为了更好地理解属性描述,以具有属性的动物(AWA)数据集为例。数据集中的"蓝鲸"类可以用许多属性来描述,包括"四肢(假)"、“蓝色(真)”、"海洋(真)“和"巨大(真)”。同样,“黑猩猩"也可以用同样的属性来描述,包括"四肢(对)”、“蓝色(错)”、"大海(错)“和"巨大(错)”。属性描述可以通过one-hot编码技术处理为属性向量,并作为不同类的细粒度类级表示在标签嵌入空间中使用。

嵌入层在ZSL中的应用可以分为两个主要范例:

  1. 基于相容性的方法学习具有区别性损失的线性或非线性交叉模态映射,并返回相容性得分以确定未见样本的类别;
  2. 基于概率的方法可以由经典的DAP和间接属性预测(IAP)方法表示,其学习多个概率学习器(分类器或回归器)并组合得分以进行预测。

3.2.相关知识转移

LRK表示特征和标签嵌入中可见类和不可见类之间的线性映射。当LRK在两个嵌入空间中相等时,可见类的学习器可以直接用于不可见类,并将其扩展为生成虚拟不可见样本

3.3.生成模型

生成式模型解决了ZSL的根本问题,即没有不可见类的样本可用于模型训练,因此近年来可以流行。除了提到的相关知识转移方法,

  1. Verma等人设计了一种反馈机制,并在测试阶段使用现成的分类器,以提高性能。
  2. Yang等人使用扩散正则化方法合成不可见的可视数据。
  3. 众所周知的生成对抗网络(GAN)也应用于ZSL领域。
  4. Jurie等人比较了四种不同的基于网络的ZSL生成模型的性能,包括条件GAN、生成矩匹配网络和去噪自动编码器。
  5. Xian等人提出了一种新的GAN,该GAN根据类级语义信息合成特征。该模型提供了一条直接从类的语义描述符到类条件特征分布的捷径。
  6. Zhu等人使用了GAN,该GAN将关于不可见类的噪声文本描述作为输入,并为该类生成合成视觉特征。

这些生成方法在ZSL和GZSL任务中表现出良好的性能。然而,这些方法大多是基于复杂网络的生成方法。模型的实现在实际中是相当困难的,对抗式训练也可能是耗时和不稳定的。对于更有效的生成过程,可能需要更简单的方法。

3.4.增量学习

渐进式学习策略为学习任务提供了一种有效的范式。由于数据缺失的问题,只有少数文章提到了ZSL领域的策略。

  1. Nan等采用线性判别分析和QR分解实现了基于IAP方法的增量ZSL。当选择了更多真实的样本(类)时,可以递增地更新模型,以了解有关属性的信息,从而实现更好的预测。由于IAP在GZSL设置下对可见类有偏差,因此该方法实际上仅限于ZSL任务。
  2. 类似地,Kawewong 基于IAP模型,针对不同用户以在线增量方式逐步标注属性的场景,使用无监督增量神经网络学习ZSL任务的更多类型属性。
  3. Ferreira等人开发了一种口语理解的在线自适应策略,这实际上是ZSL的一种应用。实验和数据集都与标准ZSL不同。

应该注意的是,所提到的方法中没有一种将增量学习技术应用于生成模型以学习看不见的类并在标准GZSL设置下报告结果。不同的是,本文为所提出的生成式模型设计了两种增量式训练模式,并给出了基于5个基准数据集的综合结果。

四、本文方法

本文所提方法为转移增量策略,包括两个阶段。

  1. 在转换阶段,利用标签嵌入的LRK和可见特征的GRK构造生成模型,为不可见类合成虚拟样本。
  2. 在增量阶段,已经在可见样本上训练过的增量学习器继续从为不可见类生成的样本中学习
  3. 可见类和不可见类都被经典DAP模型识别。
    在这里插入图片描述

4.1.基于双知识源的转移阶段

我们使用两种知识,即LRK和GRK,分别从标签嵌入空间和特征嵌入空间中提取生成模型。GZSL的数据逻辑如图 4(a)所示,其中 ES ∈ RD×p 是所见类数据的均值矩阵,ES中每列 ei ∈ RD×1 表示第 i 个所见类的均值向量。
此外,DAP、LRKT 和我们的生成模型的基本思想在图4(b)-(d)中进行了比较。
在这里插入图片描述

  1. LRKT将LRK转化应用于合成不可见类 E ^ \hat{E} E^U ∈ RD×q 的虚均值矩阵和解决DAP的移位问题。然而,该算法在提取LRK时没有考虑真实的样本。
  2. 不同的是,我们的方法估计未见类在特征嵌入空间中的中心作为GRK,使合成的未见类的总体分布更接近真实的类的分布。GRK是基于以下假设定义的:
    • 假设:在ZSL和GZSL设置中,数据集的整体中心可以由可见类近似,并转移到不可见类的中心。其公式为
      在这里插入图片描述
      其中ec是数据集的总体中心,EU ∈ RD×q 是未见类的真实的均值矩阵。

4.2.增量培训阶段

在传输阶段,可以为不可见类生成虚拟标签数据{XU,Y U,Z U},其中X U ∈ RD×M是合成不可见样本,Y U ∈ R1×M是合成不可见标签,Z U ∈ RAD×M是合成不可见属性标签,M 是合成样本的数量。为了有效地从虚拟样本中学习并减少转移-增量策略对可见类数据的依赖性,设计了IWM和IOM。
与传统的CLM相比,IWM和IOM的基本思想如图5所示。
在这里插入图片描述在GZSL设置下比较(a)CLM、(b)IWM 和(c)IOM。f 表示学习器(分类器或回归器),实线箭头表示一般训练过程,黑色虚线箭头表示增量学习过程,红色箭头表示在增量学习期间使用XS

传统的CLM将X U和XS组合在一起以形成训练数据X =[XS|X U]并学习属性标号 Z =[ZS | Z U],其中ZS ∈ RAD×NS是可见样本的属性标签,NS是可见样本的数目。CLM是DAP的基本方法。

  1. 相比之下,IWM和IOM使用可见数据{XS,ZS}初始化属性学习器,并增量学习合成样本{XU,Z U}。2. 在IWM的增量学习过程期间使用所见类XS的样本。这在保持所见类的识别能力方面表现出了益处。
  2. 对于IOM来说,这种模式在学习未看到的类时不再需要已看到的类的数据。
  3. IWM和IOM都基于经典的DAP方法进行最终分类。显然,CLM、IWM 和 IOM对所见样本的依赖性依次降低。

4.2.1.Incremental Learning With the Data of Seen Classes Mode(IWM)

IWM用属性标签矩阵ZS = [zS1,…,zSAD]T ∈ RAD×NS,其中 NS 是可见样本的数目。对于属性标号zSi ∈ RNS×1(i = 1,…,AD),属性学习器的基本线性形式被呈现为具有如下的正则化项:
在这里插入图片描述
其中α1 > 0,α2 > 0,β1和β2是典型的范数正则化,w ∈ RD×1是学习的属性学习器。通过取α1 = α2 = β1 = β2 = 2,用 l2-范数正则化来设置对象,该正则化是凸的,具有更好的推广性能。值γ是正则化项的参数。利用岭回归理论可以很容易地解决这一问题:
在这里插入图片描述

其中 XT+S 是 XTS 的伪逆,并通过以下公式获得:
在这里插入图片描述

在此基础上,利用{XS,ZS}对所见类进行AD属性学习器的训练。接下来,相同的学习器从合成的虚拟数据{XU,ZU}中为看不见的类递增地学习。这可以通过将伪逆 XT+S 更新为 XT+ 来实现:
在这里插入图片描述
在这里插入图片描述
使用更新后的伪逆,w可以通过下式更新为 w ^ \hat{w} w^
在这里插入图片描述
其中,在这里插入图片描述,并且在这里插入图片描述在这里插入图片描述中的虚拟属性标签。

IWM使用(12)-(15)中的增量算法来更新属性学习器,以学习未见过类的附加属性知识。在更新期间,将所见类XS的样本设置为(14)中的中间信息而不是输入数据。增量式算法允许IWM学习看不见的类,并保留看到的类的知识,而不需要从一开始就进行整个重新训练。

4.2.2.Incremental Learning Without the Data of Seen Classes Mode(IOM)

IOM采用迭代的方式学习所有样本,迭代后每个样本的损失最小,这与自适应策略类似。

在这里插入图片描述

类似地,基于(16)-(18)中的模型,可以针对具有{XS,ZS}的所见类来训练AD属性学习器。

  1. 由于迭代学习策略对样本进行逐个学习,因此在初始训练之后不再需要所见类的数据
  2. 经过训练的属性学习器可以直接基于合成的样本学习未见过的类。
  3. 迭代方式学习看不见的类要快得多,并且在训练少量虚拟样本的情况下呈现较高的调和平均精度。

可以证明,IOM的被动攻击算法对未见类的求解虽然没有已见类的样本,但已见类的知识损失是有限的,在测试阶段可以同时实现对已见类和未见类的识别

五、实验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言-qsort函数基本使用

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【C/C】 先来看一下qsort函数的介绍&#xff1a; Compare 函数的返回值描述>0elem1将被排在elem2前面0elem1等于elem2<0elem1 将被…

LeetCode刷题模版:171-174、179

目录 简介171. Excel 表列序号172. 阶乘后的零173. 二叉搜索树迭代器174. 地下城游戏【未理解】179. 最大数结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,…

Redis学习【1】之Nosql概述

文章目录一 从技术发展探究使用Nosql的原因1.1 单机Mysql时代1.2 Memcached&#xff08;缓存&#xff09; MySQL 垂直拆分[读写分离]1.3 MySQL主从读写分离1.4 分表分库 水平拆分 Mysql 集群1.5 如今时代1.6 使用NoSQL的原因二 Nosql初识2.1 NoSQL的特点【解耦】三 NoSQL的四…

树状数组的原理和区间和

目录 一、前言 二、树状数组的原理 1、杂论 2、从二叉树到树状数组 3、神奇的 lowbit(x) 操作 4、tree[ ]数组&#xff1a;将一维信息转换为树形信息存储 5、基于 tree[ ] 的计算 6、tree[]的更新&#xff08;要加lowbit&#xff09; 三、树状数组的应用 1、单点修改…

流媒体方案之Nginx

1.Nginx可以作为流体服务器。2三种web服务器的比较3.推流端: FFmpeg使用RTMP协议向Nginx推流拉流端: •VLC播放器使用RTMP或HTTPFLV协议从Nginx拉流•浏览器使用HTTPFLV协议从Nginx拉流(安装flv.js)4.有两种方法&#xff1a;下载源码&#xff0c;手工编译使用Buildroot&#xf…

Redis分布式锁 | 黑马点评

目录 一、分布式锁概述 二、基于Redis的分布式锁 1、思路分析 2、初级版本 3、误删问题 4、改进分布式锁 5、原子性问题 6、使用Lua脚本解决原子性问题 7、setnx实现分布式锁存在问题 三、Redisson 1、Redisson快速入门 2、Redisson可重入锁原理 3、Redisson可重试…

从某一点出发沿任意一方向旋转矩阵计算思考与实现

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 上期讲到 绕任一向量旋转矩阵计算思考与实现 点击前往 点击前往 问题提出 之前讲到绕任一向量旋转矩阵实现&#xff0c;原来的向量都是从原点出发&#xff0c;现在把…

Ajax面试题目

更多Ajax面试题目可以查看专栏内容 1.AJAX应用和传统Web应用有什么不同&#xff1f; 传统的web前端与后端的交互中&#xff0c;浏览器直接访问Tomcat的Servlet来获取数据。Servlet通过转发把数据发送给浏览器。当我们使用AJAX之后&#xff0c;浏览器是先把请求发送到XMLHttpR…

Swift之struct二进制大小分析

随着Swift的日渐成熟和给开发过程带来的便利性及安全性&#xff0c;京喜App中的原生业务模块和基础模块使用Swift开发占比逐渐增高。本次讨论的是struct对比Class的一些优劣势&#xff0c;重点分析对包体积带来的影响及规避措施。 一、基础知识 1、类型对比 引用类型&#xff…

独立看门狗与窗口看门狗

定义 看门狗的本质是一个定时器&#xff0c;在启动后&#xff0c;需要在一定时间内再给它一个信号&#xff0c;俗称“喂狗”&#xff0c;如果没有按时“喂狗”&#xff0c;说明MCU可能处于非正常状态&#xff0c;这时看门狗就向MCU发送个复位信号&#xff0c;使整个系统重启&a…

51单片机数码管显示

文章目录前言一、数码管简介二、数码管原理图三、数码管显示原理四、静态数码管代表编写五、动态数码管总结前言 这篇文章将介绍数码管的显示其中包含了动态数码管和静态数码管两种。 一、数码管简介 数码管其实就是由多个发光二极管封装在一起组成“8”字型的器件当分别点亮…

【数据结构】超详细——堆的实现

一、堆的概念及性质 1.1 什么是堆&#xff1f; 堆是一种完全二叉树&#xff08;具体在下一章讲述&#xff09;&#xff0c;若二叉树的深度h&#xff0c;除了第h层外其余各层节点数满了&#xff0c;只有第h层缺额且该层结点靠左&#xff1b;任何一个数组可以看作完全二叉树&…

【14】C语言_函数简介

目录 1、C语言中函数的分类: 2、库函数 3、自定义函数 1、C语言中函数的分类: 1.库函数 2.自定义函数 2、库函数 为什么会有库函数? 1.我们知道在我们学习C语言编程的时候&#xff0c;总是在一个代码编写完成之后迫不及待的想知道结果&#xff0c;想把这个结果打印到我们的屏…

ESP32设备驱动-LX1972可见光传感器驱动

LX1972可见光传感器驱动 1、LX1972介绍 LX1972 是一款低成本硅光传感器,其光谱响应非常接近人眼。专利电路在 520nm 处产生峰值光谱响应,IR 响应小于峰值响应的 5%,高于 900nm。 光电传感器是一个 PIN 二极管阵列,具有线性、准确和非常可重复的电流传递函数。 芯片上的…

扫盲-从零开始搭建阿里云流媒体服务器/音视频编解码/

1.基础概念 2.简单模式-HTTP文件服务器 存储采用NAS&#xff0c;服务器配置 采用FASTDFS (192条消息) Linux新手入门系列&#xff1a;FastDFS单机部署一键安装脚本_IT小胖豆的博客-CSDN博客 有几个坑&#xff1a; 常用命令&#xff1a; tail -20f /usr/local/nginx/logs/er…

3小时精通opencv(三)图片裁剪与形状绘制

3小时精通opencv(三)图片裁剪与形状绘制 参考视频资源:3h精通Opencv-Python 文章目录3小时精通opencv(三)图片裁剪与形状绘制图片裁剪绘制形状绘制直线绘制矩形绘制圆形绘制文字整体代码图片裁剪 图片裁剪不需要使用opencv中特有的函数, 对于opencv中读取到的图像, 直接当做矩…

15. python数据类型转换

1. 隐式类型转换 - 自动完成 在隐式类型转换中&#xff0c;Python 会自动将一种数据类型转换为另一种数据类型&#xff0c;不需要我们去干预。 (1) 以下实例中&#xff0c;我们对两种不同类型的数据进行运算&#xff0c;较低数据类型&#xff08;整数&#xff09;就会转换为较…

java 探花交友项目day4 MongoDB

数据库表 接口定义 其他都比较简单 我们讲黑名单查询页面的设计 DubboService public class BlackListApiImpl extends ServiceImpl<BlackListMapper,BlackList> implements BlackListApi{Autowiredprivate BlackListMapper blackListMapper;Autowiredprivate UserInf…

Allegro如何输出坐标文件操作指导

Allegro如何输出坐标文件操作指导 PCB在SMT的时候会需要用坐标文件,Allegro支持输出坐标文件,如下图 具体操作如下 选择Tools选择report出现repor

LINUX学习之正则表达式(十二)

普通正则 元字符 元字符匹配描述.匹配除了换行符以外的任意单个字符*前导字符出现0次或连续多次.*任意长度字符^行首(以…开头)$行尾(以…结尾)^$空行[]匹配括号里任意单个字符或一组单个字符[^]匹配不包含括号里任一单个字符或一组单个字符^[]匹配以括号里任意单个字符或一组…