卷积神经网络(分类任务-图片分类)

分类任务基础

  • 与回归任务不同,分类任务旨在判断事物所属类别,如判断邮件是否为垃圾邮件、图片中动物的种类等。在实际生活中应用广泛。
  • 分类输出表示方法:采用独热编码(One - hot)表示分类输出,如表示属于第一类,通过最大值所在下标确定预测类别。

卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Network)是一种深度学习模型,在图像识别、语音识别等诸多领域取得了显著成果

1、核心组件与原理

卷积层

  • 卷积层是 CNN 的关键部分,主要通过卷积核在输入数据上滑动进行卷积操作。卷积核就像是一个滤波器,其大小决定了神经元的感受野。例如,一个 3x3 的卷积核在图像上滑动时,每次关注的是 3x3 像素区域的信息。通过与该区域内像素值进行乘法运算并求和,生成新的特征值,从而得到特征图。这种局部连接和参数共享的方式大大减少了模型的参数数量,降低了计算量,同时能够有效提取图像的局部特征,如边缘、纹理等。

池化层

  • 池化层通常位于卷积层之后,主要作用是对特征图进行降维处理。常见的池化方式有最大池化和平均池化。
    • 最大池化是在池化窗口(如 2x2 的区域)内选取最大值作为输出,能够突出图像中的显著特征,保留最具代表性的信息;
    • 平均池化则是计算窗口内的平均值作为输出,有助于保留图像的整体信息。
    • 例如,对一个 4x4 的特征图进行 2x2 的最大池化操作后,特征图尺寸会缩小为 2x2,减少了后续计算量和模型复杂度,同时一定程度上保持了特征的不变性,增强了模型的鲁棒性。

全连接层

  • 经过多个卷积层和池化层的处理后,特征图需要通过 flatten 操作转换为一维向量,然后连接全连接层。全连接层与传统神经网络的神经元连接方式类似,每个神经元与前一层的所有神经元都有连接。它的作用是对提取的特征进行综合处理,根据任务需求(如分类任务)输出最终的预测结果。在图像分类中,全连接层会根据输入的特征向量,通过学习得到不同类别的概率分布,确定图像所属的类别。

一个基本的分类神经网络图例

2、优势与应用场景

优势

  • CNN 具有自动提取特征的能力,相较于传统的手动设计特征方法,能够更高效地学习到数据中的复杂模式。
  • 其局部连接和参数共享机制使得模型在处理大规模数据时具有更高的效率和泛化能力,减少了过拟合的风险。
  • 通过多层卷积和池化操作,可以逐步提取从低级到高级的抽象特征,符合人类视觉认知的层次结构。

应用场景

  • 在图像识别领域,CNN 被广泛应用于人脸识别、物体识别、医学影像诊断等方面。例如,在安防领域的人脸识别系统中,CNN 能够准确识别出不同人的面部特征,实现身份验证和门禁控制;在医学影像分析中,CNN 可以帮助医生检测疾病,如从 X 光、CT 等影像中识别肿瘤、病变等异常情况。
  • 在自然语言处理领域的文本分类、语音识别等方面也有应用,通过将文本或语音数据转换为合适的序列表示后,利用 CNN 提取特征进行处理。

3、经典模型案例

AlexNet

  • AlexNet 是深度学习发展中的重要里程碑,在 ImageNet LSVRC - 2012 竞赛中取得了显著成绩,其 top - 5 错误率为 15.3%。它由 5 个卷积层和 3 个全连接层组成,包含约 6 亿个参数和 650,000 个神经元。
  • 创新:
    • 引入了 relu 激活函数,有效解决了梯度消失问题,加快了训练速度;
    • 采用 dropout 技术缓解了过拟合现象;
    • 池化和归一化操作也进一步提升了模型性能,为后续 CNN 模型的发展奠定了基础。

归一化:可使模型关注数据分布,缓解梯度消失和梯度爆炸,保持学习有效性,如 Batch Norm 对不同维度数据进行归一化处理。

激活函数:引入激活函数(如 sigmoid、relu 等)为神经元引入非线性元素,使神经网络能逼近非线性函数

Dropout:缓解过拟合

VGGNet

  • VGGNet 在 AlexNet 的基础上进行了改进,采用了更小的卷积核(如 3x3)并且加深了网络结构
  • 以 VGG13 为例,它具有特定的卷积层和池化层设置。通过使用小卷积核,VGGNet 能够提取更精细的图像特征,在图像分类任务中取得了更好的效果,在一些对特征精度要求较高的应用场景中得到了广泛应用。

ResNet

  • ResNet 由何凯明提出,其创新点在于引入了 1x1 卷积残差连接
  • 在传统神经网络中,随着网络层数加深,容易出现梯度消失或梯度爆炸问题,导致训练困难。
  • ResNet 的残差连接结构(Out = f (x)+x)使得网络能够轻松学习到恒等映射,有效缓解了深度网络训练的难题。不同层数的 ResNet 模型(如 20 层、56 层等)在 CIFAR - 10 和 ImageNet 等数据集上的表现展示了其在处理复杂图像分类任务时的优势,推动了深度学习在图像领域的进一步发展。

  • 卷积核与特征图:卷积核大小决定神经元感受野,通过在图像上滑动卷积核进行卷积操作得到特征图。例如,用的卷积核对的图像卷积,可提取图像特征。可通过 Zero padding 保持特征图尺寸不变,其计算公式为(为输入尺寸,为卷积核大小,为 padding,为步长)。
  • 池化操作:包括最大池化和平均池化,如的特征图经过池化可变为,能减少特征图尺寸,且比单纯扩大卷积步长更常用。
  • 卷积到全连接(conv2linear):经过多次卷积和池化后,通过 flatten 操作将特征图展平,如的特征图展平为后连接全连接层进行分类。

更多:经典模型简单介绍-优快云博客


相关计算

卷积尺寸计算公式

O = ( I - K + 2P ) / S + 1

I: input

K: 卷积核大小

P: padding

S : stride 步长

步长:

计算题

1、特征图64*224*224,卷积核64*3*3, padding=1,步长1,卷积核数量128。卷出来特征图多大?这套卷积核的参数量多少?

  • 一个卷积核卷出一个特征图-128个,[ (224-3+2)/1+1=224 ],特征图大小:128*224*224 
  •  卷积核的参数量:64*3*3*128 (64层*3*3*128个)

2、特征图100*100,卷积核 7,padding多少,特征图大小不变。 3(100-7+2p+1 = 100)

3、特征图224*224,卷积核5,padding=2,卷出来的特征图多大。

        224*224 (224-5+2*2+1 = 224)

4、特征图3*4*4. padding=1, 卷积核数量1,卷出来的特征图为1*4*4。这套卷积核多大?卷积核的参数量多少?

  • 卷积核:(4-k+2*1+1 = 4, k=3) 3*3*3
  • 参数量:(3*3*3*1个) 27

5、特征图3*4*4. 卷积核3*3*3, padding1, 卷积核数量7,卷出来的特征图多大? 

        7*4*4(4-3+2*1+1 = 4)

6、特征图3*224*224. 卷积核3*3*3, padding=1,卷积核数量64.卷出来的特征图多大

       64*224*224 (224-3+2*1+1 = 224)

7、特征图64*224*224. 卷积核64*3*3, padding=1,卷积核数量128,卷出来特征图多大?这套卷积核的参数量多少?
        128*224*224 (224-3+2*1+1 = 224)
        128*64*3*3
8、求特征图

  • 第一个卷积:(224-11+2*2)/4+1 = 55
  • 第一个池化:55/2 = 27

9、VGG13特征图变化

10、计算参数 1×1卷积
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值