zero-shot learning

Zero-Shot Learning旨在解决训练集未出现类别的分类问题。文章介绍了one-shot learning的思想,通过语义描述使模型能识别新类别。《Zero-Shot Learning with Semantic Output Codes》提出包括语义特征空间、语义知识库和语义输出编码分类器在内的方法,以实现对未知类别的预测。
摘要由CSDN通过智能技术生成

Zero-shot Learning

参考文献《Zero-Shot Learning with Semantic Output Codes》

背景

在分类问题中,因为数据库大小有限,因此在使用分类模型进行预测时,出现了在训练集没有出现过的类别。举个例子,我们有个小型数据库,里面所含的类别只有人、鸟、汽车,经过我们的训练,发现模型对于这些类别的目标已经有很好的性能了,但是突然出现了一个新的类别——狗,此时模型并不认识这个类别,这也就意味着模型肯定没法对这个新的类别进行新的分类。
这个问题就是一个典型的因训练样本不足而导致的模型出现欠缺的问题,那么该如何缓解这种问题呢?最简单直接的方法就是大量的增加样本,让模型学习更多的类别,但是如果我采集一张新的类别样本的成本太高,或者几乎没法采集到某些类别的样本,此时该怎么办?也就是说如何在数据库有限的情况下,让模型竟可能的容忍新的类别,或者训练集中没有出现过的样本?
上述问题就是一个典型的zero-shot learning问题,zero-shot learning的根本目的就是解决这种类别从未出现在训练集中的情况。

one-shot learning方法

西方谚语中有这么一句话:一只鸟,长得像鸭子,叫声像鸭子,走路也像鸭子,那它就是鸭子!
one-shot learning的想法就很类似于上述思想。传统的类别标签中,人的类别标签就是人,鸟的类别标签就是鸟,或者用更加符合编程的场景来描述,人的标签是1,鸟的标签是2,这些标签本身并不具有很强的描述意义,仅仅是一个符号而已。如果我们不用上面这些符合标签,而采用一些具有语义信息的描述标签,比如我们描述人时,我们不说这是人,我们说这个物体是一种动物,直立行走,食肉,没有尾巴。。。。。通过这些语义描述,我们可以对人这一类别进行属性描述,当语义信息足够多时,那么人这一类别也就会变得独一无二。通过训练就可以将这些属性列表与人相对应。
同理,当出现了新的物体是,虽然我们不知道这些物体是什么,但是我们可以通过上述的属性描述对这一新的物体进行描述,从而避免了无法识别新类别的尴尬情况。

在《Zero-Shot Learning with Semantic Output Codes》中,其将zero-shot learning的形式分为了一下三个部分:

1、语义特征空间

所谓语义特征空间,就是对目标进行一定的语义描述,语义特征空间中是一些语义特征描述向量,假设语义特征空间中一共有5个描述向量,比如是否有毛?是否有尾巴?能不能在水呼吸?是否食肉?是否移动缓慢?那么对于狗狗这种动物而言,其语义描述子就是一个5维向量,即 { 1,1,0,1,0}

2、语义知识库

所谓语义知识库就是就是目标的语义描述和目标标签的组合。每个目标都有自己的语义描述向量,类似于上文中狗狗的向量

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值