【机器学习】19. CNN 卷积神经网络 Convolutional neural network

CNN 卷积神经网络 Convolutional neural network

  • [1. CNN 和 传统神经网络的差别](#1. CNN 和 传统神经网络的差别)
  • [2. CNN 的结构](#2. CNN 的结构)
  • [3. 卷积层](#3. 卷积层)
  • [4. strides 步长](#4. strides 步长)
  • [5. Padding](#5. Padding)
  • [6. ReLu](#6. ReLu)
  • [7. Pooling(sub-sampling layer)](#7. Pooling(sub-sampling layer))
  • [8. 全连接层](#8. 全连接层)
  • [9. 三通道特征图](#9. 三通道特征图)
  • 10.总结

1. CNN 和 传统神经网络的差别

传统神经网络不考虑图片的空间结构,CNN通过卷积层和池化层考虑了图片的空间结构。

2. CNN 的结构

INPUT-CONVOLUTIONAL-RELU-POOL-FC

3. 卷积层

在卷积神经⽹络(CNN)中,卷积层是最核⼼的组成部分。卷积的本质就是通过不同的滤器(filter or kernal),多⾓度捕捉图⽚的信息从⽽学习特征,卷积层负责从输⼊图像中提取局部特征,这些特征随着⽹络层级的增加⽽逐渐变得更抽象和复杂。

  • 局部感受野:卷积操作是通过⼀个⼩的滤波器(或卷积核)在输⼊图像上滑动来实现的。这个滤波器只覆盖图像的⼀个⼩区域(局部感受野)。
  • 特征映射:每次滤波器滑过⼀个局部区域时,都会进⾏⼀次点乘和求和操作,⽣成⼀个新的像素值。这样,滤波器便从输⼊图像中提取出⼀个特征映射(或特征图)。

1×1+1×0+1×1+0×0+1×1+1×0+0×1+0×0+1×1=4.

在cnn中,过滤器不是预先设计来检测特定类型的特征,它们的值是在反向传播算法的训练过程中学习的。一个典型的卷积层包含许多过滤器,每个过滤器检测一个不同的特征。

4. strides 步长

水平和垂直步幅。

沿着图像(stride)像素移动滤镜。

更大的步长产生更小的特征图。

5. Padding

Padding可以更好地覆盖图像周围的图像和特征提取。

如果下一个strid将使过滤器达到图像之外,用零填充图像外的区域。

6. ReLu

7. Pooling(sub-sampling layer)

  • 总结上一层的输入
  • 减少参数的数量,并有助于防止过拟合
  • 提高了对接收野移位的鲁棒性。
  • Max Pooling 和Average Pooling分别是选择最大的值和选择平均值作为池化层的输出

    哪种池化的方法好取决于给到的任务. MP会保留⾼频信息,选择特征图中像素值最大的, 所以特别适合较黑的图像中的特征识别. 而AP会使得特征图更加平滑, 减少细节和噪声.

在卷积神经⽹络(CNN)中,池化层通常⽤于减⼩特征图的尺⼨,以减少模型的计算复杂性。同时,池化操作也能增加模型对于⼩的平移和变换的鲁棒性。减⼩尺⼨:池化操作通常会减⼩特征图的尺⼨,从⽽减少后续层需要处理的数据量。增加鲁棒性:池化层能提⾼模型对⼩的平移、旋转和尺度变化的鲁棒性。特征压缩:通过池化,⼀些⾮必要的信息(通常是低层次的、⾼频的信息)会被丢弃,⽽更重要的全局信息会被保留。减少了特征图的尺⼨,有助于减少模型的参数和计算量,使模型更易于训练。

8. 全连接层

在CNN的最后,我们附加了1个或更多的全连接层。

第一个FC层接收最后一层的输出,该层要么是卷积的,要么是池化的

要做的第一件事是使输出展平。

9. 三通道特征图

将三个通道的特征图相加得到最终特征图

10.总结

  • cnn是为图像数据设计的,但也可以应用于其他数据类型
  • 关键要素:卷积、池化和全连接层
  • 卷积层提取特征
  • 池化层汇总来自卷积层的信息,减少参数数量以防止过拟合,并提高对数据移位的鲁棒性。
  • 全连接层结合提取的特征,输出每个类的概率。
  • cnn在图像处理和计算机视觉任务方面非常成功。
相关推荐
TG:@yunlaoda360 云老大5 小时前
火山引擎数智平台VeDI重磅发布“AI助手”:以大模型驱动数据飞轮,赋能非技术人员高效“看数、用数”
人工智能·信息可视化·火山引擎
vivo互联网技术5 小时前
从0到1实现:AI版你画我猜小游戏
ai·cnn·tensorflow.js·视觉分类模型·你画我猜
golang学习记6 小时前
ZCF:一键配齐 Claude Code 开发环境的零配置利器
人工智能
禅与计算机程序设计艺术6 小时前
实现一个原生版本的 LangGraph 的 `create_agent` 功能,使用 Python 和通用的 LLM MaaS API
人工智能
恒点虚拟仿真6 小时前
智能制造专业虚拟仿真实训平台:AI赋能个性化学习,提高实践技能
人工智能·智能制造·ai教学·ai+虚拟仿真·虚拟仿真实训平台·虚拟仿真平台·虚拟仿真教学平台
泰迪智能科技6 小时前
分享|智能决策,精准增长:企业数据挖掘关键策略与应用全景
人工智能·数据挖掘
番茄撒旦在上6 小时前
2.每日机器学习——张量(Tensors)
人工智能·机器学习
流烟默6 小时前
机器学习中的 fit()、transform() 与 fit_transform():原理、用法与最佳实践
人工智能·机器学习·transform·fit
王中阳Go6 小时前
8 - AI 服务化 - AI 超级智能体项目教程
人工智能
长桥夜波6 小时前
【第二十周】机器学习笔记09
人工智能·笔记·机器学习