当前位置: 首页 > news >正文

【AIGC系列】1:自编码器(AutoEncoder, AE)

目录

  • 1 概述
  • 2 结构
  • 3 损失函数
  • 4 特点
  • 5 常见变体
  • 6 应用场景
  • 7 优缺点

1 概述

自编码器(Autoencoder,AE),是一种利用反向传播算法使得输出值等于输入值的神经网络,它先将输入压缩成潜在空间表征,然后将这种压缩后的空间表征重构为输出。

AE隐藏层的向量具有降维的作用,所以,从本质上来讲,自编码器是一种数据压缩算法,其压缩和解压缩算法都是通过神经网络来实现的。

AE通常有几个方面的应用:

  • 是数据去噪,
  • 是为进行可视化而降维。
  • 进行图像压缩
  • 传统自编码器被用于降维或特征学习

自编码器在适当的维度和系数约束下可以学习到比PCA等技术更有意义的数据映射。

2 结构

自动编码器由一个编码器Encoder和一个解码器Decoder组成:

  • 编码器将输入压缩为潜在空间表征,编码器会创建一个隐藏层(或多个隐藏层)包含了输入数据含义的低维向量,可以用函数 f ( x ) 来表示。
  • 解码器将潜在空间表征重构为输出,即通过隐藏层的低维向量重建输入数据,可以用函数 g ( x ) 来表示。

AE

3 损失函数

AE是一个自动编码器是一个非监督的学习模式,只需要输入数据,不需要label或者输入输出对的数据。

如果它的解码器是线性重建数据,可以用MSE来表示它的损失函数:
mse

如果解码器用Sigmoid的激活函数,那主要用交叉熵损失函数:
CE

优化目标:迫使模型学习数据的关键特征,而非简单记忆输入。

4 特点

自编码器有如下三个特点:

  • 数据相关性。就是指自编码器只能压缩与自己此前训练数据类似的数据,比如说我们使用mnist训练出来的自编码器用来压缩人脸图片,效果肯定会很差。
  • 数据有损性。自编码器在解压时得到的输出与原始输入相比会有信息损失,所以自编码器是一种数据有损的压缩算法。
  • 自动学习性。自动编码器是从数据样本中自动学习的,这意味着很容易对指定类的输入训练出一种特定的编码器,而不需要完成任何新工作。

5 常见变体

  1. 去噪自编码器(Denoising AutoEncoder)

    • 特点:输入加入噪声,训练模型恢复干净数据。
    • 应用:数据去噪、鲁棒性特征学习。
  2. 稀疏自编码器(Sparse AutoEncoder)

    • 特点:在损失函数中引入稀疏性约束(如L1正则化),使潜在表示稀疏。
    • 应用:特征选择、可解释性提升。
  3. 变分自编码器(Variational AutoEncoder, VAE)

    • 特点:潜在变量服从高斯分布,通过概率编码生成新样本。
    • 应用:数据生成、连续潜在空间探索。
  4. 卷积自编码器(Convolutional AutoEncoder)

    • 特点:使用卷积层替代全连接层,保留空间信息。
    • 应用:图像重构、语义分割。

6 应用场景

  • 数据降维:比PCA更高效的非线性降维。
  • 图像去噪:去除噪声或修复损坏数据。
  • 异常检测:异常数据重构误差较高。
  • 生成模型(如VAE):生成新样本(图像、文本等)。
  • 预训练:作为深度网络的初始化特征提取器。

7 优缺点

  • 优点
    • 无需标签,适用于无监督场景。
    • 灵活性强,可通过不同结构适应多种任务。
  • 缺点
    • 可能过拟合(需正则化或降维约束)。
    • 普通自编码器生成能力有限(VAE等变体更适合生成)。

相关文章:

  • Win10登录Samba服务器报用户名密码错误问题解决
  • 测试工程师玩转DeepSeek之Prompt
  • ubuntu22.04的docker容器中安装ssh服务
  • 机器学习数学基础:32.斯皮尔曼等级相关
  • 机器学习数学基础:36.φ相关系数分析
  • iOS指纹归因详解
  • C++ Primer 额外的string操作
  • MySQL入门:高频操作命令大全
  • Java 实现快速排序算法:一条快速通道,分而治之
  • 超详细介绍map(multimap)的使用
  • JVM生产环境问题定位与解决实战(二):JConsole、VisualVM到MAT的高级应用
  • 【原创】Windows11安装WSL“无法解析服务器的名称或地址”问题解决方法
  • rust 前端npm依赖工具rsup升级日志
  • 独立开发者之Google Analytics使用教程
  • 文字语音相互转换
  • 玩机日记 11 解决fnOS识别不了虚拟核显的问题
  • 01-03基于vs2022的c语言笔记——软件安装,写程序前的准备,初识c语言
  • pyecharts介绍
  • 从基础到模块化:深度解析RAG技术演进如何重塑AI知识边界
  • 系统升级过程中如何实现数据的平滑迁移
  • “多规合一”改革7年成效如何?自然资源部总规划师亮成绩单
  • 美国将与阿联酋合作建立海外最大的人工智能数据中心
  • 在本轮印巴冲突的舆论场上也胜印度一筹,巴基斯坦靠什么?
  • 华东政法与复旦上医签署合作框架协议,医学与法学如何交叉融合?
  • 商务部:今年前3月自贸试验区进出口总额达2万亿元
  • 中国证券业协会修订发布《证券纠纷调解规则》