众所周知,DNN的主要问题是学习时间长。
但是有一些方法可以加速学习:
=(x-AVG)/Variance
:https://arxiv.org/abs/1502.03167 批量标准化实现了相同的准确度,减少了14倍 培训步骤
=max(x, 0)
- 已修正的线性单位(ReLU,LReLU,PReLU,RReLU):https://arxiv.org/abs/1505.00853 使用非饱和激活功能的优点在于两个 方面:首先是解决所谓的“爆炸/消失” 梯度”。第二是加快收敛速度。
或任何一个:( maxout,ReLU-family,tanh)
我们的初始化与当前最先进的无监督匹配 或标准计算机视觉的自我监督预训练方法 任务,例如图像分类和对象检测 大致快三个数量级。
或LSUV初始化(层序单位方差):https://arxiv.org/abs/1511.06422
但是如果我们使用所有步骤:(1)批量标准化,(2)ReLU,(3)快速权重初始化或LSUV - 那么在训练深度神经网络的任何步骤中使用autoencoder/autoassociator是否有任何意义?
答案 0 :(得分:8)
自动编码器可以被视为以智能方式初始化权重的另一种方法。因此,您使用" fast"的自动编码器而不是。你描述的权重初始化算法。
自动编码器和RBM经常被用于预训练深度神经网络。由于非常高维的参数空间,早期的深度神经网络几乎不可能训练。一个简单的随机梯度下降算法只能非常缓慢地收敛,并且通常会陷入糟糕的局部最优。解决这个问题的方法是使用RBM(G. Hinton et al。)或自动编码器(Y. Bengio et al。)在无人监督的情况下对网络进行预训练方式。
这有两大优势:
在训练RBM或自动编码器之后,您可以在预训练的网络上放置一个输出层,并以监督的方式训练整个网络并进行反向传播。此步骤也称为微调。由于除了输出图层以外的所有图层都已经过预先训练,因此不必更改权重,您将很快找到解决方案。
使用自动编码器是否有意义?如果你有很多标签的训练数据,为什么还要费心呢?只需尽可能智能地初始化权重,让GPU咆哮几周。
但是,如果标记的训练数据很少,则收集大量未标记的数据并训练自动编码器。有了它,您可以确保通过少量标记示例实现快速收敛和良好的解决方案。