Zero-Shot, One-Shot, and Few-Shot Learning概念介绍

news2024/11/19 5:54:54

导语

本文将介绍零样本学习、一次样本学习和少样本学习的概念,它们使得机器学习模型能够在仅有有限数量的示例情况下对对象或模式进行分类和识别。

在机器学习中,我们通常需要大量的训练数据来训练模型,以便它能够准确地识别和分类新的输入。然而,在现实世界中,获取大规模标记数据集可能是昂贵和耗时的。因此,零样本学习、一次样本学习和少样本学习等技术应运而生,它们旨在解决这个问题。

零样本学习(Zero-Shot Learning)是一种能够在没有任何样本的情况下学习新类别的方法。通常情况下,模型只能识别它在训练集中见过的类别。但通过零样本学习,模型能够利用一些辅助信息来进行推理,并推广到从未见过的类别上。这些辅助信息可以是关于类别的语义描述、属性或其他先验知识。

一次样本学习(One-Shot Learning)是一种只需要一个样本就能学习新类别的方法。这种方法试图通过学习样本之间的相似性来进行分类。例如,当我们只有一张狮子的照片时,一次样本学习可以帮助我们将新的狮子图像正确分类。

少样本学习(Few-Shot Learning)是介于零样本学习和一次样本学习之间的方法。它允许模型在有限数量的示例下学习新的类别。相比于零样本学习,少样本学习提供了更多的训练数据,但仍然相对较少。这使得模型能够从少量示例中学习新的类别,并在面对新的输入时进行准确分类。

零样本学习(Zero-Shot Learning)方法原理

零样本学习是指训练一个模型来对其从未见过的对象进行分类。其核心思想是利用另一个模型的现有知识,以获得新类别的有意义的表示。

它使用语义嵌入或基于属性的学习,以有意义的方式利用先前的知识,可以提供已知类别和未知类别之间关系的高级理解。这两者可以同时使用或独立使用。

语义嵌入是单词、短语或文档的向量表示,它们在连续向量空间中捕捉了它们之间的潜在含义和关系。这些嵌入通常是使用无监督学习算法生成的,如Word2Vec、GloVe或BERT。其目标是创建语言信息的紧凑表示,其中相似的含义用相似的向量编码。通过这种方式,语义嵌入允许对文本数据进行高效准确的比较和操作,并通过将实例投射到连续共享的语义空间中,泛化到未见过的类别。

基于属性的学习使得能够对未见类别的对象进行分类,而无需访问这些类别的任何标记示例。它将对象分解为其有意义和显著的属性,这些属性作为中间表示,使得模型能够在已见类别和未见类别之间建立对应关系。这个过程通常包括属性提取、属性预测和标签推断。
在这里插入图片描述

属性提取涉及为每个对象类别提取有意义和可区分的属性,以弥合低级特征和高级概念之间的差距。

属性预测涉及使用机器学习技术学习实例的低级特征和高级属性之间的对应关系,以识别特征之间的模式和关系,并泛化到新的类别。

标签推断涉及使用预测的属性和属性与未见类别标签之间的关系来预测新实例的类别标签,而无需依赖已标记的示例。

尽管零样本学习有着巨大的潜力,但仍然存在一些挑战,例如:领域适应:目标领域中实例的分布可能与源领域中的分布存在显著差异,导致对已见类别和未见类别学习的语义嵌入之间存在差异。这种领域转移可能会损害性能,因为模型可能无法在不同领域之间建立实例和属性之间的有意义对应关系。为了克服这一挑战,提出了各种领域适应技术,例如对抗性学习、特征分离和自监督学习,旨在通过调整源域和目标域中实例和属性的分布来实现分布的对齐。

一次样本学习(One-Shot Learning)方法原理

在开发传统神经网络的过程中,例如用于识别汽车,模型需要成千上万个样本,从不同角度和对比度不同的图像中捕捉,以有效区分它们。而one-shot学习采用了不同的方法。

该方法不是识别特定的汽车,而是确定图像A是否等同于图像B。这是通过将模型从先前任务的经验中获得的信息进行概括来实现的。one-shot学习主要用于计算机视觉领域。

在这里插入图片描述

用于实现这一目标的技术包括记忆增强神经网络(Memory Augmented Neural Networks,MANNs)和连体网络(Siamese Networks)。通过独立应用这些技术,one-shot学习模型可以快速适应新任务,并且即使数据非常有限,也能表现出良好的性能,这使其非常适用于获取带标签数据成本高或耗时的实际场景。

