DAFL:无数据网络压缩算法之通俗易懂小白教程

理解此图就算理解一半了。。。。。。。

1.总体3个大网络:

  • Generative Network为生成对抗网络GAN(??这是啥??后面解释)的生成器G;
  • Teacher Network两个作用:a.作为GAN的判别器D  b.知识蒸馏的教师网络(??知识蒸馏??后面解释)
  • Student Network:将教师网络蒸馏得到的压缩小型网络

2.Random Signal是什么呢?这时候可能就要去了解CNN了,学术表达为高斯噪声,换句话来说,就是用来生成图片用的一个输入值,这里的G可以理解为一个反向的CNN,输入为随机值,输出为图片。

3.算法分为两步:GAN(Generative Network+Teacher Network)来生成图片,这些图片代替了原始数据;

                             知识蒸馏(Teacher Network+Student Network)来压缩Teacher Network得到Student Network。

这里一定要注意要压缩Teacher Network,故而与传统的GAN有些不同,这里判别网络D不需要调参和修改,不然怎么做到压缩?又不是动态压缩。。。。。

GAN生成对抗网络

通俗易懂的话:道高一尺,魔高一丈,道更高,魔更高。

G用来作假,D用来辨别真伪,传统的GAN是这样的:G做的越来越逼真,D辨别能力越来越强,结果G变成了伪造大师,D变成了辨伪大师,最后趋于稳定,均只有50%的机会能打败对方。

此算法将G固定为Teacher network,同时D输出不再是真假,而是Teacher network的输出,这里就要修改GAN的损失函数了,因此本算法的第二个重点图:

α,β为固定值,为调节几个loss中的比重,第一个loss是交叉熵为了让图片更真实,第二个是激活损失函数为了让生成的图片能激活Teacher Network的图片提取器,第三个是为了让生成的图片更加接近原始数据集的分布(为什么?和知识蒸馏有关)

知识蒸馏

通俗解释:学生在老师的引导下去爬老师曾经爬过无数次的山,而且这个山的道路上还留有各种老师留下的记号。

这里可能要先了解softmax函数才更好深入了解蒸馏。

此算法给出蒸馏时训练Student Network的loss,如下图:

目的:为了让学生网络的输出Ys和教师网络的输出Yt更加接近。

算法流程

最后,在这里训练GAN中的生成网络和蒸馏中的学生网络均是通过LOSS函数通过反向传播(BP算法)来更新网络参数的。

注:笔者也是菜鸡,如有错误,望各位大神指正!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值