我对神经网络这个主题还很陌生。我看到了两个术语:卷积神经网络和循环神经网络。
我想知道这两个术语是否指的是同一件事,如果不是,它们之间有什么区别?
我对神经网络这个主题还很陌生。我看到了两个术语:卷积神经网络和循环神经网络。
我想知道这两个术语是否指的是同一件事,如果不是,它们之间有什么区别?
CNN和RNN之间的区别如下:
CNN接受固定大小的输入并生成固定大小的输出。
CNN是前馈人工神经网络的一种类型 - 是多层感知器的变体,旨在使用最少的预处理。
CNN使用其神经元之间的连接模式,并受到动物视觉皮层组织的启发,该皮层的单个神经元被排列在这样一种方式下,以响应瓦片视野中的重叠区域。
CNN非常适合图像和视频处理。
RNN可以处理任意长度的输入/输出。
RNN与前馈神经网络不同 - 可以使用其内部存储器来处理任意序列的输入。
循环神经网络使用时间序列信息。即我上次说的话会影响我下次要说的话。
RNN非常适合文本和语音分析。
卷积神经网络(CNN)被设计用于识别图像。它内部包含卷积操作,该操作能够看到图像上识别出物体的边缘。循环神经网络(RNN)被设计用于识别序列,例如语音信号或文本。循环网络内部有循环结构,这意味着网络具有短期记忆。为了对脑机接口(BCI)的脑电信号进行分类,我们采用了CNN和RNN,并选择了适当的机器学习算法:http://rnd.azoft.com/classification-eeg-signals-brain-computer-interface/
这是CNN和RNN之间的区别:
卷积神经网络:
在深度学习中,卷积神经网络(CNN或ConvNet)是一类深度神经网络,最常用于分析视觉图像。它们在图像和视频识别、推荐系统、图像分类、医学图像分析和自然语言处理等方面具有应用。
循环神经网络:
循环神经网络(RNN)是一类人工神经网络,其中节点之间的连接沿着时间序列形成一个有向图。这使得它能够展示时间动态行为。与前馈神经网络不同,RNN可以使用其内部状态(记忆)来处理输入序列。
卷积神经网络(CNN)用于计算机视觉,循环神经网络(RNN)用于自然语言处理。
虽然这可以应用于其他领域,但是RNN具有网络可以通过在网络中引入循环来使信号双向传输的优势。
反馈网络非常强大且可能变得非常复杂。从先前输入导出的计算结果被反馈到网络中,这使它们具有一种记忆。反馈网络是动态的:它们的状态不断变化,直到达到平衡点。
首先了解卷积和递归层将更有帮助。
卷积层:
包括输入,一个或多个滤波器(以及子采样)。
输入可以是一维或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)。同样,使用递归层的网络称为递归网络。根据所需的应用程序,也可以在网络中同时使用两个层!