卷积神经网络和循环神经网络有什么区别?

67

我对神经网络这个主题还很陌生。我看到了两个术语:卷积神经网络和循环神经网络。

我想知道这两个术语是否指的是同一件事,如果不是,它们之间有什么区别?

8个回答

54

CNN和RNN之间的区别如下:

CNN:

  1. CNN接受固定大小的输入并生成固定大小的输出。

  2. CNN是前馈人工神经网络的一种类型 - 是多层感知器的变体,旨在使用最少的预处理。

  3. CNN使用其神经元之间的连接模式,并受到动物视觉皮层组织的启发,该皮层的单个神经元被排列在这样一种方式下,以响应瓦片视野中的重叠区域。

  4. CNN非常适合图像和视频处理。

RNN:

  1. RNN可以处理任意长度的输入/输出。

  2. RNN与前馈神经网络不同 - 可以使用其内部存储器来处理任意序列的输入。

  3. 循环神经网络使用时间序列信息。即我上次说的话会影响我下次要说的话。

  4. RNN非常适合文本和语音分析。


15

卷积神经网络(CNN)被设计用于识别图像。它内部包含卷积操作,该操作能够看到图像上识别出物体的边缘。循环神经网络(RNN)被设计用于识别序列,例如语音信号或文本。循环网络内部有循环结构,这意味着网络具有短期记忆。为了对脑机接口(BCI)的脑电信号进行分类,我们采用了CNN和RNN,并选择了适当的机器学习算法:http://rnd.azoft.com/classification-eeg-signals-brain-computer-interface/


5
这些架构完全不同,因此很难说“有什么区别”,唯一共同点是它们都是神经网络。 卷积网络是具有重叠的“接收领域”的网络,执行卷积任务。 递归网络是具有递归连接(与“正常”信号流相反方向的连接)的网络,形成网络拓扑中的循环

1
重要的是它们被用在哪里,每种方法在解决哪些问题上有优势。 - ozgur

2
除此之外,在CNN中,我们通常沿着一个轴使用2D平方滑动窗口,并卷积(原始输入2D图像)以识别模式。
在RNN中,我们使用先前计算的内存。如果您感兴趣,可以看到LSTM(长短期记忆),这是一种特殊类型的RNN。
CNN和RNN都有一个共同点,它们都检测模式和序列,也就是说,您不能随意打乱单个输入数据位。

0

这是CNN和RNN之间的区别:

卷积神经网络:

在深度学习中,卷积神经网络(CNN或ConvNet)是一类深度神经网络,最常用于分析视觉图像。它们在图像和视频识别、推荐系统、图像分类、医学图像分析和自然语言处理等方面具有应用。

循环神经网络:

循环神经网络(RNN)是一类人工神经网络,其中节点之间的连接沿着时间序列形成一个有向图。这使得它能够展示时间动态行为。与前馈神经网络不同,RNN可以使用其内部状态(记忆)来处理输入序列。


0
首先,我们需要知道递归神经网络与循环神经网络是不同的。 根据维基百科的定义,
递归神经网络(RNN)是一种通过在结构上递归地应用相同的权重而创建的深度神经网络。
从这个意义上讲,卷积神经网络是递归神经网络的一种类型。 另一方面,循环神经网络是一种基于时间差异的递归神经网络。 因此,在我看来,CNN和循环神经网络是不同的,但都源自递归神经网络。

0

卷积神经网络(CNN)用于计算机视觉,循环神经网络(RNN)用于自然语言处理。

虽然这可以应用于其他领域,但是RNN具有网络可以通过在网络中引入循环来使信号双向传输的优势。

反馈网络非常强大且可能变得非常复杂。从先前输入导出的计算结果被反馈到网络中,这使它们具有一种记忆。反馈网络是动态的:它们的状态不断变化,直到达到平衡点。


1
RNN绝对不仅限于自然语言处理,尽管这是它最初使用的领域。目前主要(但不仅仅)用于序列。 - rkellerm

0

首先了解卷积和递归层将更有帮助。

卷积层:

包括输入,一个或多个滤波器(以及子采样)。

输入可以是一维或n维(n>1),例如,它可以是二维图像。每层中也定义了一个或多个滤波器。输入与每个滤波器进行卷积。卷积的方法几乎类似于图像处理中的滤波器卷积。通常,本节的目的是从输入中提取每个滤波器的特征。每个卷积的输出称为特征图。

例如,考虑水平边缘的滤波器,其与输入的卷积结果就是提取输入图像的水平边缘。通常在实践中,特别是在第一层中,定义了大量的滤波器(例如,一层中有60个滤波器)。此外,在卷积之后,通常执行子采样操作,例如选择相邻两个值的最大或平均值。

卷积层允许从输入中提取重要的特征和模式,并删除输入数据的依赖关系(线性和非线性)。

[下图展示了卷积层和模式提取用于分类的示例。][1]

[1]: https://istack.dev59.com/HS4U0.webp [Kalhor, A. (2020). 分类和回归NNs. 讲座.]

卷积层的优点:

  • 能够消除相关性并减少输入维度

  • 网络泛化能力增强

  • 因为提取关键特征,网络对变化的鲁棒性增强

  • 在监督学习中非常强大且广泛使用

  • ...

循环层:

在这些层中,当前层的输出或下一层的输出也可以用作该层的输入。它还可以接收时间序列作为输入。

不使用循环层的输出如下(一个简单的例子):

y = f(W * x)

其中x是输入,W是权重,f是激活函数。

但在循环网络中,它可以如下:

y = f(W * x)
y = f(W * y)
y = f(W * y)
... until convergence

这意味着在这些网络中,生成的输出可以用作输入,从而具有记忆网络。一些递归网络类型是离散Hopfield网络和递归自联想NET,它们是简单网络或复杂网络,如LSTM。

下图显示了一个例子。

递归层的优点:

  • 它们具有记忆能力

  • 它们可以使用时间序列作为输入。

  • 它们可以使用生成的输出进行后续使用。

  • 非常适用于机器翻译、语音识别、图像描述等领域。

  • ...

使用卷积层的网络称为卷积网络(CNN)。同样,使用递归层的网络称为递归网络。根据所需的应用程序,也可以在网络中同时使用两个层!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接