稀疏性(sparse)知识点

  • Post author:
  • Post category:其他




稀疏性(sparse)


定义:

Sparse表示为模型内的参数中,只用很少的几个非零元素或只有很少的几个远大于零的元素。




WHY:

为什么模型中要包含稀疏性的特征呢?

例子:考研学霸有10000的词汇量,考试使用的词汇量,是10000个词汇积累库中的一小部分。


Example:


Test Number:123.456

第一组数字基底:

[100,10,1]



\Rightarrow












123.456



\approx












100



×

\times






×





1 + 10



×

\times






×





2 + 1



×

\times






×





3 (error=0.456)

第二组数字基底:

[100,50,10,1,0.5,0.1,0.03,0.01,0.001]

123.456=100



×

\times






×





1 +

50



×

\times






×





0

+ 10



×

\times






×





2 + 1



×

\times






×





3 +

0.5



×

\times






×





0

+ 0.1



×

\times






×





4 +

0.03



×

\times






×





0

+ 0.01



×

\times






×





5 + 0.001



×

\times






×





6(error=0)

其中

Sparse Feature(有备无患):

有50,0.5,0.03这三个数。


compared with PCA(Principal Component Analysis)


PCA(a complete set of basis vectors:完备字典)

通过这组完备字典中的向量基底,对原始数据进行还原。

Sparse Represnetation(an over-complete set of basis vectors:超完备字典,与稀疏性背道而驰。)

基向量的数量远远大于输入向量的维度



如何保证稀疏性呢?

机器学习模型



\Rightarrow












基于训练集优化参数(比如降低Loss)



\Rightarrow












Loss中加入正则项,惩罚模型参数数值使其趋近于0


常见的操作:


Loss = Training Loss +



λ

\lambda






λ








W

0

{||W||_0}













W

















0






















(



L

0

{L_0}








L










0






















范式)

Loss = Training Loss +



λ

\lambda






λ








W

1

{||W||_1}













W

















1






















(



L

1

{L_1}








L










1






















范式)


Sparce Coding(稀疏编码LOSS)


Loss =



j

=

1

m

x

(

j

)

i

=

1

k

a

i

(

j

)

ϕ

i

2

+

λ

i

=

1

k

a

i

1

\sum_{j=1}^m||x^{(j)}-\sum_{i=1}^k a_i^{(j)}\phi_i||^2 + \lambda\sum_{i=1}^k||a_i||_1



















j


=


1









m



























x











(


j


)


































i


=


1









k





















a










i









(


j


)




















ϕ










i

































2











+








λ

















i


=


1









k



























a










i

































1




















其中,



i

=

1

k

a

i

(

j

)

\sum_{i=1}^k a_i^{(j)}



















i


=


1









k





















a










i









(


j


)






















是重构误差,



λ

i

=

1

k

a

i

1

\lambda\sum_{i=1}^k||a_i||_1






λ

















i


=


1









k



























a










i

































1





















为稀疏惩罚(



L

1

L_1







L










1





















Norm)

同样在卷积网络大行其道的时代,我们会在卷积层中加入



L

1

L_1







L










1





















范数,以确保其稀疏性。

增加模型的深度和宽度,以确保超完备字典更多。



无脑稀疏到底好还是坏?

超完备字典



\Rightarrow












大量的高质量数据。

过多的非激活参数



\Rightarrow












训练过程非常漫长




L

1

L_1







L










1





















范式在Loss中的某些位置不可导



\Rightarrow












导数在零处,导数不唯一,因而致使模型难以收敛

总之,在大规模深度学习的模型中,通常倾向使用



L

2

L_2







L










2





















范式来防止过拟合。



版权声明:本文为aiboom原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。