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

Ale*_*lex 4 machine-learning neural-network autoencoder deep-learning conv-neural-network

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

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

  1. 批量标准化 =(x-AVG)/Variance:https://arxiv.org/abs/1502.03167

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

  1. ReLU =max(x, 0) - 整流线性单元(ReLU,LReLU,PReLU,RReLU):https://arxiv.org/abs/1505.00853

使用非饱和激活函数的优点在于两个方面:第一个是解决所谓的"爆炸/消失梯度".第二是加快收敛速度.

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

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

我们的初始化与标准计算机视觉任务(例如图像分类和物体检测)上的当前最先进的无监督或自我监督的预训练方法相匹配,同时大约快三个数量级.

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

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

hba*_*rts 9

TL;博士

自动编码器可以被视为以智能方式初始化权重的替代方法.因此,您使用自动编码器而不是您描述的"快速"权重初始化算法.

更详细的解释

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

这有两个很大的优点:

  1. 您不需要大量标记的训练数据.通常,有很多未标记的数据可用(想想:互联网上的图像),但标记它们是一项非常昂贵的任务.
  2. 你可以贪婪地逐层训练它们.这意味着,您将训练第一个(1层)自动编码器.一旦实现了良好的重建,就可以在其上堆叠另一个自动编码器.您无需触摸第一个自动编码器即可训练第二个自动编码器.这有助于保持参数数量较少,从而使培训更简单,更快捷.

在训练RBM或自动编码器之后,您可以将输出层放置在预训练网络的顶部,并以监督方式训练整个网络并进行反向传播.此步骤也称为微调.由于除了输出层之外的所有层都已经过预先训练,因此权重不必进行太多改变,您将很快找到解决方案.

最后,回答你的问题

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

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

  • 您没有回答有关批量标准化的主要问题。 (3认同)