卷积神经网络概述

一、卷积神经网络和传统神经网络区别:

1、数据输入方面:传统神经网络的输入是一维的向量形式;而卷积神经网络的数据输入是三维的(包括长度H、宽度W、通道数C(比如图像是彩色的RGB形式,则通道数就是3))。

2、网络架构和处理:传统神经网络的结构相对简单,主要由输入层、隐藏层和输出层组成,通过全连接的方式处理输入数据;卷积神经网络网络架构包括卷积层、池化层进行信息的提取和压缩,实现数据的局部连接和权值共享。全连接层主要是将以上提取的信息进行整合,并完成分类或回归任务。

二、卷积和池化部分:
1、卷积:

由卷积核(权重参数矩阵)对图像采用滑动窗口的操作,从而提取出来特征图。

1.1卷积核权重参数更新的步骤是:

前向传播:利用当前卷积核的权重矩阵对输入数据进行卷积操作,得到卷积输出。

计算损失函数:利用卷积输出与真实标签计算损失。损失函数衡量了模型预测与真实标签之间的差异。

反向传播:计算损失函数对卷积核权重矩阵的梯度。梯度表示了权重矩阵在损失函数上的变化率,即如何调整权重矩阵以最小化损失。

参数更新:根据计算出的梯度值,以一定的学习率更新卷积核的权重矩阵。学习率决定了每次更新的步长,即权重矩阵调整的幅度。更新公式可以表示为:权重矩阵 = 权重矩阵 - 学习率 * 梯度。

1.2卷积的计算方式:

如果通道数是3(假设分别是R通道、G通道、B通道),将每个通道与卷积核进行卷积操作(对应位置相乘再相加),然后根据设置的步长进行窗口滑动,从而分别得到R通道特征图、G通道特征图、B通道特征图。得到的特征图的对应位置再相加,再加一个偏置项(或者其他链接方式),就得到了总的特征图。总的特征图并不一定是一个,使用不同的卷积核权重矩阵可以得到不同的特征提取信息。

1.3不同的步长和卷积核对结果的影响:

步长越小,提取的信息越丰富,越细粒度地进行提取。但是越小,计算效率越慢。需要根据不同的需求来设置不同的步长。

卷积核的大小不一定是方形的,对于文本数据的处理,卷积核的大小可能是1*n。

1.4卷积的流程:

假设原始输入是32*32*3的数据,第一次卷积经过6个不同的卷积核(大小为5*5,3个颜色通道)进行卷积操作,且步长为1,会得到6个不同的特征图,也就是说本阶段的输出是下一个阶段的输入32*32*6,再经过10个不同的卷积核,会得到一个10个不同的特征图,以此类推,逐渐进行卷积操作。

1.5边界填充方式:

要解决的问题:边界信息利用不充分的问题。

产生该问题的原因:由于卷积核的移动过程中,中间的信息有可能会被利用多次,但是边界的信息远比中间信息利用的次数少。

解决方式:在边缘周围填充一层或者多重的0,再进行计算,这样的话,原始的边界就不再是边界,同样可被多次利用。

1.6特征图尺度计算:

输出特征图的宽度 = (输入特征图的宽度 - 卷积核的宽度 + 2 * 填充) / 步长 + 1
输出特征图的高度 = (输入特征图的高度 - 卷积核的高度 + 2 * 填充) / 步长 + 1

这里的填充(padding)指的是在输入特征图的边界周围添加的像素数,步长(stride)是卷积核在输入特征图上滑动的距离。这两个参数都可以调整输出特征图的尺寸。

需要注意的是,这里的除法应该是整数除法,即结果会向下取整。如果计算得到的特征图尺寸不是整数,通常需要对输入特征图进行适当的填充或调整步长,以确保输出特征图的尺寸是整数。

1.7卷积核的参数共享:

一句话就是卷积核在对整张图片进行一次卷积操作时,卷积核的权重矩阵是不变的。

优点:可以大大减少网络的参数数量,从而降低了网络的复杂度,同时也提高了网络的泛化能力。具体来说,卷积层中的每个卷积核都可以看作是一个滤波器,用于提取输入图像中的特定特征。由于参数共享,所有神经元都使用相同的滤波器来提取特征,避免了传统神经网络中每个神经元都使用不同权重矩阵的问题。

2、池化

池化层不涉及矩阵的运算,也就是只是对数据进行筛选。通俗的说,就是在特征图中选择出最重要的信息,从而实现对特征图进行压缩。

2.1池化的方式:

最大池化(Max Pooling):这是最常见的池化方式。在最大池化中,选图像区域的最大值作为该区域池化后的值。数字大意味着可能探测到了某些特定的特征,最大化操作的功能就是只要在任何一个象限内提取到某个特征,它都会保留在最大化的池化输出里。

平均池化(Average Pooling):计算图像区域的平均值作为该区域池化后的值。这种方式可以保留区域内的平均特征信息。

随机池化(Random Pooling):从每个卷积核中随机选择一个像素值,作为输出。这种方式增加了随机性,有助于防止过拟合。

全局池化(Global Pooling):对整个特征图进行池化操作,通常用于生成一个固定大小的特征向量。全局池化可以减少模型的参数数量,并有助于防止过拟合。

三、卷积神经网络整体架构:
1、整体介绍

如图,一般的卷积神经网络是经过两次卷积再进行一次池化,最后一层的池化得到的n*m的特征图会延展成一个一维的数据供全连接层使用,比如最后一层得到的特征图尺度为25*25*3,需要的分类类别是5,那个进入到全连接层的信息就是[1875],最后一层池化得到的1875的特征图会被展平成一个长度为1875的一维特征向量,这个向量随后会作为全连接层的输入。全连接层可以有多个隐藏层,每个隐藏层有各自的神经元数量,而输出层的神经元数量则等于分类的类别数量(在这个例子中是5)

一旦池化层的输出被展平为一维特征向量,它就可以作为全连接层的输入了。全连接层(通常是一个或多个密集连接层或线性层)会对这个特征向量进行进一步的变换和分类,最终输出网络的预测结果。

需要注意的是,全连接层中的每个神经元都与展平后的一维特征向量中的每个元素相连,并通过权重和偏置进行线性变换和非线性激活。因此,全连接层能够学习并利用从卷积和池化层中提取出的特征来进行复杂的模式识别和分类任务。

2、特征图的变化:

每次卷积选择不同的卷积核的数量,都会得到相对应的特征图,经过卷积之后,对庞大的数量的特征图进行池化操作,得到最有用的信息,最后展平数据进入全连接层。

四、常见的网络架构:
1、VGG网络架构:

VGG网络是一个经典的卷积神经网络架构,它的主要特点是使用小尺寸的卷积核(3×3)和小的池化核(2×2)来构建深度网络。这种设计旨在通过增加网络深度来提升性能,同时减少参数数量。

VGG网络主要由卷积层和全连接层组成。卷积层通过多次堆叠的卷积和池化操作来逐渐提取图像的特征信息。每个卷积层都使用3×3的卷积核,并且通过padding(也就是第二章,1.5节所说的边界填充方式,VGG中填充的也是0)保证输入输出特征图的大小不变。卷积层之间通过maxpool进行下采样连接,这有助于增加通道数并降低特征图分辨率。整个网络中有多个这样的卷积块堆叠,构成不同的VGG结构。

在VGG中,通道数随着网络深度的增加而增加。第一层的通道数为64,后面每层都进行了翻倍,最多到512个通道,这使得更多的信息可以被提取出来。

1.1感受野:

second conv能够感受First conv3*3的区域,而First Conv中这个3*3的区域能够感受Input中的5*5的区域,也就是全部感知,所以这个感受野就是5*5。也就是明明可以只卷积一次就能完成,但是卷积了3次,这也是VGG架构所提出的关键思想。

1.2优点:

能够有效地提取图像中的局部特征。通过堆叠多个小卷积核的卷积层,可以替代大卷积核的卷积层,同时感受野大小不变。这意味着网络能够学习到更多层的非线性特征,并且隐式地起到正则化的作用,增强了模型的判别能力。此外,使用多个3×3的卷积层比使用一个大尺寸的卷积层有更少的参数,有助于减少模型复杂度和防止过拟合。

2、ResNet残差网络:(何凯明 China)
2.1要解决的问题:

主要解决的问题是深度神经网络在训练过程中出现的梯度消失和表示瓶颈问题。当神经网络深度过深时,传统的训练方式会导致梯度在反向传播过程中逐渐消失,这使得网络难以进行有效的训练,尤其是在深层网络中。同时,随着网络深度的增加,还可能出现表示瓶颈,即网络无法有效地学习更高级别的特征表示。

2.2架构概述:

ResNet架构的核心思想是通过引入残差模块(Residual Module)和残差连接(Residual Connection)来构建网络,解决了深度神经网络在训练过程中出现的梯度消失和表示瓶颈问题。残差模块由两个或三个卷积层组成,它们的输出通过跳跃连接与模块的输入相加,形成残差。这种设计允许梯度直接流过模块,有助于避免梯度消失问题,并使得网络可以训练更深的层次。

  • 37
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值