零次学习(Zero-Shot Learning)入门(转)

很久没有更文章了,主要是没有找到zero-shot learning(ZSL)方面我特别想要分享的文章,且中间有一段时间在考虑要不要继续做这个题目,再加上我懒 (¬_¬),所以一直拖到了现在。

最近科研没什么进展,就想着写一个ZSL的入门性的文章,目的是为了帮助完全没有接触过这方面,并有些兴趣的同学,能在较短的时间对ZSL有一定的认识,并且对目前的发展情况有一定的把握。

在此之前,需要提到的是:无论是论文笔记,还是总结性的读物,都包含了作者自己的理解和二次加工,想要做出好的工作必定需要自己看论文和总结。

零次学习(zero-shot learning)基本概念

每次在实验室做工作汇报的时候,总会把ZSL的基本概念讲一遍,但是每次的效果都不是很好,工作都讲完了,提的第一个问题依然是:ZSL到底是什么?这让我一度认为我的表达能力有问题。。。。。。不过回忆起我第一次接触这个题目的时候,也花了挺长的时间才搞清楚到底在做一件什么事情,那篇入门的文章[1]看了很久才基本看懂。因此,我尽量用最简单的,不带任何公式的方式来讲一下这到底是个什么问题。

假设小暗(纯粹因为不想用小明)和爸爸,到了动物园,看到了马,然后爸爸告诉他,这就是马;之后,又看到了老虎,告诉他:“看,这种身上有条纹的动物就是老虎。”;最后,又带他去看了熊猫,对他说:“你看这熊猫是黑白色的。”然后,爸爸给小暗安排了一个任务,让他在动物园里找一种他从没见过的动物,叫斑马,并告诉了小暗有关于斑马的信息:“斑马有着马的轮廓,身上有像老虎一样的条纹,而且它像熊猫一样是黑白色的。”最后,小暗根据爸爸的提示,在动物园里找到了斑马(意料之中的结局。。。)。

上述例子中包含了一个人类的推理过程,就是利用过去的知识(马,老虎,熊猫和斑马的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。(如图1所示)ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。

图1 ZSL概念图[17]

如今深度学习非常火热,使得纯监督学习在很多任务上都达到了让人惊叹的结果,但其限制是:往往需要足够多的样本才能训练出足够好的模型,并且利用猫狗训练出来的分类器,就只能对猫狗进行分类,其他的物种它都无法识别。这样的模型显然并不符合我们对人工智能的终极想象,我们希望机器能够像上文中的小暗一样,具有通过推理,识别新类别的能力。

ZSL就是希望我们的模型能够对其从没见过的类别进行分类,让机器具有推理能力,实现真正的智能。其中零次(Zero-shot)是指对于要分类的类别对象,一次也不学习。这样的能力听上去很具有吸引力,那么到底是怎么实现的呢?

假设我们的模型已经能够识别马,老虎和熊猫了,现在需要该模型也识别斑马,那么我们需要像爸爸一样告诉模型,怎样的对象才是斑马,但是并不能直接让模型看见斑马。所以模型需要知道的信息是马的样本、老虎的样本、熊猫的样本和样本的标签,以及关于前三种动物和斑马的描述。将其转换为常规的机器学习,这里我们只讨论一般的图片分类问题:

(1)训练集数据[公式] 及其标签 [公式] ,包含了模型需要学习的类别(马、老虎和熊猫),这里和传统的监督学习中的定义一致;

(2)测试集数据 [公式] 及其标签 [公式] ,包含了模型需要辨识的类别(斑马),这里和传统的监督学习中也定义一直;

(3)训练集类别的描述 [公式] ,以及测试集类别的描述 [公式] ;我们将每一个类别 [公式] ,都表示成一个语义向量 [公式] 的形式,而这个语义向量的每一个维度都表示一种高级的属性,比如“黑白色”、“有尾巴”、“有羽毛”等等,当这个类别包含这种属性时,那在其维度上被设置为非零值。对于一个数据集来说,语义向量的维度是固定的,它包含了能够较充分描述数据集中类别的属性。

在ZSL中,我们希望利用 [公式] 和 [公式] 来训练模型,而模型能够具有识别 [公式] 的能力,因此模型需要知道所有类别的描述 [公式] 和 [公式] 。ZSL这样的设置其实就是上文中小暗识别斑马的过程中,爸爸为他提供的条件。

图2 ZSL设置图[16]

如图2,可以较为直观地了解ZSL的设置。

讲到这,很多同学可能会问:

(1)类别的描述 [公式] 到底是怎么获取的?

答:有人工专家定义的,也有通过海量的附加数据集自动学习出来的,但前者的效果目前要好很多。

(2)这样做让人觉得有点失望呀!我希望模型能够在没有斑马样本的情况下,识别斑马,而现在,虽然我不需要为模型提供斑马的样本,但是却要为每一个类别添加一种描述,更离谱的是我还需要斑马ÿ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值