Discriminative Learned Dictionaries for Local Image Analysis学习笔记

区分性字典学习方法(DDL)学习笔记

概述

Discriminative Learned Dictionaries for Local Image Analysis是由Julien Mairal等人在08年发表的一篇CVPR文章,文章介绍了一个经典的区分性字典学习方法,引入softmax损失函数作为区分性目标函数,在纹理子块分类与目标检测中效果不错。


目录


简介

首先得从稀疏表示开始说起。考虑一个n维的信号或者图像x,那么希望的是可以用一个字典D的几个atom(字典的列)的线性组合来表示这个信号,如图1所示,那么就能够得到x在这个字典下的一组系数α,然后会要求这组系数非零元素尽可能少(即这个系数得是稀疏的),这就是稀疏表达。
图1.稀疏表示图示

稀疏表达用数学语言来表达的话,就是下面这个式子:

即在给定字典下,希望找到一个尽可能稀疏系数,然后可以用系数α和字典D来X。
但事实上这个很难做到,于是我们就找一个近似,也就是只要能找到一个非零元素个数少于某个值的系数α,然后要求Dα尽可能接近x,也就是重构误差尽可能小,那么稀疏表示问题就可以用下面式子表示:

有了这个稀疏表达我们可以做很多事,比如图像去噪,去文字,去马赛克,提取稀疏特征等。
图2.稀疏表示应用

但要做稀疏表示我们首先得解决的一个问题是字典,如何给定字典?
首先最简单粗暴的一种方法就是直接用给定的训练集作字典,其中一个例子就是针对人脸识别问题的稀疏表示分类器SRC(sparse representation-based classifier)。
但是SRC在大规模数据问题中会导致非常高的计算成本,因此在很多问题上可行性不大。所以很多稀疏编码方法会通过数据自适应学习来得到一个紧凑的字典,那么这就是字典学习,一个基于重构的字典学习目标式子如下:

这个目标与稀疏表示是差不多的,只不过稀疏表示是给定D找α,而字典学习问题则是D和α都是未知,需要在这个求解过程中同时求得。经典的求解方法有K-SVD和MOD(可参阅K-SVD和MOD学习笔记)。
但是这种基于重构的字典学习方法都旨在学习一个具有良好表示能力的字典,而没有考虑训练样本的类标签信息,因此在利用字典做分类识别问题时显得区分性不足。于是就有人提出学习一个更具有区分性的字典用于分类问题,本文所提出方法便是其中之一。
下面通过一个简单的利用字典做二分类的例子,来引入本文提出区分字典学习方法。
如图3,训练集有两类信号S-和S+构成,我们将对这两类分别训练学习一个字典D-和D+。那么给出一个测试信号X,我们将分别在字典D-和D+进行稀疏表示,然后比较二者的重构误差。
图3.字典用于二分类问题
这里写图片描述
最后将测试信号X归类为重构误差小的字典对应的那类。
这里写图片描述
那么要像上述例子中利用字典做分类的话,必须保证每一类所对应的字典对该类信号有最好的重构能力(即重构误差)。传统的重构性字典学习方法很可能没有办法满足这点,于是作者利用logistic(多类情况下则是softmax)损失函数的特性(如下图),构造了一个非常满足上述前提的字典学习模型:
这里写图片描述
其中Zi是训练集中第i个信号的类标签,λ是一个控制惩罚程度的参数。那么这个模型表达的意思就是,如果这个信号是属于-类,这个信号在该类对应的字典D+下做稀疏表示得到的重构误差要比在字典D-下的重构误差大得多。也即对于一个属于+类(-类)训练样本,字典D+(D-)对该样本的重构能力是最好的。
为了保持稀疏表示在分类问题中对于噪声和遮挡等问题具有的鲁棒性,以及算法优化过程中的一个稳定性,给出一个最终的区分字典学习模型中会加上包含最初提及的重构性字典学习模型的部分。于是有下面的区分性字典学习模型:
这里写图片描述
其中的参数μ用于均衡这个模型所学字典的区分性和重构性,通过调节这个参数可以保证字典在具有足够稳定的重构性的同时具有很好的区分能力。
这样一个区分性字典学习模型有以下特点:

  • 学习多个字典(一个类标签对应一个)
  • 这些字典同时具有区分性和重构性
  • 每一类训练集在本类字典下进行稀疏表示时拥有较小误差,而在其他类字典下进行系数表示时具有较大误差

区分性字典学习

在前面,我们已经通过一个例子引出了二类分类下的区分性字典学习模型,接下来我们会扩展到多类的情况。首先更详细地介绍softmax(多类版本的logistic)损失函数的特性,然后进而了解这个模型的优化过程。

区分性字典学习模型

将前面二分类例子中的区分性字典学习模型扩展到多类的情况:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值