Dropout: A Simple Way to Prevent Neural Networks from Overfitting

摘要

在训练时随机的去掉一些神经元,这能防止神经元之间过度的共适应关系。这种方法显著的减少了过拟合,并对其他正则化方法进行了重大改进。dropout提高了神经网络在视觉、语音识别、文档分类和计算生物学等监督学习任务中的表现。

Introduce

DNN的表达能力很好,能够学习到输入和输出之间很多复杂的关系,但在有限的训练数据中,很多复杂的关系会成为结果的噪声样本,因为这些噪声很可能存在于train set中而在test set中不存在,这就导致了过拟合,在计算量不受限制的情况下,使固定大小的模型“正规化”的最佳方法是平均所有参数可能设置的预测值,在给定训练数据的情况下,通过其后验概率对每个设置进行加权。
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第1张图片

在最简单的情况下,每一个单元都以固定的概率p保留,与其他单元无关,其中p可以使用验证集来选择,也可以简单地设置为0.5,这对于广泛的网络和任务来说似乎接近最优。
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第2张图片
左:训练时的一个单位,它以概率p表示,并用权重w连接到下一层的单位。
右:测试时,单元始终存在,权重乘以p。测试时的输出与训练时的预期输出相同。

一个具有n个单位的神经网络,可以看作是2n个可能的稀疏神经网络的集合。这些网络都共享权重,因此参数总数仍然是o(n2)或更少。对于每一个训练案例的每一个表示,都会对一个新的细化网络进行采样和训练。因此,训练一个dropout的神经网络可以看作是训练一组2n个具有广泛权值共享的细化网络,其中每个细化的网络很少得到训练,如果有的话。

在测试时,不可能显式地平均来自指数级的许多细化模型的预测。然而,一个非常简单的近似平均方法在实践中效果良好。这个想法是在测试时使用一个单一的神经网络,而不用dropout。如果在训练期间以概率p保留一个单元,则该单元的输出权重在测试时乘以p,如图2所示。这确保对于任何隐藏的单元,预期输出(在用于在训练时丢弃单元的分布下)与测试时的实际输出相同。

Model Description

隐层数量为L,z(l)表示 l 层的输入向量,y(l)为 l 层的输出向量。W(l) 和b(l) 是 l 层的weights 和 biases , 是一个激活函数,标准神经网络的前馈运算可描述为:
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第3张图片
With dropout,前馈运算变为
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第4张图片
伯努利分布
在这里插入图片描述
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第5张图片
对于任何层l,r(l) 是独立bernoulli随机变量的向量,每个随机变量的概率p为1。该向量被采样并与该层的输出 y(l) 按元素顺序相乘,得到thinned output(稀释输出)在这里插入图片描述,然后将这个输出输入下一层,每一层都应用这个过程,这相当于从更大的网络中采样子网络。对于学习过程,损失函数的导数通过子网络反向传播。

在test time,
在这里插入图片描述
所得到的神经网络没有使用dropout。

Learning Dropout Nets

Backpropagation
Unsupervised Pretraining
在某些情况下,经过预训练和反向传播的精确调整后,与随机初始化的精确调整相比,具有显著的性能提升。dropout可以应用于使用这些技术进行预训练的网络。训练前的程序保持不变。从预训练中获得的权重应按1/P的系数放大。这确保了对于每个单元,随机dropout下的预期输出将与预训练期间的输出相同。我们最初担心dropout的随机性质可能会消除预训练权重中的信息。当网络调整期间使用的学习率与随机初始化网络的最佳学习率相比较时,确实会发生这种情况。然而,当选择较小的学习率时,预训练权重中的信息似乎被保留了下来,并且我们能够在最终泛化误差方面得到改进,而在最终泛化误差方面,我们没有在最终泛化时使用dropout。
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第6张图片

非论文内容

对于每一个神经元 Max-Norm Regularization 的目的在于限制输入链接权重的大小,使得
在这里插入图片描述
其中 r 是Max-Norm 可调节超参数,在每一个 training step 需要计算 ||w||2,,以确保它小于r,如果需要对w进行调整,则使用下式进行调整:
Dropout: A Simple Way to Prevent Neural Networks from Overfitting_第7张图片
更小的权重参数有利于模型对噪声的鲁棒性,这里限制参数的大小目的就是如此。在实践中将 Max-Norm Regularization 结合dropout 使用一般效果将会更好。

你可能感兴趣的:(论文)