Zero-shot Learning零样本学习 论文阅读(一)——Learning to detect unseen object classes by between-class attribute transfer

  • 算法概要
    • 前提
    • 目标
    • 思路
  • 具体原理
    • DAP(Directed attribute prediction)
    • IAP(Indirected attribute prediction)

Learning to detect unseen object classes by between-class attribute这篇文章首次提出了Zero-shot Learning这一问题的概念,并给出了基于物体属性的解决方法。

算法概要

前提

(x1,l1),⋯,(xn,ln)(x_1,l_1),\cdots,(x_n,l_n)(x1​,l1​),⋯,(xn​,ln​)为训练样本xxx和相应类别标签lll,这样的成对数据共有nnn组,lll中一共有KKK类,用Y={y1,⋯,yK}Y=\{y_1,\cdots,y_K\}Y={y1​,⋯,yK​}表示, Z={z1,⋯,zL}Z=\{z_1,\cdots,z_L\}Z={z1​,⋯,zL​} 为测试集中所包含的LLL个类别,这里YYY和ZZZ就分别是可见类和不可见类,二者之间没有交集.

目标

学习一个分类器:f:X→Zf:X\rightarrow Zf:X→Z,也就是通过学习分类器,找到训练数据xxx和相应可见类别标签lll与位置类别标签ZZZ之间的关系。

思路

通过建立一个人工定义的属性层A,这个属性层是高维的、可以表征训练样本的各项特征,比如颜色、条纹等,目的是将基于图片的低维特征分类器转化到一个表征高维语义特征的属性层。这样可以使得分类器分类能力更广,具备突破类别边界的可能。
基于这个思路,作者提出了两种方法,分别是DAP和IAP.

具体原理

DAP(Directed attribute prediction)

如下图,DAP在样本和训练类别标签之间加入了一个属性表示层A,aaa为MMM维属性向量(a1,⋯,aM)(a_1,\cdots,a_M)(a1​,⋯,aM​),每一维代表一个属性,且在{0,1}\{0,1\}{0,1}之间取值,对于每个标签都对应一个M维向量作为其属性向量(原型)。通过训练集XXX的对应属性进行训练,学习得到属性层的参数β\betaβ,之后便可以得到P(a∣x)P(a|x)P(a∣x),
将输入测试实例x输出的标签作为待估计的参数,对于测试实例x,即可利用MAP的思想,找出概率最大的类为输出的估计类。

MAP的原理见此链接https://blog.csdn.net/River_J777/article/details/111500068


z的后验概率为:
p(z∣x)=∑a∈{0,1}Mp(z∣a)p(a∣x)p(z \mid x)=\sum_{a \in\{0,1\}^{M}} p(z \mid a) p(a \mid x)p(z∣x)=a∈{0,1}M∑​p(z∣a)p(a∣x)
根据贝叶斯公式:
=∑a∈{0,1}Mp(a∣z)p(z)p(a)p(a∣x)=\sum_{a \in\{0,1\}^{M}} \frac{p(a \mid z) p(z)}{p(a)} p(a \mid x)=a∈{0,1}M∑​p(a)p(a∣z)p(z)​p(a∣x)
根据文章中的假设前提各个维度属性条件独立(这个假设有点过强也是DAP主要问题所在)
=∑a∈{0,1}Mp(a∣z)p(z)p(a)∏m=1Mp(am∣x)=\sum_{a \in\{0,1\}^{M}} \frac{p(a \mid z) p(z)}{p(a)} \prod_{m=1}^{M} p\left(a_{m} \mid x\right)=a∈{0,1}M∑​p(a)p(a∣z)p(z)​m=1∏M​p(am​∣x)
根据Iverson bracket[[x]][[x]][[x]],若其中语句为真则为1,否则为0,得 p(a∣z)=[[a=az]]p(a \mid z)=\left[\left[a=a^{z}\right]\right]p(a∣z)=[[a=az]] ,可得:
=∑a∈{0,1}Mp(z)p(a)[[a=az]]∏m=1Mp(am∣x)=\sum_{a \in\{0,1\}^{M}} \frac{p(z)}{p(a)}\left[\left[a=a^{z}\right]\right] \prod_{m=1}^{M} p\left(a_{m} \mid x\right)=a∈{0,1}M∑​p(a)p(z)​[[a=az]]m=1∏M​p(am​∣x)
由DAP的图模型知 p(az)=p(a)p\left(a^{z}\right)=p(a)p(az)=p(a),可得:
=∑a∈{0,1}Mp(z)p(az)[[a=az]]∏m=1Mp(am∣x)=\sum_{a \in\{0,1\}^{M}} \frac{p(z)}{p\left(a^{z}\right)}\left[\left[a=a^{z}\right]\right] \prod_{m=1}^{M} p\left(a_{m} \mid x\right)=a∈{0,1}M∑​p(az)p(z)​[[a=az]]m=1∏M​p(am​∣x)
整理得:
=p(z)p(az)∑a∈{0,1}M[[a=az]]∏m=1Mp(am∣x)=\frac{p(z)}{p\left(a^{z}\right)} \sum_{a \in\{0,1\}^{M}}\left[\left[a=a^{z}\right]\right] \prod_{m=1}^{M} p\left(a_{m} \mid x\right)=p(az)p(z)​a∈{0,1}M∑​[[a=az]]m=1∏M​p(am​∣x)
省略掉为零的项:
=p(z)p(az)∏m=1Mp(amz∣x)=\frac{p(z)}{p\left(a^{z}\right)} \prod_{m=1}^{M} p\left(a_{m}^{z} \mid x\right)=p(az)p(z)​m=1∏M​p(amz​∣x)
表示出z的后验概率后,对于输入测试实例x进入分类器后,分别测试不可见标签集z1,⋯,zlz_1,\cdots,z_lz1​,⋯,zl​,求最大:
f(x)=argmax⁡l=1,2,……Lp(z)p(azl)∏m=1Mp(amzl∣x)f(x)=\operatorname{argmax}_{l=1,2, \ldots \ldots L \frac{p(z)}{p\left(a^{z_{l}}\right)}} \prod_{m=1}^{M} p\left(a_{m}^{z_{l}} \mid x\right) f(x)=argmaxl=1,2,……Lp(azl​)p(z)​​m=1∏M​p(amzl​​∣x)
根据属性之间独立:
=argmax⁡l=1,2,…..L∏m=1Mp(amzl∣x)∏m=1Mp(amzl)=\operatorname{argmax}_{l=1,2, \ldots . . L} \frac{\prod_{m=1}^{M}p\left(a_{m}^{z_{l}} \mid x\right)}{\prod_{m=1}^{M}p\left(a_{m}^{z_{l}}\right)}=argmaxl=1,2,…..L​∏m=1M​p(amzl​​)∏m=1M​p(amzl​​∣x)​
=argmax⁡l=1,2,…..L∏m=1Mp(amzl∣x)p(amzl)=\operatorname{argmax}_{l=1,2, \ldots . . L} \prod_{m=1}^{M} \frac{p\left(a_{m}^{z_{l}} \mid x\right)}{p\left(a_{m}^{z_{l}}\right)}=argmaxl=1,2,…..L​m=1∏M​p(amzl​​)p(amzl​​∣x)​
f(x)f(x)f(x) 的输出即为对于输入x的预测标签.

IAP(Indirected attribute prediction)

区别于DAP,DAP的PGM中属性层是在实例层和标签层(包括可见和不可见)之间,而IAP则是将属性层置于可见标签层与不可见标签层之间,用来迁移可见类标签与实例的信息到不可见标签层。


原理和DAP类似,此时的后验概率为:
p(am∣x)=∑i=1Kp(am∣yk)p(yk∣x)p\left(a_{m} \mid x\right)=\sum_{i=1}^{K} p\left(a_{m} \mid y_{k}\right) p\left(y_{k} \mid x\right)p(am​∣x)=i=1∑K​p(am​∣yk​)p(yk​∣x)
得到这个后验后,再求出z的后验,即可如同DAP中一样应用MAP即可.

