- 8
- 0
- 约1.2千字
- 约 7页
- 2025-06-21 发布于山东
- 举报
蒸馏网络;
蒸馏网络最早由Hinton在2015年提出,最早用于将多个不同模型中的规律和知识集成到单个模型中.
蒸馏网络常用于模型压缩与加速、迁移学习中,能够压缩模型参数和大小,或能够提升模型的性能.蒸馏学习在目标分类、目标检测、图像分割等下游任务中均发挥了重要作用。
蒸馏学习主要有两个技术方向:模型压缩和模型增强。
前者能够加速模型的大小、提高推断速度;或者能够提高模型性能;
举例:激活前的logits的值为[1,2,3]
T=1,输出Softmax激活后的概率值[0.09003,0.24473,0.66524]
更锐化
T=2,输出Softmax激活后的概率值[0.18632,0.30720,0.50648]
更平滑;
KL散度又称相对熵,描述两个概率分布的差异衡量一个分布P相对于另一个分布Q的信息损失
DKL(P||Q)=H(P,Q)-H(Q)
reduction=batchmean,求当前批中所有样本的KL散度损失的平均值;
1)当GT/真实类别/目标值是One-Hot编码形式时:
CrossEntropyLoss又称为SoftmaxCrossEntropyLoss(Softmax交叉熵损失,先用Softmax激活,再使用交叉熵损失)此时,yi是输入样本对应的真实值,One-Hot编码0,?,1,0,?,yi非零即一,且只有yt=1;;
蒸馏学习过程
蒸馏模块
Teacher模型提前训练软分类损失
Student模型仅初始化
算法每次读取一幅图像:
Teacher模型预测一次,Softmax激活一次
Student模型预测一次,Softmax激活两次
蒸馏网络的损失函数
L=αLD+βLC
LD=KL(pi,qi)或JSpi,qiKL分布期望Student模型与Teacher模型的预测结果越接近越好
LC=?log(ht)
pi是Teacher模型在输入图像的预测概率,Softmax激活函数,T=t;qi是Student模型在输入图像的预测概率
ht是输入图像对应的真实类别上的预测概率,Softmax激活函数,T=17
原创力文档

文档评论(0)