【机器学习】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在图像处理和计算机视觉任务方面非常成功。
相关推荐
aircrushin16 小时前
三分钟说清楚 ReAct Agent 的技术实现
人工智能
WangYaolove131416 小时前
基于深度学习的中文情感分析系统(源码+文档)
python·深度学习·django·毕业设计·源码
技术狂人16816 小时前
工业大模型工程化部署实战!4 卡 L40S 高可用集群(动态资源调度 + 监控告警 + 国产化适配)
人工智能·算法·面试·职场和发展·vllm
软件算法开发16 小时前
基于改进麻雀优化的LSTM深度学习网络模型(ASFSSA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·matlab·lstm·一维时间序列预测·改进麻雀优化·asfssa-lstm
好奇龙猫17 小时前
【人工智能学习-AI入试相关题目练习-第三次】
人工智能
柳杉17 小时前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
狮子座明仔17 小时前
Engram:DeepSeek提出条件记忆模块,“查算分离“架构开启LLM稀疏性新维度
人工智能·深度学习·语言模型·自然语言处理·架构·记忆
阿湯哥17 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
Java中文社群18 小时前
保姆级喂饭教程:什么是Skills?如何用Skills?
人工智能