Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer(阅读报告)

        该论文发表在CVPR2009上,工作的主要的开创性在于:在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作。简单来说,对于监督学习训练的分类器而言,只能对训练集中包括的样本类别进行分类,比如,利用若干猫和狗的图片训练出的猫狗分类器,只能识别猫和狗,而不能识别鸡和鸭。该工作可以被归类为迁移学习的一种,被引用超过900次,是该研究问题的经典论文之一。

       算法的核心思想:进行对象检测时,基于人类指定的对象的高维特征描述,而不是仅仅利用训练图片训练出相应的特征。其中所讲到的高维特征描述包括形状、颜色,甚至地理信息等等。利用这些信息的主要原因是,它们能够一定程度上实现迁移学习。该工作的另一个贡献是提供了一个新的数据集(Animals with Attributes),该数据集实际上是基于先前一个数据集开发的,用于迁移学习的工作。
       该工作的动机:基于数据驱动的算法需要大量的标签样本进行学习,而获取足够数量且合适的标签数据集的成本往往很高。在此之前的算法,需要大量标签数据(监督学习),或至少需要少量的标签数据(半监督学习)。因此,作者希望能提出一种不需要任何目标数据类别信息的对象分类方法。

算法的流程:

      首先,对问题进行数学的形式化描述,这似乎是作为一个计算机科学研究者的基本能力之一。

      设(x1,l1),...,(xn,ln)为训练样本x和相应类别标签l的成对数据,数量为n,总共有k个类别,用Y={y1,...,yk}表示,算法的目的是学习一个分类器f:X -> Z,其中Z={z1,...,zL},为类别标签。Y为训练集中所包括的类别,Z为测试集中所包括的类别,两者没有交集

      为了实现上述功能,就需要建立Y于Z之间的联系,因为训练时,并没有任何关于Z的信息。因此作者提出可以建立一个人工定义的属性层A,这里要注意的是该属性层需要能够较好地表现样本的类别信息,而且它定义起来不能太过繁杂,要不然有这功夫,还不如直接给样本Z打上标签,共分类器学习了。比如可以定义属性层包括属性“黑色”、“有尾巴”之类区具有高归纳性的属性。其实整个算法的精髓也就在于这个属性层A,通过这个属性层,将原本基于图片低维特征的分类器,转变为基于高维语义特征(属性层)的分类器,使得训练出来的分类器,分类能力更广,有突破类别边界的能力。可以类比人的思维方式,当人遇到没见过的东西的时候,虽然不会知道它的名字和所属类别,但是能够抽象出它的高维特征。

       作者提供了两种模型,均可以达到迁移学习的效果。
       第一种为:直接属性预测(Direct attribute prediction DAP)。如图1所示,在样本和训练类标之间加入一个属性表示层A,利用监督学习方式,可以学习到从x生成A的属性参数bate。在测试阶段,就可以利用属性表示层A,来表示测试数据产生的类别Z,从而实现迁移学习。
       第二种为:间接属性预测(Indirect attribute prediction IAP)。如图2所示,在训练阶段,和传统的监督训练一样,只是在其标签Y上,学习一层属性表示层A,在测试阶段,利用标签层Y和属性层A可以推测出测试数据的类别Z。

图1 DAP模型

图2 IAP模型

        两种结构的比较:对于DAP,测试时,其依据仅仅是属性层;而对于IAP,训练样本的类标也作为一个中间层,它能够一定程度上限定测试样本生成新类标的范围,使得学习到的连接控制在对于Y来说,有意义的范围内,因此可以增强系统的鲁棒性。但实际上,在作者后面的实验中,DAP的效果要比IAP的效果好很多。

       上述的两种模型,可以用概率图模型的知识进行建模。首先,每一个训练类别y都可以表示为长度为m的属性向量ay=(a1,...,am),且该属性向量为二值属性。

       DAP:可以通过监督学习,得到image-attribute层的概率表示,p(a|x),它是样本x对于所有am的后验概率的乘积。在测试时,每一个类别z可以用一个属性向量az表示。利用贝叶斯公式即可得到概率公式p(z|x)。


由于类别Z是未知的,所以可以假设它的先验概率相同,即每个p(z)的值是相同的,因此可以去除掉公式中的p(z)。对于先验概率p(a),可以使用训练时学习到的属性层值得平均值表示,作者称在实验中,该值固定为0.5时,可以得到comparable result.最终由X->Z的推测,可以使用MAP prediction:


       对于IAP,先通过监督训练,得到每一个类标的后验概率,p(yk|x),可以进一步得到p(am|x),同样根据MAP prediction,可以得到最终的结果。

       数学建模完成之后,即可训练分类器。在实验中,作者对于DAP使用非线性SVM分类器学习二值属性A,核函数使用卡方核函数,其中bandwidth 参数设为固定值,为训练样本集上的卡方距离的中值的5倍。SVM的C值设为10。对于IAP,使用加L2范数的多类逻辑回归学习二值属性A。注意上述的A是已知的,SVM和逻辑回归学习到的是X->A的映射。

       总结一下这个过程:中间属性层A是事先人工定义好的,也就是说,对于训练类别Y可以表示成属性向量ay的形式,同样测试类别Z也可以表示为属性向量az的形式。这个属性层的定义要求不太繁琐,而且能够较好地反映出类别的性质。对于DAP来说,先训练一个分类器X->A,利用训练集Y对应的属性向量进行训练。测试时,即可得到测试样本对应的属性向量A,对比测试集Z类别的属性向量,即可得到对于unseen数据的预测类别。

实验结果:

        最终DAP的准确率为40.5%,IAP的准确率为27.8%。由于前者高很多,因此作者之后的实验和结果讨论都建立在DAP之上。
       测试集上单个不同属性的预测结果如图3所示。(用AUC表示)其中可以看到就连”smelly”这样的词都可以进行一定程度的学习,可能是因为该词和视觉属性是有一定关系的。


图3 单个不同属性的预测


如图4所示,为各类别的AUC曲线。如图7所示,为测试类别的前五张匹配图结果。

图4 测试集Top5图片

作者还使用了一个传统的监督训练,训练50类数据,得到准确率为65.9%,的确其效果要好于本文方法,但是该方法,一定程度上解决了迁移学习的问题,具有很大的潜力,很值得继续探究。
总结:

       作者在总结中提到,如果提供更好的属性和分类器可以进一步提高系统的能力。还说可以借助网上的文本信息,实现zero-shot learning,也就是真正意义上不依靠任何样本标签,这的确也是后期及目前大量工作的做法。

       其实这篇论文主要的贡献在于它提供了一个迁移学习的框架,也就是提供一个高维的特征属性层,实现了类别边界的突破,这为后面的很多工作都奠定了一个理论基础。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值