训练稀疏自动编码器

时间:2020-10-15 04:04:31

标签: machine-learning computer-vision pytorch data-science

我的数据集由大量矢量组成。数据点几乎都是零,约有3%的特征是1。本质上,我的数据非常稀疏,我正在尝试训练自动编码器,但是我的模型只是在学习重建所有零的向量。

有什么方法可以防止这种情况发生?我曾尝试用骰子损失代替均方误差,但是它完全停止了学习。我的其他想法是使用损失函数,该函数有助于正确猜测1,而不是0。我也尝试过使用S型和线性最后一次激活,但没有明确的获胜者。任何想法都很棒。

1 个答案:

答案 0 :(得分:1)

您似乎面临着严重的“阶级失衡”问题。

  1. 看看focal loss。这种损失是针对具有严重的类不平衡的二进制分类而设计的。

  2. 考虑“硬否定挖掘”:也就是说,仅针对部分训练示例(“硬”示例)传播梯度。
    参见,例如:
    Abhinav Shrivastava,Abhinav Gupta和Ross Girshick Training Region-based Object Detectors with Online Hard Example Mining (CVPR 2016)。