Decorrelating Semantic Visual Attributes by Resisting the Urge to Share 论文笔记
来源:互联网 发布:2.5平衡口耳机 知乎 编辑:程序博客网 时间:2024/05/20 08:27
今天读的是CVPR2014 的“Decorrelating Semantic Visual Attributes by Resisting the Urge toShare”。此文的一大亮点不在于它的方法,而是正视现在热门的Visual Attributes based的方法,并开门见山地说出了“Existingmethods to learn visual attributes are prone to learning the wrong thing”,指出现在我们所说Attribute的学习很可能只是学到一些相关的attribute,而不是要学习的attribute本身。比如对于图1反映的情况,当我们要去学一个“furry”的属性时,搞不好我们其实学的是“brown”这个属性(因为有“brown”这个属性的图恰恰都有“furry”这个属性)
图1
那么应该如何解决这个问题呢?作者的提供的思路是属性分组+局部属性(空间稀疏化)+特征选择的组合(和我自己在做的思路一致啊,再次说明了出文要趁早)。这样做为什么可行呢?原因很直接:首先,对于属性分组,我们可以按语义将属性划分为不同的子集,比如颜色={“黑”,“红”},皮肤纹理={“有毛”,“有斑点”}等等。那么对于不同的分组,我们自然可以为它选择不同的图像特征进行描述,比如颜色用颜色直方图,皮肤纹理用glcm,而不是每个图像都用所有特征的串联,这就可以一定程度上避免刚刚说到学到相似属性的问题。第二,局部属性(文章中叫空间稀疏化),其实就是将原图划分为块,再每块都当作一个实例来处理。那么这样就可以避免一些背景或者是物体本身的干扰,比如当我要学习“游泳”这个属性时避免学到海豚图像中的海的“蓝色”。特征选择(特征空间的稀疏化)和第一个目的一样,只不过是当比如学习颜色特征时,采样一些自动得方法,而不是用户实现定义。
文章中具体的实现用的是Multi-Task Learning。这块我没有研究过因此文中的数值解法是否可行就不得而知了。还是从公式入手看看文章是怎么做的吧:
首先,定义训练的损失函数L:
(1.1)
其中X 是NXD 训练样本叠成的矩阵(N 个训练样本,每个训练样本抽取D 维特征),Y 是由NXM 的矩阵(假设一共有M 个属性),字母的上标代表列,下标代表行。W(DXM 矩阵)就是我们要学习的模型。然后,特征选择的常用方法就是加入L1 正则化项去逼近L0 正则化项,就得到了下面这个式子:
(1.2)
式(1.2)右边,也就是对W的行和列同时做稀疏化,那么结果是什么呢?还记得X是由N个训练样本组成的吧?这里的训练样本可是将图像划分为若干块得到的,也就是局部的图像,每个局部图像都抽取D维的特征。对这个NXM的矩阵作稀疏化,不就同时达到了空间稀疏化和特征稀疏化的目的了么?但这种稀疏化有个问题,就是不能保证我们刚刚说同语言组的属性选择同样的特征,它的稀疏化效果如图2的左图所示:图中横坐标为属性,纵坐标表示特征,白色深浅代表有响应程度,垂直于横轴的白色线代表将属性分为不同的组。
图2
然后作者又提到另外一种稀疏化方法(充论文页数):“all-sharing”。表达式如下:
(1.3)还是先看式(1.3)的右边,定义一个列向量,其实就是把W的每一行的2范数求和,我们同样稀疏化V,得到的结果就是如图2右边所示的结果,即我们把所有重要的特征都保留了(all-sharing,形象来说就是你把图2右边压成只剩一列的列向量,每行代表一个特征,所以那些对所有attribute都重要的特征都保留下来)。但还是那个问题,我们希望不同的组选择不同的特征,而不是所有的组都用一样的几个特征。
所以这篇文章就提出了式子(1.4)的约束:
(1.4)
其中S就是分组,文章中一共手动分了L组,按照上面的推理方法,现在V就不是一个列向量,而是一个DXL的矩阵了,,由于我们现在按组来分了,自然稀疏化的结果也是按组得到,也就达到我们的目的了。
具体的数值解法的话就参考MTL的方法了,这里略过不提。blog排版不易,要看pdf请自行下载...- Decorrelating Semantic Visual Attributes by Resisting the Urge to Share 论文笔记
- Decorrelating Semantic Visual Attributes by Resisting the Urge to Share 论文笔记
- Spoken Attributes: Mixing Binary and Relative Attributes to Say the Right Thing 论文笔记
- Spoken Attributes: Mixing Binary and Relative Attributes to Say the Right Thing 论文笔记
- [深度学习论文笔记][Image to Sentence Generation] Deep Visual-Semantic Alignments for Generating Image Descri
- 【论文笔记】Deep Visual-Semantic Alignments for Generating Image Description
- [论文笔记]Predicting Deeper into the Future of Semantic Segmentation
- sdut-2725-The Urge to Merge-状压DP
- 中国海洋大学第四届朗讯杯高级组 The Urge to Merge
- UESTC The Urge to Merge(状态压缩)
- UVAlive 6560 - The Urge to Merge(状压dp)
- 论文笔记:目标追踪-CVPR2014-Adaptive Color Attributes for Real-time Visual Tracking
- 13.5 论文笔记:目标追踪-CVPR2014-Adaptive Color Attributes for Real-time Visual Tracking
- 论文笔记--STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation
- 论文笔记 | BoxSup: Exploiting Bounding Boxes to Supervise Convolutional Networks for Semantic Segmentati
- Attention to Scale: Scale-Aware Semantic Image Segmentation论文阅读笔记
- 论文笔记:Label Refinement Network for Coarse-to-Fine Semantic Segmentation
- Eclipse下,选项Add variable attributes to generated class files (used by the debugger)的含义
- 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。
- C#综合性实验 - 文本编辑器
- applicationContext.xml文件如何共引用另一个applicationContext.xml文件中的bean
- UC笔试题(二)
- HDU 1010 Tempter of the Bone
- Decorrelating Semantic Visual Attributes by Resisting the Urge to Share 论文笔记
- C++模板浅谈
- C++[算法]不借助第三个参数,交换两个数的值
- [Oracle] 分析函数(4)- Order By字句
- R语言编程艺术——考试成绩的回归分析[一]
- CDialog窗口类的Class Style中没有CS_VREDRAW和CS_HREDRAW导致自绘有问题
- 你妹都看得懂的手机网游制作教程(第21篇)游戏黑屏了,别急我们来调试代码
- C#,C++,Java三者的一些区别
- in和exists的区别与SQL执行效率分析