Skip to content

理解大模型的神经网络

激活函数

激活函数的作用是在线性变换后引入非线性,让网络可以拟合更复杂的函数。

若每一层都只有线性变换,则多层堆叠后本质上仍等价于一层线性变换,表达能力有限。

常见激活函数:ReLUSigmoidTanh。实际深度网络里最常用的是 ReLU 及其变体,因为计算简单,梯度传播通常更稳定。

激活函数: ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428101945.png)

神经网络

神经网络可以理解为:

线性变换 + 非线性激活 + 多层堆叠 = 对复杂非线性函数的近似器

单个神经元常写作:

y=σ(wx+b)

其中:

  • w:权重,决定输入的重要性
  • b:偏置,控制整体平移
  • σ:激活函数

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428102158.png)

神经网络通过多层表示,逐步把原始输入变成更抽象的特征。

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428110050.png) ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428110135.png)

神经网络的本质:最小化损失函数

训练神经网络,本质上是在参数空间中寻找一组权重 W,b,使模型预测值与真实值之间的误差尽可能小。

损失函数用于衡量“预测得有多差”:

  • 回归任务常用:均方误差 MSE
  • 分类任务常用:交叉熵 Cross Entropy

训练目标就是:

\min_{\theta} \mathcal{L}(\theta)

其中 θ 表示模型参数。

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428103244.png)

梯度下降

梯度下降是最常见的参数优化方法。

核心思想:

  • 梯度告诉我们损失函数上升最快的方向
  • 沿着负梯度方向更新参数,损失通常会下降

参数更新公式:

\theta \leftarrow \theta - \eta \nabla_\theta \mathcal{L}

其中:

  • η:学习率,控制每一步走多大
  • \nabla_\theta \mathcal{L}:损失对参数的梯度

学习率过大可能震荡或发散,过小则收敛很慢。

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428103647.png) ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428103820.png)

反向传播

反向传播是高效计算梯度的方法,本质是链式法则在神经网络中的系统化应用。

流程可以概括为:

  1. 前向传播:从输入一路算到输出,得到预测值和损失
  2. 反向传播:从损失开始,逐层计算各参数的梯度
  3. 参数更新:结合梯度下降更新权重

它解决的核心问题不是“如何更新”,而是“如何高效求出每一层参数的梯度”。

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428104213.png) ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428104610.png)

过拟合与泛化能力

  • 过拟合:模型在训练集表现很好,但在新数据上表现差,说明学到了噪声或偶然模式
  • 泛化能力:模型在未见过的数据上仍保持较好表现的能力

常见缓解方法:

  1. 增加数据量或做数据增强:提升样本多样性
  2. 提前停止训练:验证集性能不再提升时停止
  3. Dropout:训练时随机丢弃部分神经元,降低共适应
  4. 正则化:在损失函数中加入参数惩罚项,限制权重过大
  5. 控制模型复杂度:避免模型容量远大于数据规模

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428105511.png)

其他问题: ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428105823.png)

CNN

CNN(卷积神经网络)擅长处理具有局部空间结构的数据,典型是图像。

核心思想:

  • 用卷积核在局部区域滑动,提取边缘、纹理、形状等特征
  • 参数共享使模型更高效
  • 局部感受野使其更适合处理二维结构

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428110627.png)

全连接层 FC

全连接层中,每个神经元都与前一层所有神经元相连。

特点:

  • 表达能力强
  • 参数量大
  • 常用于分类头或特征整合阶段

编码

神经网络不能直接理解词语本身,只能处理数字表示,因此需要先把离散符号编码成向量。

One-Hot

One-Hot 用一个高维稀疏向量表示类别:

  • 当前类别对应位置为 1
  • 其他位置为 0

优点:简单直接。 缺点:

  • 不能表达词与词之间的语义相似性
  • 维度随词表增大而变大

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428110829.png)

词嵌入 Embedding

Embedding 是把离散 token 映射到低维稠密向量空间。

它的关键价值是:

  • 维度更低、表示更紧凑
  • 可通过训练自动学习语义关系
  • 语义相近的词,其向量通常更接近

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428111124.png)

相关性表示: ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428111157.png)

嵌入矩阵:

  • 可以理解为“词表大小 × 向量维度”的可学习参数表
  • 查某个词的 embedding,本质上就是取出矩阵中的对应一行

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428111301.png)

RNN

RNN(循环神经网络)适合处理序列数据,因为它会把前面时刻的隐藏状态传到后面时刻。

优点:

  • 能建模顺序信息
  • 适合文本、语音、时间序列等任务

局限:

  • 难以捕获长距离依赖
  • 训练时容易出现梯度消失或梯度爆炸
  • 序列计算难并行

这也是后来 Transformer 逐渐取代 RNN 的重要原因。

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428111609.png)

Transformer

Transformer 是当前大语言模型的核心架构。它不依赖循环,而是主要依赖自注意力机制来建模 token 之间的关系。

优点:

  • 更容易并行训练
  • 更擅长建模长距离依赖
  • 可以更灵活地关注上下文中任意位置的信息

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428113144.png) ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428113217.png)

注意力

自注意力可以概括为一句话:

每个 token 都会根据与其他 token 的相关性,动态聚合上下文信息。

基本过程:

  1. 加入位置信息
    • 因为 Transformer 本身没有顺序结构,所以需要位置编码告诉模型“谁在前、谁在后”

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112303.png)

  1. 线性映射得到 Q、K、V
    • Q(Query):我想找什么信息
    • K(Key):我能提供什么信息
    • V(Value):我真正携带的信息

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112412.png)

  1. 计算相似度分数
    • Q · K^T 衡量一个 token 对其他 token 的关注程度
    • 分数越高,说明当前 token 越应该关注对方

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112530.png)

  1. 归一化并加权求和
    • 先经过 softmax 把分数变成权重
    • 再对所有 V 做加权求和,得到当前 token 融合上下文后的新表示

![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112653.png) ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112727.png)

更完整地写,自注意力常表示为:

\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

其中除以 \sqrt{d_k} 是为了防止分数过大,影响训练稳定性。

多头注意力

多头注意力的做法是:

  • 把表示空间拆成多个子空间
  • 每个 head 独立学习一种关注模式
  • 最后把多个 head 的结果拼接起来

这样模型可以同时关注:

  • 语法关系
  • 语义关系
  • 远距离依赖
  • 局部搭配关系

拼接多个 head: ![](https://raw.githubusercontent.com/ikunycj/xiaoba.blog-images/master/note/AI/AI 模型/img/Pasted image 20260428112922.png)

一句话总结

从大模型视角看,这条链路可以概括为:

输入 token → 编码成向量 → 多层神经网络/注意力计算 → 最小化损失训练参数 → 学到可泛化的表示与预测能力

评论区

欢迎留言、补充或勘误。

xiaoba.blog