【问题标题】:Tied weights in Autoencoder自动编码器中的捆绑权重
【发布时间】:2016-08-21 17:54:01
【问题描述】:

我一直在研究自动编码器,并且一直在想是否使用捆绑权重。我打算将它们堆叠起来作为预训练步骤,然后使用它们的隐藏表示来提供 NN。

使用未捆绑的重量看起来像:

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

使用捆绑重量看起来像:

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

从非常简单的角度来看,是否可以说绑定权重可以确保编码器部分在给定架构的情况下生成最佳表示,而如果权重是独立的,那么解码器可以有效地采用非最佳表示并仍然对其进行解码?

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

【问题讨论】:

    标签: machine-learning neural-network deep-learning autoencoder


    【解决方案1】:

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

    1. 更容易学习。
    2. 在线性情况下,它等同于 PCA - 这可能会导致在几何上更充分的编码。
    3. 绑定权重是一种正则化。

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

    更新:

    您还问过为什么来自具有严格权重的自动编码器的表示可能比没有的更好。当然,这种表示并不总是更好,但如果重构误差是合理的,那么编码层中的不同单元代表的东西可能被认为是垂直特征的生成器,它们解释了数据中的大部分差异(特别像 PCA做)。这就是为什么这种表示在进一步的学习阶段可能非常有用的原因。

    【讨论】:

    • ty 用于快速响应。我理解您的回答,并且确实阅读了您的“尝试两种方法”评论,但从理论上讲,当您最终将解码器扔掉时,解开/独立权重如何给出更好的答案?
    【解决方案2】:

    主要优点是:

    1. 参数越少,泛化效果越好(我们在下一层使用转置原始权重),而更多的参数会导致过拟合。

    【讨论】:

      猜你喜欢
      • 2017-06-20
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 2021-01-07
      • 1970-01-01
      相关资源
      最近更新 更多