Ale*_*lex 4 machine-learning neural-network autoencoder deep-learning conv-neural-network
众所周知,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 - 那么在训练深度神经网络的任何步骤中使用自动编码器/自动关联器是否有任何意义?
自动编码器可以被视为以智能方式初始化权重的替代方法.因此,您使用自动编码器而不是您描述的"快速"权重初始化算法.
自动编码器和RBM经常用于预训练深度神经网络.由于非常高维的参数空间,早期的深度神经网络几乎不可能训练.一个简单的随机梯度下降算法只能非常缓慢地收敛,并且通常会陷入糟糕的局部最优.解决这个问题是使用RBMS(G.顿等人)或自动编码(Y. Bengio 等)向网络中的无监督的方式预培养.
这有两个很大的优点:
在训练RBM或自动编码器之后,您可以将输出层放置在预训练网络的顶部,并以监督方式训练整个网络并进行反向传播.此步骤也称为微调.由于除了输出层之外的所有层都已经过预先训练,因此权重不必进行太多改变,您将很快找到解决方案.
使用自动编码器是否有意义?如果你有很多标签的训练数据,为什么还要费心呢?只需尽可能智能地初始化权重,让GPU咆哮几周.
但是,如果标记的训练数据很少,则收集大量未标记的数据并训练自动编码器.有了它,您可以确保通过少量标记示例实现快速收敛和良好的解决方案.