有批量标准化的网络使用autoencoder有什么意义吗?

时间:2016-12-09 15:18:29

标签: machine-learning neural-network deep-learning conv-neural-network autoencoder

众所周知,DNN的主要问题是学习时间长。

但是有一些方法可以加速学习:

  1. 批量规范化 =(x-AVG)/Variancehttps://arxiv.org/abs/1502.03167
  2.   

    批量标准化实现了相同的准确度,减少了14倍   培训步骤

    1. ReLU =max(x, 0) - 已修正的线性单位(ReLU,LReLU,PReLU,RReLU):https://arxiv.org/abs/1505.00853
    2.   

      使用非饱和激活功能的优点在于两个   方面:首先是解决所谓的“爆炸/消失”   梯度”。第二是加快收敛速度​​

      或任何一个:( maxout,ReLU-family,tanh)

      1. 快速重量初始化(避免消失或爆炸渐变):https://arxiv.org/abs/1511.06856
      2.   

        我们的初始化与当前最先进的无监督匹配   或标准计算机视觉的自我监督预训练方法   任务,例如图像分类和对象检测   大致快三个数量级

        或LSUV初始化(层序单位方差):https://arxiv.org/abs/1511.06422

        但是如果我们使用所有步骤:(1)批量标准化,(2)ReLU,(3)快速权重初始化或LSUV - 那么在训练深度神经网络的任何步骤中使用autoencoder/autoassociator是否有任何意义?

1 个答案:

答案 0 :(得分:8)

TL;博士

自动编码器可以被视为以智能方式初始化权重的另一种方法。因此,您使用" fast"的自动编码器而不是。你描述的权重初始化算法。

更详细的解释

自动编码器和RBM经常被用于预训练深度神经网络。由于非常高维的参数空间,早期的深度神经网络几乎不可能训练。一个简单的随机梯度下降算法只能非常缓慢地收敛,并且通常会陷入糟糕的局部最优。解决这个问题的方法是使用RBM(G. Hinton et al。)或自动编码器(Y. Bengio et al。)在无人监督的情况下对网络进行预训练方式。

这有两大优势:

  1. 您不需要大量标记的训练数据。通常,有很多未标记的数据可用(想想:互联网上的图像),但标记它们是一项非常昂贵的任务。
  2. 你可以贪婪地逐层训练他们。这意味着,您将训练第一个(1层)自动编码器。一旦实现了良好的重建,就可以在其上堆叠另一个自动编码器。您无需触摸第一个自动编码器即可训练第二个自动编码器。这有助于保持较低的参数数量,从而使培训更简单,更快捷。
  3. 在训练RBM或自动编码器之后,您可以在预训练的网络上放置一个输出层,并以监督的方式训练整个网络并进行反向传播。此步骤也称为微调。由于除了输出图层以外的所有图层都已经过预先训练,因此不必更改权重,您将很快找到解决方案。

    最后,你问题的答案

    使用自动编码器是否有意义?如果你有很多标签的训练数据,为什么还要费心呢?只需尽可能智能地初始化权重,让GPU咆哮几周。

    但是,如果标记的训练数据很少,则收集大量未标记的数据并训练自动编码器。有了它,您可以确保通过少量标记示例实现快速收敛和良好的解决方案。