记忆增强神经网络(MANNs)

记忆增强神经网络(MANNs)是一类先进的神经网络,旨在从很少的样本中学习,就像人类只需一个新对象的实例就能学习一样。MANNs通过具备额外的记忆组件来实现这一点,该组件可以存储和随时间访问信息。

想象一下,MANN就像一个智能机器人,它有一本笔记本。机器人可以使用它的笔记本来记住之前看到的事物,并利用这些信息来理解它遇到的新事物。这有助于机器人比普通的人工智能模型学习得更快。

连体网络(Siamese Networks)

另一方面,连体网络(Siamese Networks)是通过使用两个或多个具有共享权重的相同子网络来比较数据样本的设计。这些网络学习一个特征表示,捕捉数据样本之间的主要差异和相似之处。

想象连体网络就像一对双胞胎侦探,他们总是一起工作。他们共享相同的知识和技能,他们的工作是比较两个物品,并判断它们是相同还是不同。这些侦探观察每个物品的重要特征,然后将其发现进行比较以作出决策。

连体网络的训练分为两个阶段:验证阶段和泛化阶段。

  • 在验证阶段,网络确定两个输入图像或数据点是否属于同一类别。网络使用两个相同子网络分别处理两个输入。
  • 在泛化阶段,模型通过有效学习可以区分不同类别的特征表示来概括对输入数据的理解。

完成这两个阶段后,模型能够确定图像A是否对应于图像B。

one-shot学习非常有前景,因为它不需要重新训练来检测新的类别。然而,它面临着挑战,比如对内存需求较高和对计算能力的巨大需求,因为学习需要两倍的操作。

为了解决这些挑战,研究人员提出了许多改进的方法和技术。例如,通过改进模型的架构和设计,以减少内存需求和计算复杂性;使用生成对抗网络(Generative Adversarial Networks,GANs)来生成合成样本以增加数据量;采用迁移学习和领域适应技术,以便将先前学习到的知识迁移到新的任务中。

one-shot学习的发展为计算机视觉领域带来了许多潜在应用。例如,在人脸识别领域,one-shot学习可以帮助识别未在训练集中出现的人脸。在物体检测和图像分类领域,one-shot学习可以使模型更好地适应新的物体类别,而无需大量标记样本。

少样本学习(Few-Shot Learning)方法原理

最后要介绍的学习方法是少样本学习(Few-Shot Learning),它是元学习的一个子领域,旨在开发能够从少量有标签示例中学习的算法。

深度学习元学习(Deep Meta-Learning)是一种机器学习方法,旨在让机器能够学习如何快速适应新任务,而不是仅仅在已知的任务上进行训练。具体来说,元学习的目标是让机器学会如何通过有限的样本数据,快速地适应新的任务,并且能够在不同的任务之间进行泛化。元学习通过将模型的训练过程视为一个学习过程,从而使模型可以自动学习如何学习。元学习已经被广泛应用于少样本学习、迁移学习、强化学习等领域,成为了机器学习中一个备受关注的研究方向。

在这里插入图片描述

在元学习背景下,原型网络(Prototypical Networks)和模型无关元学习(Model-Agnostic Meta-Learning,MAML)是两种在少样本学习场景中取得成功的突出替代技术。

原型网络(Prototypical Networks)

原型网络是一类为少样本分类任务设计的神经网络。其核心思想是在特征空间中为每个类学习一个原型或代表性示例。通过比较新输入与学习到的原型之间的距离,进行分类。主要包括三个步骤:

  1. 嵌入(Embedding):网络使用神经网络编码器(如卷积神经网络(CNN)或循环神经网络(RNN))为每个输入计算一个嵌入。嵌入是捕捉输入数据显著特征的高维表示。
  2. 原型计算:对于每个类,网络通过对支持集的嵌入取均值来计算原型,支持集是每个类别的少量有标签示例的子集。原型表示特征空间中类别的“中心”。
  3. 分类:给定一个新输入,网络计算其嵌入,并计算输入的嵌入与原型之间的距离(如欧氏距离)。然后将输入分配给最近原型所属的类别。

学习过程涉及最小化损失函数,鼓励原型与其相应类别的嵌入更接近,并与其他类别的嵌入相距较远。

模型无关元学习(MAML)

MAML是一种元学习算法,旨在找到模型参数的最佳初始化,使其能够通过少量梯度步骤快速适应新任务。MAML是模型无关的,意味着它可以应用于任何使用梯度下降进行训练的模型。

MAML涉及以下步骤:

  1. 任务抽样:在元训练过程中,从任务分布中抽样任务,每个任务都是一个具有少量有标签示例的少样本学习问题。
  2. 任务特定学习:对于每个任务,使用任务的训练数据(支持集)通过少量梯度步骤对模型参数进行微调。这样就得到了具有更新参数的任务特定模型。
  3. 元学习:元目标是最小化所有任务的验证数据(查询集)上的任务特定损失之和。通过梯度下降更新模型的初始参数以实现此目标。
  4. 元测试:在元训练之后,模型可以快速地在新任务上进行微调,只需要进行几个梯度步骤,利用已学习的初始化。

MAML需要大量的计算资源,因为它涉及多个嵌套的梯度更新,这带来了挑战。其中一项挑战是任务多样性。在许多少样本学习的场景中,模型必须适应多种任务或类别,每个任务或类别只有很少的样本。这种多样性使得开发一个单一的模型或方法来有效地处理不同的任务或类别变得具有挑战性,需要进行大量的微调或适应。

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

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

相关文章

数据挖掘知识与学习方向

数据挖掘是一门涉及多个学科的交叉学科,需要掌握的知识点也比较多。以下是一些数据挖掘的基础知识和学习方向: 数据库:需要掌握 SQL 语言和数据库设计,以便能够有效地管理和处理数据。 统计学:需要掌握基本的统计学知…

硬盘初始化后数据还能恢复吗?硬盘被初始化怎么恢复数据

现今热门的数据恢复话题之一便是硬盘被初始化后如何恢复数据。或许许多人都遭遇过这一问题,往往因为误操作或不小心,导致硬盘数据被不可逆地清除。所以,为帮助广大用户避免数据丢失的情况,本文将为大家介绍如何恢复被初始化的硬盘…

基于注解的Spring(IOC+AOP)

目录 这是基于黑马Spring的笔记 写再前面 开始 Component(valuebean的名称) componet衍生出的3个注解 Bean内部的属性进行注入 非自定义的Bean管理 使用配置类完全替代XML配置文件 配置类中的注解 spring中的其他注解(偶尔会用到) Spring注解的解析原理 sp…

Java Supervisor RPC2 接口对接

1.引入xmlrpc-client 如果是C#语言&#xff0c;请参考《C#对接supervisor XML-RPC API 实现进程控制》 如何安装Supervisor&#xff0c;请参考《Linux进程守护—Supervisor&#xff08;ubuntu&#xff09;》 如果是Maven项目&#xff0c;则在pom.xml引入jar包 <dependenc…

详解CSS中的flex布局

详解CSS中的flex布局 1、概念2、容器属性2.1 flex-direction2.2 flex-wrap2.3 flew-flow2.4 justify-content2.5 align-items2.6 align-content 3、元素属性3.1 order3.2 flex-grow3.3 flex-shrink3.4 flex-basis3.5 flex3.6 align-self 1、概念 弹性盒子&#xff08;display: …

如何系列 JMeter如何录制脚本

文章目录 方式1. 手动编写2. JMeter自带录制功能3. Fiddler录制4. Badboy录制5. Blazemeter录制 总结和使用感受 方式 1. 手动编写 最原始的方式&#xff0c;在线程组中根据研发提供的接口文档和浏览器的Network请求一个个手动录入&#xff0c;它可以提供更大的灵活性和控制力…

PostgreSQL 中的虚拟文件描述符

由于每个操作系统限制了一个进程能打开的文件数&#xff08;例如&#xff1a;ubuntu 为1024&#xff09;&#xff0c;因此进程能获得的文件描述符是有限的。对于经常需要打开许多文件的数据库进程来说&#xff0c;很容易会超过操作系统对于文件描述符数量的限制。 为解决这个问…

如何写好一份解决方案

1、前言 我们在日常工作中会不可避免要去编写各种方案&#xff0c;如技术方案、建设方案、项目建议书、实施方案、规划方案、解决方案等。 我们去浏览华为、阿里、腾讯、IBM、海尔等公司的官网&#xff0c;可以看到在首页比较显眼的位置&#xff0c;都有解决方案的入口&#…

Postcat X APISIX 合作插件 :一键同步,轻松配置到 APISIX

近日&#xff0c;云流科技&#xff08;广州&#xff09;有限公司&#xff08;简称“Eolink”&#xff09;旗下的开源 API 管理工具 Postcat 和深圳支流科技有限公司&#xff08;简称“API7 支流科技”&#xff09;在各自擅长的领域携手合作&#xff0c;推出了 Postcat & Ap…

R语言 tidyverse系列学习笔记(系列4)PlantGrowth - percentage table

本篇学习数据分析&#xff0c; Excel 表格制作 Task&#xff1a; 创建一个 行 百分比 表格 row percentage table 先看一下 PlantGrowth 数据集 library(dplyr)data("PlantGrowth") view(PlantGrowth)给数据集新加一列 weight_cat &#xff0c;并用 case_when 自定…

【React】: React的生命周期

概述 生命周期的每个阶段总是伴随着一些方法的调用&#xff0c;这些方法就是生命周期的钩子函数 钩子函数的作用&#xff1a;为开发人员在不同操作阶段提供了十几 只有 类组件 才有生命周期 生命周期的图片&#xff1a; 同时有&#xff1a; 1.1 创建时 的生命周期执行顺序 编写…

计划任务使用介绍

作者:lly 文章目录 前言一、使用说明1.1 发布模型1.2 创建并设置计划任务1.3 开启计划任务1.4 管理计划任务 二、结语 前言 iServer 11i(2023)对于处理自动化服务新增计划任务功能&#xff0c;该功能支持定时触发和监听文件变化触发执行模型&#xff0c;因此计划任务适用于以下…

Vite构建工具下Tinymce踩坑指南

背景 "vue": "^3.2.41","vite": "^3.2.3","tinymce": "^6.4.2","tinymce/tinymce-vue": "^5.1.0",坑1: 找不到zh-Hans.js等配置的文件 使用Tinymce需要配置中文汉化包、样式等。这些文件都是…

安全问题我们需要重视,立刻升级fastjson2

一、前言 小伙伴大家好&#xff0c;我是开源字节快速开发平台的作者。fastjson2.0 是fastjson的重要升级&#xff0c;目标是为下一个十年提供一个高性能的JSON库&#xff0c;同一套API支持JSON/JSONB两种协议。 近期fastjson 再报安全漏洞&#xff0c;直接给我们发送了高危告…

FastReport 2023.2新版, Delphi 和 Lazarus 核心产品将统一整合, 一起来看!

FastReport 是功能齐全的报表控件&#xff0c;可以帮助开发者可以快速并高效地为.NET&#xff0c;VCL&#xff0c;COM&#xff0c;ActiveX应用程序添加报表支持&#xff0c;由于其独特的编程原则&#xff0c;现在已经成为了Delphi平台最优秀的报表控件&#xff0c;支持将编程开…

风景类Midjouney prompt提示词

稳定输出优美风景壁纸的Midjouney prompt提示词。 1\在夏夜&#xff0c;有淡蓝色的星空&#xff0c;海边&#xff0c;流星&#xff0c;烟花&#xff0c;海滩上全是蓝色的玫瑰和绿色的植物&#xff0c;由Ivan Aivazovsky和Dan Mumford&#xff0c;趋势在cgsociety&#xff0c;柔…

HEIC→JPG

问题描述&#xff1a;图片格式由HEIC转JPG 解决办法&#xff1a;在网上找一个在线图片转格式的软件

我理解的参与开源贡献

坐标上海的E人&#xff0c;还在新手村练级的前端开发。曾闯荡过教育培训和零售管理行业&#xff0c;经历过大公司、外企&#xff0c;也和朋友的工作室合作过&#xff0c;斩获过一些能吓唬人的标签。好奇心很足&#xff0c;精力也很充沛&#xff0c;代码世界就是我现实生活中的霍…

【前后端实现文件下载或浏览】

前后端实现文件下载或浏览 背景前端后端java其他IO流分两种&#xff1b;字符流&字节流 背景 前端html\js\css,使用a标签或者iframe,笔者使用window.open(url)—重新打开标签页地址栏显示的接口路径;后端返回客户端[HttpServletResponse] 文件流&#xff08;以附件的方式[a…

建设现代化智慧十防档案室所需要的技术性方案

一、库房温湿度对档案的影响 库房的温湿度&#xff0c;过高过低都会影响档案制成材料的耐久性。高温高湿会加速纸张的老化水解&#xff0c;使危害档案制成材料的霉菌、细菌繁殖&#xff0c;并增强光化作用&#xff0c;使有害气体、灰尘吸附能力增大。但低温低湿会使纸张变脆&a…