Zero-shot Learning零样本学习 论文阅读(一)——Learning to detect unseen object classes by between-class attribute相关推荐

  1. Zero-shot Learning零样本学习 论文阅读(五)——DeViSE:A Deep Visual-Semantic Embedding Model

    Zero-shot Learning零样本学习 论文阅读(五)--DeViSE:A Deep Visual-Semantic Embedding Model 背景 Skip-gram 算法 算法思路 ...

  2. DeepLearning | Zero shot learning 零样本学习AWA2 图像数据集预处理

    因为有打算想要写一组关于零样本学习算法的博客,需要用到AWA2数据集作为demo演示 之前想只展示算法部分的代码就好了,但是如果只展示算法部分的代码可能不方便初学者复现,所以这里把我数据预处理的方法也 ...

  3. DeepLearning | Zero Shot Learning 零样本学习(扩展内容、模型、数据集)

    之前写过一篇关于零样本学习的博客,当时写的比较浅.后来导师让我弄个ppt去给本科生做一个关于Zero Shot Learning 的报告,我重新总结了一下,添加了一些新的内容,讲课的效果应该还不错,这 ...

  4. 【论文阅读笔记】Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer

    摘要: 本文主要研究训练和测试类别不相交时(即没有目标类别的训练示例)的对象分类问题.在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作,只是对训练集所包含的样本进行分类.实验表明,通过使用 ...

  5. 近期必读的6篇NeurIPS 2019零样本学习论文

    来源 | 专知(ID:Quan_Zhuanzhi) [导读]NeurIPS 是全球最受瞩目的AI.机器学习顶级学术会议之一,每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究.NIPS 20 ...

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

    该论文发表在CVPR2009上,工作的主要的开创性在于:在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作.简单来说,对于监督学习训练的分类器而言,只能对训练集中包括的样本类别进行分类,比如 ...

  7. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

  8. 干货!基于层次适应的零样本学习

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 针对视觉-语义异构特征难对准的问题,我们提出一种层次视觉-语义层次适应的学习模型,通过同时进行结构对准和分布对准,学习一个具有结构和分布 ...

  9. 近期必读的6篇 NeurIPS 2019 的零样本学习(Zero-Shot Learning)论文

    近期必读的6篇 NeurIPS 2019 的零样本学习(Zero-Shot Learning)论文 PS:转发自"专知"公众号 [导读]NeurIPS 是全球最受瞩目的AI.机器学 ...

最新文章

  1. 用python爬取网站数据期末作业_python实战第一周作业:爬取一页商品数据
  2. mysql alter算法_MySQL ALTER命令_mysql alter_添加_删除_修改
  3. 使用VS2015远程GDB调试
  4. 当linkedin connection达到1500的时候的感受
  5. 静脉阻塞指标+补充笔记
  6. How to suppress email sending when operating on Activity
  7. iOS 几个时间类型
  8. dateutil模块
  9. 设置页眉为计算机网络,如何设置页眉从指定页开始
  10. protobuf静态库隐藏符号的坑
  11. GIS影像数据格式说明
  12. WordPress插件曝出零日漏洞,已被积极在野利用
  13. HDU 3687 National Day Parade
  14. python pandas 讲解ppt_Python数据分析之pandas基本功能讲解
  15. [思语]_一花一世界,一树一菩提
  16. Java统计字符串中字符重复次数
  17. java oval_Java开源可扩展数据验证框架之OVAL
  18. PANOPLY:Low-TCB Linux Applications with SGX Enclaves笔记
  19. 【嵌入式12】DMA通信原理及编程实验,DMA方式向上位机连续发送数据
  20. Spring STS 开发IDE下载安装

热门文章

  1. html如何缩进对齐,你如何缩进你的HTML?
  2. flash 与分解 分解百度MP3图片墙
  3. Calendar的DAY_OF_MONTH, DAY_OF_YEAR, DATE的区别
  4. 家暴屡教不改能判刑吗
  5. 集合框架详解之Set、Map接口与实现类
  6. java:获取当月最后一天
  7. 计算机内存主要有哪几种,内存类型有哪些
  8. ELTEK电源维修SMPS5000SIL整流器模块故障分析及特点
  9. 多态应用-主人与宠物玩耍案例
  10. flask wtf用的多吗_WTF是Docker吗?