模型压缩之蒸馏

本文探讨了模型压缩中的教师-学生机制,重点在于如何通过KL散度和KLDivLoss来优化学生模型。除了传统的softmax损失计算外,蒸馏机制还能让学生模型从无监督样本中学习,有效增加数据量。同时解释了KL散度作为衡量概率分布差异的指标,其在模型训练中的作用。
摘要由CSDN通过智能技术生成
  • 核心:Teacher-Student 机制
  • 使用:1. Teacher 与 Student 的 softmax loss 求KL散度损失
  •            2. 另一点很少有文章提到,利用蒸馏机制可以让Sutdent学习无监督的新样本,扩大数                 据量

KL散度   

KL散度,又叫相对熵,用于衡量两个分布(离散分布和连续分布)之间的距离。

p(x) 、q(x) 是离散随机变量的两个概率分布,则 pq 的KL散度是:

 

KLDivLoss 

class KLDivLoss(_Loss):
    __constants__ = ['reduction']
    def __init__(self, size_average=None, reduce=None, reduction='mean'):
        super(KLDivLoss, self).__init__(size_average, reduce, reduction)
    def forward(self, input, target):
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值