CNN 分层详解:卷积、池化到全连接的作用与原理


一、第一层卷积 + 池化

less 复制代码
// 第1层卷积:学边缘
model.add(tf.layers.conv2d({
  inputShape: [28, 28, 1], // 输入是28×28的灰度图
  filters: 32,             // 提取32种特征
  kernelSize: 3,           // 卷积核大小3×3
  activation: 'relu'       // 激活函数:非线性
}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2]}));

作用

  • 卷积核(3×3)会扫描图片,学习到"局部边缘特征"(比如横线、竖线、斜线)。
  • 32 个 filters 就相当于 32 双不同的"眼睛",每个眼睛关注不同方向的边缘。
  • relu 保证输出非线性,否则网络只能学直线关系。
  • MaxPooling(2×2) 把特征图缩小一半,减少计算,同时保留"最显著"的特征(增强平移不变性)。

二、第二层卷积 + 池化

less 复制代码
// 第2层卷积:学纹理
model.add(tf.layers.conv2d({
  filters: 64,
  kernelSize: 3,
  activation: 'relu'
}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2]}));

作用

  • 在第一层学到"边缘"的基础上,这一层能把边缘组合成"纹理、角点、曲线"。
  • 64 filters = 64 种更复杂的特征检测器。
  • 再次 MaxPooling → 缩小尺寸,避免特征图过大。

三、第三层卷积

less 复制代码
// 第3层卷积:学更复杂的形状
model.add(tf.layers.conv2d({
  filters: 128,
  kernelSize: 3,
  activation: 'relu'
}));
model.add(tf.layers.flatten());

作用

  • 继续在"纹理"基础上,学习更高级的形状,比如:圈、数字结构、局部物体。
  • 128 filters = 学习更多样的复杂特征。
  • Flatten:把二维的特征图摊平成一维向量,方便后面的全连接层做分类。

四、全连接层

less 复制代码
// 全连接层:组合特征
model.add(tf.layers.dense({units: 128, activation: 'relu'}));

作用

  • Dense 层相当于"大脑整合":把所有局部特征(边缘、纹理、形状)组合在一起。
  • units: 128 表示有 128 个神经元,每个神经元会学习一种组合方式。
  • relu 继续保持非线性,增强表达能力。

五、输出层

less 复制代码
// 输出层:分类 0-9
model.add(tf.layers.dense({units: 10, activation: 'softmax'}));

作用

  • 最终分类层,把上一步的综合特征转化为"属于每个类别的概率"。

  • units: 10 = 10 个类别(数字 0--9)。

  • softmax 会把输出变成概率分布,比如:

    csharp 复制代码
    [0.01, 0.02, 0.05, 0.80, 0.02, 0.05, 0.01, 0.02, 0.01, 0.01]

    → 表示模型认为这张图是"3"的概率最高(80%)。

相关推荐
AI多Agent协作实战派1 分钟前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
2601_955760071 小时前
如何用 Claude Opus 5 API 批量扩展长尾关键词和文章选题
前端·python·搜索引擎
KaMeidebaby1 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
触底反弹2 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
耳东小鹿3 小时前
对象常用方法
前端
程序员海军3 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
程序员黑豆3 小时前
鸿蒙应用开发:Stack堆叠组件实战——实现微信消息角标效果
前端·harmonyos
夏幻灵3 小时前
浏览器原理深度解析:从输入 URL 到页面展现的全流程剖析
前端
闲猫4 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
带娃的IT创业者4 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc