Zero-shot(零次学习)简介

zero-shot基本概念

 首先通过一个例子来引入zero-shot的概念。假设我们已知驴子和马的形态特征,又已知老虎和鬣狗都是又相间条纹的动物,熊猫和企鹅是黑白相间的动物,再次的基础上,我们定义斑马是黑白条纹相间的马科动物。不看任何斑马的照片,仅仅凭借推理,在动物园一众动物中,我们也能够找到斑马。
 上述例子中包含了一个推理过程,就是利用过去的知识(已知动物的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。(如下图所示)ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。
在这里插入图片描述
 如今十分火热的纯监督模型往往需要足够多的样本才能训练出足够好的模型,并且用熊猫训练出来的分类器,只能对熊猫进行分类,其他物种都无法识别,也无法进行特征的综合推理,这样的模型功能还有待完善。
 ZSL就是希望我们的模型能够对其从没见过的类别进行分类,让机器具有推理能力,实现真正的智能。其中零次(Zero-shot)是指对于要分类的类别对象,一次也不学习。这样的能力听上去很具有吸引力,那么到底是怎么实现的呢?
 假设我们的模型已经能够识别马,老虎和熊猫了,现在需要该模型也识别斑马,那么我们需要像爸爸一样告诉模型,怎样的对象才是斑马,但是并不能直接让模型看见斑马。所以模型需要知道的信息是马的样本、老虎的样本、熊猫的样本和样本的标签,以及关于前三种动物和斑马的描述。假设我们的模型已经能够识别马,老虎和熊猫了,现在需要该模型也识别斑马,那么我们需要像爸爸一样告诉模型,怎样的对象才是斑马,但是并不能直接让模型看见斑马。所以模型需要知道的信息是马的样本、老虎的样本、熊猫的样本和样本的标签,以及关于前三种动物和斑马的描述。,以一般的图片分类问题为例:
(1)训练集数据X1及其标签Y1,包含了模型需要学习的类别(马、老虎和熊猫),这里和传统的监督学习中的定义一致;
(2)测试集数据 X2及其标签 Y2,包含了模型需要辨识的类别(斑马),这里和传统的监督学习中也定义一致;
(3)训练集类别的描述 A1,以及测试集类别的描述 A2;我们将每一个类别 Yi,都表示成一个语义向量ai的形式,而这个语义向量的每一个维度都表示一种高级的属性,比如“黑白色”、“有尾巴”、“有羽毛”等等,当这个类别包含这种属性时,那在其维度上被设置为非零值。对于一个数据集来说,语义向量的维度是固定的,它包含了能够较充分描述数据集中类别的属性。
 在ZSL中,我们希望利用X1和Y1来训练模型,而模型能够具有识别X2的能力,因此模型需要知道所有类别的描述A1和A2。ZSL这样的设置其实就是上文中识别斑马的过程中,已知的条件。
 实际上zero-shot就可以被定义为:利用训练集数据训练模型,使得模型能够对测试集的对象进行分类,但是训练集类别和测试集类别之间没有交集;期间需要借助类别的描述,来建立训练集和测试集之间的联系,从而使得模型有效。

zero-shot存在的问题

  • 领域漂移问题(domain shift problem)
    -
     如上图所示,斑马和猪都有尾巴,因此在它的类别语义表示中,“有尾巴”这一项都是非0值,但是两者尾巴的视觉特征却相差很远。如果斑马是训练集,而猪是测试集,那么利用斑马训练出来的模型,则很难正确地对猪进行分类。
  • 枢纽点问题(Hubness problem)
     将高维向量投影到低维空间时,会出现中心性问题。这样的投影减少了方差,从而导致投影点聚集成中心点。解决零样本识别问题的最常用方法之一是学习从高维视觉空间到低维语义空间的投影函数。然而,这会导致在语义空间中形成投影中心点,而这些中心点往往更接近于数量占比大的类的语义属性向量。由于在测试时,我们在语义空间中使用最近邻搜索来找到预测类别的,所以 Hubness 问题势必会降低模型的性能。
  • 语义间隔(semantic gap)
     样本的特征往往是视觉特征,比如用深度网络提取到的特征,而语义表示却是非视觉的,这直接反应到数据上其实就是:样本在特征空间中所构成的流型与语义空间中类别构成的流型是不一致的。(如下图所示)
    在这里插入图片描述
### Zero-Shot 学习的概念 Zero-shot 学习是一种机器学习范式,在这种模式下,模型能够识别并分类未曾见过的数据类别。这意味着即使在训练过程中从未接触过某些类别的数据,该模型也能够在推理阶段正确处理这些新类别[^1]。 对于自然语言处理领域而言,zero-shot 能力尤为重要。通过预训练大规模语料库上的通用特征表示,使得模型具备理解未见文本的能力。例如,当给定一个新的任务描述时,无需额外标注即可完成相应的工作流[^3]。 ### 应用实例 #### 文本分类 假设有一个用于情感分析的任务,其中包含了正面评价和负面评价两类标签;而测试集中出现了中立态度这一全新类别。如果采用传统的监督式算法,则无法直接应对这种情况。但是借助 zero-shot 技术的支持,可以利用已有的知识迁移来预测未知的情感倾向。 ```python from transformers import pipeline classifier = pipeline('sentiment-analysis', model='nlptown/bert-base-multilingual-uncased-sentiment') result = classifier(['I love this product!', 'This is terrible.', 'It just works fine.']) print(result) ``` 此代码片段展示了如何使用 Hugging Face Transformers 库加载一个支持多语言的 BERT 模型来进行 sentiment analysis,并且它天然具有一定的 zero-shot 性能,即可以在未经特定微调的情况下对新的输入做出合理的判断。 #### 图像识别 除了 NLP 领域外,计算机视觉同样受益匪浅。比如 ImageNet 数据集上训练得到的对象检测网络可能被用来辨识不在原始数据库内的物体种类——只要提供适当的文字说明作为提示词(prompt),那么即便是在缺乏对应图像样本的前提下也能实现较为准确的结果推断[^2]。 ### 原理剖析 为了使模型获得 zero-shot 的能力,通常会采取两种主要策略: - **基于属性的方法**:构建一个映射函数,将不同对象转换成一组共享特性向量空间中的点位坐标。这样一来,即使是之前没见过的新事物也可以依据其固有特点找到最接近的位置从而作出合理推测。 - **跨模态关联建模**:让神经架构学会捕捉多种感官信息之间的内在联系规律,如文字与图片间的相互关系等。这样做的好处在于一旦掌握了某种表达形式下的概念定义之后便很容易推广至其他表现形态之上。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值