109_神经网络的决策层:线性层(Linear Layer)与数据展平详解

在经过卷积层提取特征、池化层压缩空间、激活函数引入非线性后,神经网络进入了最后的决策阶段。线性层(Linear Layer),也称为全连接层(Fully Connected Layer),负责将这些抽象特征映射到最终的分类结果上。

1. 线性层的核心原理

线性层执行的是最基本的线性变换:

  • x:输入向量。
  • A:权重矩阵(Weights),也就是神经网络需要学习的核心参数。
  • b:偏置(Bias)。
  • 本质:它将输入空间的每一个点与输出空间的每一个点进行"全连接"。例如,将 196608 个特征值压缩映射到 10 个分类结果(如 CIFAR-10 的十个类别)上。

2. 关键操作:数据展平(Flatten)

线性层通常要求输入是一维向量 (除了 Batch 维度)。但卷积层的输出通常是四维张量 [Batch, Channel, Height, Width]。因此,在进入线性层之前,必须进行"展平"操作。

文件中展示了两种展平方法:

  1. 方法一: torch.reshape
  2. 方法二: torch.flatten**(推荐)**

3. 实战代码:构建全连接分类网络

文件通过以下代码展示了如何将 CIFAR-10 的图片通过线性层降维:


4. 什么是神经网络在"训练"的东西?

文件开篇提到:"神经网络训练的就是函数系 。"

在线性层中,这对应的就是权重(Weights)和偏置(Bias)。通过不断的迭代,网络会调整这些系数,使得当一张"猫"的图片输入时,输出向量中对应"猫"那个位置的数值最大。


5. 总结:一个完整的视觉网络结构

通过这一系列的笔记处理,我们现在可以勾勒出一个经典 CNN 的完整结构:

  1. 输入层:读取图像。
  2. 特征提取层:卷积(Conv2d)+ 激活(ReLU)+ 池化(MaxPool2d)。
  3. 转换层:展平(Flatten)。
  4. 分类决策层:线性层(Linear)。
相关推荐
GuWenyue9 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
love530love10 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
墨舟的AI笔记11 小时前
从文本提示到可交互道具:AIGC 生成游戏资产的语义对齐与合规校验
人工智能
rain_sxr11 小时前
逼近上限就裁剪:大模型 Token 计数与前端上下文预算管理
人工智能
资深数据库专家12 小时前
月之暗面Kimi:K3之后,开源怎么走?
人工智能
小林ixn12 小时前
告别“屎山”与“幻觉”:3个核心心法,让你的Vibe Coding体验起飞
人工智能·agent
汤姆小白13 小时前
06-CLI命令参考
人工智能
颜酱13 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
A洛13 小时前
Codex 实战:一句话完成 Temu 商品图采集与印花抠图自动化
运维·人工智能·自动化·codex