深度学习中的堆叠与非堆叠架构

Posted

技术标签:

【中文标题】深度学习中的堆叠与非堆叠架构【英文标题】:Stacking vs Non-stacking architectures in deep learning 【发布时间】:2019-09-06 08:03:31 【问题描述】:

在 Keras(或整个深度学习)中,stackingnon-stacking 架构之间有什么区别,谁能简单说明 non-stacking 架构?

有很多示例和教程展示了如何在 keras 中堆叠图层,但实际上没有关于堆叠的反面是什么。

【问题讨论】:

【参考方案1】:

根据定义,深度神经网络是神经网络的堆栈(通常称为层)。您可能将其视为一系列操作;流程图。例如,在目标检测网络中,一系列卷积层(称为特征金字塔)用于从图像中提取区域特征。但是,就像流程图一样,您可以创建分支,并按照您的喜好移动数据。考虑以下代码 sn-ps:

只是一个堆栈。

input_layer = InputLayer(input_shape=(256,256,3))
x = Dense(666)(input_layer)
x = Dense(666)(x)
output_layer = Dense(1, activation='softmax')(x)

更有趣的事情。

input_layer = Inputlayer(input_shape=(256,256,3))
x = Dense(666)(input_layer)

x_left = Dense(666)(x) # gets inputs from x
x_left = Dense(666)(x_left)

x_right = Dense(666)(x)
x_right = Dense(666)(x_right)

x = concatenate([x_left,x_right],axis=-1)

x = Dense(666)(x)
output_layer = Dense(1,activation='softmax')(x)

这完全回答了你的问题吗?

此外,此图可能会有所帮助;这是我在 Google 上找到的一个基本特征金字塔网络布局,它在描述方面做得不错:

【讨论】:

以上是关于深度学习中的堆叠与非堆叠架构的主要内容,如果未能解决你的问题,请参考以下文章

扩展图神经网络:暴力堆叠模型深度并不可取

深度学习算法实践15---堆叠去噪自动编码机(SdA)原理及实现

干货 | 扩展图神经网络:暴力堆叠模型深度并不可取

(深度学习快速入门)自编码器及其变体(关键词:自编码器堆叠降噪变分AESAESDAEVAE)

[人工智能-深度学习-36]:卷积神经网络CNN - 简单地网络层数堆叠导致的问题分析(梯度消失梯度弥散梯度爆炸)与解决之道

使用 NumPy 进行深度堆叠