零样本学习及应用

news2024/11/25 0:50:17

传统的图像分类任务只是期望模型可以预测未见过图像的类别,而零样本学习则旨在预测从未见过的类别。对于原始图像分类任务来说,为每个类别收集大量训练数据对于最终拥有一个稳健的模型非常重要。然而,要获得大量的标注数据并不总是那么容易。例如,你可能想训练一个分类器来识别一种非常罕见的野生动物。在这种情况下,为这类生物收集大量视觉数据可能并不容易。但是,通过零样本学习,模型可以使用新物种的描述或属性(如栖息地、物理特征和行为)对其进行正确分类,即使它以前从未见过这种物种。

另一方面,有时标注过程的成本很高。在某些情况下,区分类别的关键特征可能非常复杂,只有一些领域专家才知道。同样,在这种情况下,拥有大量标注数据并不容易。零样本学习可以使模型将现有类别中的知识归纳到新的、未标记的类别中,从而减少对此类大量数据集的依赖。

应用零样本学习

 

 

在零样本学习中,数据被分为三大类:

  • Seen Classes: 用于训练模型的类别。

  • Unseen Classes:  未知类别,模型需要能够在没有任何特定训练的情况下进行分类的类别。在训练过程中没有使用这些类别的数据。

  • Auxiliary Information:辅助信息;由 Word2Vec 等技术提供的关于所有未见类别的描述、语义信息或嵌入向量。这对于解决 "零样本学习"问题十分必要,因为我们没有未知类别的标注示例。

零样本学习包括训练和推理两个步骤。在训练过程中,模型学习已标注好的数据样本集。在推理过程中,模型利用这些知识和辅助信息对一组新的类别进行分类。

训练阶段非常简单:我们使用ImageNet等通用数据集来训练分类模型,其中包括我们已知类别的样本。如前所述,我们没有任何未知类别的图像样本。此时,我们利用辅助信息来表示未见类别。

使用 Word2Vec 向量来表示类别嵌入是一种合适的方法。在 Word2Vec向量空间中,用两个向量表示的两个词在同一文档中经常出现或具有语义关系,那么这两个向量的位置就很可能很接近。

64fcdeaf025447f5893fd9474f55ac17.jpeg

 

最后,我们要做的就是:我们将使用图像嵌入(图像特征向量)及其相关类别单词嵌入(单词 Word2Vec)来训练。这样,网络基本上就能学会如何将给定的输入图像映射到 Word2Vec 空间中的向量上。训练完成后,当网络获得属于零样本类别的物体图像时,网络就能提取一个向量作为输出。然后,通过使用该输出向量(测量其与我们拥有的所有类别向量(包括训练样本和零样本数据)的距离),我们就能对其进行分类。

987436e9442a44a08cfb475e1cb32bf9.png

 

简而言之,创建零样本学习分类器就是简单地学习从未知空间(用于图像识别的视觉特征)到已知空间(文本特征或其他类型的辅助信息)的映射函数。整个过程如上图所示。即使没有 "Dog"类别的标注训练样本,在推理过程中向网络提供 "Dog"类别的测试图像时,它也会在类别嵌入空间中被映射到相对接近于 "Dog"类的向量。最终,通过计算预测向量与所有标签向量的距离,网络将能够正确地对模型在训练过程中从未展示过的 "Dog"类测试图像进行分类。

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

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

相关文章

【Unity设计模式】观察者模式,发布订阅模式,事件总线

前言 最近在学习Unity游戏设计模式,看到两本比较适合入门的书,一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式,因此很值得学习 本…

Redis小对象压缩

小对象压缩存储 如果Redis内部管理的集合数据结构很小,他会使用紧凑存储形式压缩存储。 Redis的ziplist是一个紧凑的字节数组结构,如下图所示,每个元素之间都是紧挨着的。 如果他存储的是hash结构,那么key和value会作为两个ent…

UE5 C++ 跑酷游戏练习 Part1

