我想在我的项目中使用深度学习。我浏览了几篇论文,然后想到一个问题:卷积神经网络和深度学习之间有什么区别吗?这些是相同的东西还是它们之间有主要区别,哪个更好?
我想在我的项目中使用深度学习。我浏览了几篇论文,然后想到一个问题:卷积神经网络和深度学习之间有什么区别吗?这些是相同的东西还是它们之间有主要区别,哪个更好?
Answers:
深度学习是基于深度神经网络(DNN)的机器学习的一个分支,意味着深度至少为3或4层(包括输入和输出层)的神经网络。但是对于某些人(尤其是非技术人员)而言,任何神经网络都可以视为深度学习,而不管其深度如何。其他人则认为10层神经网络很浅。
卷积神经网络(CNN)是最流行的神经网络体系结构之一。它们不仅在图像处理方面非常成功,而且在许多其他任务(例如语音识别,自然语言处理等)方面也非常成功。最新的CNN深度很深(至少几十层),因此它们是深度学习的一部分。但是您可以为一个简单的任务构建一个浅层的CNN,在这种情况下,它不是(真正地)深度学习。
但是CNN并不孤单,还有许多其他的神经网络架构,包括递归神经网络(RNN),自动编码器,变压器,深度信任网(DBN =受限玻尔兹曼机器堆栈,RBM)等。它们可以是浅的或深的。注意:即使是浅层RNN,也可以视为深度学习的一部分,因为对其进行训练需要将它们逐步展开,从而形成深层网络。
在自适应信号处理/机器学习领域,深度学习(DL)是一种特殊的方法,我们可以在其中训练机器的复杂表示。
通常,他们将具有一种公式,可以通过一系列层次堆叠的操作(这是“深度”的来源)将您的输入一直映射到目标目标y。这些操作通常是线性运算/凸起(w ^ 我),接着是非线性(˚F 我),如下所示:
现在在DL中,有许多不同的体系结构:一种这样的体系结构称为卷积神经网络(CNN)。另一种体系结构称为多层感知器(MLP)等。不同的体系结构有助于解决不同类型的问题。
MLP可能是人们可能会找到的最传统的DL体系结构类型之一,那就是当上一层的每个元素都连接到下一层的每个元素时。看起来像这样:
在的MLP,所述matricies 从一层到另一层编码变换。(通过矩阵相乘)。例如,如果你在连接到下一个的20个神经元一个层10层的神经元,那么你将有一个矩阵w ^ ∈ [R 10 X 20,将输入映射v ∈ [R 10 X 1到输出Ü ∈ - [R 1 X 20,经由:ü = v Ť w ^。W中的每一列,对从图层的所有元素到一个的所有边进行编码 下一层的元素。
当时,MLP失宠了,部分原因是它们很难训练。尽管造成这种困难的原因有很多,但其中之一也是因为它们密集的连接无法轻松扩展以解决各种计算机视觉问题。换句话说,他们没有嵌入平移等式。这意味着,如果图像的某个部分中存在一个需要敏感的信号,则他们需要重新学习如何对其敏感。那个信号四处走动。这浪费了网络的容量,因此训练变得困难。
这是CNN出现的地方!这是一个什么样子:
经常看到“ CNN”指的是我们在整个网络中都有卷积层的网络,而MLP在最后是网络,因此这是一个需要注意的警告。
深度学习=深度人工神经网络+ 其他类型的深度模型。
深度人工神经网络=一层以上的人工神经网络。(有关更多讨论,请参阅深度神经网络或Wikipedia 中的最小层数 …)
卷积神经网络=一种人工神经网络
Yann LeCun的这张幻灯片指出,只有具有特征层次结构的模型(在模型的一层学习较低层的特征,然后在下一层将这些特征组合)是很深的。
CNN可以很深也可以很浅;这种情况取决于是否遵循这种“功能层次”构造,因为某些神经网络(包括2层模型)并不深入。
Deep learning
是处理具有多层结构的复杂神经网络的通用术语。确切的定义没有标准的定义deep
。通常,您可以认为深度网络对于笔记本电脑和PC来说太大了,无法训练。数据集将非常庞大,以至于您无法将其放入内存中。您可能需要GPU来加快培训速度。
Deep
更像是一个营销术语,它使事情听起来比以前更专业。
CNN
是一种深度神经网络,还有许多其他类型。CNN之所以受欢迎是因为它们在图像识别方面有非常有用的应用。