假设我们有⼀个训练数据x和对应的⽬标输出y。通常我们会通过在⽹络中前向传 播x,然后进⾏反向传播来确定对梯度的贡献。使⽤弃权技术,这个过程就改了。
我们会从随 机(临时)地删除⽹络中的⼀半的隐藏神经元开始,同时让输⼊层和输出层的神经元保持不变。 在此之后,我们会得到最终如下线条所⽰的⽹络。注意那些被弃权的神经元,即那些临时被删 除的神经元,⽤虚圈表⽰在图中:
我们 前向传播输⼊x,通过修改后的⽹络,然后反向传播结果,同样通过这个修改后的⽹络。
在⼀个⼩批量数据⼩批量的若⼲样本上进⾏这些步骤后,我们对有关的权重和偏置进⾏更新。 然后重复这个过程,⾸先重置弃权的神经元,然后选择⼀个新的随机的隐藏神经元的⼦集进⾏ 删除,估计对⼀个不同的⼩批量数据的梯度,然后更新权重和偏置。
通过不断地重复,我们的⽹络会学到⼀个权重和偏置的集合。当然,这些权重和偏置也是在 ⼀半的隐藏神经元被弃权的情形下学到的。
当我们实际运⾏整个⽹络时,是指两倍的隐藏神经 元将会被激活。为了补偿这个,我们将从隐藏伸进元出去的权重减半。
这个弃权过程可能看起来奇怪,像是临时安排的。为什么我们会指望这样的⽅法能够进⾏规 范化呢?
为了解释所发⽣的事,我希望你停下来想⼀下没有标准(没有弃权)
神经网络中drop-out(弃权)的解释
最新推荐文章于 2024-03-26 12:08:12 发布