【Python与机器学习 7-3】深度学习 CNN

本文介绍了深度学习中的卷积神经网络(CNN),探讨了其在特征提取和分类中的作用。通过手写数字识别的例子,阐述了CNN的工作流程,包括卷积、池化等操作。同时,通过可视化CNN的各层结果,展示了在人脸识别和物体识别任务中,CNN如何逐步学习和识别复杂特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

对许多机器学习问题来说,特征提取不是一件简单的事情。
人工的方式无法很好地抽取实体中的特征,是否有自动的方式呢?
深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征

应用领域

深度学习 ≈ 深层神经网络
深度学习最早兴起于图像识别,现在还用于语音识别,自然语音处理,人机博弈等领域

通过例子介绍CNN是什么

下图为用CNN进行手写数字识别的过程,可见我们输入一个手写数字的图片,然后输出9各类别的概率。
这里写图片描述

CNN分为两个部分,先对图片进行特征提取,然后根据提取的特征进行分类

feature extraction 特征提取

第一部分是feature extraction 即特征提取,这个操作得到的结果还是一个一个图片。

  • 第一步:卷积操作 convolution
    通过5*5的卷积核对输入图片进行卷积操作,得到28*28大小的feature maps。这里是用4个不同的卷积核对输入图片进行卷积操作。这里卷积核中的25个权重,就是深度学习学习的参数
  • 第二步:池化操作pooling(以前叫subsampling)
    pooling就是通过一个2*2的核对上一步得到的图片进行操作
    ①如果是max pooling操作就选这2*2大小的4个像素中最大的那个作为最后的结果;
    ②如果是average pooling,就是取这四个的平均值作为最后的结果。
  • 第三步:继续进行卷积操作
  • 第四步:再进行池化操作

classification 分类

第二部分为classification,也就是根据上一部分提取到的特征进行分类

  • 第五步:把图片拉开得到一个一个结点,然后加一个全连接层,把这些结点和最后输出的结点进行全连接

可视化CNN每层的结果

上面已经介绍了CNN是如何实现的,接下来我们通过把每一层可视化出来直观地感受CNN的每一层都做了什么。

人脸识别

如对于人脸识别,我们得到的第一层,第二层,第三层学习结果如下图:
这里写图片描述
第一层的结果为一些组成人脸的基本元素
第二层的结果为五官
第三层就是人脸

物体识别

再看一些物体识别的第二层和第三层的结果,可见第二层都是构成物体的部件,第三层就是最后识别出来的物体
如,Cars车辆识别的第二层就是构成车的轮子啊车门啊什么的
Elephants大象识别的第二层就是构成象的象鼻子啊耳朵啊什么的

这里写图片描述

从上面的这些可视化结果可以看出,深度学习就是通过自动提取构成要识别的物体的基本特征,然后将这些特征一步一步的组合最后得到物体的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值