问题

卷积神经网络(CNN)的结构设计都有哪些思想?

回答
卷积神经网络(CNN)的结构设计,说到底,是在模仿和优化我们人类的视觉系统。我们眼睛捕捉到的信息,并不是像普通计算机程序那样一个像素一个像素地独立处理,而是大脑通过一系列层级化的处理,从简单的边缘、颜色、纹理,逐步抽象到复杂的物体、场景。CNN的设计正是围绕着这个核心思想展开的。

1. 局部感受野:洞察细节的关键

想象一下,你看一张照片。你不会第一时间识别出“这是一辆汽车”,而是先注意到“有轮子”、“有车窗”、“有车灯”这些局部特征。CNN的核心思想之一就是局部感受野(Local Receptive Field)。

怎么实现的? 通过“卷积层”。卷积层不像全连接层那样,将输入层的所有神经元都连接到输出层。相反,它使用一个小型的“滤波器”(也叫“核”),这个滤波器只“看”输入图像的一小块区域(这就是局部感受野)。
有什么用?
提取局部特征: 就像你的眼睛先聚焦在汽车轮胎上一样,滤波器可以有效地捕捉到图像中的局部模式,比如边缘、角落、纹理。
参数共享: 一个滤波器在图像的不同位置上滑动,使用相同的权重。这意味着,识别“垂直边缘”的这个滤波器,在图像的左边和右边都一样起作用,大大减少了模型的参数数量,提高了训练效率,也降低了过拟合的风险。
空间不变性(部分): 即使同一特征(比如一个角落)出现在图像的不同位置,同一个滤波器也能检测到它。

2. 权值共享:更高效的特征提取

前面提到的“参数共享”其实是权值共享的一种表现,也是CNN结构设计的又一个重要思想。

为什么重要? 如果没有权值共享,每个输入特征都需要一组独立的权重来连接到下一层,这会导致参数量呈指数级增长,模型会非常庞大且难以训练。
如何理解? 想象一下,你想让模型识别出“圆形”。那么,无论这个圆形出现在图像的哪个角落,我们都希望使用相同的“圆形探测器”(也就是滤波器)来检测它。权值共享正是实现了这一点。

3. 层级化特征提取:从简单到复杂

我们的大脑处理视觉信息也是分层级的。最底层的视觉皮层处理简单的光线、颜色、边缘;往上的皮层则开始组合这些基本特征,识别出形状、纹理;再往上,则能识别出更复杂的物体,比如人脸、汽车。CNN也遵循这个原则。

层层递进: CNN通常由一系列的卷积层、激活函数、池化层(后面会讲)以及最后的全连接层组成。
浅层卷积层: 捕捉图像的低级特征,如边缘、线条、颜色块。
中层卷积层: 组合低级特征,形成更复杂的模式,比如纹理、形状的局部(如一个眼睛的形状,一个车门的轮廓)。
深层卷积层: 进一步组合中层特征,识别出更高级、更抽象的特征,最终形成对整个物体的识别(比如“这是一个人脸”)。
抽象程度的提升: 随着网络层数的加深,感受野的范围也在“有效”地增大(通过卷积核的堆叠和池化),模型对特征的理解也从像素级别的细节,逐步上升到语义级别的概念。

4. 池化层:降维与鲁棒性的双重奏

池化层(Pooling Layer)是CNN中另一个不可或缺的组成部分,它的设计思想主要围绕着降维和提升模型的鲁棒性。

怎么实现的? 池化层会“下采样”输入特征图,通常有两种方式:
最大池化(Max Pooling): 在一个小的局部区域内(通常是2x2),只保留最大的那个值,丢弃其余的值。
平均池化(Average Pooling): 计算局部区域内所有值的平均值。
有什么用?
减小特征图尺寸: 每次池化后,特征图的长和宽都会减小(例如,2x2的池化通常将尺寸减半)。这大大减少了后续层的计算量,加快了训练速度。
减少参数数量: 降低了模型整体的参数量,有助于防止过拟合。
增强对空间变化的鲁棒性: 通过保留局部区域的最大值(或平均值),池化层使得模型对输入图像中特征的微小平移、扭曲或变形不那么敏感。想象一下,你的眼睛即使稍微斜一点看同一个物体,大脑依然能认出它。池化层起到了类似的作用,使得模型在识别时更“宽容”。

5. 非线性激活函数:引入“思考”的能力

如果没有非线性激活函数,无论网络有多少层,它本质上都是一系列的线性变换,能够表达的能力非常有限。

怎么实现的? 在每个卷积层(或全连接层)的输出之后,都会应用一个非线性激活函数,最常见的是 ReLU(Rectified Linear Unit),它将负值置零,保留正值。
有什么用?
引入非线性: 激活函数赋予了神经网络表达复杂非线性关系的能力,使其能够学习到更复杂的模式,从而对数据进行更精细的划分和识别。
模拟神经元的“激活”: ReLU函数在一定程度上模拟了生物神经元的“ firing”机制——只有当输入达到一定阈值时,神经元才会被激活并传递信号。
解决梯度消失问题(ReLU): 相对于早期的Sigmoid或Tanh函数,ReLU在正区间导数为1,有助于缓解深度网络训练中的梯度消失问题,使得信息能够更有效地向前传播。

6. 感受野的扩大与全局信息的融合

虽然卷积层本身只处理局部信息,但通过堆叠卷积层和池化层,实际上是在逐步扩大网络的感受野。

感受野的累积: 一个在第二层卷积层中能够“看到”的区域,实际上是第一层卷积层所能看到的区域的组合。随着层数的增加,每一层神经元对应的原始图像区域(即它的感受野)也在不断扩大。
全局与局部的平衡: 到了网络的后期,这些不断扩大的感受野允许模型开始融合更广泛的局部特征,甚至捕捉到图像的全局结构和语义信息,从而做出更准确的判断。

7. Softmax与分类:最终的决策

对于分类任务,CNN的最后通常会接一个或多个全连接层,将前面提取到的高级特征进行整合,最后通过一个 Softmax 函数输出各类别的概率。

全连接层: 就像传统神经网络一样,将前面层提取到的特征“打散”并连接起来,进行最后的特征组合和判断。
Softmax: 将输出的原始分数(logits)转换为概率分布,使得所有类别的概率之和为1。这使得模型能够输出它认为输入图像属于各个类别的可能性。

总结一下这些思想的精髓:

模仿视觉系统: 从局部细节开始,层层递进,抽象出更高级的特征。
高效利用参数: 通过局部感受野和权值共享,大大减少了模型的复杂度,提高了训练效率。
鲁棒性与泛化: 池化层在一定程度上解决了空间变化问题,使得模型更具泛化能力。
强大的表达能力: 非线性激活函数赋予了模型处理复杂问题的能力。

这些看似简单的设计原则,组合在一起,就构成了CNN如此强大的模式识别能力。随着研究的深入,也涌现出了像Inception、ResNet(残差网络)等更精巧的结构设计,它们在上述基本思想的基础上,进一步优化了特征提取、信息流动和网络深度,但其核心思想仍然是围绕着如何更有效地、更鲁棒地从数据中学习到有意义的层级化特征。

网友意见

user avatar

简单总结下现有的CNN网络结构设计思想。

LetNet-5

LeNet-5取名自它的作者Yann Lecun,最早被成功应用于在ATM中对支票上的手写数字进行识别。它可以说是CNN的开山之作,其中应用的卷积、激活、池化和全连接等操作一直被沿用至今。

AlexNet

Alex Krizhevsky设计的AlexNet在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)2012获得了冠军。AlexNet和LetNet-5的结构类似,但是比LetNet-5更深并且有更多的参数。AlexNet网络中一共有8层用于学习的神经层,分别是5层卷积层和3层全连接层。AlexNet的创新点在于1)开创性地使用了ReLU激活函数,提高了不少训练速度;2)使用了随机失活(Dropout)、数据增强(Data Augmentation)以及学习率衰减策略来防止过拟合。

VGG

