卷积神经网络(CNN)入门学习笔记

发布于:2025-05-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

什么是 CNN?

CNN,全称 卷积神经网络(Convolutional Neural Network),是一种专门用来处理图片、语音、文本等结构化数据的神经网络。
它模仿人眼识别图像的方式:
从局部到整体,一步步提取特征,最后做出判断。

什么叫“卷积”?

卷积这个词,来源于数学中的卷积操作
简单说,就是用一个小方块(卷积核)在图片上滑动,把相邻像素做个“加权求和”,用来提取特定特征。
比如:

  • 检测边缘
  • 识别线条
  • 找出颜色块

CNN 结构组成

CNN 通常由以下几部分组成:

  1. 卷积层(Convolutional Layer)
  2. 激活函数(Activation Function)
  3. 池化层(Pooling Layer)
  4. 全连接层(Fully Connected Layer)
  5. 输出层(Output Layer)

CNN 常见术语速查表

专有名词 含义
卷积核(Filter) 提取局部特征的小方块
步长(Stride) 卷积核每次移动的格子数
填充(Padding) 给图像边缘补零,避免尺寸缩小
激活函数 增强模型非线性能力,常用 ReLU
池化 降维、保留关键信息,防止过拟合
全连接层 将所有特征组合分类
损失函数 衡量预测值和真实值的差距

图片识别

图片识别-Neuron Versin

李宏毅老师: 《机器学习》 学习笔记

overall

输入是一张图片,输出是图片的分类: cat/dog…
在这里插入图片描述
计算每一个像素–判断是否是cat
在这里插入图片描述

Cverservation 1 - 不需要观察整张图片

只观察一张图片特定的几个部分,如下面例子中的: 鸟嘴/鸟眼/鸟爪
在这里插入图片描述

Simplification 1 - Typical Setting
  1. kernel size(卷积核(filter)): 3 * 3
  2. all channels
  3. stride(步长)=1:每次移动一个像素,沿着水平+垂直方向移动
  4. padding:就是在输入特征图(图片或序列)边缘周围补上额外像素(通常是 0),目的是为了:
    • 保持输出尺寸不变
    • 控制特征图尺寸变化规律
    更好地提取边缘特征
    在这里插入图片描述

Cverservation 2 - 共享参数

在这里插入图片描述

Simplification 2
原理
  • weight: 决定输入信号对神经元输出的影响程度
  • bias: 偏移值,帮助模型更灵活拟合数据
    在这里插入图片描述
Typical Setting

在这里插入图片描述

图片识别-Filter Version

feature map

在这里插入图片描述

Multiple Convolutional layers

在这里插入图片描述

Comparision of 2 Stories

在这里插入图片描述

Pooling - Max Pooling

卷积操作后,特征图通常很大,这时候用 **subsampling(池化 Pooling)**来降低特征图尺寸,但保留重要特征。

在这里插入图片描述

  • 特征提取(Feature Extraction) 就是:从原始数据中,把能代表事物本质特征的信息挑选出来,作为模型输入的过程。
    • 最大特征(Max Feature / Max Pooling): 从一堆特征值里,取最大值作为代表
    • 平均特征(Average Feature / Average Pooling): 从一堆特征值里,计算平均值作为代表
      在这里插入图片描述

Convolutional Layers + Pooling

在这里插入图片描述

The Whole CNN

在这里插入图片描述

Application Playing Go(略)

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到