稀疏性(sparse)知识点

本文探讨了模型稀疏性的重要性,通过考研学霸词汇量的例子说明稀疏特征的价值。稀疏性有助于减少非激活参数,提高效率。L1范式常用于促进稀疏性,但可能导致训练过程变长和模型收敛问题。在深度学习中,L2范式更常见以防止过拟合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

稀疏性(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}W0 (L0{L_0}L0范式)

Loss = Training Loss + λ\lambdaλ ∣∣W∣∣1{||W||_1}W1 (L1{L_1}L1范式)

Sparce Coding(稀疏编码LOSS)
Loss = ∑j=1m∣∣x(j)−∑i=1kai(j)ϕi∣∣2+λ∑i=1k∣∣ai∣∣1\sum_{j=1}^m||x^{(j)}-\sum_{i=1}^k a_i^{(j)}\phi_i||^2 + \lambda\sum_{i=1}^k||a_i||_1j=1mx(j)i=1kai(j)ϕi2+λi=1kai1

其中,∑i=1kai(j)\sum_{i=1}^k a_i^{(j)}i=1kai(j)是重构误差,λ∑i=1k∣∣ai∣∣1\lambda\sum_{i=1}^k||a_i||_1λi=1kai1为稀疏惩罚(L1L_1L1 Norm)

同样在卷积网络大行其道的时代,我们会在卷积层中加入L1L_1L1 范数,以确保其稀疏性。
增加模型的深度和宽度,以确保超完备字典更多。

无脑稀疏到底好还是坏?

超完备字典⇒\Rightarrow 大量的高质量数据。
过多的非激活参数 ⇒\Rightarrow 训练过程非常漫长

L1L_1L1范式在Loss中的某些位置不可导 ⇒\Rightarrow 导数在零处,导数不唯一,因而致使模型难以收敛

总之,在大规模深度学习的模型中,通常倾向使用L2L_2L2范式来防止过拟合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值