【机器学习】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在图像处理和计算机视觉任务方面非常成功。
相关推荐
Baihai_IDP1 分钟前
AI 系统架构的演进:LLM → RAG → AI Workflow → AI Agent
人工智能·llm·aigc
12点一刻3 分钟前
搭建自动化工作流:探寻解放双手的有效方案(1)
运维·人工智能·自动化·deepseek
GoGeekBaird9 分钟前
使用GoHumanLoop拓展AI Agent人机协同边界,这次连接到飞书
人工智能·后端·github
liliangcsdn24 分钟前
在mac m1基于llama.cpp运行deepseek
人工智能·macos·语言模型·llama
Deng9452013141 小时前
基于数据挖掘的课程推荐系统研究
人工智能·数据挖掘·数据预处理·基于用户的协同过滤·文本特征提取
zhangfeng11331 小时前
机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘
人工智能·yolo·机器学习
铭keny2 小时前
YOLO11 目标检测从安装到实战
人工智能·目标检测·目标跟踪
presenttttt2 小时前
用Python和OpenCV从零搭建一个完整的双目视觉系统(四)
开发语言·python·opencv·计算机视觉
小牛头#6 小时前
clickhouse 各个引擎适用的场景
大数据·clickhouse·机器学习