lottery ticket hypothesis(彩票假说)
The lottery ticket hypothesis predicts that ∃ m for which j0≤ j (commensurate training time), a0≥ a (commensurate accuracy), and kmk0? |θ| (fewer parameters).
网络中一直存在一个比较小的子网络,当单独训练,并且尽可能多地去迭代训练后,可以达到原始网络的测试精度。
获得中奖彩票网络的大致过程:
- Randomly initialize a neural network f(x;θ0) (where θ0∼ Dθ).
- Train the network for j iterations, arriving at parameters θj.
- Prune p% of the parameters in θj, creating a mask m.
- Reset the remaining parameters to their values in θ0, creating the winning ticket f(x;m?θ0)
1,随机初始化神经网络f
2,迭代j次训练神经网络,并且获得参数θj
3,在θj个参数中,修剪百分之p的参数,并创造mask m
4,将剩余的参数值用网络最开始的初始值进行初始化,并且构造中奖彩票网络(即修剪后并重新初始化后的网络)。
其中,这个过程中使用的是迭代剪枝,即如果我们要通过n次迭代修剪百分之p的权重,则每次迭代修剪百分之p的n分之一的权重,该方法相比于一次性剪枝,可以获得尺寸更小的子网络。,并达到原始网络的精度。效果如图所示
在获得过程中,我们最后获得的网络需要被初始化为初始值,因为只有合理化网络初始化值才可以获得更好的中奖彩票网络。如果进行重新初始化,效果将远远不如网络最初的初始值,效果如图:
修剪过程中,学习率也是十分重要的,过高的学习率将会导致无法找到中奖彩票网络,网络在较高的学习率时,表现能力将低于随机初始化时的效果。同时,使用学习率热身可以有效提高测试集的精度。效果如图:
在CNN网络中获得中奖彩票网络应注意:
在修剪CNN神经网络时,使用Dropout可以有效提高网络的测试精度,dropout可以引导网络修剪,并且可能使中奖彩票更容易被发现,效果如图。
用于CNN神经网络时,采用全局修剪效果更好,因为全局修剪比分层修剪更可以修剪出更小的中奖彩票的子网络。效果如图。
注意:
1,过度参数化的网络更容易修剪,因为他们有更多的中奖彩票的组合。
2,只有达到了一定的稀疏度,并且高度参数化的网络才可以重新初始化成功,除此之外,极度修剪、过度参数化不严重的网络只能通过偶然的初始化来保持精度。
3,中奖彩票中含有归纳了正在执行任务的偏差值。