自编码器简要介绍

自编码器是一种无监督学习的神经网络模型,主要用于特征学习和降维。通过限制隐藏层的维度,可以强迫模型学习数据的主要特征。常见的自编码器类型包括欠完备自编码器、正则自编码器、稀疏自编码器、收缩自编码器、去噪自编码器和降噪自动编码器。去噪自编码器通过在输入中引入噪声,学习到的特征具有更好的鲁棒性。堆叠自编码器通过多层DAE的堆叠,构建深度架构,用于更复杂的特征表示和学习。
摘要由CSDN通过智能技术生成

自编码器简要介绍

自编码器的定义

自编码器(Auto Encoders)是深度学习中常见的一种模型。人类在理解复杂事物的时候,总是先总结初级的特征,然后从初级特征中总结出高级的特征。如下图1所示,以识别手写数字为例,通过学习总结,发现可以把手写数字表示为几个非常简单的子图案的组合。img

对大量黑白风景照片提取 16 × 16 16\times 16 16×16 的图像碎片,分析研究后发现几乎所有的图像碎片都可以由 64 64 64 种正交组合的边组合得到。声音也存在同样的情况,大量未标注的音频种可以得到20种基本结构,绝大多数声音都可以由这些基本的结构线性组合得到。这就是特征的稀疏表达,通过少量的基本特征组合、拼装得到更高层抽象的特征2。自编码器模型正好可以用于自动化地完成这种特征提取和表达的过程,而且整个过程是无监督的。基本的自编码器是一个简单的三层神经网络结构,由一个输入层、一个隐藏层和一个输出层组成,其中输出层具有相同的维数。以下给出一个自编码器结构的基于PyTorch的代码。

class AutoEncoder(nn.Module):
    def __init__(self):
        super(AutoEncoder, self).__init__()

        self.encoder = nn.Sequential(
            nn.Conv2d(1,64,kernel_size=3,stride=1,padding=1),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值