AlexNet之后的下一个经典CNN网络就是VGG,同样将CNN在ImageNet分类竞赛的表现提升很多。VGG相比AlexNet最主要的提升就是将网络结构变得更深,网络层数由AlexNet的8层升至16和19层(VGG有两个版本,分别是16层的VGG-16和19层的VGG-19)。VGG也让我们知道网络的深度可以直接提升CNN在图像分类任务中的性能表现。

GoogleNet(Inception v1)

ILSVRC 2014的冠军网络来自Google的GoogleNet。它还有另外一个名字叫做Inception v1。Inception v1可以算是继VGG之后CNN分类器的一个里程碑。之前的网络主要是通过将CNN做的越来越深从而提升分类性能,但是Inception v1通过网络设计去解决每张图中的主体大小不一的问题从而提升分类性能。

首先在图像分类问题中有一个很常见的问题就是每张图中的主体的大小差别很大,比如下面三张图中的三只狗的大小都不一样,而且每只狗所在图片中的位置都不一样。由于图片中主体的位置差异巨大,就很难为卷积操作选择合适的卷积核大小。信息分布更完全的图片(比如下图中最左边的子图)适合较大的卷积核。而信息分布偏局部的图片(比如下图中最右边的子图)适合较小的卷积核。


    Inception v1用一个新的单元结构,名叫Inception模块,去解决上面的问题。Inception模块如下图所示。每个Inception模块有多个滤波器,分别是1×1, 3×3和5×5,对输入图像进行卷积操作。并且还会进行一次最大池化操作。最后将这四个操作的输出结合在一起传送给下一个Inception模块。当然Inception v1也同时增加了网络的深度。它由9个线性的Inception模块组成,一共包含22层。

    ResNet

    ResNet是继GoogleNet之后又一个CNN模型的里程碑。它在ILSVRC和COCO 2015上取得5项第一。ResNet最重要的成就是解决了深层CNN模型的训练问题。前面2014年的GoogleNet才只有22层,而2015年的ResNet有高达152层。这在网络深度上完全不是一个数量级。

    理论上来讲,CNN的网络深度对提升性能非常重要,提升网络深度可以让模型的性能显著提升。但是从实验上来看,一味地增加网络深度时,网络的性能可能不增长甚至反而下降。而且随着网络深度的增加,梯度消失和梯度爆炸的出现的可能性也就越来越高。这些问题使训练深层CNN网络非常困难。

    简单来说,传统网络结构(如下图所示),将每层的输出直接传递给相邻的下一层输出。

    ResNet通过使用一个叫做捷径(Short cut或者Skip connection)去解决这个问题。ResNet由很多残差模块组成(如下图所示)。每个模块都由一些列连续的层和一个捷径组成。这个捷径将该模块的输入和输出连在一起,然后在进行ReLU激活之前,将两者相加。然后将得到的输出送给ReLU激活函数生成这个模块的输出。


      通过堆叠残差模块,我们就可以把之前传统的网络结构改装成下图(示例)。这样一系列连续的残差模块组成的网络即便非常深(比如有1000层)也是可以有效训练的。

      NASNet

      NASNet是使用神经结构搜索(NAS)框架构建的。简单来说,之前我们所说的所有CNN网络模型,从LetNet-5到ResNet都是研究人员手动设计的网络结构。而NAS就是用来自动搜索最优的神经网络结构的方法。由于ImageNet的数据集太大了,通过NAS直接在ImageNet上进行搜索最优CNN网络结构所需要的计算量太大了,所以NASNet的论文的作者使用NAS在CIFAR-10数据集上进行搜索得到了适用于CIFAR-10的最佳结构。即便是这样,通过NAS搜索得到的NASNet在ImageNet 2012竞赛的数据集也获得了3.8%的Top 5错误率。

      Inception v2-v4、Xception、DenseNet、Inception-ResNet v1-v2、ResNeXt和SENet

      上面的这些模型包含了这些年来的CNN分类算法发展中的主要思想。基于这些模型的思想,后面有又出现了很多更强大的CNN分类模型。比如基于Inception v1(GoogleNet)的Inception v2、Inception v3和Inception v4。之后的Xception将Inception的思想发挥到了极致。DenseNet是基于ResNet基本思想的一种网络。ResNet只将残差模块中的输入与输出连接在了一起。而DenseNet更为激进,将所有的层互相连接(如下图所示)从而建立密集连接(Dense Connection),这也是这个网络的名字的由来。换句话说,DenseNet中每一层的输入是前面所有层的输出。

      ResNet和Inception这两种思想进行融合出现了后面更强大的Inception-ResNet和ResNeXt。在Inception模块引入了ResNet中的捷径思想,就出现了Inception-ResNet v1和Inception-ResNet-v2。Inception-ResNet v1的规模较小,和 Inception v3 相当。而Inception-ResNet v2的规模较大,和 Inception v4 规模差不多,并且两者的分类性能相近。在ResNet中引入Inception的思想得到了ResNeXt。其将ResNet的每一个残差模块像Inception模块那样进行横向扩展(如下图中的右图所示,ResNeXt通过在通道上对输入进行拆分,进行分组卷积)。

      2017年最后一届ImageNet的冠军是SENet。它将Top 5错误下降到2.25%,可以说是提升巨大。简单讲SENet引入了一种SE模块,其通过Squeeze和Excitation这两个操作抑制无效特征并且提升有效特征的权重。通过将SE模块与现有CNN模型相结合,可以提升现有模型的性能。

      轻量化网络(适用于移动端的算法)

      通过上面的介绍可以看到,CNN分类模型变得越来越强大。但是随之而来的缺点也显而易见,这些模型通常需要巨大的存储和计算量。比如ResNet有152层,其模型大小将近300多MB,而且还需要非常强大的GPU来进行运算。而在某些低功耗领域上,比如手机和无人机上,如果要使用这样的模型,几乎是不可能的。所以近年来CNN模型的另外一个很重要的研究方向就是如果在算法层面有效降低模型所需要的存储和计算量。现阶段这个方面做得比较的模型有MobileNet系列和ShuffleNet系列。

      对AI感兴趣的同学可以关注我的微信公众号:haotian3141或者我的博客:www.neohsu.com

