自编码器中的权重绑定

我一直在研究自编码器,并在考虑是否应该使用绑定权重。我打算将它们堆叠作为预训练步骤,然后使用它们的隐藏表示来驱动神经网络。

如果使用未绑定权重,公式将是这样的:

f(x)=σ2(b2+W21(b1+W1*x))

如果使用绑定权重,公式将是这样的:

f(x)=σ2(b2+W1T1(b1+W1*x))

从一个非常简单的角度来看,是否可以说绑定权重确保编码部分在给定架构下生成最佳表示,而如果权重是独立的,那么解码器可以有效地处理一个非最优表示并仍然解码它?

我问这个问题是因为如果解码器是“魔法”发生的地方,而我只打算使用编码器来驱动我的神经网络,这会不会有问题。


回答:

使用绑定权重的自编码器有一些重要的优势:

  1. 更容易学习。
  2. 在线性情况下,它相当于主成分分析(PCA)——这可能导致更几何上合适的编码。
  3. 绑定权重是一种正则化方法。

但当然,它们并非完美:当你的数据来自高度非线性流形时,它们可能不是最优的。根据你的数据大小,我会尝试两种方法——使用绑定权重和不使用绑定权重,如果可能的话。

更新:

你还问了为什么来自绑定权重自编码器的表示可能比没有绑定权重的更好。当然,并非这种表示总是更好,但如果重构误差是合理的,那么编码层中的不同单元代表的可能是被视为垂直特征的生成器,这些特征解释了数据中大部分的方差(就像PCA所做的那样)。这就是为什么这种表示在学习的进一步阶段可能非常有用。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注