持续反向传播 持续反向传播算法将选择性地对网络中低效的单元进行初始化处理。研究团队定义了名为「贡献效用」的值来衡量每个单元的重要性。如果神经网络中某个隐藏单元对它所连接的下游单元的影响很小,那么它的作用就可能被网络中其他更有影响力的隐藏单元掩盖。 贡献效用通过计算即时贡献的移动平均值来衡量,这个值由衰减率表示。在所有实验中,初始衰减率 η 设置为 0.99。在前馈神经网络中,第 l 层第 i 个隐藏单元在时间 t 的贡献效用 更新如下: 其中 是时间 t 时第 l 层第 i 个隐藏单元的输出, 代表其权重, 代表第 l+1 层的单元数量。 当一个隐藏单元被重新初始化时,它的输出的权重将被初始化为零。这么做是为了新添加的隐藏单元不会影响模型已经学到的功能。但是这样也容易导致新的隐藏单元很快被重新初始化。 为了防止这种情况,研究团队设置了「成熟阈值」,在 m 次更新前,即使新的隐藏单元的效用是零,也不会被重新初始化。当更新次数超过 m 后,每一步「成熟单元」的一部分 ρ(称为替换率),在每一层都会被重新初始化。 替换率 ρ 通常设置为一个非常小的值,这意味着在数百次更新后只替换一个单元。例如,在 CIFAR-100 中,研究团队将替换率设置为 10 的负五次方,每一步,大约 0.00512 个单元被替换。这相当于大约每 200 次更新替换一次。 最终的算法结合了传统的反向传播和选择性重新初始化两种方法,以持续地从初始分布中引入随机单元。每次更新时,持续反向传播将执行梯度下降并选择性地重新初始化。 前馈神经网络的持续反向传播如算法1所示。处理小批量数据时,可以采取一种更经济的方法:通过对小批量数据上的即时贡献效用取平均值,而不是保持一个运行平均值来节省计算量。