卷积神经网络与深度学习有什么区别?


25

我想在我的项目中使用深度学习。我浏览了几篇论文,然后想到一个问题:卷积神经网络和深度学习之间有什么区别吗?这些是相同的东西还是它们之间有主要区别,哪个更好?


告诉我与深度学习和卷积神经网络的确切区别是什么?我对这两个主题感到有些困惑
Yamini

Answers:


33

深度学习是基于深度神经网络(DNN)的机器学习的一个分支,意味着深度至少为3或4层(包括输入和输出层)的神经网络。但是对于某些人(尤其是非技术人员)而言,任何神经网络都可以视为深度学习,而不管其深度如何。其他人则认为10层神经网络很浅。

卷积神经网络(CNN)是最流行的神经网络体系结构之一。它们不仅在图像处理方面非常成功,而且在许多其他任务(例如语音识别,自然语言处理等)方面也非常成功。最新的CNN深度很深(至少几十层),因此它们是深度学习的一部分。但是您可以为一个简单的任务构建一个浅层的CNN,在这种情况下,它不是(真正地)深度学习。

但是CNN并不孤单,还有许多其他的神经网络架构,包括递归神经网络(RNN),自动编码器,变压器,深度信任网(DBN =受限玻尔兹曼机器堆栈,RBM)等。它们可以是浅的或深的。注意:即使是浅层RNN,也可以视为深度学习的一部分,因为对其进行训练需要将它们逐步展开,从而形成深层网络。


@MiniQurak。请纠正我,我错了。我了解的是,CNN只是深层网络的一种架构,就像自动编码器,深层信任网络,递归神经网络(RNN)..是否正确?
Aadnan Farooq A

对,那是正确的。
MiniQuark

那么我们可以根据数据集说哪种架构更好?或关键因素是什么?
Aadnan Farooq 2016年

1
CNN非常适合图像识别任务。每当数据具有某种形式的层次结构时,它们也会发光,其中局部模式(例如,线段)被组装为大模式(例如,正方形,三角形),而组装为较大的模式(例如,房屋,飞机)。这对于语音识别任务非常有效。RNN非常适合时间序列(例如,预测天气),通常用于处理数据序列(例如,句子)。它们被大量用于NLP(自然语言处理)。自动编码器不受监督,可以学习数据中的模式。
MiniQuark

1
好吧:)
Firebug

21

在自适应信号处理/机器学习领域,深度学习(DL)是一种特殊的方法,我们可以在其中训练机器的复杂表示。

通常,他们将具有一种公式,可以通过一系列层次堆叠的操作(这是“深度”的来源)将您的输入一直映射到目标目标y。这些操作通常是线性运算/凸起(w ^ ),接着是非线性(˚F ),如下所示:Xÿw ^一世F一世

ÿ=FñF2F1个XŤw ^1个w ^2w ^ñ

现在在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中的每一列,对从图层的所有元素到一个的所有边进行编码w ^一世w ^[R10X20v[R10X1个ü[R1个X20ü=vŤw ^w ^ 下一层的元素。

当时,MLP失宠了,部分原因是它们很难训练。尽管造成这种困难的原因有很多,但其中之一也是因为它们密集的连接无法轻松扩展以解决各种计算机视觉问题。换句话说,他们没有嵌入平移等式。这意味着,如果图像的某个部分中存在一个需要敏感的信号,则他们需要重新学习如何对其敏感。那个信号四处走动。这浪费了网络的容量,因此训练变得困难。

这是CNN出现的地方!这是一个什么样子:

在此处输入图片说明

w ^一世

经常看到“ CNN”指的是我们在整个网络中都有卷积层的网络,而MLP在最后是网络,因此这是一个需要注意的警告。


1
+1好答案,我刚刚了解了toeplitz矩阵。;-)
MiniQuark

@MiniQuark谢谢!是的-您可以写出卷积乘以toeplitz矩阵。:)
Tarin Ziyaee

@TarinZiyaee和MiniQurak你们能为我推荐任何一本好书/期刊文章/教程,供初学者详细了解深度学习。
Aadnan Farooq

CNN不一定深(-1)
Firebug

7

深度学习=深度人工神经网络+ 其他类型的深度模型

深度人工神经网络=一层以上的人工神经网络。(有关更多讨论,请参阅深度神经网络Wikipedia 中的最小层数 …)

卷积神经网络=一种人工神经网络


公平地说,深度学习还包括“多层内核机器”,而CNN可能很浅。:)
MiniQuark

@MiniQuark是的。
Franck Dernoncourt,2016年

一层以上的人工神经网络.....我不确定只有两层的网络称为深度网络。
SmallChess

1
@StudentT也许,我不工作,在市场营销;)en.wikipedia.org/w/...
弗兰克Dernoncourt

1
这应该是最好的答案,因为CNN不一定是深度的,并且深度学习不仅与ANN有关(通常意义上)。
Firebug

6

Yann LeCun的这张幻灯片指出,只有具有特征层次结构的模型(在模型的一层学习较低层的特征,然后在下一层将这些特征组合)是很深的

CNN可以很深也可以很浅;这种情况取决于是否遵循这种“功能层次”构造,因为某些神经网络(包括2层模型)并不深入。

Yann LeCun的定义


3

Deep learning是处理具有多层结构的复杂神经网络的通用术语。确切的定义没有标准的定义deep。通常,您可以认为深度网络对于笔记本电脑和PC来说太大了,无法训练。数据集将非常庞大,以至于您无法将其放入内存中。您可能需要GPU来加快培训速度。

Deep 更像是一个营销术语,它使事情听起来比以前更专业。

CNN是一种深度神经网络,还有许多其他类型。CNN之所以受欢迎是因为它们在图像识别方面有非常有用的应用。


我谨反对其中的一些陈述:当网络具有多个隐藏层时,通常认为该网络是深层的,并且大多数人都同意拥有10个以上的隐藏层绝对是深层的。我经常在笔记本电脑上训练深层网络,这很可能。该数据集不具备是巨大的,特别是如果你使用迁移学习(即从预训练网络重用层),和/或数据增强。在“ deep”一词周围肯定有很多炒作,但是有专门的深度学习技术,所以不仅仅是炒作。:)
MiniQuark

@MiniQuark通过数据扩充,您的数据集仍然会很大,只是您从小的内容开始...
SmallChess

好点,你是对的。我的意思是说,数据集将适合内存,因为您可以动态生成大多数数据。
MiniQuark
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.