神经网络 - 深度自动编码器和堆叠自动编码器之间的区别 [关闭]

Posted

技术标签:

【中文标题】神经网络 - 深度自动编码器和堆叠自动编码器之间的区别 [关闭]【英文标题】:Neural Networks - Difference between deep autoencoder and stacked autoencoder [closed] 【发布时间】:2018-08-24 02:47:38 【问题描述】:

免责声明:我也在 CrossValidated 上发布了这个问题,但没有受到任何关注。如果这不是它的地方,我很乐意将其删除。

据我了解,它们之间的唯一区别是两个网络的训练方式。深度自编码器的训练方式与单层神经网络相同,而堆叠自编码器采用贪婪的逐层方法进行训练。 Hugo Larochelle 在video 的评论中证实了这一点。我想知道这是否是唯一的区别,任何指针?

【问题讨论】:

唯一的区别是他们的训练方式,这里也有说明:***.com/q/52221103/3736955。在 Stacked AE 中,进行逐层训练,当比较第 2 层的损失时,比较的是第 1 层的输出,而不是输入。 【参考方案1】:

该领域的术语不是固定的、精炼的和明确定义的,不同的研究可能意味着不同的事物或为相同的术语添加不同的方面。示例讨论:

What is the difference between Deep Learning and traditional Artificial Neural Network machine learning?(有人认为2层就够深了,也有人认为10+或100+层)。

Multi-layer perceptron vs deep neural network(主要是同义词,但也有研究偏爱其中一个而不是另一个)。

关于 AE,根据各种来源,deep autoencoderstacked autoencoder确切的同义词,例如,这里引用 @987654323 @:

就像我们讨论过的其他神经网络一样,自动编码器可以 有多个隐藏层。在这种情况下,它们被称为堆叠 自动编码器(或深度自动编码器)。

稍后,作者讨论了两种训练自动编码器的方法,并可以互换使用这两个术语。

我同意术语“堆叠”的感知是自动编码器可以在不重新训练的情况下扩展新层,但无论现有层如何训练(联合或分别地)。此外,无论训练方法如何,研究可能会或可能不会称其为足够深。所以我不会过多地关注术语。总有一天会稳定下来,但不是现在。

【讨论】:

嗯,我不确定您是否在回答中间接提到它,但我的印象是堆叠自动编码器和深度自动编码器这两个术语不能互换使用,因为深度自动编码器就像 input_layer->hidden_layer_1->hidden_layer_2->...->output_layer 而堆叠自动编码器就像input_layer_1->hidden_layer_1->output_layer_1->input_layer_2->hidden_layer_2->output_layer_2 一样,在后一种情况下,每个自动编码器都将前一个自动编码器的输出作为目标。让我知道您对我的评论的看法。 你能评论@PoeteMaudit 他的回答吗?因为我有相同的解释,想知道这是否正确

以上是关于神经网络 - 深度自动编码器和堆叠自动编码器之间的区别 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

深度自动编码器

用于分类的堆叠自动编码器

Stacked AutoEncoder(堆栈自动编码器)

变分自编码器解析

一种基于深度神经网络的临床记录ICD自动编码方法

小知识:深度学习的5大常用模型解读