Auto-Encoder --李宏毅呆板学习条记

打印 上一主题 下一主题

主题 1579|帖子 1579|积分 4737

个人学习条记,如有错误接待指正,也接待交流,其他条记见个人空间 
Auto-Encoder 是什么?

Auto-Encoder(自编码器)是一种典型的 Self-Supervised Learning(自监视学习) 方法,具有以下结构和目标:


  • 结构:

    • 包罗两个网络:Encoder 和 Decoder
    • Encoder 将输入数据压缩为低维表示
    • Decoder ​从低维表示重修原始数据

  • 训练目标:

    • 最小化输入与输出之间的重修误差
    • 本质是“重修(Reconstruction)”,即让输出尽可能还原原始输入




  • 无需标签:

    • Auto-Encoder 只依赖无标签数据,典型的 Unsupervised Learning,属于 Pre-Training 方法的一种


与其他模子的比较与联系



  • 与 BERT、GPT 相比:BERT 做填空题、GPT 做文本续写,而 Auto-Encoder 做输入重修。尽管方式不同,但目标一致:从无标签数据中学习有效表示。
  • 与 CycleGAN 的“Cycle Consistency”头脑类似:期望“原始 → 中间 → 重修”的结果与原始尽可能一致

Auto-Encoder的原理



  • 特性提取与降维(Dimension Reduction):

    • 将高维图像压缩成低维向量(如将 100x100 的图像 → 10维或100维向量)

例如下面这个图,对于影像来说并不是所有 3×3 的矩阵都是图片图片的变化其实是有限的,例如图片或许只是左对角线和左下方块构成。



  • 中间的低维表示即“瓶颈层(Bottleneck)”,是一种压缩/编码的过程
  • 用途:

    • 将低维向量用于分类、回归等卑鄙任务
    • 训练少量数据时更高效,由于特性已被抽象化表达

De-noising Auto-Encoder 



  • 给原始输入加噪声,再训练 Auto-Encoder 恢复原始未扰动数据
  • 增强模子鲁棒性,强迫 Encoder 学会提取关键特性并忽略无关扰动
  • BERT 的做法非常类似,BERT 可看作文本的 De-noising Auto-Encoder

    • 如 BERT 的 Mask 操作就相当于对输入加噪声


其他作用

Feature Disentanglement(特性解胶葛)

核心概念:


  • Auto-Encoder 输出的向量(Code / Embedding)往往混淆了多个因素,如内容、风格、身份等。
  • Feature Disentangle 旨在将不同类型的信息分开编码(如前50维表示“内容”,后50维表示“语者”)。

应用实例:Voice Conversion(语者转换)


  • 用于将一个人语言的“内容”用另一个人的“声音特性”说出来,这就是变声器。
上风:


  • 不再需要配对的训练数据(不同人说相同句子)。
  • 适用于语音、图像、文本的风格迁移、身份更换等任务。

Discrete Latent Representation(离散隐变量表示)

传统方式:Auto-Encoder 中的 Code 通常是连续的向量(如浮点数)。
新思路:尝试利用离散编码(如Binary或One-hot 向量),让模子的表示更具可表明性或可控性。

典型技术:VQ-VAE(Vector Quantized Variational Autoencoder)


  • 用离散 Codebook 替代连续向量。
  • Encoder 输出 → 与 Codebook 中的向量匹配 → Decoder 重修。
  • 类似 Self-Attention 中 Query 与 Key 匹配。
  • 可自动学出类似“音标单位”或图像“外形组件”等离散特性。

Text as Representation(用笔墨作为中间表达)

问题:向量不易解读,能否把中间表示酿成“笔墨”?
方案:


  • 构建一个“Seq2seq Auto-Encoder”:将长文本编码为一句摘要,再还原为原文。
  • Encoder 输入长文,输出一段笔墨(摘要),Decoder 从这段笔墨还原原文。

挑战:


  • 模子可能发明“乱码密码”作为摘要,人类无法读懂。
解决方法:引入 Discriminator(鉴别器)


  • 鉴别器负责区分“人类写的句子”与“模子生成的句子”。
  • Encoder 需输出“人类可读的笔墨”,以欺骗鉴别器。
  • 利用强化学习(RL)优化训练过程。

Generator



  • 将 Decoder 独立出来利用,即变为一个生成器(类似 GAN 或 VAE)。
  • 从高斯分布中采样 latent 向量,丢入 Decoder,生成图像/语音。



 Compression(压缩编码)



  • Encoder → 将图像压缩为低维表示。
  • Decoder → 解压重修原图。
  • 属于 lossy 压缩(如 JPEG),可用于数据压缩场景。

Anomaly Detection(异常检测)



  • 应用场景:欺诈侦测、网络入侵检测、医学图像分析等。来了一笔新的资料它到底跟我们之前在训练资料裡面看过的资料,相不相似?看起来不像是训练资料裡面的 Data,就说它是异常的。
  • 流程:

    • 利用大量正常数据训练 Auto-Encoder。
    • 测试时比较输入与重修图像之间的误差(Reconstruction Loss)。
    • 大误差 → 异常小误差 → 正常





  • 适用于 One-Class Learning 问题:仅有正常样本,缺少异常样本。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表