当前位置: 首页 > news >正文

RKD论文阅读

2019

1.摘要

background

背景: 当前先进的深度神经网络通常层数很深、计算和内存成本高昂,难以部署在资源受限的设备上。

动机: 知识蒸馏(Knowledge Distillation, KD)是一种有效的方法,旨在将一个复杂的“教师模型”学到的知识迁移到一个轻量的“学生模型”中。

问题: 传统知识蒸馏方法的核心思想是让学生模型模仿教师模型对单个样本的输出激活值(例如logits或特征图),这是一种“点对点”的知识迁移。作者认为这种方式可能不是最有效的,因为它忽略了数据样本之间的相互关系,而这种关系恰恰构成了知识的关键部分。作者从语言结构主义中获得启发:一个符号(数据样本)的意义取决于它与系统中其他符号的关系。

innovation

 核心创新点: 论文提出了一个全新的视角,认为模型的知识更多地体现在它所学到的数据样本之间的结构关系中,而非单个样本的独立输出。因此,知识迁移的目标应该是让学生模型学习教师模型输出的关系结构,实现“结构对结构”的迁移。

提出新方法: 基于上述思想,论文提出了一种新颖的关系知识蒸馏 (Relational Knowledge Distillation, RKD) 框架。

具体实现: 为了实现RKD,论文设计了两种具体的损失函数:

1.距离损失 (Distance-wise loss): 惩罚教师和学生模型输出空间中,成对样本之间欧氏距离的差异。这是一种二阶关系。

2.角度损失 (Angle-wise loss): 惩罚教师和学生模型输出空间中,由三个样本组成的夹角的差异。这是一种更高阶(三阶)的关系。

2. 方法 Method

总体框架 (Pipeline)

该方法的核心流程如下:

1.给定一个教师模型T和一个学生模型S。

2.从数据集中取一个mini-batch的样本作为输入。

3.将这批样本分别输入教师和学生模型,得到各自的输出特征表示(例如,全连接层之前的特征向量)。

4.核心步骤: RKD不直接比较教师和学生的单个输出,而是从一个mini-batch的输出中构建N元组(例如,样本对或样本三元组)。

5.定义一个关系势能函数 (Relational Potential Function) ψ(·),用它来计算这些N元组的结构关系信息(例如,计算一对样本的距离,或三个样本的夹角)。

6.最后,通过一个损失函数 l 来最小化教师和学生的关系信息之间的差异,即 l(ψ(teacher_outputs), ψ(student_outputs))。

7.总的训练目标函数由任务损失(如分类的交叉熵损失)和RKD损失加权组成:L_total = L_task + λ * L_RKD。

各部分细节

1.距离损失 (Distance-wise Distillation Loss, RKD-D)

输入: 一个mini-batch中任意一对样本 (xi, xj) 在教师和学生模型中的输出 (ti, tj) 和 (si, sj)。

计算:

势能函数 ψD 计算两个输出向量之间的欧氏距离。

为了消除教师和学生模型输出尺度不一致带来的影响,该距离会被mini-batch内的平均距离进行归一化。

损失函数采用Huber Loss来计算教师归一化距离和学生归一化距离之间的差异,这比L2损失更稳健。

输出: 距离蒸馏损失 LRKD-D。

2.角度损失 (Angle-wise Distillation Loss, RKD-A)

输入: 一个mini-batch中任意三个样本 (xi, xj, xk) 在教师和学生模型中的输出 (ti, tj, tk) 和 (si, sj, sk)。

计算:

势能函数 ψA 计算由这三个点形成的夹角的余弦值(例如,以 xj 为顶点,计算向量 xj->xi 和 xj->xk 的夹角余弦)。

损失函数同样采用Huber Loss计算教师和学生输出的对应角度余弦值之间的差异。

输出: 角度蒸馏损失 LRKD-A。

3. 实验 Experimental Results

实验数据集:

度量学习: CUB-200-2011, Cars 196, Stanford Online Products (SOP)。

图像分类: CIFAR-100, Tiny ImageNet。

