当前位置: 首页 > news >正文

广义零样本学习综述的笔记

1 Title

        A Review of Generalized Zero-Shot Learning Methods(Farhad Pourpanah; Moloud Abdar; Yuxuan Luo; Xinlei Zhou; Ran Wang; Chee Peng Lim)【IEEE Transactions on Pattern Analysis and Machine Intelligence 2022】

2 conclusion

        Generalized zero-shot learning (GZSL) aims to train a model for classifying data samples under the condition that some output classes are unknown during supervised learning. GZSL leverages semantic information of the seen (source) and unseen (target) classes to bridge the gap between both seen and unseen classes.
        This paper introduce a hierarchical categorization for the GZSL methods and discuss the representative methods in each category. In addition, it discuss the available benchmark data sets and applications of GZSL, along with a discussion on the research gaps and directions for future investigations.

3 Good Sentences

        1、ZSL aims to train a model that can classify objects of unseen classes (target domain) via transferring knowledge obtained from other seen classes (source domain) with the help of semantic information and the semantic information embeds the names of both seen and unseen classes in high-dimensional vectors. (The principle of ZSL and semantic information)
        2、In conventional ZSL techniques, the test set only contains samples from the unseen classes, which is an unrealistic setting and it does not reflect the real-world recognition conditions. In practice, data samples of the seen classes are more common than those from the unseen ones, and it is important to recognize samples from both classes simultaneously rather than classifying only data samples of the unseen classes. This setting is called generalized zero-shot learning (GZSL) (The shortcoming of ZSL and the difference between ZSL and GZSL)
        3、In practice, the training and test samples are disjoint in GZSL tasks. This results in learning an unbiased mapping function for the seen classes, which can project the visual features of the unseen classes far away from their semantic features(What is the vanilla domain shift problem)


        这篇论文仅回顾了从 2016 年流行到 2021 年初与 GZSL 相关的已发表文章、会议论文、书籍章节和高质量预印本(即 arXiv),最近两年的没有。

1 介绍

        标准深度学习模型只能识别属于在训练阶段见过的类的样本,无法处理未见过的类的样本。而在现实世界中,给大量数据集手动标注标签工作量大(而且大部分需要专业知识),或者直接没有大量数据(濒危动物),还有在训练阶段不存在而在测试阶段存在的类(比如变异的新冠病毒)零样本学习技术(ZSL)为应对这种情况提供了一个很好的解决方案。
        ZSL 旨在训练一个模型,该模型可以通过借助语义信息传递从已知类(源域)获得的知识来对未知类(目标域)的对象进行分类,(比如训练阶段给出熊猫的黑白,栗毛马的外形就就能在测试阶段分类出斑马,而斑马不在训练阶段出现过。)
        语义信息可以是手动定义的属性向量 、自动提取的词向量 、基于上下文的嵌入或它们的组合,语义信息会把将已知类和未知类的名称嵌入高维向量中去。

        在传统的 ZSL 技术中,测试集仅包含来自未知类的样本,这不切实际,它不能反映现实世界的识别条件。在实践中,已知类的数据样本比未知类的数据样本更常见,因此同时识别这两个类别的样本而不是仅对未知类别的数据样本进行分类非常重要。这种设置称为广义零样本学习(GZSL)

2 广义零样本学习概述        

        令分别表示已知类和未知类的数据集。其中表示特征空间X中的D维图像(视觉特征),在X中使用预训练的深度学习模型,比如VGG19,RetNet。则表示语义空间A中的K维语义表示,表示标签空间Y中已知类和未知类的标签集,C_sC_u分别表示已知类和未知类的不同类的种类数量。

在GZSL中,目标是训练出一个模型,能对N_t个测试样例分类,

GZSL方法的训练阶段可以分为两大类设置:归纳(inductive)学习和转导(transductive)学习

        归纳学习:仅利用已知类的视觉特征和语义信息来构建模型
        转导学习:除了已知类信息外,还利用未知类的语义表示和未标记的视觉特征进行学习

在归纳设置中,只有已知类的视觉特征和语义表示( A 和 B )可用。在转导设置中,除了已知类信息之外,还可以访问未知类的未标记视觉样本。但是假设所有未知类的未标记数据都可用是不切实际的,所以转导学习并不是很实用。

语义信息

        语义信息是GZSL的关键。由于不存在来自未知类的标记样本,所以通常使用语义信息来建立已知类和未知类之间的关系,这样广义零样本学习才能成为可能。语义信息必须包含所有未知类的识别属性,以保证为每个未知类提供足够的语义信息。它还应该与特征空间中的样本相关,以保证可用性。也就是说,在语义空间中,必须包括已知类和未知类的所有语义信息。举个例子,如果未知类里有斑马,那么语义信息就必须包括“黑白花纹”、“马”等信息。
​​​​​​​        在这个语义空间中,可以执行ZSL和GZSL,语义信息可以分为手动定义的属性、词向量和它们的组合

手动定义的属性:包含高级语义信息,使得GZSL能识别所有类,属性准确,但需要人工标注,不适合大规模问题
词向量:从大型文本语料库(例如维基百科)中自动提取,用于表示各种单词之间的异同并描述每个对象的属性,人力需求较小。适用于大规模数据集,但是包含噪声,对模型有损害。

嵌入空间

        ​​​​​​​​​​​​​大多数 GZSL 方法都会学习嵌入/映射函数,以将已知类的低级视觉特征与其相应的语义向量相关联。然后,通过测量嵌入空间中数据样本的原始表示和预测表示之间的相似度,使用学习到的函数来识别新类别。由于属性向量的每个条目都代表该类的描述,所以具有相似描述的类在语义空间中被希望包含相似的属性向量。
        然而,在视觉空间中,具有相似属性的类可能有很大的差异。因此,找到合适的嵌入空间是一项具有挑战性的任务,否则会导致视觉语义歧义问题。
        从类别来说,嵌入空间可以分为欧几里德空间或非欧几里德空间。虽然欧几里得空间更简单,但它容易丢失信息。非欧空间通常基于图网络、流形学习或聚类,通常利用空间之间的几何关系来保存数据样本之间的关系,从内容来说,嵌入空间可以分为:语义嵌入、视觉嵌入和潜在空间嵌入。

语义嵌入:

        

语义嵌入使用不同的约束或损失函数学习从视觉空间到语义空间的(前向)投影函数,并在语义空间中执行分类。语义嵌入的目的是强制语义嵌入属于一个类的所有图像都将映射到一些ground-truth的标签嵌入,语义嵌入获得最佳投影函数后,就可以通过执行最近邻搜索来识别给定的测试图像。

视觉嵌入:

视觉嵌入学习一个(反向)投影函数将语义表示(向后)映射到视觉空间,并在视觉空间中执行分类。目标是使语义表示接近其对应的视觉特征 。在获得最佳投影函数后,可以使用最近邻搜索来识别给定的测试图像。

潜在空间嵌入:

潜在空间嵌入将视觉特征和语义表示投影到公共空间L中,L即潜在空间,以探索不同模态的一些共同语义属性。其目标是将附近每个类的视觉和语义特征投射到潜在空间中。理想的潜在空间应该满足两个条件: (i) 类内紧凑,以及 (ii) 类间分离

具有挑战性的问题

​​​​​​​        在GZSL中,必须解决几个具有挑战性的问题,包括枢纽点问题(hubness problem)【在高维空间中,一部分测试集的类别可能会成为很多数据点的K近邻(KNN),但其类别之间却没什么关系】,映射域迁移问题(projection domain shift problem)【模型使用了已知类样本学习由样例特征空间到类标签语义空间的映射,由于没有测试类的未知类样例可以用于训练,因此,在映射输入样例的时候,就会产生一定的偏差】这个问题在 GZSL 中更严重,因为训练过程中GZSL就有已知类和未知类,在测试阶段,模型会更倾向于将样例分类为已知类中的类而不是未知类的类。
​​​​​​​

为了缓解这个问题,已经提出了几种策略,例如temperature scaling(温度标控)

上图显示了一个理想的无偏映射函数,该函数强制已知和未知类的投影视觉样本在潜在空间中围绕它们自己的语义特征。在实践中,GZSL任务中的训练样本和测试样本是不相交的。这导致仅用已知类数据学习的无偏映射函数可能会将未知类的视觉特征投射到远离其语义特征的地方

3.GZSL方法综述

        GZSL必须解决两个关键问题:(i)如何将知识从已知类转移到未知类(ii) 如何学习一个模型来识别来自已知类和未知类的图像,而无需访问未知类的样本。
