• 三分钟理解知识蒸馏


    知识蒸馏的意义

    能够压缩模型,提升模型性能

    为什么能够压缩模型?

    !!!谁知道了告诉我一下!!!

    为什么能提升模型精度?

    栗子:分类问题有三个分类:猫,狗,乌龟,实际训练过程中,比如当前的数据真实标签是:猫,模型预测出猫,狗,乌龟的概率分别是0.6, 0.3, 0.1,

    传统思路:不错,识别对了,猫的概率最高,给模型一定的奖励;

    知识蒸馏:不错,识别对了,猫的概率最高,并且狗比乌龟更像猫,给模型一定的奖励;

    总结:即便是负样本,也包含大量知识,知识蒸馏能把这部分知识也学习起来。

    大致步骤:

    1. 基于一个已经训练好的NET-T模型,该模型经过大量数据的训练准确度很高,但是模型笨重,将NET-T模型最终softmax结果进行软化,生成soft-target,继而生成loss1;

    2. 创造一个轻量模型NET-S正常前像传播,实际标签用one-hot向量表示即hard-target,生成loss2;

    3. 将loss1与loss2加权求和生成loss3;

    4. loss3用于更新NET-S网络;

    即将NET-T模型的知识迁移到NET-S上并优化性能

  • 相关阅读:
    华为软件开发云评测
    个人技术博客(α)
    结对第二次作业
    结对第一次作业----部门通
    数独设计
    2017软件工程实践第一次作业
    Alpha冲刺博客集
    个人作业——软件工程实践总结作业
    用户使用调查报告
    总结随笔(Beta)
  • 原文地址:https://www.cnblogs.com/niulang/p/13100095.html
Copyright © 2020-2023  润新知