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

机器算法验证 机器学习 神经网络 深度学习 术语 卷积神经网络
2022-02-03 08:17:04

我想在我的项目中使用深度学习。看了几篇论文,突然想到一个问题:卷积神经网络和深度学习有什么区别吗?这些东西是相同的还是它们有任何重大差异,哪个更好?

4个回答

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

卷积神经网络 (CNN) 是最流行的神经网络架构之一。它们在图像处理方面非常成功,但也适用于许多其他任务(例如语音识别、自然语言处理等)。最先进的 CNN 非常深(至少有几十层),因此它们是深度学习的一部分。但是你可以为一个简单的任务构建一个浅层 CNN,在这种情况下它不是(真的)深度学习。

但 CNN 并不孤单,还有许多其他神经网络架构,包括循环神经网络 (RNN)、自动编码器、变压器、深度信念网络(DBN = 受限玻尔兹曼机堆栈,RBM)等等。它们可以是浅的或深的。注意:即使是浅层 RNN 也可以被视为深度学习的一部分,因为训练它们需要随着时间的推移展开它们,从而形成一个深度网络。

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

通常,他们将有一个公式,可以通过一系列分层堆叠(这是“深度”的来源)操作一直映射到目标目标 。 . 这些操作通常是线性操作/投影(),然后是非线性(),如下所示:xyWifi

y=fN(...f2(f1(xTW1)W2)...WN)

现在在深度学习中,有许多不同的架构:其中一种架构被称为卷积神经网络(CNN)。另一种架构称为多层感知器(MLP) 等。不同的架构有助于解决不同类型的问题。

MLP 可能是人们可能发现的最传统的 DL 架构类型之一,即前一层的每个元素都连接到下一层的每个元素。它看起来像这样:

在此处输入图像描述

在 MLP 中,矩阵编码从一层到另一层的转换。(通过矩阵乘法)。例如,如果您在一层中有 10 个神经元连接到下一层的 20 个神经元,那么您将有一个矩阵,它将映射一个输入到输出,通过:中的每一列,编码从一层的所有元素到下一层的元素之一的所有边。WiWR10x20vR10x1uR1x20u=vTWW

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

这就是 CNN 的用武之地!这是一个样子:

在此处输入图像描述

CNN 解决了​​信号转换问题,因为它们会将每个输入信号与检测器(内核)进行卷积,因此对相同的特征敏感,但这次无处不在。在这种情况下,我们的方程看起来仍然相同,但权重实际上是卷积托普利兹矩阵。数学是一样的。 Wi

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

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

深度人工神经网络 = 超过 1 层的人工神经网络。(请参阅深度神经网络中的最小层数Wikipedia以了解更多辩论……)

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

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

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

Yann LeCun的定义