【发布时间】:2016-08-03 09:10:41
【问题描述】:
您能否简要说明Deep Learning 与使用神经网络的传统机器学习之间的区别?需要多少层才能使神经网络“深”?这一切都只是营销炒作吗?
【问题讨论】:
标签: machine-learning neural-network artificial-intelligence deep-learning
您能否简要说明Deep Learning 与使用神经网络的传统机器学习之间的区别?需要多少层才能使神经网络“深”?这一切都只是营销炒作吗?
【问题讨论】:
标签: machine-learning neural-network artificial-intelligence deep-learning
当层数变大时,标准的反向传播算法(梯度下降)会出现严重问题。误差函数中局部最小值的概率随着每一层的增加而增加。不仅数学意义上的局部最小值会导致问题,有时误差函数中只有平坦区域(修改一个或多个权重不会显着改变误差)梯度下降不起作用。
另一方面,具有多层的网络可以解决更困难的问题,因为每个单元层也可以提供一个抽象层。
深度学习正好解决了这个问题。基本思想是除了对整个网络使用梯度下降之外,还对每一层执行无监督学习过程。无监督学习的目标是让每一层都从其输入中提取特征特征,以供后续层使用。
尽管“深度学习”这个词目前被广泛使用,但它不仅仅是一种营销炒作。
编辑:几年前,包括我自己在内的很多人都认为,无监督预训练是深度学习的主要推动力。从那时起,其他技术开始流行,在许多情况下产生更好的结果。正如@Safak Okzan 的评论中提到的(在他自己的回答下面),这些包括:
残差网络
批量标准化
整流线性单位
【讨论】:
我不同意@Frank Puffer 的回答。我不明白他在隐藏层等上执行无监督学习程序是什么意思。
深度学习是指通常具有 2 或 3 个以上隐藏层的神经网络模型。大多数 DL 模型有 10 到 100 层或更多层。
深度学习模型的最新革命依赖于两件事:
1、海量数据的可用性——互联网时代的产物
2. GPU 的可用性
用于优化 DL 模型的算法称为反向传播算法(在数学上相当于梯度下降)。 Backprop 实际上至少从 80 年代就已经存在了——它不是 DL 特定的东西。
由于模型的复杂性和大小,DL 模型通常需要大量数据。它们通常具有数百万个可调权重参数。由于训练数据的大小和每次迭代需要计算的数百万个偏导数(相对于权重),优化需要高计算能力。
本质上,深度学习并不是一种营销炒作。这是一个大型的多层神经网络模型,需要大量数据和强大的 GPU 进行训练。一旦经过训练,它们在某些任务上的准确度就会超过人类。
【讨论】:
近年来,为解决各种机器学习问题而开发的模型变得更加复杂,层数非常多。例如,谷歌的 Inception-v3 模型(我认为)有 42 层。传统的神经网络过去通常只使用少数隐藏层。在“深度学习”和“深度卷积神经网络”的上下文中使用的术语“深度”是对所涉及的大量层数的一种认可。
【讨论】:
从应用程序的角度来看,我将在以下几行中区分 DL 和 ML 中使用的神经网络:
【讨论】:
传统的人工神经网络处理的隐藏层数量较少,而深度学习处理的隐藏层数量接近 1000 个。 例如:在他们两个中,你都有一个输入层,它被传递到不同的层,如第 1、2 层等。在深度学习的情况下,您有更多的隐藏层,因此在执行回溯时需要计算和更新更多的权重,而在 ANN 中,权重会相当少。
【讨论】: