[2022]李宏毅深度学习与机器学习第十三讲(必修)-神经网络压缩

做笔记的目的

1、监督自己把50多个小时的视频看下去,所以每看一部分内容做一下笔记,我认为这是比较有意义的一件事情。
2、路漫漫其修远兮,学习是不断重复和积累的过程。怕自己看完视频不及时做笔记,学习效果不好,因此想着做笔记,提高学习效果。
3、因为刚刚入门深度学习,听课的过程中,理解难免有偏差,也希望各位大佬指正。

Outline

虽然大的模型效果不错,但是小的模型同意有应用市场。需要把模型跑在资源有限的情况下比如手表,这种情况就不适合用大的模型。如果传到云端,但是可能会有延时(自动驾驶),同时可能涉及隐私安全。所以我们需要小的模型,但是也要保证小的模型的准确率。
在这里插入图片描述
大纲如下:
在这里插入图片描述

Network can be pruned

有两种思路:

  1. 删除一些weight
  2. 删除一些神经元
    整个步骤如下图,当network够小时,就停止了。
    在这里插入图片描述
    修剪的单位可以是参数可以是神经元,如果是weight,这样网络就不规则了,这样不好进行实现,同时GPU加速也不好加速。为了加速方便会把weight变为0.
    在这里插入图片描述
    但实际上,准确率降低了的同时运算时间基本上没有改变,所以这种方法并不是很实用。
    在这里插入图片描述
    删掉一些神经元
    在这里插入图片描述

Why Pruning

为什么不能直接训练一个小的模型那?直观的来说就是,直接训练一个小的模型,效果并不如剪枝的效果好。但是同样的模型,为什么剪枝的效果更好那?比较著名的有Lottery Ticket Hypothesis(彩票假设)。
在这里插入图片描述
大的network可以看成包括多个小的network,所以有很多机会可以win,我们选出来的就是win的部分。
在这里插入图片描述
Lottery Ticket Hypothesis(彩票假设)的实验,剪枝后剩下来的是幸运的模型,尽管确定了模型架构但是如果这个时候随机初始化训练不起来,同时如果采用一开始的随机初始化就可以训练起来。同时假说还证明了只要不改变正负号,就可以训练起来,正负号是能不能训练起来的关键。
在这里插入图片描述
在这里插入图片描述
也有一些论文在讨论随机初始化,然后修剪调一些神经网络,之后进行直接预测。
但是也有反对彩票假说的,认为彩票假说是只有在学习率小的时候符合。
在这里插入图片描述

Knowledge Distillation

训练一个大的模型做为老师,然后用小的模型去学习老师。为什么不直接train小的那?从结果上看是效果没有学习老师的效果好。为什么那?因为Teacher net可能会给student一些额外的信息,比如1像7,所以如果训练的时候没有看过7,也有可以看出来
在这里插入图片描述

Ensemble

多个模型求平均,然后用来教学生。Ensemble这个技术不仅仅能用在Knowledge Distillation上,在很多比赛上前几名往往就是多个模型的平均。
在这里插入图片描述

Temperature for softmax

要取一个Temperature,让分布平滑,这样就能学习到一些关系。
在这里插入图片描述

Parameter Quantization

用少的空间,取储存参数,Weight Clustering每一个Cluster center 取一个值。
有的方法如下图。
在这里插入图片描述
Binary Weights 技术是神经元只有两种状态0-1,他的效果还不错,同时不容易过拟合。
在这里插入图片描述

Architecture Design-Depthwise Separable Convolution

在这里插入图片描述
filter number等于channel number。每个filter只管一个channel。
在这里插入图片描述
Depthwise Convolution 之后进行Pointwise Convolution,这里每个filter里面的卷积核都是1*1的。每个filter产生一个channel。
在这里插入图片描述
参数对比
在这里插入图片描述
为什么这一招有用那?这样优化会让w有一些限制,但是这个是减少参数非常常用的方法,同时这也做也不容易过拟合。
在这里插入图片描述
在这里插入图片描述

Dynamic Computation

同一个模型在不同的机器上运用,可能需要Dynamic Computation技术
在这里插入图片描述

Dynamic Depth

加一个extra Layer,这个训练方法就可以达到Dynamic的效果。
在这里插入图片描述

Dynamic Width

同一个网络不同的宽度,训练的时候一起考虑,这样训练需要一些技巧。
在这里插入图片描述

Computation based on Sample Difficulty

对于简单问题提取停下来,对于难的问题往后面走
在这里插入图片描述
前面4个技术都可以让net变小,同时这四个技术并不互斥,可以一起被使用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值