任务导向的多模态字典学习

来源:互联网 发布:office mac 2016 密钥 编辑:程序博客网 时间:2024/06/14 19:57

全文请见https://sunlightsgy.github.io/2017/04/11/Dictionary_Learning/

阅读论文:《Multimodal Task-Driven Dictionary Learning for Image Classification》

摘要

字典学习(Dictionary Learning)中,输入信号被字典元素(dictionary atom)的线性组合所表示。字典学习最初是用来解决单一模态的问题,但是最近的研究表明了对于多模态的输入来说,在特征层面上利用联合稀疏表征(joint sparse representation)可以达到很好的效果。这篇文章提出了一个任务导向的,也即有监督的多模态字典学习方法。在这个方法中,多模态字典和他们对应的分类器是被同时学习的。它利用了联合稀疏约束(joint sparsity constraint)来增强同构或异构数据中的联系,获得的多模态字典可以产生有识别力的隐藏特征(latent features),可以用于二分类问题以及多分类问题。此外,这篇文章还提出了一个当前方法的扩展,使用一个 mixed joint and independent sparsity prior 约束,使得特征层面的融合变得更加灵活。这篇文章以四个应用验证了他们的方法:多模态人脸识别、多视角人脸识别、多视角动作识别和多模态生物识别。结果也证明,相比于非监督的、重构性的字典学习来说,任务导向的、有监督的学习在计算效率上更胜一筹。

介绍

多模态信息融合

采集多角度的信息,再将它们融合,往往能得到更好的识别效果。融合方法在大方向上可以分为特征融合(feature fusion)分类器融合(classifier fusion)。特征融合方法将从不同来源提取的特征融合进单一的一个特征集中,然后用于分类;而分类器融合方法对每个来源的特征集都设计一个分类器,最后的结果由这些分类器单独的结果决策而成。在过去的研究中,分类器融合方法已经得到了很好的研究,但是特征融合研究甚少,主要是因为不同特征集之间有着诸多的不同,难以适配。一个简单的方法是将所有的特征全部放在一起,但是由于训练集有限,会导致维度灾难(curse of dimensionality)。即使我们拥有充足的训练数据,这种做法也不能捕捉不同特征源之间的关系,并且可能有很多噪声和冗余。但是有研究表明如果这些问题得到克服,那么特征融合可能大大提高分类表现。

维度灾难是在数字图像处理中,对于已知样本数目,存在一个特征数目的最大值,当实际使用的特征数目超过这个最大值时,分类器的性能不是得到改善,而是退化。

稀疏表示分类

稀疏表示分类(Sparse representation classification)近年来也引起了研究人员的兴趣。这种方法已经被成功运用到了人脸识别,视频追踪和短时音频识别中。在稀疏表示中,输入信号被字典元素(dictionary atom)的线性组合所表示。在这种方法中,我们往往将所有训练数据放在一起,构建一个结构化的字典(dictionary)。这个方法也已经被扩展到特征层面的融合——多任务学习(multi-task learning)。在不同的稀疏约束中,联合稀疏约束(joint sparsity constraint)在多任务学习应用中展现出了良好的效果。这里面潜在的假设是:多模态的输入可以被多模态字典中的一些字典元素或者训练数据所表征,并且,得到的稀疏系数也应该和他们有同样的稀疏模式。但是,这种构建字典的方法有两个限制:1. 随着训练数据的增大,计算量的增加是非常大的;2. 这种构建方法对于各种任务来说并不是最优化的。

字典学习

近年来,学术界发现字典学习(Dictionary Learning)方法可以有效地克服以上字典构建的缺点。学习出的字典常常是更加小巧紧凑的,其字典元素的大小远小于训练数据量。字典学习方法分为两种:监督的和非监督的。非监督学习致力于为重构性的任务找到一个字典使得其误差最小,比如信号降噪或者图像修复。尽管非监督学习在分类问题上也有所表现,但是任务导向的监督学习能够明显取得更好的效果。对于分类任务,利用分类标签来使得字典最小化分类错误,要好于最小化重构误差。给重构误差加上一个权重,与分类错误率做一个 trade-off,对于一些问题来说会得到比较好的效果。但是有监督字典学习通常更难以取得最优化结果。

多模态字典学习

现有的字典学习的最大缺陷在于只能用在单一数据来源中。在“Learning view-invariant sparse representations for cross-view action recognition”一文中,一系列视角特有的字典和一个通用的字典被学习出来。视角特有的字典发挥了视角层面的特征效果,而通用字典捕捉了不同视角间的共同模式。它利用标注的数据学习视角特有的字典元素,但是它最小化的是重构误差,并且,它也不能用在异构的模态中。还有一系列的工作,也分别有一些不足之处。

基础知识

字典学习

与 PCA 方法不同,字典学习不需要强制使用正交条件,对于训练数据更加的灵活。令X=[x1,x2,,xN]Rn×N 为N个训练样本的集合,字典DRn×d可以通过最小化下列经验代价函数得到

gN(D)=1Ni=1Nlu(xi,D)

要满足 DRn×d,||dk||l21,其中dk是 D 的第 k 个字典元素。非监督的 loss function 定义为

lu(xi,D)=minαRd||xDa||2l2+λ1||α||l1+λ2||α||2l2

这是稀疏编码问题的最优解,其中λ1,λ2是正则化参数。另一方面,对于经验代价,人们往往关注其期望风险,而不是其完美的最小化。[2]中提出了一个在线的算法去发现字典 D,其能够最小化下列的随机误差

g(D)=Ex[lu(x,D)],

这里假设了 x 从一个有限概率分布 p(x) 中获取,而Ex是它的期望。这个训练得到的字典 D 就可以被用来(稀疏地)重构输入。另一个用处是拿来做特征提取,因为稀疏编码α(x,D)可以视作表征输入x的特征向量。于是在训练分类器的时候,我们有

minw
1 0