生成模型--收缩自编码器(contractive autoencoder,CAE)

收缩自编码器(contractive autoencoder,CAE)

  收缩是源于CAE弯曲空间的方式,性质是只在局部收缩,目标是学习数据的流形结构

具体实现

  收缩自编码模型的训练目标函数是重构误差和收缩罚项(contraction penalty)(即正则项)的总和,通过最小化该目标函数使已学习到的表示C(x)尽量对输入x保持不变。
  它的惩罚项Ω(h) 是平方Frobenius范数(元素平方的和),作用于与编码器的函数相关偏导数的Jacobian矩阵。
  简单来说,它的惩罚项是编码器输出的特征向量的元素平方的和。这个处罚项迫使模型学习一个在 x 变化小时目标也没有太大变化的函数。因为这个惩罚只对训练数据适用,它迫使自编码器学习可以反映训练数据分布信息的特征。

公式:

在这里插入图片描述
  第一个是稀疏自编码器的损失函数;第二个是收缩自编码器的损失函数。

收缩自编码器与去噪自编码器、流形学习和概率模型存在一定理论联系

  收缩自编码模型趋于找到尽量少的几个特征值,特征值的数量对应局部秩和局部维数。
  收缩自编码模型可以利用隐单元建立复杂非线性流形模型。

去噪自编码器和收缩自编码器之间存在一定联系

  在小高斯噪声的限制下,当重构函数将 x 映射到输出时,去噪重构误差与收缩惩罚项是等价的。换句话说, 去噪自编码器能抵抗小且有限的输入扰动,而收缩自编码器使特征提取函数能抵抗极小的输入扰动。
  去噪AE是针对输入,收缩AE是针对输出

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
收缩自编码器(Contractive AutoencoderCAE)是一种无监督学习算法,可以用于降维和特征提取。CAE通过学习数据的紧凑表示来实现这些功能。与传统的自编码器相比,CAE引入了一个额外的正则化项,以确保模型学习到的表示对输入数据的微小变化具有稳定性。 在TensorFlow中实现CAE可以按照以下步骤进行: 1. 定义输入数据和网络结构:首先,需要定义输入数据和网络结构。在CAE中,输入数据可以是任何形式的数据,例如图像、文本或音频。网络结构包括编码器和解码器,编码器将输入数据映射到潜在表示,而解码器将潜在表示映射回原始空间。 2. 定义损失函数:为了训练CAE,需要定义损失函数。CAE的损失函数通常由两个部分组成:重构误差和正则化项。重构误差衡量原始数据和重构数据之间的差异,而正则化项确保潜在表示对微小输入变化的鲁棒性。 3. 训练模型:训练CAE可以使用标准的反向传播算法。在每个训练迭代中,首先将输入数据提供给编码器,然后将潜在表示提供给解码器。解码器生成重构数据,并计算损失函数。最后,使用反向传播算法更新模型参数。 4. 测试模型:测试CAE可以使用重构误差来评估模型性能。可以将新的输入数据提供给模型生成重构数据,并计算重构误差。较低的重构误差表示模型可以准确地重构输入数据,并且学习到了紧凑的表示。 总之,CAE是一种强大的无监督学习算法,在TensorFlow中可以很容易地实现。它可以用于多种应用程序,例如数据降维、特征提取和异常检测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值