很好的问题:请注意,在深度学习领域,事物并非总是像统计学习中那么清晰明了(也因为有很多炒作),因此不要指望找到像数学中那样严格的定义。无论如何,多层感知器是一种特定的前馈神经网络体系结构,其中您堆叠了多个完全连接的层(因此,根本没有卷积层),其中隐藏单元的激活功能通常是S型或tanh。输出层的节点通常具有softmax激活函数(用于分类)或线性激活函数(用于回归)。典型的MLP架构不是“较深的”,即,我们没有很多隐藏层。通常,您有1到5个隐藏层。这些神经网络在80年代很普遍,
现在,对于深度神经网络,我们指的是一个具有许多层的网络(19、22、152,...甚至大于1200,尽管这是非常极端的)。注意
- 我们尚未指定网络的架构,因此可能是前馈,循环等。
- 我们尚未指定连接的性质,因此我们可以具有完全连接的层,卷积层,递归等。
- 诚然,“许多”层不是严格的定义。
⇒ 32 × 32 + 32 × 10 = 1344⇒ 11584重量。按照今天的标准,这是微不足道的NN。但是,当您继续在适当大的数据集上进行训练时,您会发现收敛速度大大降低了。这不仅是由于权重数量较大,还因为梯度消失了 -反向传播通过在每一层上乘以误差来计算损耗函数的梯度,并且随着添加的层数的增加,这些较小的数字呈指数减小。因此,错误不会在您的网络中传播(或传播得很慢),并且看起来训练集上的错误不再随着训练时期而减少。
这是一个小型网络-名为AlexNet的深层卷积神经网络有5层,但权重为6000万,按今天的标准,它被认为是很小的!当权重如此之大时,任何数据集都是“小”的-甚至ImageNet(用于分类的图像数据集)也只有“大约”一百万个图像,因此,过度拟合的风险比浅层网络要大得多。
因此,深度学习可以理解为在实践中用于训练具有大量层次和权重的神经网络的工具集,从而实现了低泛化误差。与较小的网络相比,此任务提出了更多的挑战。您绝对可以构建一个深度多层感知器并对其进行训练-但是(除了它并不是当今使用深度学习的许多任务的最佳架构之外),您可能会使用与过去使用网络时所使用的工具不同的工具。 “浅”。例如,您可能更喜欢ReLU激活单元而不是S型或tanh,因为它们可以缓解梯度消失的问题。