顾文强
顾文强
Published on 2025-03-02 / 2 Visits
0
0

CNN 神经卷积网络原理讲解

咱们把CNN的运行过程想象成一场「拼图游戏」,用最直白的话解释它是如何一步步从像素中认出物体的:


第一步:输入图片——拆成小拼图块

  • 原始图片:比如一张300x300像素的猫图,对电脑来说只是一堆数字(0-255表示亮度)。

  • 预处理:调整大小、归一化(类似把照片裁成适合拼图的尺寸)。


第二步:第一层卷积——找基础图案

  • 工具:一堆「特征探测器」(比如10种不同的3x3小滤镜)。

  • 操作:每个滤镜像小刷子一样扫过图片,在每一个位置刷一下,计算匹配度:

    • 比如一个刷子专门刷竖线(可能找到猫胡须),

    • 另一个刷子刷斜线(可能找到耳朵边缘)。

  • 结果:生成10张新的「特征图」(标记了哪里可能有竖线、斜线等)。


第三步:激活函数——给特征图“上色”

  • 作用:把特征图中的数值通过一个函数(比如ReLU),保留明显的特征,抑制不重要的

    • 比如:把负数变0(“这里没特征”),正数保留(“这里有特征!”)。

  • 为什么:让网络学会区分“有特征”和“没特征”,增加非线性(现实世界不是纯线性的)。


第四步:池化——压缩关键信息

  • 操作:把每张特征图分成2x2的小格子,每个格子只保留最大值(最大池化)。

    • 比如原图某个区域显示“这里有竖线”,池化后这个区域就标记为“竖线在这附近”。

  • 效果:图片缩小到150x150,抗干扰(即使猫歪了一点,也能识别)。


第五步:重复!——升级找复杂图案

  • 再来一轮卷积→激活→池化

    • 第二层卷积:用更复杂的滤镜组合低级特征(比如用“竖线+斜线”找“三角形”)。

    • 池化后再缩小到75x75……

  • 越深的层,找的特征越抽象

    • 前几层:边缘、颜色 → 中间层:花纹、形状 → 最后层:猫眼、猫耳朵。


第六步:全连接层——拍板决策

  • 输入:把最后的高层特征图“压扁”成一长串数字。

  • 操作:像传统神经网络一样,连接所有神经元,计算权重:

    • 比如判断“有猫眼特征+猫耳特征+没狗尾巴特征 → 输出是猫的概率90%”。

  • 输出:概率值(比如猫: 90%,狗: 5%,汽车: 5%)。


关键记忆点

  1. 层层抽象:像素→边缘→形状→物体部件→完整物体(像人类先看轮廓再看细节)。

  2. 越深越“懂”:前面的层学基础图案,后面的层学组合这些图案。

  3. 抗干扰设计:池化让网络不纠结位置,专注“有没有特征”。


类比总结

想象你在看一幅模糊的拼图:

  1. 先拿放大镜找边角的小图案(卷积层),

  2. 把明显的图案用马克笔标出来(激活函数),

  3. 退后几步,只看大块的关键区域(池化层),

  4. 重复几次,直到看清整幅图是猫(深层网络),

  5. 最后大脑综合所有线索:“是猫!”(全连接层)。

这就是CNN的运行逻辑——从局部到整体,逐步破解图像的密码


Comment