论文理解记录:The Lottery Ticket Hypothesis

论文提出了在任意初始化的原始模型中存在可训练的子模块,即“中彩票”子模块,这些子模块在保持或超越原模型精度的同时,训练时间更短。关键在于首次随机初始化对子模块结构的影响,但论文并未深入解释初始化的重要性。研究主要在小型数据集上进行,且仅在非结构化剪枝中发现中彩票子模块。两种不同的迭代修剪算法被提出,其中一种在保持模型性能的同时,训练速度更快。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文核心

传统非结构化剪枝虽然较大幅度减少了模型参数量,但是由于非结构化的原因导致网络稀疏化,因此很难对剪枝后的模型进行训练。这是非结构化剪枝相对于结构化剪枝不被看好的原因之一。 而本文中提出可以在任意初始化后的原始模型中找到子模块(即非结构化剪枝后的模型),该初始化后的子模块训练时间不会超过原始模型,并达到或超过原始模型的精度,该子模块在论文中被称作“中彩票”。

注意事项

论文中经过实验发现第一次随机初始化至关重要,中彩票的子模块结构和随机初始化参数有关。实验找到子模块后对子模块重新初始化,此时子模块的性能明显下降。对此,论文给出的理由:子模块初始化的参数与优化算法、数据集和模型有关,如中奖彩票的最初初始化的参数特别适合所选择的优化算法,因此优化效果很好。

不足之处

  1. 本论文只在较小的数据集上进行相关研究测试
  2. 非结构化修剪是论文作者找到唯一的能找到中奖彩票的方法,未能在结构化剪枝的方法中找到中奖彩票
  3. 未能明确解释初始化为何对中奖彩票如此重要
  4. 在更深的网络中,迭代修剪无法找到中奖彩票,除非用超参数learning rate warmup来调节

寻找中彩票的子模块算法

算法一:

  1. 随机初始化神经网络,保存初始化值,并创建掩码
  2. 训练迭代
  3. 裁剪参数,并更新掩码
  4. 重置裁剪后的神经网络权重,使权重值恢复到初始化值
  5. 重复2-4步骤,直到得到裁剪充分的网络

算法二:

  1. 随机初始化神经网络,保存初始化值,并创建掩码
  2. 训练迭代
  3. 裁剪参数,更新掩码
  4. 重复2-3步骤直到得到裁剪充分的网络
  5. 重置裁剪后的神经网络权重,使权重值恢复到初始化值

论文提出两种算法,差别在于第二种每一轮修剪后使用已训练的权重进行重新训练,而第一种在每次重新训练前重置权重,实验证明算法一在训练速度和测试集精度上都要优于第二种

部分代码

# 创建掩码用于模型裁剪
def make_mask(model):
    global step
    global mask
    step =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值