news 2026/4/16 8:58:52

50、CNN的概述介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
50、CNN的概述介绍

CNN的概述

  • 卷积层: 卷积核(小的矩阵)进行点乘求和
  • 池化层: 提取特征(最大值提取、平均提取)
  • 全连接:判断分类

卷积之后为什么需要池化呢?

  • 因为信息太多了,计算量太大,我们就只计算最大的数据。就是池化
  • 卷积层: 加权求和 (W 是卷积核权重(小矩阵),x 是局部输入(小块像素))
  • 激励层:ReLU激活函数
  • 池化层:去区域的平均值或者最大值。降低参数的数量级,例如2*2的就是4变1了
  • 全连接层: 输出CNN模型的预测结果了

总结

  • 卷积神经网络应用
  • 图像分类
  • 目标检测
  • 图像分割
  • 人脸识别
  • 医学图像分析
  • 自动驾驶

CNN的卷积层是加权求和的理解

  • 卷积核的权重(kernel weights)就是神经网络中的权重参数 ( W )
  • 图像局部区域的像素值就是输入 ( x )
  • 卷积层计算的过程就是:对局部输入 ( x ) 和权重 ( W ) 做点乘(加权求和)
  • 然后加上偏置 ( b ),再通过激活函数非线性变换

其中:

  • ( W ) 是卷积核权重(小矩阵)
  • ( x ) 是局部输入(小块像素)
  • ( f ) 是激活函数,比如 ReLU

你可以把卷积层看作:

“一组小型的局部权重 ( W ),在整个图像上滑动应用,不断做点乘 + 激活”

这也是卷积层跟全连接层的最大区别:

  • 全连接层:权重矩阵对所有输入做点乘
  • 卷积层:小权重核对局部输入做点乘,权重在空间共享

总结:

角色

物理意义

数学对应

卷积核权重

小的权重矩阵

( W )

局部输入

图像某块像素数据

( x )

偏置

额外可训练的偏移量

( b )

激活函数

非线性变换

( f(\cdot) )


一、CNN 是干什么的?(一句话)

CNN(卷积神经网络) = 专门“看图”的神经网络
它不是把图片拉平成一长串数字,而是像人一样:先看局部,再看整体

二、CNN 的三大核心结构

你提的这三个就是CNN 的骨架

  1. 卷积层(Convolution)
  2. 池化层(Pooling)
  3. 全连接层(Fully Connected)

我按“干什么 → 怎么做 → 小例子”来讲。


1️⃣ 卷积层(Conv Layer)

🧠 干什么?

提取局部特征

比如:

  • 边缘
  • 角点
  • 纹理
  • 简单形状

🔧 怎么做?

用一个小窗口(卷积核)在图像上滑动:

原图像(8×8) ⬇ 3×3 卷积核 滑动 ⬇ 特征图(Feature Map)

👀 直观例子

假设图像里有一条竖线:

00010000 00010000 00010000 00010000

卷积核(检测竖线):

-1 2 -1 -1 2 -1 -1 2 -1

👉 卷积后:

  • 竖线位置数值很大
  • 其他地方接近 0

📌卷积层 ≈ 自动“找特征”


📌 重要特点

  • 参数少(共享权重)
  • 保留空间结构
  • 多个卷积核 → 多种特征

2️⃣ 池化层(Pooling Layer)

🧠 干什么?

压缩特征,保留重点

🔧 怎么做?

在小区域里取最大值或平均值

Max Pooling(最常用)
2×2 区域 [1 3] [2 0] → 3

👀 直观例子

卷积后特征图:

0 2 1 0 3 5 2 1 0 1 0 2 1 2 1 0

2×2 最大池化后:

5 2 2 2

📌只关心“有没有这个特征”,不关心精确位置


📌 好处

  • 减少计算量
  • 防止过拟合
  • 对小位移不敏感(平移不变性)

3️⃣ 全连接层(Fully Connected)

🧠 干什么?

做最终判断(分类 / 回归)

🔧 怎么做?

  • 把前面的特征图拉平成一维
  • 和普通 ANN 一样算
特征图 → 向量 → 全连接 → 输出

👀 直观例子(猫狗分类)

卷积层学到:

  • 有耳朵 ✔
  • 有胡须 ✔
  • 有眼睛 ✔

全连接层综合这些特征:

→ 这是猫(0.92) → 这是狗(0.08)

三、把三者连起来(完整 CNN 流程)

原图(32×32) ↓ 卷积层(边缘、纹理) ↓ 池化层(压缩) ↓ 卷积层(更复杂形状) ↓ 池化层 ↓ 全连接层 ↓ 分类结果

四、一个最小 PyTorch 示例(看个整体感觉)

import torch.nn as nn model = nn.Sequential( nn.Conv2d(3, 16, kernel_size=3), # 卷积层 nn.ReLU(), nn.MaxPool2d(2), # 池化层 nn.Conv2d(16, 32, kernel_size=3), nn.ReLU(), nn.MaxPool2d(2), nn.Flatten(), # 拉平 nn.Linear(32 * 6 * 6, 10) # 全连接 )

五、和你之前 ANN 的最大区别(一定要记住)

ANN

CNN

拉平成一维

保留空间结构

参数多

参数少

不适合图像

专为图像


一句话终极总结

**卷积层:找特征
池化层:留重点
全连接:做判断**

如果你愿意,下一步我可以:

  • 手算卷积 + 池化带你算一遍
  • 或对比CNN vs Transformer 看图
  • 或直接结合你现在的plt.imshow中间特征图画出来

你选一个 👇

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 17:05:17

【技术报告解读】DeepSeek-OCR: Contexts Optical Compression

Abstract 我们提出了 DeepSeek-OCR,作为通过光学二维映射压缩长上下文可行性的初步探索。DeepSeek-OCR 由两个组件构成:DeepEncoder 和作为解码器的 DeepSeek3B-MoE-A570M。具体而言,DeepEncoder 作为核心引擎,旨在在高分辨率输入…

作者头像 李华
网站建设 2026/4/11 14:00:39

探索 COMSOL 激光熔覆模型在同轴送粉中的应用

COMSOL激光熔覆模型同样适合同轴送粉,各种参数可改, 含制作教程视频。最近在研究激光熔覆技术,发现了一个超棒的 COMSOL 激光熔覆模型,它竟然同样适用于同轴送粉,而且各种参数都可以进行修改,简直太实用啦&…

作者头像 李华
网站建设 2026/4/13 8:39:32

Windows系统文件Search.ProtocolHandler.MAPI2.dll损坏 下载修复方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/15 11:43:50

(新卷,100分)- 单词加密(Java JS Python)

(新卷,100分)- 单词加密(Java & JS & Python)题目描述1、输入一个英文句子,句子中包含若干个单词,每个单词间有一个空格;2、需要将句子中的每个单词按照要求加密输出。要求:1)单词中包括…

作者头像 李华