知识|知识蒸馏在工业缺陷检测轻量模型中的应用|陈鹏光主讲回顾( 二 )
02
思谋发表于CVPR2021和ICCV2021的研究成果
文章插图
首先上图是我们在CVPR2021的一篇工作,翻译成中文大概是“一种基于温故而知新的知识蒸馏方法”。我们先回顾一下人类是怎么做一道数学题的,大家肯定都做过数学题,一般来说一道题你可能会分为几步,比如说第一步、第二步、第三步算了什么,最后这个问题被解决了。其实我们也可以把神经网络处理一张图片想成类似的一个过程,比如说这个图片经过第一步得到一些中间层的特征,这些特征再经过第二步、第三步、第四步从而得到最终的结果。一般来说我们这里面每一步就是指的是网络的每一个阶段,或者说是每一个stage,这样我们可以把之前的一些知识蒸馏方法理解成学生在解决这个问题的时候,比如在做第一步的时候,他会去看一下教师模型是怎么做的,然后他去学习教师模型的做法。在做第二步的时候,也去看一下教室模型第二步是怎么做的,以此类推,他在做每一步的时候,都可以去学习一下教师模型当前是怎么做的,从而可以取得一个更好的效果,也就是说我们会学习教师模型当前的一个做法。
其实复习这个概念应该是在我们学习中经常会遇到的,就是说你在做后面的步骤的时候。比如说我在做第三步的时候,我可能想一想我第一步是怎么做的,去看一下,可能对于接下来怎么做会有一个更好的启发。我们就想是不是在神经网络的学习过程中,也会存在一个类似于这样的现象,所以我们就尝试让这个学生模型去学习教师模型前面几步是怎么做的。比如说在学生模型做第四步的时候,他不仅学习教师模型第四步的做法,他还会去复习教师模型在前三步的时候是怎样做的,通过复习这样一个过程,就可以得到一些之前可能你落下来的知识,从而可以得到一个比只学习当前这一步更好的效果。
文章插图
大家都知道计算机视觉从某种程度上来说是一个实验学科,所以我们做了一些实验去验证我们之前的一些想法。上图是之前的知识蒸馏的一个简单的流程示意图,左边是教师网络,右边是学生网络,学生网络和Ground Truth label做一个loss结果是69.1。接下来,我们尝试用不同层的教师网络和学生网络之间的蒸馏的结果,然后记录在左上角的表格中。首先我们尝试用相同的层去做蒸馏,它的结果是汇总为左上到右下对角线的3个值,我们可以看到,如果你选取一些比较合适的层,它能够得到一些最好的结果;接下来我们尝试用不同层的之间的一些蒸馏,看看会取得怎样的一个效果。结果为左下角的3个值,在这些实践过程中我们发现,你在学生网络在做第三步的时候,如果你去复习第一步的一些做法,其实也是会有提升的,大家可以从上面的表格里面看出来,就是说用学生网络的第三层,去学习教师网络的第一层,其实它也是能够提升的。
既然表格下半部分已填完,现在尝试下上半部分它的结果是怎样的。比如说如果在学生网络做第一步的时候,就让他去学习教师网络第三步的解法会怎样?结果表现为表中右上角的3个值,我们会发现这样做不但不会有提升,反而会有害,这其实从直观上来说也很好理解。就是说你做事情的时候不能好高骛远,你在做第一步的时候就去想着第三步怎么做,其实是会有害处的,这个和我们很多人生中的一些事情也是相通的。我们在做后面事情的时候,去复习一些前面的知识会有好处,但是你在前面做事情的时候,就去想着后面一步要怎么做,反而会有害处。
- meta|促进更逼真AR/VR体验,Meta正在开发全新空间音频工具
- 在昨日推文中,王者荣耀将以“____文化”为主题推出限定皮肤,为乡村振兴加油? 王者荣耀6月28日每日一题答案
- ColorOS|绿厂又在憋大招?新系统和新产品接踵而至
- 零售业|确定涨价!iPhone14四款新机全面涨价!国行也在其中!
- 数字化转型|新一代iPad Pro正在路上 外观、配置大升级
- 月球也在太阳系的宜居带中,为何不能产生生命?原来个头太小了
- 在南极3500米的深海,科学家发现新物种,这是个透明的肉球?
- 新发现恐龙可能在灾难性的太空岩石撞击地球之前就已经灭绝了
- 土星环比恐龙还要年轻?这些宇宙冷知识很少有人知道
- 中美科学家在琥珀中发现1亿年前的虱子,它们以恐龙羽毛为食