一.修改第三人称模板的 Charactor 1.随鼠标将四处看的功能的输入注释掉。 void ARunGANCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) {// Set up action bindingsif (UEnhancedInputComponent* EnhancedInputComponent CastChecked&…

微服务开发与实战Day11 - 微服务面试篇

一、分布式事务 1. CAP定理 1998年,加州大学的计算机科学及Eric Brewer提出,分布式系统有三个指标: Consistency(一致性)Availability(可用性)Partition tolerance(分区容错性&am…

“Git之道:掌握常用命令,轻松管理代码“

目录 1. 初始化和配置 2. 提交和更新 3. 分支和合并 4. 查看和比较 5. 远程仓库 6. 文件操作命令 1. 初始化和配置 git init:在当前目录初始化一个新的Git仓库git config:配置Git的全局或局部选项git clone:从远程仓库克隆一个本地副本…

MySQL基础——函数和约束

目录 1函数 1.1字符串函数 1.2数值函数 1.3日期函数 1.4流程函数 2约束 2.1约束概述和演示 2.2外键约束(表连接键) 1函数 函数是指一段可以直接被另一段程序调用的程序或代码。 1.1字符串函数 MySQL中内置了很多字符串函数,常用的…

【C语言习题】31.冒泡排序

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 冒泡排序 作业内容 实现一个对整形数组的冒泡排序 2.解题思路 先了解一下冒泡排序: 两两相邻的元素进行比较,如果前面元素大于后面元素就交换两个元素的位置,最终的结果是最大的…

三星S20以上手机中的动态相片及其分解

三星S20以后的相机,相机拍出来的图片,用三星手机自带的“相册”打开之后,还会有“查看动态照片”的选项,点击之后就能查看拍照片时前后2秒左右的视频! 不知道这个功能是不是三星独有的。 这样得到的图片非常大。因为…

一个简单的信号发射电路的构建

在基本的信号发射电路中,线圈(电感器)和电阻的组合可以产生振荡信号,而天线(通常通过线圈)用于发射信号。 LC振荡电路: **线圈(L1)和电容器(C)**串…

MySQL 基本语法讲解及示例(上)

第一节:MySQL的基本操作 1. 创建数据库 在 MySQL 中,创建数据库的步骤如下: 命令行操作 打开 MySQL 命令行客户端或连接到 MySQL 服务器。 输入以下命令创建一个数据库: CREATE DATABASE database_name;例如,创建一…

Locust框架

Locust 简介:是一个Python的第三方库,专门用来进行性能并发测试 Locust特点: 基于Python的开源负载测试工具支持多种操作系统支持二次开发能够模拟更多用户基于协程(微线程)的并发 Jmeter与Locust对比 Locust安装 …

街道网格宣传稿件投稿我知道了好方法

作为街道信息宣传员,我的日常是将街道的每一项重要活动、每一份温暖故事编织成文字,传递给公众。这份工作既充满挑战又极具意义,但在最初,我却在这份看似简单的任务上屡屡受阻。那时,我的投稿方式单一且传统——依赖电子邮件,将稿件发送至各大媒体的投稿箱。我本以为,只要内容足…

Linux操作系统学习:day03

内容来自:Linux介绍 视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试]( 目录 day0317、创建删除目录创建目录删除目录 18、文件的拷贝19、mv 命令20、查看文件内容的相关命令21、给文件创建软连接或硬链接 day03 …

docker部署dm数据库

官方文档参考 官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html 下载镜像地址 docker部署 1、加载镜像 docker load -i dm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用docker images,查看镜像和镜像标签…

【RK3588/算能/Nvidia智能盒子】挑战「无电无网」部署AI算法,守护大亚湾荃美石化码头工地安全

“万顷碧波之上,一座千米钢栈桥如蛟龙出水,向大海蜿蜒。钢栈桥上的项目建设者正在加紧作业,为助推惠州大亚湾加快建设成为世界级绿色石化基地全力奋战。”这是不久前北京日报对大亚湾惠州港荃湾港区荃美石化码头工地的描述。 △ 图片来源于北…

【RK3588/算能/Nvidia智能盒子】AI“值守”,规范新能源汽车充电站停车、烟火及充电乱象

近年来,中国新能源汽车高速发展,产量连续8年位居全球第一。根据中国充电联盟数据,截至2023年6月,新能源汽车保有量1620万辆,全国充电基础设施累计数量为665.2万台,车桩比约2.5:1。 虽然新能源汽车与充电桩供…

java架构设计-COLA

参考:https://github.com/alibaba/COLA 架构 要素:组成架构的重要元素 结构:要素直接的关系 意义:定义良好的结构,治理应用复杂度,降低系统熵值,改善混乱状态 创建COLA应用: mvn …

代理商 SAAS 系统权限设计

代理商 SAAS 系统与垂直业务系统不一样,代理商可以不断发展下级,每一级有每一级的管理员。超级管理员可以开通下级代理机构,同时设置下级机构的管理员账号。每一级管理员可以管理本级机构对应的部门、岗位、员工,并进行授权管理。…

SSH 远程执行任务

SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。 远程执行命令 如…

拦截器 之 用户登录判断

spring boot 拦截器的实现需要有两步: 拦截器 自定义一个拦截器 package com.example.demo.common;import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; import org.s…