高效稀疏编码算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高效稀疏编码算法
1 Introduction
稀疏编码提供了发现对于外来刺激简明表示的一系列算法;给予未标记的输入数据,它学习可以抓住数据高水平特征的基函数。当一个稀疏编码算法英语到自然图像时,学习的基函数就类似于视觉皮层中的神经元感受野;此外,当应用到其他自然刺激例如语音和视频时,稀疏编码产生局部基函数。不同于其他无监督学习技术例如主成分分析,稀疏编码可以应用到学习超完备基函数,其中基函数的维度大于输入数据维度。稀疏编码同样可以通过稀疏化它们的刺激来生成基函数之间抑制模型。同样的性质可以在生物神经元中观察到,这样使得稀疏编码得到视觉皮层的合理模型。
尽管关于稀疏编码模型有良好的前景,我们认为它们的发展很大程度上被昂贵的计算代价所阻碍。特别是学习大维度,超完备代表时就会极度耗费计算资源。在这篇文章中,我们提出了一类基于变量两组子集的交替优化的高效稀疏编码。这类优化问题是凸问题;特别地,对于第一个子集的优化是一范数最小二乘问题;第二个子集则是二范数最小二乘问题。我们描述了每个算法并经验地分析了它们的表现。我们的方法允许我们高效地学习来及自然图像的高维度超完备基函数。我们证明了结果学习基展示了终止情况和对于传统感受野之外刺激的调整。此外,稀疏编码同样提供了对于V1区神经元这些现象的局部解释。在最近的工作中,我们展示了学习高水平特征的简明表示可以应用到监督分类任务。
2 Preliminaries
稀疏的目标就是将输入向量表示为少量的(未知的)“基函数”的加权线性组合。这些基函数可以抓住输入数据中的高水平特征。具体地说,每个输入的向量可以简单地由基函数和稀疏加权向量或系数使得来表示。这些基函数是超完备的(n>k),这样可以抓取输入数据的大量值。
稀疏编码是可以使用无标签数据自动获取良好的基向量。标准生成模型假设重构误差是,且是标准高斯分布协方差为。为了支持稀疏系数,每个系数的优先分布定义为,其中是稀疏函数,是一个常数。例如,我们可以使用如下函数:
在这篇文章中,除非提及我们将会使用一范数罚项;一范数正则化是可以产生稀疏系数并且对于不相关特征是稳健的。
考虑训练集是m个输入向量和它们相应的(未知)系数。假设基函数先验是均一的,对于基函数和系数的后验估计的最大化就是下列优化问题的解:
这个问题可以以更简明的矩阵形式表示:使是输入矩阵(每列是一个输入向量),是基函数矩阵(每列是基函数向量),是系数矩阵(每列是系数向量)。最优化问题可以写成:
假定一范数罚项或者epsilon一范数罚项是稀疏函数,最优化问题在B中是凸的(S是固定的)或在S中是凸的(B是固定的),但不是同时都是凸的。在这篇文章中我们迭代地求解上述目标函数,通过交替地优化B(基函数)和S(系数)同时固定另一项。
对于学习基B,优化问题是有二次项约束的最小二乘问题,这里有一些方法来求解这一类问题,例如通用凸优化求解器(QCQP求解器)以及使用迭代投影的梯度下降法。然而,通用凸优化求解器对于这类问题来说太慢了,梯度下降通常收敛太慢。在这篇文章总,我们推导出拉格朗日对偶,并说明这种方法比基于梯度的方法更加高效。
对于学习系数S,最优化问题等效于正则化最小二乘问题。对很多可微的系数函数,我们可以采取基于梯度方法(如共轭梯度)。然而,对于一范数稀疏函数,目标函数并不是连续可微的且最直接的基于梯度方法难以应用其中。在这种情况下,下面的方法可以被采用:通用QP求解器(CVX),chen等人提出的内部点方法,最小角回归的改进,或者移植法。在这篇文章中,我们提出一种新的算法来求解一范数正则化最小二乘问题并且说明这种方法对于学习稀疏编码基是更为高效的。
3 L1-regularized least squares: The feature-sign search algorithm
考虑到求解(2)式的最优化问题是固定基同时对系数加上一范数罚项,这类问题可以分别优化每个系数来求解:
注意到如果我们知道在最优化值的标志(正,零或负),我们可以将项替换为(如果>0),(如果<0),或者0(如果=0)。仅仅考虑非零系数,式(4)简化为标准无约束的二次最优化问题(QP),这样就可以高效地解析求解。因此,我们的算法尝试去找到,或者说是“猜出”系数的特征;无论是怎么猜测我们都能够高效地求解出无约束QP问题。此外,如果初始值是错误的,算法会系统地改善搜索值。
为了简化符号表示,我们将算法表示为下面等效的最优化问题:
其中是一个常数,特征标志搜索算法仔算法1中所示。它保持了潜在非零系数的活跃子集和相应的标志——其他的系数必须是零值,并且系统地搜索最优的活跃子集和系数标志。算法通过一系列“特征标志步骤”来进行:在每一步,它对活跃子集和其标志进行猜测,并计算无约束QP问题的解析解;接着通过在当前解和之间的高效离散线性搜索,它会不断更新解,活跃子集和标志(详见算法1)。我们将会表现每一步会减小目标函数f(x),最终算法总会收敛到最优解。
算法1 特征标志搜索算法
1 初始化,活跃子集,其中代表标志
2 从零系数x中,选择,
激活x i(将i加入活跃子集)仅当它局部提高目标函数,即:
如果,那么令,活跃子集:=活跃子集。
如果,那么令,活跃子集:=活跃子集。
3 特征标志步骤:
令是A的子矩阵,其仅仅包含相应活跃子集的列。
令和分别是和相对于活跃子集的子向量。
计算无约束QP问题的解析解():
从到的闭合线性部分进行离散线性搜索:
检查目标函数在和其他所有系数标志变化点的值。
更新到有着最小目标函数值的点。
去掉在活跃子集中的零值,并更新
4 检查最优化条件:
(a)对于非零系数的最优化条件:
如果条件(a)不满足,转到步骤3(不做任何激活);否则检查条件(b) (b)对于零系数的最优化条件:
如果条件(b)不满足,转到步骤2;否则返回x为最终解。
为了证明收敛,令系数向量x和所给的活跃子集和标志向量一致如果对所有的i满足下面两个条件:(i)如果i在活跃子集中,那么,(ii)如果i不在活跃子集中,那么。
引理3.1考虑最优化问题(5)增加额外限制:x是同所给的活跃子集和标志向量相一致。那么,如果当前系数是同活跃子集和标志向量相一致,但是对于步骤3的增广问题并不是最优的,特征标志步骤是保证严格减小目标函数。
简略证明。令是相对于所给活跃子集中系数的子向量。仔步骤3中,考虑到平滑的二次项函数。因为不是的最优点,我们有。现在考虑两种可能的情况:(i)如果和所给的活跃子集和标志向量一致,更新会严格地减小目标函数;(ii)如果不是和所给的活跃子集和标志向量一致,令为在到线性部分的第一个零交叉点(其中任何系数改变其标志),那么很明显,而且由于的凸性质,因此我们可以得到
。因此,在步骤3中描述的离散线性搜索保证了目标函数值的减少。
引理3.2考虑最优化问题(5)增加额外限制:x是同所给的活跃子集和标志向量相一致。如果系数在步骤2的初始对于增广问题是最优的,但对问题(5)不是最优的,特征标志步骤保证严格减小目标函数。
简略证明。因为对于增广问题是最优的,它满足最优化条件(a),但是不满足条件(b);