稀疏编码

From Ufldl

Jump to: navigation, search
Line 109: Line 109:
使用稀疏编码算法学习基向量集的方法,是由两个独立的优化过程组合起来的。第一个是逐个使用训练样本 <math>\mathbf{x}</math> 来优化系数 <math>a_i</math> ,第二个是一次性处理多个样本对基向量 <math>\mathbf{\phi}</math> 进行优化。
使用稀疏编码算法学习基向量集的方法,是由两个独立的优化过程组合起来的。第一个是逐个使用训练样本 <math>\mathbf{x}</math> 来优化系数 <math>a_i</math> ,第二个是一次性处理多个样本对基向量 <math>\mathbf{\phi}</math> 进行优化。
-
如果使用 <math>L_1</math> 范式作为稀疏惩罚函数,对 <math>a^{(j)}_i</math> 的学习过程就简化为求解 由 <math>L_1</math> 范式正则化的最小二乘法问题,这个问题在域 <math>a^{(j)}_i</math> 内为凸,已经有很多技术方法来解决这个问题(诸如CVX之类的凸优化软件可以用来解决L1正则化的最小二乘法问题)。如果 <math>S(.)</math> 是可微的,比如是对数惩罚函数,则可以采用基于梯度算法的方法,如共轭梯度法。
+
如果使用 <math>L_1</math> 范式作为稀疏惩罚函数,对 <math>a^{(j)}_i</math> 的学习过程就简化为求解 由 <math>L_1</math> 范式正则化的最小二乘法问题,这个问题函数在域 <math>a^{(j)}_i</math> 内为凸,已经有很多技术方法来解决这个问题(诸如CVX之类的凸优化软件可以用来解决L1正则化的最小二乘法问题)。如果 <math>S(.)</math> 是可微的,比如是对数惩罚函数,则可以采用基于梯度算法的方法,如共轭梯度法。
 +
用 <math>L_2</math> 范式约束来学习基向量,同样可以简化为一个带有二次约束的最小二乘问题,其问题函数在域 <math>\mathbf{\phi}</math> 内也为凸。标准的凸优化软件(如CVX)或其它迭代方法就可以用来求解 <math>\mathbf{\phi}</math>,虽然已经有了更有效的方法,比如求解拉格朗日对偶函数(Lagrange dual)。
-
【原文】
+
根据前面的的描述,稀疏编码是有一个明显的局限性的,这就是即使已经学习得到一组基向量,如果为了对新的数据样本进行“编码”,我们必须再次执行优化过程来得到所需的系数。这个显著的“实时”消耗意味着,即使是在测试中,实现稀疏编码也需要高昂的计算成本,尤其是与典型的前馈结构算法相比。
-
 
+
-
Learning a set of basis vectors with a <math>L_2</math> norm constraint also reduces to a least squares problem with quadratic constraints which is convex in <math>\mathbf{\phi}</math>. Standard convex optimization software (e.g. CVX) or other iterative methods can be used to solve for <math>\mathbf{\phi}</math> although significantly more efficient methods such as solving the Lagrange dual have also been developed.
+
-
 
+
-
 
+
-
【初译】
+
-
 
+
-
<math>L_2</math> 范数约束下学习一组基向量,常简化为有二次约束的最小二乘问题,也是基向量 <math>\mathbf{\phi}</math>上的凸问题。虽然已有更有效的方法,如解决拉格朗日对偶方法,标准凸优化软件(例如 CVX)或其它迭代方法都可用来求解基向量 <math>\mathbf{\phi}</math>。
+
-
 
+
-
 
+
-
【一审】
+
-
 
+
-
用 <math>L_2</math> 范式学习基向量同样可以简化为求解二次约束最小二乘问题,其问题函式在域 <math>\mathbf{\phi}</math>内也为凸。标准凸优化软件(如CVX)或其它迭代方法就可以用来求解 <math>\mathbf{\phi}</math>,虽然已经有了求解拉格朗日对偶函数这样的更有效率的方法。
+
-
 
+
-
 
+
-
【原文】
+
-
 
+
-
As described above, a significant limitation of sparse coding is that even after a set of basis vectors have been learnt, in order to "encode" a new data example, optimization must be performed to obtain the required coefficients. This significant "runtime" cost means that sparse coding is computationally expensive to implement even at test time especially compared to typical feedforward architectures.
+
-
 
+
-
 
+
-
【初译】
+
-
 
+
-
如前所述,稀疏编码有效的限制是:即使在学习一组基向量后,“编码”一个新的数据样本,要获得需要的系数,必须执行优化。这个有效的“运行”代价指的是稀疏编码计算成本高昂,特别当与典型的前馈结构构相比,即使是测试计算代价仍很高。
+
-
 
+
-
 
+
-
【一审】
+
-
 
+
-
综上所述,即使已经学习得到一组基向量,稀疏编码算法还是极有局限性的。为了对一组新样本进行“编码”,必须执行优化才可以得到所需要的系数。即使只是在测试的时候,特别是相比于“前馈”模式,这种巨大的“运行时”成本意味着稀疏编码是极耗运算性能的。
+

Revision as of 17:20, 16 March 2013

Personal tools