LeNet试验(五)观察“彩票假说”现象

  “彩票假说”是ICLR2019最佳论文《The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks》提出的。意思是神经网络通常只有少量的关键参数发挥作用,找到这些少数关键参数就好像买到中奖的彩票一样,幸运但很稀有。本文使用一种提取关键参数的算法,使神经网络的参数稀疏化,以验证彩票假说。我们发现在MNIST集上可以把LeNet参数稀疏至1/50而保持几乎不变的精度,在CIFAR10上也可以把ResNet18参数稀疏至1/10而保持精度。


前言

在这里插入图片描述

图1. 人脑神经元随年龄增长的稀疏化

  人脑神经元间的连接在6岁左右达到最致密,随后又开始稀疏化。这种稀疏化可能会使记忆力有所下降,但是由于保留了关键连接,反而有更高的归纳综合能力。
  彩票假说指出人工神经网络也有类似的性质,当前使用的深度神经网络多是过参数化的,可以把大部分参数抑制为0,只保留少量关键参数而不影响网络性能。我们来观察这个现象,仍旧先在MNIST集上用LeNet做试验,因为它速度非常快,使用的LeNet代码见第一节https://blog.csdn.net/Brikie/article/details/112253975。使用的提取关键参数的算法见我另一篇博客https://blog.csdn.net/Brikie/article/details/113656685中的改进版代码。

一、在LeNet中观察“彩票假说”现象

  系数 τ \tau τ(tau)表示抑制的非关键参数的程度, τ \tau τ越大抑制的参数越多,保留的关键参数越少。我们在MNIST集中运行LeNet网络,batch size=128,lr=0.01, momentum=0.9, weight_decay=0.001。不同 τ \tau τ对应的测试集精度如图1,有效参数(定义为绝对值大于0.001的参数)的数量随训练轮数变化情况如图2。
在这里插入图片描述

图1. MNIST数据集中使用LeNet观察不同系数tau对应的测试集精度

在这里插入图片描述

图2.有效参数数量随训练步数逐渐缩小到关键参数的过程

  我们可以看出,该算法可以把网络参数大幅稀疏化,而测试集精度却几乎没有降低。例如当 τ = 0.99 \tau = 0.99 τ=0.99时,最终剩余的关键参数只有全部参数的1/50,但精度比原网络还高一些。当 τ = 0.999 \tau = 0.999 τ=0.999时,关键参数可以压缩到1/100,精度仍能保持90%以上。把训练结束后的部分权重参数可视化,如图3,可以看到此时仍保有数值的关键参数已经非常稀疏。
在这里插入图片描述
在这里插入图片描述

图3.tau = 0.999时conv2和fc1的权重绝对值可视化图(下图放大仔细看有一些白点)

二、进一步用ResNet试验

  我们再用ResNet18在CIFAR10上进行试验,得到曲线如下图:
在这里插入图片描述

图4.不同参数tau的ResNet18在CIFAR10上运行试验

  可以看出,参数也能够显著压缩,但精度保持的不如MNIST上面那么好,当tau=0.5时,参数稀疏为总量的约1/10,精度只比原网络低一点。
  为了更好的对比,我们在MNIST上运行ResNet18。由于MNIST是28x28的单通道图片,我们把它补零扩充为32x32,然后复制到三个通道,做成和CIFAR10一样的3x32x32的图片,以适用于刚才的ResNet18。
在这里插入图片描述

图5.不同参数tau的ResNet18在MNIST3c上运行试验

  可以看出,MNIST集上确实可以压缩更多的参数,tau=0.999时,参数压缩到了原来的1/70,精度仍差不多。这说明最大压缩比不仅与模型有关,也与数据集有关,复杂的数据集当然需要的参数量也要多一些。

总结

  彩票假说指名了一个事实,即神经网络的参数存在大量冗余,但这只是提出了一个新问题,距离解决这个问题还很远。我觉得在这个领域获得最终突破要解决几个主要问题:
1,对于给定数据集的复杂度和给定的适用该数据集的神经网络模型,在维持相当精度的要求下,这个模型的最稀疏的参数量的极限界是多少,怎么计算?
2,使用什么算法可以较好的得到接近这个极限界的稀疏化权重参数?
3,获得的这个稀疏化网络能否转化为一个紧致的小网络,以缩小模型内存需求,完成这个问题的本质目的——模型压缩。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值