"Autoencoder" (机器学习方法)

详细信息和子选项

  • "Autoencoder" 是一种基于神经网络的降维方法. 该方法通过使用具有信息瓶颈的深度网络学习近似恒等函数,从而学习数据的低维表示.
  • "Autoencoder" 适用于高维数据(例如图像)、大量示例和嘈杂的训练集; 但是,它的训练速度很慢,并且在训练集很小的时候可能会失败.
  • 以下特征空间图(参阅 FeatureSpacePlot)显示了应用于基准数据集 Fisher's IrisesMNISTFashionMNIST"Autoencoder" 方法学习的二维嵌入:
  • 自动编码器网络由编码器网络和解码器网络组成. 编码器网络将输入数据转换为低维数字表示(也称为潜在表示). 解码器尝试从潜在表示中重建原始输入:
  • 编码器和解码器网络通过使原始数据与其重建之间的差异最小化来一起训练.
  • 子选项 "NetworkDepth" 可用于设置编码器和解码器网络的深度,以控制它们的容量. 网络深度越高,允许编码器学习的模式越复杂,但也更容易产生过度拟合. "NetworkDepth"1 等价于执行 "PrincipalComponentsAnalysis".
  • 可以给出以下子选项:
  • "NetworkDepth"Automatic编码器和解码器的深度
    MaxTrainingRounds Automatic训练的最大轮数

范例

打开所有单元关闭所有单元

基本范例  (2)

使用自动编码器方法生成高维随机向量的降维函数:

使用经过训练的自动编码器降低新向量的维数:

使用自动编码器方法降低一些图像的维度:

可视化图像的二维表示:

范围  (1)

创建由可变长度的二维数字序列组成的训练和测试数据:

训练自动编码器以找到输入序列的密集三维表示:

使用编码器可视化不同长度和边界的不同序列之间的相似性:

从它们的编码生成新序列:

选项  (2)

MaxTrainingRounds  (1)

获取 MNIST 训练数据集:

训练一个自动编码器网络,使其访问每个示例恰好一次:

NetworkDepth  (1)

获取包含训练和测试图像的 MNIST 数据集:

训练几个具有不同 "NetworkDepth" 的自动编码器以降低图像的维度:

可视化各种网络深度下图像的二维表示:

应用  (2)

数据重构  (1)

加载 Fashion MNIST 训练和测试数据集:

训练一个自动编码器来降低图像的维度:

使用该降维器从编码中重建图像,并与原始图像进行比较:

数据可视化  (1)

使用自动编码器方法降低一些图像的维度:

可视化图像的二维表示: