卷积神经网络和常规神经网络有什么区别?

人工智能 神经网络 卷积神经网络 比较 术语 定义
2021-11-05 19:34:40

我已经在这个网站上看到了很多这些术语,特别是在标签中.

我知道神经网络是一个松散地基于人脑的系统。但是卷积神经网络和常规神经网络有什么区别呢?一个比另一个复杂得多,而且,咳咳,令人费解吗?

4个回答

TLDR: 卷积神经网络是神经网络的一个子类,它至少有一个卷积层。它们非常适合捕获局部信息(例如图像中的相邻像素或文本中的周围单词)以及降低模型的复杂性(更快的训练,需要更少的样本,减少过度拟合的机会)。

请参阅下面的图表,该图表描述了几种神经网络架构,包括深度常规神经网络可视化


神经网络(NN),或更准确地说是人工神经网络(ANN),是一类机器学习算法,由于大数据和快速计算设施(大部分深度学习)的可用性,最近(再次!)受到了很多关注算法本质上是 ANN 的不同变体)。

ANN 类涵盖多种架构,包括卷积神经网络( CNN )、递归神经网络 ( RNN ),例如LSTMGRU自动编码器深度信念网络因此,CNN 只是 ANN 的一种。

一般来说,人工神经网络是连接和可调单元(也称为节点、神经元和人工神经元)的集合,它们可以将信号(通常是实数值)从一个单元传递到另一个单元。单元(层)的数量、它们的类型以及它们相互连接的方式称为网络架构。

具体而言,CNN 具有一层或多层卷积单元。一个卷积单元从前一层的多个单元接收其输入,这些单元共同创建一个接近度。因此,输入单元(形成一个小邻域)共享它们的权重。

卷积单元(以及池化单元)特别有益,因为:

  • 它们减少了网络中的单元数量(因为它们是多对一映射)。这意味着,需要学习的参数更少,这减少了过度拟合的机会,因为模型比完全连接的网络更简单。
  • 他们考虑小社区中的上下文/共享信息。这个未来在许多应用中非常重要,例如图像、视频、文本和语音处理/挖掘,因为相邻输入(例如像素、帧、单词等)通常携带相关信息。

阅读以下内容以获取有关(深度)CNN 的更多信息:

  1. 使用深度卷积神经网络进行 ImageNet 分类
  2. 深入了解卷积

ps ANN 不是“松散地基于人脑的系统”,而是动物大脑中存在的受神经元连接启发的一系统。

卷积神经网络 (CNN) 是具有架构约束的神经网络,可降低计算复杂性并确保平移不变性(无论平移如何,网络都以相同的方式解释输入模式——就图像识别而言:香蕉就是香蕉,无论它在图片)。卷积神经网络具有三个重要的架构特征。

局部连接:一层中的神经元只连接到下一层在空间上靠近它们的神经元。这种设计修剪了连续层之间的绝大多数连接,但保留了携带最有用信息的连接。这里所做的假设是输入数据具有空间重要性,或者在计算机视觉的示例中,两个远距离像素之间的关系可能不如两个近邻像素之间的关系重要。

共享权重:这是使 CNN “卷积”的概念。通过强制一层的神经元共享权重,前向传递(通过网络提供数据)相当于在图像上卷积一个滤波器以产生新图像。然后 CNN 的训练变成了学习过滤器的任务(决定你应该在数据中寻找哪些特征。)

池化和 ReLU: CNN 有两种非线性:池化层和 ReLU 函数。池化层考虑输入数据块并简单地传递最大值。这样做会减少输出的大小,并且不需要额外的参数来学习,因此池化层通常用于调节网络的大小并使系统保持在计算限制以下。ReLU 函数接受一个输入 x,并返回 {0, x} 的最大值。ReLU(x) = argmax(x, 0). 这引入了与 tanh(x) 或 sigmoid(x) 类似的非线性效应,以增加模型的表达能力。


延伸阅读

正如提到的另一个答案,斯坦福大学的 CS 231n 课程详细介绍了这一点。查看此书面指南本讲座了解更多信息。像这个这个这样的博客文章也很有帮助。

如果您仍然好奇为什么 CNN 具有它们所具有的结构,我建议阅读介绍它们的论文,尽管这很长,也许可以查看Yann Lecun 和 Christopher Manning 之间关于先天先验的讨论(我们在我们设计模型的架构)。

卷积神经网络是具有卷积的网络。如果说一般的神经网络是受人脑启发的(不是很准确),那么卷积神经网络是受人类和其他动物的视觉皮层系统启发的(更接近事实) . 顾名思义,这一层使用可学习的滤波器(又名内核)进行卷积,因此网络学习图像中的模式:边缘、角落、弧线,然后是更复杂的图形。卷积神经网络也可能包含其他层,通常是池化层和密集层。

强烈推荐这方面的CS231n 教程:它非常详细,包含很多非常好的可视化。

卷积的日常定义来自拉丁语convolutus,意思是“一起滚动”。因此,意思是扭曲或复杂的。

数学定义来自同一个根源,即采用“滚动平均”的解释。

因此,在机器学习中,卷积是跨输入的滑动窗口,为窗口所采用的每个步幅创建一个平均输出。即,对窗口覆盖的值进行卷积以创建一个卷积输出。最好用图表来说明这一点:

在此处输入图像描述

卷积可以是输入的任何函数,但一些常见的是最大值或平均值。

卷积神经网络 (CNN) 是一种神经网络,其中一个或多个层采用卷积作为应用于前一层输出的函数。

如果窗口大于 1x1,则输出必然小于输入(除非输入被人为“填充”零),因此 CNN 通常具有独特的“漏斗”形状:

在此处输入图像描述