【发布时间】:2018-04-03 00:48:23
【问题描述】:
我有一个机器学习模型(即自动编码器),它尝试通过添加到目标函数的简单 l1 惩罚项来学习输入信号的稀疏表示。这确实有助于促进稀疏向量表示,因为学习向量表示中的大多数元素都是零。但是,我需要构造稀疏性,以使非零元素在向量上“散开”/分布/均匀。具体来说,对于给定的输入信号,我的模型会生成如下所示的稀疏表示:
当前稀疏代码:
[...,0,0,0,0,0,0,0,0,0,0,0,0.2,0.3,0.5,0.9,0.3,0.2,0.1,0,0,0,0,0,0,0,0,0,0,0,0,...]
您可以理解,大多数元素都是零,还有一小部分非零元素。相反,我希望稀疏性使得非零元素相互“排斥”,因此使所有非零元素都被至少1个或多个零和很少或没有非零元素包围在向量中是相邻的;具体来说,它应该看起来更像这样:
所需的稀疏代码:
[...,0,0,0,0,0,0.2,0,0,0,0,0.9,0,0,0,0,0.5,0,0,0,0,0,0,0.7,0,0,0, 0.4,0,0,0.6,...]
在后一种稀疏代码中,非零元素的数量可能与前一种相似,但每个非零元素之间用一定数量的零隔开。
我可以使用直接的目标函数惩罚来诱导这种形式的稀疏性吗?
【问题讨论】:
标签: machine-learning deep-learning mathematical-optimization autoencoder regularized