当前位置: 首页 > news >正文

知识蒸馏知识点

 1基于kl散度计算,学生模型需要用log_softmax处理

2 为了避免温度对梯度的影响,loss*T**2

操作 目的
教师 / 学生输出除以  软化概率分布,暴露类别间关系
损失乘以  抵消温度对梯度的缩放,维持梯度量级稳定,确保训练收敛性

 

import torch
import torch.nn.functional as F

# 原始logits(未缩放)
z_teacher = torch.tensor([[3.0, 1.0, 0.5]])
z_student = torch.tensor([[2.5, 0.8, 0.3]], requires_grad=True)  # 直接启用梯度

# 温度参数
T = 4.0

# 计算KL散度损失(带温度缩放)
P = F.softmax(z_teacher / T, dim=1)
log_Q = F.log_softmax(z_student / T, dim=1)  # 此时梯度已追踪

# 损失计算
loss_unscaled = F.kl_div(log_Q, P, reduction='batchmean')
loss_scaled
http://www.dtcms.com/a/29878.html

相关文章:

  • C#初级教程(1)——C# 与.NET 框架:探索微软平台编程的强大组合
  • 人工智能之数学基础:深入解析与应用线性空间中的基
  • 嵌入式之PWM
  • 【文件夹合并——树链剖分,树状数组】
  • Java爬虫获取亚马逊商品信息:按关键字搜索的实战指南
  • HarmonyOS NEXT技术全景与未来趋势指南(API12+)
  • 3D打印注塑件-省模具费90%的解决方案
  • 【mysql共享锁与排他锁】
  • HTTP入门
  • BGP配置华为——路径优选验证
  • DeepSeek 细节之 MLA (Multi-head Latent Attention)
  • 二级公共基础之数据结构与算法篇(八)排序技术
  • 优先级队列
  • 登录-03.登录校验-会话技术
  • vue和微信小程序处理markdown格式数据
  • 进程(Process)
  • LLVM编译器简介
  • QUdpSocket的readyRead信号只触发一次
  • C++面试题,进程和线程方面(1)
  • Markdown 与富文本语法对照全解析
  • 使用Java爬虫获取1688 item_get_factory 接口的工厂档案信息
  • LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
  • PostgreSQL‘会用‘到‘精通‘,学习感悟
  • 《Keras 3 :使用 Vision Transformers 进行物体检测》
  • Qt开发⑥Qt常用控件_下_多元素控件+容器类控件+布局管理器
  • RabbitMQ 消息队列 优化发送邮件
  • 通信系统中物理层与网络层联系与区别
  • Linux下基于root指定用户执行命令的方法
  • OpenHarmony分布式数据管理子系统
  • JAVA-执行计划,表级锁,行级锁