首页 文章

查询Stacked Deoising AutoEncoder中的下一层

提问于
浏览
1

所以我正在训练一个Stacked Denoising AutoEncoder,每个AutoEncoder有3层 . 我的目标是通过使用堆叠去噪自动编码器进行图像分类 .

我用来创建图像片段的方法:

  • 将整个图像分割为8x8块

  • 将块大小调整为1x64

  • 随机选择块(例如:mod 7或其他)并插入TrainingMatrix

训练自动编码器的步骤:

  • TrainingMatrix尺寸:[10000x64](即尺寸为64的10000个训练样本)

  • 3层系统:[64 - > 32 - > 64]

  • 用高斯噪声破坏每个训练样本

  • 使用输入训练神经网络:[损坏的输入],输出:[未损坏的数据]然后BACKPROP

对于下一个DAE,我是否使用最后一层(即2-> 3层)的权重来训练下一层?或者我是否必须通过网络运行另一个样本,然后使用它来训练下一层?如果我们使用第2层> 3的权重,我们不会只有一个样本集来训练下一个自动编码器吗?如果是这种情况那么权重只是随机生成的加权矩阵的初始值?

堆叠DAE层后的最终步骤:

  • 通过监督层(如SVM)运行最终DAE层

对不起,如果这听起来像一个微不足道的问题 .

1 回答

  • 4

    我对堆叠去噪自动编码器的解释是你训练第一个自动编码器(即64 - > 32 - > 64)带有反向探测和你的无噪声输入作为输出,就像你通常的神经网络然后将数据通过第一层推入32维空间并运行相同的过程(即32 - > 16 - > 32)并从那里前进 . 然后,您可以添加另一个图层 . 你理论上也可以在网络上进行某种微调,因为你也可以形成64 - > 32 - > 16 - > 32 - > 64网络并微调参数,但这可能不是必需的 .

    在这些步骤之后,您可以在64维空间中输入数据并将其推送到64 - > 32 - > 16 - >您的分类器 . 如果你想使用神经网络作为分类器,那么你可以在那之后继续使用更多的层,然后一直运行backprop到开始,从而获得更好的结果 . 堆叠去噪自动编码器的原始工作是here(PDF) .

    另外,如果您正在考虑使用SVM,我认为这被称为学习内核,但我没有参考 .

相关问题