为什么降维的自动编码器是对称的?

数据挖掘 神经网络 降维 自动编码器
2021-09-16 01:05:12

无论如何,我都不是自动编码器或神经网络方面的专家,所以如果这是一个愚蠢的问题,请原谅我。

为了降维或可视化高维数据中的集群,我们可以使用自动编码器通过检查具有 2 个节点的网络层的输出来创建(有损)二维表示。例如,使用以下架构,我们将检查第三层的输出

[X]N1=100N2=25(N3=2)N4=25N5=100[X]

在哪里X是输入数据和Nl是节点的数量l第层。

现在,我的问题是,为什么我们想要一个对称的架构?深度“压缩”阶段的镜像不是意味着我们可能有一个类似复杂的“解压”阶段,导致 2 节点输出不强制非常直观?换句话说,是否具有更简单的解码阶段会导致具有 2 个节点的层的输出也必然更简单?

我的想法是,减压阶段越不复杂,2D 表示就必须越简单(更线性?)。更复杂的解压缩阶段将允许更复杂的 2D 表示。

3个回答

自编码器的对称性没有特定的限制。

一开始,人们倾向于将这种对称性最大化:不仅层是对称的,而且编码器和解码器中共享的层的权重也是对称的。这不是必需的,但它允许使用某些损失函数(即 RBM 分数匹配)并且可以充当正则化,因为您可以有效地将要优化的参数数量减少一半。然而,如今,我认为没有人强加编码器-解码器权重共享。

关于架构对称性,通常在编码器和解码器中找到相同数量的层、相同类型的层和相同的层大小,但没有必要这样做。

例如,在卷积自动编码器中,过去在编码器中找到卷积层而在解码器中找到反卷积层是很常见,但现在您通常会在解码器中看到上采样层,因为它们的伪影问题较少。

你的问题肯定是正确的,但是我发现任何形式的问题都是“我应该在深度学习中做 X 还是 Y?” 只有一个答案。

两个都试试

深度学习是一个非常有经验的领域,如果非对称自动编码器适用于您的领域,那么使用它(并发表论文)

我做了一些广泛的实验来解决所提出的问题。我的实验表明,编码路径(NN 的左腿)应该有更少但更宽的层。我通常采用一半的层数,但编码路径的节点数增加一倍。我对此没有任何解释,只是这些配置通常会导致更快的收敛。