大家的AI
机器学习AI论文
加载中…

学习

🏅我的成就

Ch.19

自编码器:压缩后再重建

自编码器:压缩与重建

像把长文写成便签再扩写回去。

输入 xxx 经 编码器 压到潜在 瓶颈 zzz,解码器 再展开为 x^\hat{x}x^。重构损失越小,越接近原输入。

输入 x编码器瓶颈 z解码器损失

训练流程

  1. ① 输入: 送入 xxx。
  2. ② 编码器: x→zx\to zx→z。
  3. ③ 瓶颈: 小的 zzz。
  4. ④ 解码器: z→x^z\to \hat{x}z→x^。
  5. ⑤ 损失: 最小化 xxx 与 x^\hat{x}x^ 的差异。
复杂图像或高维数据 xxx 送入网络后,模型先把数据压成核心摘要代码 zzz(潜在表示),再还原为同形状的 x^\hat{x}x^,这就是 自编码器。唯一训练目标是缩小 xxx 与 x^\hat{x}x^ 的 重构损失;无需类别标签,是典型 无监督学习。本章在窄瓶颈上夯实降维与异常检测,为下一章 VAE(变分自编码器) 打基础。

如何读公式(自编码器)

1. 编码器·解码器一行式
z=fθ(x)z=f_\theta(x)z=fθ​(x), x^=gϕ(z)\hat{x}=g_\phi(z)x^=gϕ​(z)。损失例如 L=∥x−x^∥22\mathcal{L}=\|x-\hat{x}\|_2^2L=∥x−x^∥22​。
- zzz: 瓶颈处的潜码
- x^\hat{x}x^: 重构输出
x编码器z瓶颈解码器x̂比较 x 与 x̂ · 重构损失
要点: xxx 压到窄的 zzz,再展开为 x^\hat{x}x^,与 xxx 比较。
2. 瓶颈与压缩
输入维度 ddd,潜在 k≪dk\ll dk≪d,压缩比约 k/dk/dk/d。
- kkk 越小 压缩越强(可能信息损失)
- kkk 越大 重构更易但概括可能变弱
3. 线性自编码器与 PCA
线性激活且用 MSE 时,在特定条件下与主成分方向有直观联系(视数据与约束而定)。
- 非线性可表达更丰富
4. 实务提示
统一数据尺度;调节瓶颈与深度;需要时用加噪 DAE 学稳健表示。

自编码器:先压缩再重建

1. 对称结构:编码器与解码器
概念: 编码器 fθf_\thetafθ​ 把输入 xxx 变为 z=fθ(x)z=f_\theta(x)z=fθ​(x),解码器 gϕg_\phigϕ​ 再得到 x^=gϕ(z)\hat{x}=g_\phi(z)x^=gϕ​(z)。zzz 被限制在比输入小得多的瓶颈里。
直觉: 目击者用“眼型、鼻型…”几句特征(zzz)描述嫌疑人,画师(解码器)再据此还原整张脸。
2. 损失:重构得有多好
概念: 实值连续特征常用逐像素 MSE 1d∑i(xi−x^i)2\frac{1}{d}\sum_i (x_i-\hat{x}_i)^2d1​∑i​(xi​−x^i​)2;[0,1][0,1][0,1] 灰度图也可用 BCE。
直觉: 像把原图与拷贝叠在一起逐像素打分。
3. 为何需要瓶颈
若 zzz 与输入同维,网络可能只做复制粘贴(恒等映射)。收窄瓶颈才会把真实模式压进 zzz。
实战(异常检测): 只用正常样本训练重构;异常样本往往重构误差很大。
4. 去噪自编码器(DAE)
应用: 故意加噪声或遮挡,再训练还原干净目标,学到更稳健的特征。
5. 什么是潜在空间?
概念: 潜在空间指 编码器输出的代码 zzz 所“居住”的低维向量空间,不是原始像素/输入空间。每个样本对应空间中的 一个点(坐标向量);训练后,相似输入往往落在 邻近 区域,不同模式则 相距更远,从而形成一定的 几何结构。
在自编码器中: 瓶颈维度 kkk 就是潜在空间的 维数。解码器 gϕg_\phigϕ​ 把该空间中的点 映射 回高维 x^\hat{x}x^。(下一章 VAE 会在该空间上叠加 概率分布,用于采样与 生成。)
6. 什么是 PCA?
概念: PCA(主成分分析,Principal Component Analysis)是一种线性降维:按方差从大到小找出数据伸展最明显的方向,得到彼此正交的主成分轴;把数据投影到前几个轴上,就得到尽量保留方差的低维摘要(被舍弃方向上的方差不再保留)。
与自编码器对比: PCA 只做线性变换;带非线性激活的自编码器能学习更复杂的弯曲结构,复杂数据上往往更灵活。(线性自编码器配合 MSE 在特定条件下可与 PCA 建立直观联系。)

重要性

超越 PCA 的降维
如前面对 PCA 的说明,PCA 本质上是线性压缩。自编码器借助非线性激活,把高维数据更灵活地压到 2–3 维便于可视化。
无需标签的特征学习
标注昂贵。自编码器只用原始数据就能学出 zzz;预训练编码器可作为分类等任务的迁移学习起点。
通往生成式 AI
在压缩之外,想象“稍微改动潜在 zzz 就能生成新面孔/新图像”,自然通向 VAE 与 GAN。

如何使用

第1步:归一化与缩放
像素多在 000–255255255,用 Min–Max 映射到 [0,1][0,1][0,1],或按通道 标准化。RGB 保持 (R,G,B)(R,G,B)(R,G,B) 顺序,各批次用相同预处理。尺度不一致会使 MSE 梯度尺度混乱,收敛变慢或不稳定。
第2步:结构、瓶颈 kkk、损失
图像多用保留局部的 卷积自编码器(CAE);向量/序列可用一维卷积或全连接堆叠。kkk 越小压缩越强但细节损失越大;越大越易重构但概括变弱—用验证损失选 kkk。实值输出常用 MSE,接近 [0,1][0,1][0,1] 的灰度可考虑 BCE。
第3步:训练循环、输出与稳定
按小批量计算 x^\hat{x}x^ 并反向传播 MSE/BCE。目标在 [0,1][0,1][0,1] 时解码器末层加 sigmoid。配合 Adam、学习率调度,必要时 梯度裁剪。划分训练/验证;过拟合则 早停、Dropout/权重衰减 或 去噪自编码器。
第4步:评估、可视化、下游
不仅看损失曲线,还要目视 x^\hat{x}x^。将潜变量 zzz 投影到二维(如 t-SNE)观察结构或离群点。异常检测:仅用正常样本训练,在验证集上定重构误差阈值。可将编码器冻结或微调用于少标签分类或聚类。
应用场景速览
  • 目的异常检测
  • 要点只用正常数据训练 → 重构误差高的样本可疑
  • 目的去噪
  • 要点DAE:损坏输入 → 干净目标
  • 目的降维·可视化
  • 要点窄 zzz 或对 zzz 做二维投影
  • 目的表示预训练
  • 要点编码器接到分类器等做迁移
目的要点
异常检测只用正常数据训练 → 重构误差高的样本可疑
去噪DAE:损坏输入 → 干净目标
降维·可视化窄 zzz 或对 zzz 做二维投影
表示预训练编码器接到分类器等做迁移

小结

一句话: 编码器把数据压进窄瓶颈 zzz,解码器还原为 x^\hat{x}x^,最小化重构误差以学习关键结构。
联系: 可自由组合全连接与 CNN 搭建编解码块;数据越复杂,卷积自编码器往往越合适。
下一章: 在潜在 zzz 上引入概率分布做生成的 VAE。

解题提示

自编码器题目把“z=fθ(x)z=f_\theta(x)z=fθ​(x),x^=gϕ(z)\hat{x}=g_\phi(z)x^=gϕ​(z)”一行和“用重构损失对齐 xxx 与 x^\hat{x}x^”的目标放在一起想会好解。瓶颈处通常 k≪dk \ll dk≪d;全连接一层 d→kd \to kd→k 的参数大致是权重 d×kd \times kd×k + 偏置 kkk。展平图像长度为 高×宽(RGB 则 ×3);patch 个数(无 CLS)为 (H/p)×(W/p)(H/p)\times(W/p)(H/p)×(W/p),与 ViT patch/格子(第五章复习)同一套思路。
异常检测:只用正常数据学重构,重构误差大的样本可疑。去噪自编码器把损坏输入还原成干净目标,学稳健特征。实值像素常用 MSE,[0,1][0,1][0,1] 灰度等常用 BCE。出现 k/dk/dk/d 或百分比时对齐分子分母。
卷积自编码器用第十二章 CNN 在保留局部空间结构的前提下堆编码器/解码器。kkk 过大易接近恒等复制,题目常考缩小 kkk 时压缩与表达能力如何权衡。
下一章 VAE 在潜在 zzz上加入概率分布走向生成。“概率化潜在、采样/生成”等关键词请联想到 VAE。