user avatar

从经典的残差网络开始讲起:相较于传统的卷积神经网络,残差网络增加了跨层的恒等路径,以降低训练的难度,如下图所示:

Squeeze-and-Excitation Networks(SENet)在残差网络的基础上,增加了子网络,来自动学习一组权重,调整不同通道特征的大小:

深度残差收缩网络(Deep Residual Shrinkage Network)在SENet的基础上,又做了一些改进,将SENet中的加权替换成了软阈值化。

软阈值化是很多信号降噪算法的关键步骤,可以将接近于零(绝对值小于某个阈值τ)的特征置为零,也就是将处于[-τ, τ]区间的特征置为零,其他的特征也朝着零的方向进行收缩。

如果和前一层的偏置b放在一起看的话,这个置为零的区间就变成了[-τ+b, τ+b]。因为τ和b都是可以自动学习得到的参数,这么看的话,软阈值化似乎是可以将任意区间的特征置为零,是一种更灵活的、删除某个取值范围特征的方式,也可以理解成一种更灵活的非线性变换。

从另一个角度来理解的话,前面的两个卷积层,将冗余信息对应的特征,转换成接近于零的值;将有用的特征,转换成远离零的值。然后,自动学习得到一组阈值,利用软阈值化将冗余特征删除掉,将有用特征保留下来。

最后,和残差网络相同,也是堆叠很多基本模块,构成完整的网络:

文献:Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Michael Pecht, Deep residual shrinkage networks for fault diagnosis, IEEE Transactions on Industrial Informatics, 2020, 16(7): 4681-4690.

下面的链接可以供参考:

github.com/zhao62/Deep-

10分钟看懂深度残差收缩网络 - 翼下之峰 - 博客园

blog.csdn.net/ABCD_2020

