deeplearning论文笔记之(二)sparsefiltering稀疏滤波
- 格式:doc
- 大小:32.50 KB
- 文档页数:10
基于稀疏编码的深度神经网络优化方法研究深度神经网络(Deep Neural Networks,DNNs)在计算机视觉、自然语言处理等领域取得了重大突破,但是其训练过程中存在着一些挑战。
为了进一步提高深度神经网络的性能,研究人员们提出了基于稀疏编码的优化方法。
本文将探讨这些方法的原理和应用。
一、稀疏编码的基本概念稀疏编码是一种表示输入数据的方法,它通过寻找最小的表示方式来减少冗余信息。
在深度神经网络中,稀疏编码可以用于优化网络的权重和偏置。
通过将输入数据表示为稀疏向量,可以减少网络参数的数量,提高网络的泛化能力。
二、基于稀疏编码的深度神经网络优化方法1. 稀疏自编码器(Sparse Autoencoder)稀疏自编码器是一种基于稀疏编码的深度神经网络优化方法。
它通过最小化重构误差和增加稀疏性惩罚项来学习输入数据的紧凑表示。
稀疏自编码器可以有效地学习到输入数据的高级特征,并且具有较好的泛化能力。
2. 稀疏编码与卷积神经网络(Sparse Coding with Convolutional Neural Networks)稀疏编码与卷积神经网络的结合可以进一步提高网络的性能。
在这种方法中,稀疏编码用于学习卷积神经网络的权重。
通过将输入数据表示为稀疏向量,可以减少网络的参数数量,并且提高网络的泛化能力。
这种方法在计算机视觉领域取得了显著的成果。
3. 稀疏编码与循环神经网络(Sparse Coding with Recurrent Neural Networks)稀疏编码与循环神经网络的结合也是一种有效的优化方法。
在这种方法中,稀疏编码用于学习循环神经网络的权重和隐藏状态。
通过将输入数据表示为稀疏向量,并且利用循环神经网络的记忆能力,可以更好地捕捉时序信息,提高网络的性能。
三、基于稀疏编码的深度神经网络优化方法的应用基于稀疏编码的深度神经网络优化方法已经在许多领域得到了广泛应用。
在计算机视觉领域,这些方法被用于图像分类、目标检测和图像生成等任务。
研究领域总结(一):稀疏Pre:面试发现自己老讲不条理自己的研究工作,还是要先梳理下。
鉴于motivation,本文是侧重结构化的15分钟talk draft,而非务求详尽。
有兴趣的欢迎私下讨论。
Abstract:本文主要介绍稀疏模型相关,侧重于字典学习和具体应用。
1.sparse background2.DL(DIctionary Learning)是什么,用途,为什么好3.我的DC(Customization)工作I.稀疏模型稀疏模型是最近几年比较hot的技术,在信号处理(压缩感知)、计算机视觉(比如JPEG压缩)领域影响比较大,在机器学习框架则可以看做是一种特征处理相关的模型。
具体的,稀疏表示是指在超完备字典D(超完备是说字典行数小于列数)中用尽可能少的原子来表示信号x,即:minα∥α∥0,s.t.x=Dα.考虑噪声就是minα∥x?Dα∥22+λ∥α∥0,α的size比x大很多,但是非零元素比x的size小很多很多。
稀疏的优点主要在于它是非线性模型,所以表达能力更强。
具体来说,每个信号稀疏系数的非零元素位置不同(所谓的support),所以每个信号可以看做被投影到了不同的线性子空间,这是和正交字典-PCA之类的最大区别。
而为什么在视觉图像里应用尤其多,也正是因为每张图像(如人脸)可以看做处于高维空间的一个低维子空间上(其实还有些研究用流形做子空间建模的)。
稀疏模型研究方向主要包括系数求解(即上面那个问题,经典算法有OMP贪心、lasso凸松弛和l1/2非凸松弛),字典学习(获得更好的D,经典算法有MOD和K-SVD交替迭代)和模型应用。
II.字典学习显然稀疏表达的效果好坏和我们用的字典有着密切的关系。
字典分两类,一种是预先给定的分析字典,比如小波基、DCT等,另一种则是针对特定数据集学习出特定的字典。
这种学出来的字典能大大提升在特定数据集的效果。
给定训练样本X={xi∥ni=1,我们要所有样本在字典D上有稀疏表达W={wi}ni=1,所以优化目标是min D,W∥X?DW∥2F,s.t.∥wi∥0≤s.这个目标函数非凸,一般用交替迭代思想来解,即分别固定D和W,更新另一个,很多变种算法。
单位代码: 10293 密 级:硕 士 学 位 论 文论文题目: 基于边界优先的图像超分辨率重建1013010601 司丹丹 干宗良 副教授 信号与信息处理图像处理与多媒体通信工学硕士 二零一六年三月学号姓名导 师学 科 专 业 研 究 方 向 申请学位类别 论文提交日期Single Image Super Resolution Based on Edge -PriorThesis Submitted to Nanjing University of Posts and Telecommunications for the Degree ofMaster of EngineeringByDandan SiSupervisor: Vice Prof. Zongliang GanMarch2016南京邮电大学学位论文原创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
本人学位论文及涉及相关资料若有不实,愿意承担一切相关的法律责任。
研究生签名:_____________ 日期:____________南京邮电大学学位论文使用授权声明本人授权南京邮电大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档;允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索;可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。
本文电子文档的内容和纸质论文的内容相一致。
论文的公布(包括刊登)授权南京邮电大学研究生院办理。
涉密学位论文在解密后适用本授权书。
研究生签名:____________ 导师签名:____________ 日期:_____________摘要图像超分辨率重建是一种由低分辨率(LR)图像获得高分辨率(HR)图像的技术,其目的是恢复图像在降质过程中损失的高频信息和细节信息。
强跟踪稀疏网格滤波在水下目标跟踪中的应用王越;徐正生;于飞;陈斐楠【摘要】A Strong Tracking Sparse Grid Quadrature Filter(STSGQF)is proposed to overcome the problem that Sparse Grid QuadratureFilter(SGQF)decreases in accuracy, even diverges when the underwater target moves with power maneu-verability. The sparse grid is avaible to reduce the SGQF's computation cost, significantly, while the accuracy lowers slightly. STSGQF where the Strong Tracking Filter(STF)is introduced into SGQF not only keeps the advantages of high accuracy and shorter running time, but also improves the robustness of the algorithm. Meanwhile, STSGQF need not to calculate Jacobian matrix. Simulation results show the effectiveness of STSGQF.%针对水下目标发生强机动的情况,为解决稀疏网格求积滤波(Sparse Grid Quadrature Filter,SGQF)精度下降,甚至发散的问题,提出了强跟踪稀疏网格求积滤波(Strong Tracking Sparse Grid Quadrature Filter,STSGQF)算法.SGQF能够在保证滤波精度的情况下,大大降低运算成本.在此基础上引入强跟踪滤波(Strong Tracking Filter,STF),STSGQF不仅保留了SGQF跟踪精度高、运行时间短的优点,还提高了算法的鲁棒性,同时,也解决了STF需要求解Jacobian矩阵的问题.通过仿真实验验证了STSGQF的有效性.【期刊名称】《计算机工程与应用》【年(卷),期】2017(053)022【总页数】8页(P235-242)【关键词】水下目标跟踪;高斯-埃尔米特求积滤波;稀疏网格;强跟踪滤波【作者】王越;徐正生;于飞;陈斐楠【作者单位】哈尔滨工程大学理学院,哈尔滨 150001;哈尔滨工程大学理学院,哈尔滨 150001;哈尔滨工程大学理学院,哈尔滨 150001;哈尔滨工程大学理学院,哈尔滨 150001【正文语种】中文【中图分类】TP391.921世纪以来,随着海上资源的开发利用以及各海洋大国军事发展的需求,水下潜器在水下作业中的重要性日益凸显。
人工智能开发技术中的稀疏学习与数据稀疏性处理随着人工智能技术的发展和应用广泛,稀疏学习(sparse learning)成为了人工智能开发中的重要研究方向之一。
稀疏学习是指通过对数据进行处理,从中挖掘出具有特定稀疏性质的模型和特征,以达到更快速、更精确的学习和推理效果。
稀疏学习方法的核心理念是将大部分数据的权重置为零,仅保留少部分有意义的权重。
在人工智能领域中,稀疏学习的应用非常广泛。
特别是在机器学习、图像处理和自然语言处理等领域,稀疏学习对于提高算法的效率和准确性具有重要作用。
在机器学习中,稀疏学习可以帮助将高维度的特征数据进行降维处理,提取出最具代表性的特征,从而减少计算复杂度。
在图像处理中,稀疏学习可以用于图像去噪、图像压缩和图像恢复等任务,大大提高了图像处理的效果。
在自然语言处理中,稀疏学习可以用于文本分类、信息抽取和机器翻译等任务,使得模型更加准确和高效。
稀疏学习的核心问题之一是如何处理数据的稀疏性。
数据稀疏性是指输入数据集中很多特征都是零,只有少部分特征才具有有效信息。
处理数据稀疏性的方法有很多,下面将介绍几种常见的方法。
首先是L1正则化方法。
L1正则化是一种常用的稀疏学习方法,它通过加入L1范数惩罚项来限制模型的权重,使得模型在训练过程中自动地将一些权重置为零。
L1正则化可以在一定程度上解决数据稀疏性问题,但它并不能保证得到最优的稀疏解。
其次是基于字典学习的方法。
字典学习是一种通过学习数据的字典,将原始数据表示为字典中的稀疏线性组合的方法。
在字典学习中,通过迭代优化,学习到的字典是稀疏的,从而实现了对数据的稀疏表示。
字典学习方法在处理数据稀疏性问题上非常有效,已经在图像处理和自然语言处理等领域取得了显著的成果。
另外,还有一种常见的方法是稀疏编码。
稀疏编码是一种通过对数据进行稀疏表示的方法,它假设数据可以由一组原子(基向量)的线性组合来表示。
在稀疏编码中,通过优化目标函数,可以得到稀疏的表示结果,从而实现对数据的稀疏性处理。
稀疏贝叶斯的原理稀疏贝叶斯的原理什么是稀疏贝叶斯?稀疏贝叶斯(Sparse Bayesian Learning,SBL)是一种用于生成模型的贝叶斯方法,用于解决高维数据建模问题。
稀疏贝叶斯通过引入稀疏性先验,可以有效地解决高维数据问题,并且能够自动地选择重要的特征,从而提高预测性能。
稀疏贝叶斯的原理1.贝叶斯方法贝叶斯方法是一种基于贝叶斯定理的统计推断方法,通过将观测数据和先验知识结合,来得到后验分布。
在贝叶斯方法中,模型参数被看作是随机变量,而不是固定的值。
2.稀疏性先验稀疏性先验是指先验概率密度函数中的超参数被赋予一定的模型稀疏性,从而使得生成的后验分布具有稀疏性。
稀疏性先验可以有效地压缩模型参数,选择重要的特征,并且可以缓解过拟合问题。
3.稀疏贝叶斯算法稀疏贝叶斯算法基于贝叶斯方法和稀疏性先验,通过最大化后验概率来估计模型参数。
在求解过程中,采用迭代算法逼近最优解,具体包括两个步骤:先对模型参数进行初始化,然后通过迭代更新模型参数,直到收敛。
4.利用稀疏特性选择重要特征稀疏贝叶斯通过引入稀疏性先验,可以自动地选择重要的特征。
在模型训练过程中,随着迭代的进行,模型参数中的一些特征会逐渐变得非零,而其他特征的系数则趋近于零。
这样,我们就可以根据模型参数的稀疏性来识别和选择重要的特征。
5.改进预测性能稀疏贝叶斯通过选择重要的特征和压缩模型参数,可以提高预测性能。
在高维数据建模问题中,往往存在大量冗余特征或者噪声特征,而稀疏贝叶斯可以通过自动选择重要特征,提高模型的泛化能力,并且可以避免过拟合问题。
小结稀疏贝叶斯是一种用于解决高维数据建模问题的贝叶斯方法。
通过引入稀疏性先验,稀疏贝叶斯可以自动选择重要的特征,提高预测性能,并且可以缓解过拟合问题。
稀疏贝叶斯算法通过迭代更新模型参数,逼近最优解。
在实际应用中,稀疏贝叶斯能够广泛应用于信号处理、模式识别等领域,成为一种强大的建模工具。
稀疏贝叶斯的应用1.信号处理稀疏贝叶斯在信号处理中有着广泛的应用。
强化学习算法中的稀疏表示学习方法详解强化学习(Reinforcement Learning, RL)是一种机器学习方法,其目标是使智能体(agent)通过与环境的交互,学习到如何在未知环境中做出最优的决策。
在强化学习中,智能体通过观察环境的状态和采取行动来获取奖励,从而不断优化自己的策略。
稀疏表示学习(Sparse Representation Learning)则是一种用于特征提取和数据降维的方法,通过学习数据的稀疏表达形式,可以更好地捕捉数据的潜在结构和特征。
本文将详细探讨强化学习算法中的稀疏表示学习方法及其应用。
一、稀疏表示学习的基本原理稀疏表示学习的基本原理是利用线性组合来表示数据,同时尽可能使用少量的基函数。
对于给定的数据集,稀疏表示学习旨在找到一组稀疏系数,使得数据能够被这组稀疏系数线性表示。
在强化学习中,稀疏表示学习可以用于提取环境的特征,从而帮助智能体更好地理解环境和做出决策。
二、稀疏表示学习在强化学习中的应用在强化学习中,智能体需要不断地观察环境的状态并做出决策。
然而,由于环境的复杂性和高维度特征的存在,传统的特征提取方法往往难以满足需求。
稀疏表示学习可以通过学习数据的稀疏表示,更好地捕捉环境的特征,从而帮助智能体更好地理解环境和做出决策。
例如,在深度强化学习中,智能体通常使用神经网络来近似值函数或策略函数。
稀疏表示学习可以用于特征提取,从而帮助神经网络更好地学习环境的特征。
通过学习数据的稀疏表示,可以更好地捕捉环境的潜在结构和特征,从而提高智能体的决策能力。
三、稀疏表示学习方法在强化学习中,常用的稀疏表示学习方法包括字典学习、压缩感知和稀疏自编码器等。
这些方法都可以用于学习数据的稀疏表示,从而帮助智能体更好地理解环境和做出决策。
1. 字典学习字典学习是一种常用的稀疏表示学习方法,其目标是学习一组基函数(字典),使得数据能够被这组基函数线性表示。
在强化学习中,可以使用字典学习来提取环境的特征,从而帮助智能体更好地理解环境和做出决策。
深度学习中的模型解决稀疏数据问题的方法深度学习(Deep Learning)是一种通过多层神经网络模拟人脑结构来进行模式识别和决策的机器学习方法。
在深度学习中,数据质量对于模型的性能至关重要。
然而,许多实际应用中的数据都存在稀疏性的问题,即大部分特征值都为零。
稀疏数据的问题在深度学习中经常遇到,因为例如在自然语言处理和推荐系统等领域,大多数特征都不会同时出现。
这导致输入的维度非常高,而具有真实意义的特征很少。
为了解决稀疏数据问题,研究人员提出了一些方法。
一、稀疏数据表示方法稀疏数据表示方法是处理稀疏数据最基本的一种方法。
其主要思想是通过适当的数据编码方式将稀疏数据转化为稠密数据。
常见的稀疏数据表示方法包括One-Hot编码、TF-IDF等。
以One-Hot编码为例,该方法将每个特征都编码成一个二进制的向量,向量的长度等于特征空间的维度数。
一个特征只在对应的位置上为1,其他位置为0,从而将稀疏数据编码为稠密数据。
使用稠密数据可以加速训练过程,提高模型的性能。
二、特征选择(Feature Selection)特征选择是另一种用于解决稀疏数据问题的方法。
该方法的主要思想是从原始数据中选择出对目标任务最有用的特征子集。
通过减少特征的维度,可以提高模型的效率和性能。
常用的特征选择方法包括相关系数法、卡方检验法、互信息法等。
这些方法都可以评估特征与目标之间的相关性,从而筛选出与目标任务最相关的特征。
三、嵌入式选择(Embedded Method)嵌入式选择是一种将特征选择与模型训练结合起来的方法。
在模型的训练过程中,嵌入式选择方法会自动选择与目标任务相关的特征,并将其纳入到模型当中。
常见的嵌入式选择方法有L1正则化、决策树等。
以L1正则化为例,该方法会通过对模型的目标函数添加L1惩罚项的方式,鼓励模型选择较少的特征,从而达到特征选择的目的。
四、特征补全(Feature Imputation)特征补全是一种通过预测或估计的方式填补稀疏数据中缺失的特征值。
稀疏贝叶斯学习(Sparse Bayesian Learning)张智林(Zhilin Zhang )z4zhang@Department of Electrical and Computer Engineering, University of California, San Diego,La Jolla, CA 92093-0407, USA1 引言稀疏贝叶斯学习(Sparse Bayesian Learning, SBL )最初作为一种机器学习算法由Tipping 于2001年前后提出[Tipping2001],随后被引入到稀疏信号恢复/压缩感知领域[Wipf2004,Ji2008]。
Wipf 和Rao 等人对SBL 进行了深入的理论研究。
与广泛使用的基于L1惩罚项的算法(比如Lasso ,Basis Pursuit )相比(以下简称L1算法),SBL 具有一系列显著的优势:(1)在无噪情况下,除非满足一些严格的条件[Donoho2003],L1算法的全局最小点(global minimum )并不是真正的最稀疏的解[Wipf2004]。
因此,在一些应用中,当真实的解是最稀疏的解,采用SBL 是更好的选择。
(2)当感知矩阵(sensing matrix )的列与列相关性很强时,L1算法的性能会变得非常差。
事实上不光是L1算法,绝大多数已知的压缩感知算法(比如Approximate Message Passing 算法,Matching Pursuit 算法)在这种情况下性能都会变得很差。
相比之下,SBL 算法仍旧具有良好的性能[Wipf_NIPS2011]。
因此,在雷达追踪,波达方向估计,脑源定位,特征提取,功率谱估计等一些列领域,SBL 都具备显著的优势。
(3)业已证明,SBL 算法等价于一种迭代加权L1最小化算法(iterative reweighted L1 minimization ),而L1算法仅仅只是其第一步[Wipf2010]。
Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波zouxy09@/zouxy09 自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样。
所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察。
更好的还可以放到博客上面与大家交流。
因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正交流,谢谢。
本文的论文来自:Sparse filtering , J. Ngiam, P. Koh, Z. Chen, S. Bhaskar, A.Y. Ng.NIPS2011。
在其论文的支撑材料中有相应的Matlab代码,代码很简介。
不过我还没读。
下面是自己对其中的一些知识点的理解:《Sparse Filtering》本文还是聚焦在非监督学习Unsupervised feature learning算法。
因为一般的非监督算法需要调整很多额外的参数hyperparameter。
本文提出一个简单的算法:sparse filtering。
它只有一个hyperparameter(需要学习的特征数目)需要调整。
但它很有效。
与其他的特征学习方法不同,sparse filtering并没有明确的构建输入数据的分布的模型。
它只优化一个简单的代价函数(L2范数稀疏约束的特征),优化过程可以通过几行简单的Matlab代码就可以实现。
而且,sparse filtering可以轻松有效的处理高维的输入,并能拓展为多层堆叠。
sparse filtering方法的核心思想就是避免对数据分布的显式建模,而是优化特征分布的稀疏性从而得到好的特征表达。
一、非监督特征学习一般来说,大部分的特征学习方法都是试图去建模给定训练数据的真实分布。
换句话说,特征学习就是学习一个模型,这个模型描述的就是数据真实分布的一种近似。
这些方法包括denoising autoencoders,restricted Boltzmann machines (RBMs),independent component analysis (ICA) 和sparse coding等等。
这些方法效果都不错,但烦人的一点就是,他们都需要调节很多参数。
比如说学习速率learning rates、动量momentum(好像rbm中需要用到)、稀疏度惩罚系数sparsity penalties和权值衰减系数weight decay等。
而这些参数最终的确定需要通过交叉验证获得,本身这样的结构训练起来所用时间就长,这么多参数要用交叉验证来获取时间就更多了。
我们花了大力气去调节得到一组好的参数,但是换一个任务,我们又得调节换另一组好的参数,这样就会花了俺们太多的时间了。
虽然ICA只需要调节一个参数,但它对于高维输入或者很大的特征集来说,拓展能力较弱。
本文中,我们的目标是研究一种简单并且有效的特征学习算法,它只需要最少的参数调节。
虽然学习数据分布的模型是可取的,而且效果也不错,但是它往往会使学习的算法复杂化,例如:RBMs 需要近似对数划分log-partition函数的梯度,这样才可能优化数据的似然函数。
Sparse coding需要在每次的迭代过程中寻找活跃的基的系数,这是比较耗时的。
而且,稀疏因子也是一个需要调整的参数。
本文方法主要是绕过对数据分布的估计,直接分析优化特征的分布。
那怎样的特征的分布才是优的呢?到这里,我们需要先关注特征的一些主要属性:population sparsity,lifetime sparsity和high dispersal。
怎样的特征才是好的特征,才是对分类或者其他任务好的特征。
我们的学习算法就应该学会去提取这种特征。
二、特征分布上面讨论的特征学习算法都可以认为是生成特定的特征分布Feature distributions。
例如,sparse coding只用少许的非零系数(特征)来描述每个样本。
而一个面向特征分布的方法可以认为是直接优化特征分布的一些属性,使其可以更好的描述样本。
我们引入一个特征分布矩阵,矩阵的每一行是一个特征,每一列是一个样本。
每个元素表示第i 个样本的第j个特征的激活值。
由上面的分析可以知道,这是一个由输入到特征的映射函数(特征提取函数)来得到。
下面我们就来讨论下什么样的特征分布才是好的:1)每个样本的特征应该是稀疏的(Population Sparsity)每个样本都只用很少的激活(非零)特征来描述。
具体来说,对于特征矩阵的每一列(一个样本)f(i),只有很少的非零元素。
其他的都是0 。
例如,一幅图像可以由里面包含的一些目标来描述,如果里面存在很多可能的目标,那么在某一时刻,也只可能出现一些。
我们称之为population sparsity(种群稀疏)。
2)样本间的特征应该是稀疏的(Lifetime Sparsity)好的特征应该是具有区分性的,这样才可以区分样本。
例如需要区分人脸和人手,那么很明显,肤色不是区分性的特征,因为人脸和人手都有肤色。
但如果看有没有眼睛,那么就很容易区分是人脸还是人手了,所以眼睛就是一个区分性的特征。
所以要区分样本,就要选择样本独有的,而不是大家都有的特征。
稍微学术点的表达就是,每个特征只允许在少量的样本内被激活。
也就是说,在特征矩阵中,每一行(一种特征)应该只有少量的非零元素。
这个特征的属性被称为lifetime sparsity(存在稀疏)。
3)特征的分布应该是均匀的(High Dispersal)对每一行(一种特征在不同样本的时候的不同取值)的特征的分布,应该和其他行的特征的分布相似,或者说每种特征都应该具有相似的统计特性。
具体来说,对矩阵的每一行,我们取该行所有元素(一种特征在不同样本的时候的不同取值)的平方后的均值作为其统计特性的描述。
每一行都存在一个均值,那么每行的均值都应该是一样的,这样就可以认为所有的特征都具有相似的分布。
这种属性我们称之为high dispersal(高分散性)。
但对于一个好的特征描述来说,这个属性并不是必要的。
但它可以防止特征的退化,也就是可以防止提取到相同的特征(如果提取到相同的特征,那么特征既冗余,又没有增加信息量,所以一般都要求提取到的特征是正交的)。
对于过完备的特征表达。
high dispersal可以理解为只有很少的inactive不活跃的特征。
例如,PCA编码一般不会满足high dispersal,因为大的特征值对应的特征向量(也就是特征code)大部分总是活跃active的。
很多特征学习方法其实有包含上面的这些约束的。
例如sparse RBM会约束一个特征的激活值靠近一个目标的值(lifetime sparsity)。
ICA会归一化每个特征,还会优化特征的lifetime sparsity。
Sparse autoencoder 也会显式的优化lifetime sparsity。
另外,基于聚类的算法,例如K-means,是population sparsity约束的一种极端形式,它的一个聚类中心只对应一个特征,对每个样本来说,只有一个特征是激活的(只有一个值是1,其他全是0)。
Triangle三角激活函数,本质上也会保证population sparsity。
Sparse coding实际上也可以被视为存在population sparsity。
本文中,我们从特征分布的角度去推导得到一种简单的特征学习算法。
它仅仅需要优化high dispersal和population sparsity。
因为在我们的实验中,我们发现,实现这两种特征的属性对学习一个过完备的特征表达来说已经足够了。
在后面,我们会说明,这两种属性的结合实际上已经蕴含着保证特征的lifetime sparsity。
三、Sparse filtering 下面我们就说明下,sparse filtering是如何捕捉到上面说的那些特性的。
我们先考虑下从每个样本中计算线性特征。
具体来说,我们用来表示第i个样本(特征矩阵中第i列)的第j个特征值(特征矩阵中第j行)。
因为是线性特征,所以。
第一步,我们先简单的对特征矩阵的行进行归一化,然后再对列进行归一化,然后再将矩阵中所有元素的绝对值求和。
具体来说,我们先归一化每个特征为相等的激活值。
具体做法是将每一个特征除以其在所有样本的二范数:。
然后我们再归一化每一个样本的特征。
这样,他们就会落在二范数的单位球体unit L2-ball上面了。
具体做法是:。
这时候,我们就可以对这些归一化过的特征进行优化了。
我们使用L1范数惩罚来约束稀疏性。
对于一个有M个样本的数据集,sparse filtering的目标函数表示为:3.1、Optimizing for population sparsity 其中这一项度量的就是第i个样本的特征的population sparsity,也就是限制每个样本只有很少的非零值。
因为归一化的特征被约束只能落在二范数的单位球体上面,所以当这些特征是稀疏的时候,也就是样本接近特征坐标轴的时候,上面的目标函数才会最小化。
反之,如果一个样本的每个特征值都差不多,那么就会导致一个很高的惩罚。
可能有点难理解,我们看下图:左图:假设我们的特征维数是两维(f1, f2),我们有两个样本,绿色和褐色的。
每个样本都会先投影到二范数的球体上面(二维的话就是单位圆),再进行稀疏性的优化。
可以看到,当样本落在坐标轴的时候,特征具有最大的稀疏性(例如,一个样本落在f2轴上,那么这个样本的表示就是(0, 1),一个特征值为1,其他的为0,那么很明显它具有最大的稀疏性)。
右图:因为归一化,特征之间会存在竞争。
上面有一个只在f1特征上增加的样本。
可以看到,尽管它只在f1方向上增加(绿色三角型转移到蓝色三角型),经过列归一化后(投影到单位圆上),可以看到第二个特征f2会减少(绿色圆圈转移到蓝色圆圈)。
也就是说特征之间存在竞争,我变大,你就得变小。
对特征进行归一化的一个属性就是它会隐含的进行特征间的竞争。
归一化会使得如果只有一个特征分量f(i)增大,那么其他所有的特征分量的值将会减小。
相似的,如果只有一个特征分量f(i)减小,那么其他所有的特征分量的值将会增大。
因此,我们最小化,将会驱使归一化的特征趋于稀疏和大部分接近于0 。
也就是,一些特征会比较大,其他的特征值都很小(接近于0)。
因此,这个目标函数会优化特征的population sparsity。
上面的公式与Treves-Rolls的population/life-time sparsity的度量非常相似:这里F是特征的个数。