【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO

文章目录

  • 一、知识蒸馏Knowledge Distillation
  • 二、参数量化
  • 结构设计:深度方向可分卷积Depthwise Separable Convolution
    • 1、Depthwise Convolution
  • 三、动态计算Dynamic Computation
  • 四、From on-policy to off-policy(PPO)


一、知识蒸馏Knowledge Distillation

学生网络学习老师网络。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第1张图片
学生可以学到训练资料可能没有提供的东西。
老师也可以是很多个模型的投票结果:
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第2张图片
温度常数用于softmax:可以让分布变平滑。这是一个超参数,不能非常大(会变成所有参数都一样)
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第3张图片
这里有平滑的分布,就不是one-hot一样的东西(要么是0,要么是1),这样就不是给一个标准答案了!可以给额外更多的信息。

二、参数量化

• 1.使用较少的位来表示一个值
•2.权重聚类(确定了分布之后取平均)
3.用较少的比特表示频繁的聚类,用较多的比特表示罕见的聚类,例如霍夫曼编码。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第4张图片
压缩到参数只有+1或者-1,binary weights
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第5张图片
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第6张图片

结构设计:深度方向可分卷积Depthwise Separable Convolution

【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第7张图片
有几个channel就有几个filter,每个filter管理每个channel。问题:chanel之间没有联系

1、Depthwise Convolution

【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第8张图片
filter是1*1的
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第9张图片
专注于channel之间的关系。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第10张图片
参数量少了很多
low rank approximation也是减少了参数的方法,但是还是有限制:减少了W的可能性,不是所有的w都能做为参数。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第11张图片
Depthwise Separable Convolution跟这个也很像:
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第12张图片

三、动态计算Dynamic Computation

网络根据需要调整计算。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第13张图片
为什么我们不准备一套模型?根据需要选择不同的模型?麻烦!
怎么做呢?让网络自由调整深度,增加额外的层。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第14张图片
也可以改变宽度:
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第15张图片
这两种方法都是让L越小越好。
不同的压缩对应于不同的应用:简单的图片可以在小的层就能结束,难的图片在多的层结束。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第16张图片

四、From on-policy to off-policy(PPO)

不止一次地利用经验
on-policy :学习的代理和与环境交互的代理是相同的。
off-policy:代理学习和与环境交互的代理是不同的。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第17张图片
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第18张图片
期望一样但是不代表variance一样。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第19张图片
这里希望取样足够多,那么variance就相近。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第20张图片
这里做了修正之后,从θ’(跟环境互动)里面取样,而我们也可以通过更新多次θ的参数之后采取做一次参数取样。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第21张图片
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第22张图片
这两个θ的分布不能相差太多,PPO做的解决这个问题
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第23张图片
TRPO是比较难做的
我们引入KL散度,希望两个actor上的分布越近越好,不是参数上的差距。

【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第24张图片
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第25张图片
横轴是θ的p相除,在A>0的时候(得分好),我们希望Pθ越大越好,但是和Pθk之间的差距不要太大,限制最大为1+E,如果比1+E大那就只要1+E,不让他继续增大了。
如果A<0的时候(得分低),希望Pθ越小越好,但是希望最低是1-E。
【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO_第26张图片

你可能感兴趣的:(学习,聚类)