[发明专利]一种基于重要数据进行知识蒸馏的方法在审
| 申请号: | 202211230860.5 | 申请日: | 2022-10-09 |
| 公开(公告)号: | CN115600668A | 公开(公告)日: | 2023-01-13 |
| 发明(设计)人: | 崔凯;张帆 | 申请(专利权)人: | 南京工业大学;绍兴兰红智能科技有限公司 |
| 主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04;G06V10/82;G06V10/44 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 211816 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 重要 数据 进行 知识 蒸馏 方法 | ||
1.一种基于重要数据进行知识蒸馏的方法,该方法首先根据训练数据对测试数据的影响力分数来挑选出影响力分数排名靠前的训练数据,然后再利用这一部分训练数据来进行知识蒸馏,其中:
选取重要的训练数据时候我们采取利用记录模型参数梯度下降的方法来量化数据对模型的影响,通过将训练数据和测试数据对模型参数梯度下降的方向和距离做点积得到训练数据对测试数据的影响力分数;
知识蒸馏通将一个网络模型结构较为复杂、网络性能较好的模型作为教师模型(T-Net),将另一个网络模型结构较为简单、网络性能较差的模型作为学生模型(S-Net),然后在S-Net训练的时候先将训练数据放入到T-Net中产生关于训练数据的知识,然后再利用这个事实来指导S-Net的训练,从而提高S-Net的性能。
2.一种基于重要数据进行知识蒸馏的方法,包含步骤如下:
步骤1:对T-Net进行训练:首先将T-Net在数据集上进行训练,在多个训练的epoch后,使得T-Net达到最好的性能,这时停止T-Net的训练并将T-Net保存下来;
步骤2:求训练数据对测试数据的影响力分数:将训练数据和测试数据分别输入到训练好的T-Net中,然后再利用不同的训练数据和测试数据对T-Net的参数下降方向的影响,来计算出训练数据对测试数据的影响力分数;影响力分数大则说明该训练数据对测试数据的预测有支持的效果,该训练数据在模型中的训练能更加有利于模型性能的提高;
步骤3:挑选出重要的训练数据:由于训练和测试的数据可能很多,如果对每一个训练数据求对每一个测试数据的影响力分数将会花费很长的时间,所以我们选取每一类测试数据中具有代表性的训练数据;然后将所有的训练数据与选取出来的这些测试数据求影响力分数,最后对影响力分数进行排序,挑选出影响力分数排名靠前的训练数据;
步骤4:利用挑选出的训练数据进行知识蒸馏:将步骤3提取的具有代表性的训练数据来进行知识蒸馏,执行如下操作;
步骤4.1:首先将挑选出的训练数据放入到T-Net中,然后通过T-Net会产生该训练数据的一个logits,这个logits是T-Net输出的该训练数据属于每一类的得分;然后再将这个训练数据输入到S-Net中,同样也会产生一个logits,这个logits是S-Net输出的该训练数据属于每一类的得分;将S-Net和T-Net产生的logits进行KLDivLoss的运算,最后将结果记为Lsoft;
步骤4.2:将训练数据输入到S-Net中产生的logits进行softmax运算,最后会得到改训练数据为某一个类别的概率,最后将结果记为Lhard;
步骤4.3:将步骤4.1的Lsoft和步骤4.2的Lhard分别进行加权求和,最后得到S-Net的最终KDLoss=αLsoft+βLhard;将挑选出来的训练数据根据教师的指导然后根据这个KDLoss来进行反向传播来更新S-Net的参数,并最终得到性能达到最好的S-Net。
3.根据权利要求2所述的基于重要数据进行知识蒸馏的方法,对性能和时间进行比较,最后将步骤4.3得到的S-Net在不同的训练数据量下与标准的T-Net以及不进行知识蒸馏的S-Net进行性能和运算成本的比较;在性能比较方面主要是比较不同模型的测试准确度,在运算成本比较方面主要是比较模型的运行所占用的内存以及训练时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京工业大学;绍兴兰红智能科技有限公司,未经南京工业大学;绍兴兰红智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211230860.5/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





