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)。
相关推荐
hkNaruto7 分钟前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒17 分钟前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
DevOps老兵18 分钟前
Transformer拆解01:Transformer为什么出现,RNN到底卡在哪里
rnn·深度学习·大模型·transformer·注意力机制
ZhengEnCi20 分钟前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm
vilya26 分钟前
Agent 语音引擎换心记:从「够用」到「稳且好」
人工智能·agent
王中阳Go27 分钟前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
70后写java的老码农28 分钟前
Ollama 大模型私有化部署与彻底卸载指南(Windows/Linux)
人工智能
清如许.31 分钟前
如何评估 AI 智能体(AI Agent)?指标、方法与最佳实践
人工智能
猪八宅百炼成仙32 分钟前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
宋艳_AI应用开发34 分钟前
五个阶段跑完,它交了一份日期错两年的投资报告——深思熟虑的Agent最危险的地方,是想得太像
人工智能