​​​​​​​        目前已经提出了许多方法,大致可分为:

  1. ​​​​​​​基于嵌入的方法:学习嵌入空间,将已知类的低级视觉特征与其对应的语义向量相关联。学习到的投影函数用于通过测量嵌入空间中数据样本的原始表示和预测表示之间的相似性水平来识别新类
    ​​​​​​​​​​​​​​
  2. 基于生成的方法:学习一个模型,根据已知类的样本和两个类的语义表示,为未知类生成图像或视觉特征。通过为未知类生成样本,GZSL问题可以转换为传统的监督学习问题。基于单一的同质过程,可以训练模型对属于已知类和未知类的测试样本进行分类,并解决偏差问题。


                                        GZSL方法及其子类对应的方法

因为我是为了之前那篇3D点云数据上的GZSL对比循环网络才看这篇综述的,所以我只关心基于生成的GAN方法,其他的不写了。

​​​​​​​基于生成的方法:生成对抗网络:

        GANs通过使用类条件密度和类先验概率​​​​​​​计算样本的联合分布来生成新的数据样本。GAN由一个生成器一个判别器​​​​​​​组成。其中,生成器用语义属性和随机均匀噪声或者高斯噪声来生成视觉特征。判别器区分真实视觉特征和生成的视觉特征
        当生成器学习 以已知类的语义表示为条件合成的数据样本​​​​​​​后,它可以通过未知类的语义表示来生成数据样本​​​​​​​。然而,GAN有个常见问题:模式坍缩【生成的样本中出现一模一样的样例】这是因为GAN中没有明确的损失。

相关文章:

广义零样本学习综述的笔记

1 Title A Review of Generalized Zero-Shot Learning Methods(Farhad Pourpanah; Moloud Abdar; Yuxuan Luo; Xinlei Zhou; Ran Wang; Chee Peng Lim)【IEEE Transactions on Pattern Analysis and Machine Intelligence 2022】 2 conclusion Generali…...

java每日一题——输出9x9乘法表(答案及编程思路)

前言: 打好基础,daydayup! 题目:输出下图9x9乘法表 编程思路:java只能输出行,不能输出列,所以考虑好每一行输出的内容即可 public class demo {public static void main(String[] args) {for (int i 1; i…...

Android 车联网——基础简介(一)

传统的车载功能单一,无太多娱乐性,而随着智能化时代的发展,车载系统也被赋予了在系统中预装 Android 应用的能力,基于Android平台的车载信息娱乐系统 —— Android AutoMotive 应运而生。 一、AutoMotive简介 Android Automotive OS 车载操作系统,是一个基本 Android 平台…...

自动驾驶货车编队行驶系统功能规范

货车编队行驶功能规范 Truck Platooning Functional Specification 目录 1 概述... 7 1.1 目的... 7 1.2 范围... 7 1.3 术语及缩写... 7 1.4 参考法规标准... 8 2 功能规范... 9 2.1 功能描述... 9 2.1.1 功能用途…...

javafx

JavaFX JavaFX简介 JavaFX是一个用于创建富客户端应用程序的图形用户界面(GUI)框架。它是Java平台的一部分,从Java 8开始成为Java的标准库。 JavaFX提供了丰富的图形和多媒体功能,使开发人员能够创建具有吸引力和交互性的应用程…...

玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(3)

接前一篇文章:玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(2) 上一篇文章结束时在等待提示的各依赖包下载安装后的编译结果,但是很遗憾,编译并没有最终完成,既未成功也没有失…...

SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集进行排序。 SQL ORDER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。 ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。 SQL ORDER BY 语法 SELECT …...

多线程-生产者消费者模型

一、基本信息 1、场景介绍:厨师和吃货的例子,吃货吃桌子上的面条,吃完让厨师做,厨师做完面条放桌子上,让吃货吃,厨师如果发现桌子上有面条,就不做,吃货发现桌子上没有面条就不吃。 …...

解压命令之一 gzip

文章目录 解压命令之一 gzip更多信息 解压命令之一 gzip gzip用于对后缀为gz文件进行解压: $ gzip -d data.gz这个命令将解压examplefile.gz,并且在当前目录下生成一个名为data的解压后的文件。 但特别需要留意的是,这个操作会删除源文件&…...

力扣:438. 找到字符串中所有字母异位词 题解

Problem: 438. 找到字符串中所有字母异位词 438. 找到字符串中所有字母异位词 预备知识解题思路复杂度Code其它细节推荐博客或题目博客题目滑动窗口哈希表 预备知识 此题用到了双指针算法中的滑动窗口思想,以及哈希表的运用。c中是unordered_map。如果对此不了解的u…...

QT 高DPI解决方案

一、根据DPI实现动态调整控件大小(三种方式) 1、QT支持高DPI(针对整个进程中所有的UI) // main函数中 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling)tips:(1)如果不想全局设置&am…...

SLB、DMZ、Nginx、Ingress、Gateway、Kibana和Grafana

SLB、DMZ、Nginx、Ingress、Gateway、Kibana和Grafana虽然有一些相似之处,但是它们的功能和适用场景还是有所不同。 SLB主要用于将大流量的请求分配到多个服务器上进行处理,从而提高系统的可伸缩性和可靠性。它适用于需要处理大流量的应用,如…...

【已解决】Invalid bound statement (not found)

报错讯息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.casey.mapper.SysRoleMapper.getUserRoleCode at org.apache.ibatis.binding.MapperMethod S q l C o m m a n d . < i n i t > ( M a p p e r M e t h o d . j a v a :…...

汽车信息安全--芯片厂、OEM安全启动汇总(1)

目录 1.芯驰E3安全启动 2.STM32 X-CUBE-SBSFU 3.小米澎湃OS安全启动 4.小结 我在前篇文章里详细记录了车规MCU信息安全设计过程关于网络安全架构的思考过程,从芯片原厂、供应商、OEM等角度思考如何建立起完备的信任链; 不过这思考过程仅仅只是一家之言,因此我又对比了国…...

气膜建筑:舒适、智能、可持续

气膜建筑之所以能够拥有广阔的发展空间&#xff0c;源于其融合了诸多优势特点&#xff0c;使其成为未来建筑领域的前沿趋势。 气膜建筑注重环境可持续性和能源效率。在材料和设计上&#xff0c;它采用可回收材料、提高热保温效果&#xff0c;并积极利用太阳能等可再生能源&…...

【C语言】一种状态超时阻塞循环查询的办法

【C语言】一种状态超时阻塞循环查询的办法 文章目录 【C语言】一种状态超时阻塞循环查询的办法1.方法12.方法21.方法1 static void wait_notify_async(notify_type_t notify_type) {static rt_tick_t exit_tick;exit_tick = rt_time_get_msec();lb_int32 notify_success = RT_F…...

【leetcode】力扣热门之回文链表【简单难度】

题目描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 用例 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true 输入&#xff1a;head [1,2] 输出&#xff1a;f…...

【MySQL】ALL函数的巧用 以及 排序(order by)巧用 sum(条件表达式) 语法

力扣题 1、题目地址 578. 查询回答率最高的问题 2、模拟表 SurveyLog 表&#xff1a; Column NameTypeidintactionENUMquestion_idintanswer_idintq_numinttimestampint 这张表可能包含重复项。action 是一个 ENUM(category) 数据&#xff0c;可以是 “show”、“answer”…...

Debezium发布历史49

原文地址&#xff1a; https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. 使用发件箱模式进行可靠的微服务数…...

数据结构——队列(Queue)

目录 1.队列的介绍 2.队列工程 2.1 队列的定义 2.1.1 数组实现队列 2.1.2 单链表实现队列 2.2 队列的函数接口 2.2.1 队列的初始化 2.2.2 队列的数据插入&#xff08;入队&#xff09; 2.2.3 队列的数据删除&#xff08;出队&#xff09; 2.2.4 取队头数据 2.2.5 取队…...

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -后端架构搭建

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...

两种方式实现mysql截取年月日

select date_format(now(), %Y-%m-%d) select substring(now(), 1, 10)...

WPF 使用矢量字体图标

矢量字体图标 在WPF项目中经常需要显示图标&#xff0c;但是项目改动后&#xff0c;有时候需要替换和修改图标&#xff0c;这样非常麻烦且消耗开发和美工的时间。为了快速开发项目&#xff0c;节省项目时间&#xff0c;使用图标矢量字体图标是一个非常不错的选择。 矢量字体图标…...

编程语言的语法糖,你了解多少?

什么是语法糖 语法糖是一种编程语言的特性&#xff0c;通常是一些简单的语法结构或函数调用&#xff0c;它可以通过隐藏底层的复杂性&#xff0c;并提供更高级别的抽象&#xff0c;从而使代码更加简洁、易读和易于理解&#xff0c;但它并不会改变代码的执行方式。 为什么需要语…...

MySQL中FLUSH TABLES命令语法

在MySQL中&#xff0c;FLUSH TABLES 命令的作用是刷新表。当你使用 FLUSH TABLES 命令的具体选项时&#xff08;例如 FLUSH TABLES WITH READ LOCK&#xff09;&#xff0c;该选项必须是在 FLUSH 语句中唯一指定的命令。即&#xff0c;在一个 FLUSH 语句中&#xff0c;你只能使…...

如何在小米4A刷OpenWRT系统并通过cpolar实现公网访问本地路由器

文章目录 前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 前言 OpenWRT是一个高度模块化、高度自…...

Spring学习之——事务控制

Spring中的事务控制 说明&#xff1a; JavaEE体系进行分层开发&#xff0c;事务处理位于业务层&#xff0c;Spring提供了分层设计业务层的事务处理解决方案。 Spring框架为我们提供了一组事务控制的接口。具体在后面的小节介绍。这组接口是在spring-tx.RELEASE.jar中。 spri…...

云原生技术专题 | 解密2023年云原生的安全优化升级,告别高危漏洞、与数据泄露说“再见”(安全管控篇)

背景介绍 2023年&#xff0c;我们见证了科技领域的蓬勃发展&#xff0c;每一次技术革新都为我们带来了广阔的发展前景。作为后端开发者&#xff0c;我们深受其影响&#xff0c;不断迈向未来。 随着数字化浪潮的席卷&#xff0c;各种架构设计理念相互交汇&#xff0c;共同塑造了…...

如何启用Windows电脑的内置Administrator账户

前言 不知道从什么时候开始&#xff0c;新电脑或者新系统开机之后都会出现一个界面让你创建一个账户&#xff0c;但这个账户有可能是本地账户&#xff08;Windows10&#xff09;还有强制你登录微软账户的&#xff08;Windows11&#xff09;。 好像曾经熟悉的电脑Administrator…...

智慧工厂:科技与制造融合创新之路

随着科技的迅猛发展&#xff0c;智慧工厂成为制造业领域的热门话题。智慧工厂利用先进的技术和智能化系统&#xff0c;以提高生产效率、降低成本、增强产品质量和灵活性为目标&#xff0c;正在引领着未来制造业的发展。 智慧工厂的核心是数字化和自动化生产&#xff0c;相较于传…...

建设网站费用评估/百度手机下载安装

GBDT&#xff08;MART&#xff09; 迭代决策树入门教程 | 简介 http://blog.csdn.net/w28971023/article/details/8240756转载于:https://www.cnblogs.com/zhangbojiangfeng/p/6127237.html...

简述程序开发的流程/专业seo排名优化费用

ceph是一种开源的分布式的存储系统&#xff0c;包含以下几种存储类型&#xff1a; 块存储&#xff08;rbd&#xff09;对象存储(RADOS Fateway)文件系统&#xff08;cephfs&#xff09;块存储&#xff08;rbd&#xff09; 块是一个字节序列&#xff08;例如&#xff0c;512字节…...

网站建设与管理案例教程在线阅读/河南最新消息

简介高分辨率数模转换器(DAC)的常见用途之一是提供可控精密电压。分辨率高达20位、精度达1 ppm且具有合理速率的DAC的应用范围包括医疗MRI系统中的梯度线圈控制、测试和计量中的精密直流源、质谱测定和气谱分析中的精密定点和位置控制以及科学应用中的光束检测。随着时间的推移…...

手机wap购物网站模板/关键词排名优化营销推广

概述 循环创建按钮, 进行按钮单选或者多选的操作.详细 代码下载&#xff1a;http://www.demodashi.com/demo/10712.html 我们经常会有多行多列按钮的页面, 这个时候我们通常会选择循环创建按钮, 然后进行按钮单选或者多选的操作! 一、程序实现 一. 单选逻辑处理 1. 创建按钮控件…...

满亦工作室 网站建设/推广方案应该有哪些方面

个人是跑业务的上班族&#xff0c;平时加班累成狗就不说了&#xff0c;主要是跑外勤的时间比较多&#xff0c;在外面接电话真的是太不方便了。为此&#xff0c;曾经花大价钱买过AirPods pro&#xff0c;但是在非常嘈杂的环境中&#xff0c;通话降噪效果真的一般般。后来一次搞定…...

怎么免费从网站上做宣传/百度推广网址

学编程要简单、粗暴。更要有效,很多时候学的越多,忘得越快。但编程总有那么一天顿悟的时候,而顿悟的契机目前就是建立在你跟橡皮擦坚持打卡 100 天,在评论区坚持跟橡皮擦卡学习的朋友,在 100 天之后,橡皮擦将送出 神秘大奖。 已完成的文章 标题链接1. 这才是 Python 学习…...