【知识蒸馏2018】Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons

本文主要是介绍【知识蒸馏2018】Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【知识蒸馏2018】Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons

   论文: https://arxiv.org/pdf/1811.03233.pdf

目录

  • 一 主要思想:
  • 二 问题来源及推导模型:
    • 1. 问题及推导
    • 2.补充:
  • 三 实验结果:

一 主要思想:

  让教师网络层的神经元的激活边界尽量和学生网络的一样。所谓的激活边界指的是分离超平面(针对的是RELU这种激活函数),其决定了神经元的激活与失活。本文提出的激活转移损失,让教师网络与学生网络之间的分离边界尽可能一致。

二 问题来源及推导模型:

1. 问题及推导

  
在这里插入图片描述
  
  定义: 教师网络到最后隐藏层的函数T,相应学生为S(在激活函数之前)。为了方便,先假设教师学生最后隐藏层具有相同尺寸大小为RM
  针对图片I,相应有T(I),S(I) ∈ \in RM
  

  以前使用的损失函数中如下(1):

在这里插入图片描述
  其中激活函数 σ ( x ) = m a x ( 0 , x ) \sigma(x)=max(0,x) σ(x)=max(0,x)
  
  
在这里插入图片描述
  产生的问题: 损失(1)使学生仅仅近似老师的神经元反应,但结果的激活边界可能有很大的不同。尤其是不好区分弱反应和强反应。
  
  
在这里插入图片描述

  为了准确地转移激活边界,我们的想法是放大在激活边界附近区域的可忽略的转移损失。为了放大损失,我们定义了一个元素激活指示器函数来表示:
在这里插入图片描述
  图1的下半部分显示了使用激活转移损失的知识转移。虽然神经元反应的大小没有很好地传递,但它被训练以保持教师神经元的激活。因此,激活边界被准确地传递。考虑到激活边界在神经网络中的重要性,激活传递损失在知识传递中比均方误差更有效。

  由于ρ()是一个离散函数,激活转移损失不能通过梯度下降最小化。因此,我们提出了一个可被梯度下降最小化的替代损失。

  最小化激活转移损失类似于学习二值分类器。

   如果教师神经元是活跃的则学生神经元的反应应大于0;如果教师神经元是不活跃的,则小于0。借鉴了hinge loss:
在这里插入图片描述
  

2.补充:

  1).当老师和学生的最后尺寸不一致时,添加联通函数r:
在这里插入图片描述
  
  
  2).卷积网络同样适用。
在这里插入图片描述
  

三 实验结果:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  关于本文提出的替代损失是否使神经元激活相似。为了进行比较,我们还评估了l1和l0.5的损失函数,以及l2的损失。
  在这里插入图片描述
  最后对边缘值µ进行了消融研究。

这篇关于【知识蒸馏2018】Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/389729

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了

JAVA初级掌握的J2SE知识(二)和Java核心的API

/** 这篇文章送给所有学习java的同学,请大家检验一下自己,不要自满,你们正在学习java的路上,你们要加油,蜕变是个痛苦的过程,忍受过后,才会蜕变! */ Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。 但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。 1、java.lang包下的80%以上的类

JAVA初级掌握的J2SE知识(一)

时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。 1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道