类似的话题

  • 回答
    卷积神经网络(CNN)的结构设计,说到底,是在模仿和优化我们人类的视觉系统。我们眼睛捕捉到的信息,并不是像普通计算机程序那样一个像素一个像素地独立处理,而是大脑通过一系列层级化的处理,从简单的边缘、颜色、纹理,逐步抽象到复杂的物体、场景。CNN的设计正是围绕着这个核心思想展开的。 1. 局部感受野:.............
  • 回答
    你好!让我为你详细解析一下CNN、RNN和DNN这三种核心的神经网络模型,揭示它们内部结构上引人入胜的差异。我会尽量让解释得透彻,并且用一种更像人类分享知识的语气来描述,避免生硬的AI痕迹。 脑子里那些“神经网络”到底有什么不一样?—— CNN, RNN, DNN 深度解析你是不是常常听到“CNN”.............
  • 回答
    好的,咱们来聊聊怎么用 FPGA 给卷积神经网络(CNN)提速。这可不是件容易的事儿,得深入理解 CNN 的计算特点,然后才能把 FPGA 的优势发挥出来。为啥要用 FPGA 加速 CNN?简单来说,传统的 CPU 计算 CNN 主要靠软件实现,指令都是串行执行的,效率不高。GPU 虽然并行性很强,.............
  • 回答
    卷积神经网络(CNN)在去除池化层后,它与传统的多层感知机(MLP)或其他通用神经网络的界限确实会变得模糊,但它们的根本区别依然存在,尽管表现形式有所变化。要深入理解这一点,我们需要剖析CNN的核心特性,以及池化层在其中扮演的关键角色,并观察其缺失会带来什么影响。传统神经网络(MLP)的核心机制首先.............
  • 回答
    卷积神经网络(CNN)之所以强大,核心就在于它能够自动地从原始图像数据中学习到有用的特征。而实现这一切的“大脑”,就是我们常说的“卷积核”,或者更准确地说,是卷积核中的一组参数。下面咱们就来聊聊,这些小小的卷积核,究竟是怎么一步步炼成“火眼金睛”的。想象一下,你拿到一张照片,里面可能是一只猫。你一眼.............
  • 回答
    基于深度卷积神经网络(CNN)的人脸识别原理详解深度卷积神经网络(CNN)在人脸识别领域取得了革命性的进展,其强大的特征提取能力使其能够处理人脸的多样性、复杂性和变化性。理解其原理需要从以下几个核心方面入手: 1. CNN 的基本架构与工作流程首先,我们需要了解 CNN 的基本构成和信息处理流程。一.............
  • 回答
    卷积神经网络(CNN)工作原理直观详解想象一下,你想教计算机如何识别图片里的猫咪。直接告诉它“猫咪有胡须,有尖耳朵,有毛皮”,这对于计算机来说太抽象了,它无法理解这些概念。卷积神经网络(CNN)就是一种更“自然”的方式,让计算机通过“观察”大量猫咪图片来学习识别猫咪。我们把这个过程想象成一个侦探破案.............
  • 回答
    好的,我们来详细地探讨一下 Attention 机制和一维卷积(1D Convolution)的区别。它们虽然都是在序列数据上进行操作,但其根本原理、关注点和应用方式有着显著的不同。 核心思想的差异1. Attention 机制: 关注点: Attention 的核心思想是让模型在处理一个序列的.............
  • 回答
    好的,我们来尝试用最通俗易懂的方式,一步步地拆解卷积,并且讲得详细一些。想象一下你正在做一件很有趣的事情,我们把这个过程叫做“信息融合”或者“特征提取”。卷积就是一种实现这种“信息融合”或“特征提取”的强大工具。 核心思想:滑动和相乘,然后求和卷积最核心的操作可以用一个简单的比喻来概括:就像你用一把.............
  • 回答
    好的,我们来深入浅出地理解一下空洞卷积(Dilated Convolution),也称为扩张卷积或带孔卷积。核心思想:在不增加计算量和参数数量的前提下,扩大卷积核的感受野(Receptive Field)。 1. 什么是感受野?在理解空洞卷积之前,我们首先需要明白什么是感受野。想象一个卷积神经网络(.............
  • 回答
    好的,咱们来好好说道说道这个“类似卷积”的函数极限,怎么一步步给它拿下。别担心,我保证说得明明白白,就像咱们平时聊天一样,没有那些生硬的AI腔调。咱们先明确一下,你说的这个“类似卷积的函数极限”,大概长什么样子?一般这类问题,会涉及到一个函数,然后通过某种“叠加”、“平滑”或者“加权平均”的过程,去.............
  • 回答
    “函数卷积的傅里叶变换等于傅里叶变换的乘积”,这句话听起来可能有些拗口,但它揭示了一个非常深刻且在信号处理、图像处理、物理学等众多领域都至关重要的规律。简单来说,它描述了在两个函数进行“卷积”操作后,它的频谱(也就是傅里叶变换的结果)与分别对这两个函数进行傅里叶变换后相乘的结果是完全一样的。为了更好.............
  • 回答
    在MATLAB的世界里,`conv` 函数是进行卷积运算的得力助手。而卷积,这个在信号处理、图像处理、概率论以及许多其他领域都闪耀着光芒的数学概念,也有其经典的定义公式。理解 `conv` 函数与卷积公式之间的联系,就如同理解一把锋利的工具如何精确地执行一项严谨的数学任务。 卷积公式:数学的基石我们.............
  • 回答
    这个问题提得很有意思,也切中了深度学习优化中的一个重要方向。确实,FFT(快速傅里叶变换)在信号处理领域是加速卷积的利器,但在CNN中却不像想象中那样普及,这背后有几个关键原因,我们一点点拆解开来聊聊。首先,得明确一点,FFT加速卷积的原理是什么?FFT加速卷积的数学基础:卷积定理在信号处理中,卷积.............
  • 回答
    谷歌研究人员提出的卷积正则化方法 DropBlock 是深度学习领域中一个非常重要和有影响力的正则化技术,尤其在卷积神经网络 (CNN) 的训练中表现出色。它的核心思想是通过随机地“遮盖”掉输入特征图中的连续区域,来强制网络学习更鲁棒、更具泛化能力的特征表示。下面我将从多个角度详细解读 DropBl.............
  • 回答
    在信号与系统这门课里,卷积运算绝对是个绕不开的核心概念,学过这门课的同学想必对它又爱又恨。那么,这玩意儿到底是什么,为什么咱们要费这么大劲去研究它?说白了,卷积运算之所以重要,是因为它提供了一种非常强大且通用的工具,让我们能够深入理解和分析线性时不变(LTI)系统的行为。没有卷积,很多信号和系统的分.............
  • 回答
    卷帘大将之所以只是打破了一个琉璃盏就被贬下凡,背后原因远比表面上看起来要复杂和深刻,它牵扯到天庭的等级森严、规章制度、神仙的修炼境界,以及最重要的——唐僧西天取经的宏大背景。要详细讲述,我们需要从以下几个方面来分析:一、 严苛的天条与神圣的法宝: 天庭的规章制度: 天庭虽然是神仙居住的地方,但并.............
  • 回答
    卷杀,这个词听起来就带着一股子阴森和狠厉。它不是一个正式的科学术语,也不是哪个古老传说里的怪物,而是咱们老百姓在摸爬滚打的生活中,用最朴实的语言,把一种残酷的现实给概括了出来。简单来说,卷杀,就是一个人或一群人,为了争夺有限的资源、机会或者地位,不惜一切代价,采取极端、残忍、甚至非人道的手段,去压制.............
  • 回答
    哎呀,你说这“卷不动”的心情,我太理解了!明明知道学历值钱,但每天泡在题海里,感觉身体被掏空,脑子也转不动了,是吧?别急,别灰心,这世上总有适合你的路子。咱们今天就来好好聊聊,有哪些学校,可能不需要你把自己逼到绝境,还能让你顺利读上研。首先,咱们得理清一个思路:什么叫“卷不动”?在我看来,“卷不动”.............
  • 回答
    《上古卷轴 5:天际》(The Elder Scrolls V: Skyrim)以其庞大的开放世界、海量的非线性设计和点状分布的任务系统而闻名。这种设计模式赋予了玩家极高的自由度,但也伴随着潜在的混乱和遗漏。为了最大化优势并最小化劣势,Bethesda 的设计团队采用了多种精妙的手段来引导玩家、提供.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有