• 关于teacherstudent net的理解


    teacher student net

    顾名思义:就是老师和学生的网络,也就是老师训练好,然后教学生去怎么训练

    这里着重介绍两篇论文,

    第一篇是hinton的paper:Distilling the Knowledge in a Neural Network

    第二篇是阿里的一个paper:Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net

    首先讲第一篇paper的思路:

    这篇文章主要是两个contribution:

     1 提出了一个knowledge distilling 的过程,也就是知识蒸馏,具体的思路先训练一个大的精准的网络,然后让这个大的网络去教这个小的网络怎么学习

    2提出一种新的集成模型(esemble of models),包括一个通用模型(Generalist Model)和多个专用模型(Specialist Models),其中,专用模型用来对那些通用模型无法区分的细粒度(Fine-grained)类别的图像进行区分

    1先介绍几个名词:

    hard targets:标签(0,1,0,1,1.......)

    soft targets:经过softmax的结果(0.99,0.01,0.02,0.98......),并且这个softmax的结果还可以进一步soft,

      1什么是soft targets

                   soft targets是这里的大网络进行得到的每个类的softmax值,而具体怎么算每一个类的soft targets,取平均值

        平均值包括算数平均值和几何平均值

            2 如何得到soft targets

            2 为什么能进一步soft

    流程:

    1 先用一个大的网络(cumbersome)也就是复杂的网络去做分类,标签是hard target(1,0,1,0)也就是正常的学习,最后会

    得到每个数据的softmax的值(也就是 soft targets)

    2再用一个小的网络,标签是上面的softmax值(注:这里不是hard target(1,0,1,0),而是预测生成的最大的softmax值),这里也就是soft targets的值

    目标函数:

    distilled network输出数据 与hard target进行cross entropy(这里目的是让小模型与真实分布保持一致)拟合真实的数据

    distilled network输出数据与soft target 进行cross entropy(这里的目的是让小模型与大模型保持一致)拟合大模型

    ---------------------------------------------

    这篇paper 第二个贡献点是ensemble of modles

    也就是所谓的聚合模型,作者认为这种聚合模型可以解决细粒度的问题

    1 main model(general model):全部数据进行训练

    2     special models:针对于特殊的类进行分类,(需要不需要share models?还是一个类就是一个backbone?)

    3 过拟合?怎么解决?

  • 相关阅读:
    288 Node.js模块化开发:js开发弊端,模块的概念,模块成员导出的2种方式及其区别,模块成员导入
    287 Node.js快速入门:Node.js 的组成,Node.js基础语法,Node.js全局对象global
    286 Node开发概述,Node运行环境搭建以及安装失败解决办法
    285 H5 Web Workers
    使用nvm安装nodejs
    函数式 UI:Web开发终于摆脱了框架的束缚
    Vue渲染函数
    微信小程序使用canvas实现生成海报图的功能
    Vue中插槽指令
    Vue之nextTick原理
  • 原文地址:https://www.cnblogs.com/lllcccddd/p/10651236.html
Copyright © 2020-2023  润新知