位置编码(Positional Encoding)笔记

一句话:Transformer 的 Attention 对输入顺序无感知,位置编码负责把"第几个 token"这个信息注入模型。从固定正弦函数到可学习参数,再到当前主流的旋转编码(RoPE),每一代都在解决上一代的长度外推问题。 一、为什么需要位置编码? RNN 逐步处理序列,天然感知顺序。Transformer 并行处理所有 token,Attention 本质是集合操作,对顺序完全无感: ["我", "爱", "你"] 和 ["你", "爱", "我"] → Attention 看到的是完全相同的三个向量集合,无法区分 必须手动把位置信息注入模型,这就是位置编码的作用。 二、发展历程(简览) 时间 方案 代表模型 核心问题 2017 Sinusoidal PE(正弦固定编码) 原版 Transformer 外推效果差,只有绝对位置 2018 Learned PE(可学习编码) BERT、GPT-2 硬性长度上限,超出训练长度就失效 2019 Relative PE(相对位置编码) Transformer-XL、T5 实现复杂,外推仍有限 2021 RoPE(旋转位置编码) LLaMA、Qwen、DeepSeek 当前主流 ✅ 2022 ALiBi(线性偏置) MPT 强制近距离偏好,长程依赖受损 三、前三代简述 Sinusoidal PE(2017) 用不同频率的正弦/余弦函数生成固定位置向量,直接加到 token embedding 上: $$PE_{(pos,\ 2i)} = \sin!\left(\frac{pos}{10000^{2i/d_{model}}}\right), \quad PE_{(pos,\ 2i+1)} = \cos!\left(\frac{pos}{10000^{2i/d_{model}}}\right)$$ 优点:无需训练,参数量为 0 缺点:超出训练长度后效果急剧下降,只有绝对位置信息 Learned PE(2018) 把位置编码当成普通 Embedding 参数,随模型一起训练(BERT 最大 512,GPT-2 最大 1024)。 ...

May 12, 2026 · 4 min

残差网络(ResNet)笔记

一句话:残差网络通过在层与层之间添加"跳跃连接"(Skip Connection),让网络学习输入与输出的差值而非完整映射,从而解决深层网络的梯度消失和退化问题。 一、问题背景:深层网络为什么会退化? 直觉上,更深的网络应该更强——至少多出来的层可以学成"什么都不做"(恒等映射)。 但实验发现:网络越深,训练误差反而越大,不是过拟合,是训练本身就失败了。 20层网络的训练误差 < 56层网络的训练误差 ← 这不正常! 根本原因:梯度消失 反向传播时,梯度要经过几十层连乘。每层梯度都小于 1,连乘后趋近于 0,浅层几乎学不到任何东西。 二、核心思想:学"差值"而不是学"完整映射" 原来的目标 让网络直接学习从输入到输出的完整映射: $$H(x) = \text{网络想要的输出}$$ 残差的目标 把目标拆成两部分: $$H(x) = F(x) + x$$ 其中 $F(x) = H(x) - x$ 就是残差(输出和输入的差值),网络只需要学 $F(x)$。 为什么这样更容易学? 如果这一层什么都不需要做(恒等映射),只需让 $F(x) \to 0$,把权重归零即可 让网络直接学 $H(x) = x$ 要难得多——它需要精确拟合一个恒等函数 学"微小的修正量"比学"完整的变换"容易得多 三、结构图 输入 x │ ├──────────────────────────┐ ← shortcut(跳跃连接,直接复制 x) │ │ ▼ │ Conv → BN → ReLU │ ▼ │ Conv → BN │ │ │ └──────────── + ───────────┘ ← 相加(不是拼接!) │ ReLU │ 输出 H(x) = F(x) + x 关键细节: ...

May 12, 2026 · 2 min

重要性采样(Importance Sampling)笔记

一句话:计算期望本质是计算积分,积分算不了就用采样均值代替,均匀采样浪费在无效区域导致方差大,重要性采样换一个"聪明的分布 q"集中采有效区域,再用权重 p/q 修正偏差,保证结果无偏且方差更小。 一、为什么需要重要性采样? 计算期望 = 计算积分 $$\mathbb{E}_p[f(x)] = \int f(x) \cdot p(x) , dx$$ 很多场景这个积分没有解析解,无法直接用数学公式算: 高维积分:神经网络参数空间是几百万维,数值积分根本算不了 分布形状复杂:多峰分布、奇形怪状的后验分布,没有现成公式 采样代价高:强化学习里从新策略采样需要重新跑环境,代价极高 这时只能用蒙特卡洛方法:采样求均值代替积分。 二、蒙特卡洛:采样求均值 从分布 $p$ 采 $N$ 个样本,用样本均值估计期望: $$\mathbb{E}p[f(x)] \approx \frac{1}{N} \sum{i=1}^{N} f(x_i), \quad x_i \sim p$$ 问题:如果直接从 $p$ 采样很难(或代价高),或者均匀采样导致大量样本浪费在 $f(x) \approx 0$ 的区域,方差就会很大。 估算 P(x > 4),x ~ N(0,1): 均匀采样 100 万个点,平均只有 31 个落在 x>4 → 99.997% 的样本对结果没有贡献,方差极大 三、重要性采样:换一个更好的分布 核心公式 从另一个容易采样的分布 $q$ 采样,用权重修正偏差: $$\mathbb{E}_p[f(x)] = \mathbb{E}q\left[f(x) \cdot \frac{p(x)}{q(x)}\right] \approx \frac{1}{N} \sum{i=1}^{N} f(x_i) \cdot \frac{p(x_i)}{q(x_i)}, \quad x_i \sim q$$ ...

May 12, 2026 · 3 min

Hello World

👋 大家好! 这是我的第一篇博客文章!欢迎来到 Afan’s Blog。 🚀 Hugo:世界上最快的静态网站生成器。 🎨 Stack:目前最流行的卡片式博客主题。 🔒 HTTPS:全站安全加密传输。 未来这里会分享更多关于 技术、AI、生活 的点滴。感谢访问!

May 12, 2026 · 1 min