少样本学习: Omniglot, miniImageNet。

主要实验结论:

1.向小模型蒸馏 (度量学习):

实验目的: 验证RKD能否有效地将知识从大模型迁移到小模型,并与其他KD方法进行比较。

结论: RKD的性能显著优于基线(直接用Triplet loss训练)和其他KD方法(如FitNet, Attention, DarkRank)。在Cars 196数据集上,使用RKD训练的小学生模型(ResNet18-128)的性能(82.50%)甚至远超强大的教师模型(ResNet50-512)的性能(77.17%)。

2.自蒸馏:

实验目的: 验证当教师和学生模型结构相同时,RKD是否能提升模型性能。

结论: 在多个数据集上,使用RKD进行一代自蒸馏就能显著提升模型的性能。

3.与SOTA方法对比 (度量学习):

实验目的: 将RKD与当时最先进的度量学习方法进行比较。

结论: 无论使用何种骨干网络(GoogLeNet或ResNet50),RKD在所有三个基准数据集上都取得了极具竞争力的结果,在多个榜单上达到SOTA。

4.图像分类任务:

实验目的: 验证RKD的通用性,以及它与传统IKD方法的互补性。

结论: RKD同样能提升分类任务的性能。更有趣的是,将RKD与传统IKD方法(如Hinton的KD)结合使用时,性能会进一步提升,证明了它们捕捉到了互补的知识信息。

5.少样本学习任务:

实验目的: 在另一个不同的任务上验证RKD的有效性。

结论: RKD能稳定地提升Prototypical Networks在Omniglot和miniImageNet上的性能。

4. 总结 Conclusion

       神经网络中知识的核心,不仅在于它对单个样本的映射能力,更在于它为整个数据空间建立的关系结构。通过迁移这种关系知识(例如,通过距离和角度损失),可以实现比传统模仿单个输出更高效的知识蒸馏,尤其适用于度量学习这类强调样本间关系的任务。

http://www.dtcms.com/a/419219.html

相关文章:

  • 导航类网站模板自己怎么做一个企业官网
  • 广东平台网站建设制作青岛网站设计怎么选
  • 如何破除迷信思维掌握ROS1/ROS2机器人学习的唯物主义
  • 桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
  • C++聊天系统从零到一:CMake构建系统-企业级C++项目的构建利器
  • 折扣影票api?如何选择对接渠道?
  • 移动网站优化宁波企业网站制作公司
  • Oracle 闪回过期后的解决方法
  • 慧博云通受邀参加全球数字贸易博览会,两大出海案例入选“数贸故事”
  • 暴雨山洪灾害的发生与防治虚拟仿真实验
  • 【精品资料鉴赏】400页可编辑word 软件系统通用技术方案及实施方案
  • 学网站开发要多少钱高端品牌手机有哪些
  • 阿里网站怎么建设苏州网站制作排名优化
  • List容器(上)实战探索解析
  • 旅游做的视频网站二手网站排名
  • 灯带富晟 HID发收 源码 C# 三色灯源码和演示 C++
  • 怎么建设自己的论坛网站wordpress修改footer
  • Python 中四种高级特征缩放技术详解:超越标准化的数据预处理
  • TypeScript语法(类型注解:、类型断言as、联合类型|、类型守卫typeof、交叉类型、类型别名type、类型保护is)
  • 做网站时版权怎么写新型网络营销推广方式
  • 机器学习——朴素贝叶斯详解
  • 2025汽车芯片有哪些看点,将会带来哪些黑科技?
  • 管道机器人(in-pipe / in-line)避障
  • 建设监理有限责任公司网站怎么做微信点击网站打赏看片
  • LeetCode:79.跳跃游戏Ⅱ
  • 【FPGA 开发分享】如何在 Vivado 中使用 PLL IP 核生成多路时钟
  • Jupyter Notebook 两种模式:编辑模式 命令模式
  • 网站首页结构国际新闻最新消息今天 新闻
  • 网站建设投标文档阿里云市场网站建设
  • 前端用什么开发工具?常用前端开发工具推荐与不同阶段的选择指南