知识蒸馏原理与PVKD论文阅读

知识蒸馏(Distilling the knowledge)

PPT来自b站

1、基础概念

在这里插入图片描述
在这里插入图片描述

个人理解:知识蒸馏的初始思想是将高精度的复杂网络迁移到(本身可能精度较低的)小网络中以便于部署?

在这里插入图片描述

  1. 引入温度T后,T的值越大,softmax结果会更soft,但有什么意义?

在这里插入图片描述
2. 模型差异大, 温度应当更小, 为什么?

上面两个问题在知识蒸馏过程(网络结构图)部分后根据个人理解进行解答

2、 网络模型与损失函数

在这里插入图片描述
在这里插入图片描述

loss① 就是为了让学生学会老师的经验,前提应该是老师要够强

在这里插入图片描述

  1. 引入温度T后,T的值越大,softmax结果会更soft,但有什么意义?
  2. 模型差异大, 温度应当更小, 为什么?

观察网络结构图发现,student loss 即一般的监督学习网络loss的T=1,并不改变其强度。
而distillation loss 的 T = t,当T比较大时,对student 与teacher 网络的预测差异也会有更大容忍度,有一种"可以学我,但不要完全照搬" 的意思
另外,对于问题2,当两模型差异较大的情况下,微小的输入变化可能会使二者的输出有较大的差异。这种情况下降低T值,可以使student的输出更趋向于拟合teacher,而减少自己的"个性"

在这里插入图片描述

up自己也做了个测试,学生精度不出所料地没有高于教师
在这里插入图片描述

核心问题: 知识蒸馏下student能够超越teacher吗?

PVKD似乎给了一个肯定的答案

PVKD (Point-to-Voxel Knowledge Distillation for LiDAR Semantic Segmentation)

看论文名字可能会以为是基于point的方法和基于Voxel的方法的融合?
其实并不是。

在这里插入图片描述

论文主要内容:

  1. 为了解决从点云中提取知识的困难,即稀疏性、随机性和变密度,我们提出了点到体素的知识蒸馏
    To address the difficulty of distilling knowledge from point cloud, namely sparsity, randomness and varying density, we propose the point-to-voxel knowledge distillation.

  2. 提出了超体素划分方法,使亲和精馏过程具有可操作性。
    we put forward the supervoxel partition to make the affinity distillation tractable.
    在这些超体素上,我们提出点与点之间和体素与体素之间的亲和蒸馏,点与体素之间的相似信息可以帮助学生模型更好地捕捉周围环境的结构信息。
    On these supervoxels, we propose inter-point and inter-voxel affinity distillation, where the similarity information between points and voxels can help the student model better capture the structural information of the surrounding environment.

  3. 对于含有少数类和遥远物体的超体素,采用困难感知采样策略进行更频繁的采样,从而显著提高了对这些困难情况的蒸馏效果。
    A difficulty-aware sampling strategy is also employed to more frequently sample supervoxels that contain minority classes and distant objects, thus remarkably enhancing the distillation efficacy on these hard cases.

  4. 在具有挑战性的nuScenes和SemanticKITTI数据集上,PVKD可以实现大约75%的mac减少2倍于Cylinder3D 模型的加速,并在所有已发表的算法中排名SemanticKITTI排行榜第一。
    Notably, on the challenging nuScenes and SemanticKITTI datasets, our method can achieve roughly 75% MACs reduction and 2× speedup on the competitive Cylinder3D model and rank 1st on the SemanticKITTI leaderboard among all published algorithms1.

下图展示了所提PVD方法更加精确(特别是对于小物体和较远的物体)
在这里插入图片描述

接下来我们分别细说前三条。

一、基本原理

1.1、point-to-voxel knowledge distillation

在这里插入图片描述

C C C: 标签数量
N N N: 点云点数
R , A , H R,A,H R,A,H : 体素个数= R × A × H R\times A \times H R×A×H
K L ( . ) KL(.) KL(.):KL散度

1.2、supervoxel partition

将整个点云划分为几个超体素,每个超体素的大小为 R s × A s × H s R_s × A_s × H_s Rs×As×Hs每个超体素由固定数量的体素组成,超体素的总数为 N s = [ R R s ] × [ A A s ] × [ H H s ] N_s = [\frac{R}{R_s}] \times [\frac{A}{A_s}] \times [\frac{H}{H_s}] Ns=[RsR]×[AsA]×[HsH],其中 [ . ] [.] [.]是向上取整。系统将抽取K个超体素进行亲和蒸馏
we divide the whole point cloud into several supervoxels whose size is R s × A s × H s R_s × A_s × H_s Rs×As×Hs. Each supervoxel is comprised of a fixed number of voxels and the total number of supervoxels is $N_s = [\frac{R}{R_s}] \times [\frac{A}{A_s}] \times [\frac{H}{H_s}] $ where ⌈.⌉ is the ceiling function. We will sample K supervoxels to perform the affinity distillation

1.3、difficulty-aware sampling strategy

首先得明确采样的目的(个人理解):

SuperVoxel的数量一定是一个不小的数目,如果对每一个SuperVoxel都进行亲和蒸馏的损失计算的话,以PVKD的计算方法(本文第1.4部分),再考虑到点云的数量级,恐怕会发生维数灾难!

为使包含较不频繁的类和较远的物体的超体素更容易被采样,提出了困难感知采样策略
To make supervoxels that contain less frequent classes and faraway objects more likely to be sampled, we present the difficulty-aware sampling strategy.

第i个超体素的权值计算如下:
在这里插入图片描述
在这里插入图片描述

1.4、Point/voxel features processing

提取按点和体素输出的知识是不够的,因为它只考虑每个元素的知识,不能捕获周围环境的结构信息
Distilling the knowledge of the pointwise and voxelwise outputs is insufficient as it merely considers the knowledge of each element and fails to capture the structural information of the surrounding environment.

在损失函数的计算上,最好保持特征的数量不变。因此,我们将保留点特征和非空体素特征的数量分别设为 N p N_p Np N v N_v Nv
As to the calculation of loss function, it is desirable to keep the number of features fixed. Hence, we set the number of retained point features and non-empty voxel features as N p N_p Np and N v N_v Nv, respectively.

如果点特征的数量大于 N p N_p Np,则通过随机丢弃多数类的附加点特征来保留 N p N_p Np点特征。
如果点特征的数量小于 N p N_p Np,将在当前特征的基础上附加全零特征,得到 N p N_p Np特征,如图3 (a)所示。
体素特征的处理方法与此类似。(方法属实粗暴)
在这里插入图片描述

在这里插入图片描述

从图4可以看出,PVD使学生和教师之间的亲和关系映射更紧密。通过PVD,属于同一类的特征被拉得更近,而不同类的特征在特征空间中被分开,从而产生一个非常清晰的亲和映射。与CD方法相比,PVD能更好地将结构知识从老师传递给学生,这有力地验证了PVD在提取激光雷达分割模型方面的优势。
在这里插入图片描述

疑惑: teacher的affinity map真的就这么清晰吗? 那么PVD是如何超越teacher(cylinder3D)的呢?

1.5、Final objective

在这里插入图片描述

二、Experiments

2.1 Implementation details

在这里插入图片描述

2.2 Experiments results

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
看这些结果都验证了前面的想法:知识蒸馏不可能达到优于原始Teacher模型的效果,最多与其持平

那么Table 1 的星号就很值得关注了!!!
论文的解释是这样:
在这里插入图片描述
可以理解为做了一些数据增强。 那么Cylinder3D如果也做了这些数据增强呢?

三、代码部分

本想对应上面所说的各项关键点找到对应代码进行分析。
但很不幸,PVKD的开源代码几乎与Cylinder3D无异!所有PVKD所提的关键方法,即第一节基本原理所有内容,都未被开源!

Reference

Hou Y, Zhu X, Ma Y, et al. Point-to-Voxel Knowledge Distillation for LiDAR Semantic Segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 8479-8488.
Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015, 2(7).
【论文精讲|无废话版】知识蒸馏

<think>好的,我现在需要帮助用户寻找关于跨模态知识蒸馏的学术论文和资料。首先,我得理解用户的具体需求。用户提到“跨模态知识蒸馏”,并且提到了几个引用,比如DisCoM-KD、IMRAM和SAM跨模态蒸馏。用户可能已经看过这些资料,但需要更多的论文或资源下载链接。 首先,我应该回顾用户提供的引用内容。引用[1]提到了一篇论文和代码,关于BEVDistill。引用[2]介绍了DisCoM-KD框架,涉及多模态到单模态的知识转移。引用[3]讨论了跨模态检索的IMRAM方法,而引用[4]涉及SAM和跨模态蒸馏,特别是基于transformer的方法。用户可能希望找到类似这些工作的其他论文,或者这些论文的具体下载途径。 接下来,我需要考虑跨模态知识蒸馏的主要研究方向和近年来的重要论文。跨模态通常涉及不同模态的数据,比如图像、文本、音频之间的知识迁移。知识蒸馏则涉及将大模型的知识转移到小模型中。结合这两个方面,我应该推荐该领域的经典和最新论文。 用户可能需要具体的下载链接,但根据常规情况,直接提供PDF链接可能有版权问题,所以可能需要指引用户到arXiv、Google Scholar或会议论文集网站查找。例如,引用[1]中的论文链接是arXiv的,可以直接访问。其他论文可能需要通过学术搜索引擎查找。 然后,我需要整理已有的引用资料,并补充其他相关论文。例如,除了用户提到的DisCoM-KD和IMRAM,还有哪些知名的跨模态知识蒸馏工作?比如,可能有“Cross-Modal Distillation with Audio-Visual Representation”或“Cross-modal Knowledge Distillation for Vision-to-Sensor Action Recognition”等。此外,会议如CVPR、ICCV、ACL等可能有相关论文。 另外,用户可能需要资料下载的资源,比如GitHub代码库、开源项目等。例如,引用[1]中的GitHub链接,用户可能希望类似的代码资源。因此,在回答中可以建议访问GitHub,搜索相关关键词,或者关注特定研究组的仓库。 还要注意用户提到的框架,如DisCoM-KD和IMRAM,可能需要更详细的说明,以帮助用户理解它们的不同之处和应用场景。比如,DisCoM-KD关注解耦学习,而IMRAM使用迭代匹配机制,这些特点可以简要提及,帮助用户判断是否相关。 此外,用户可能需要阅读资料的建议,比如综述文章,来全面了解该领域。因此,推荐最近的综述论文会很有帮助。例如,搜索“cross-modal knowledge distillation survey”可能会找到相关综述。 最后,确保回答结构清晰,分点列出推荐论文、资源平台、阅读建议等,并附上引用链接,如用户提供的[^1]到[^4]。同时,生成的相关问题需要围绕跨模态知识蒸馏的应用、方法比较、实现挑战等,帮助用户深入探索。</think>以下是为您整理的跨模态知识蒸馏领域相关资料获取方式,包含经典论文框架、代码资源和阅读建议: --- ### **一、核心论文推荐** 1. **DisCoM-KD框架** 提出基于解耦学习的跨模态知识蒸馏方法,通过分离模态特定/共享特征提升单模态分类器性能。论文重点分析特征解耦策略损失函数设计[^2]。 *获取途径*:访问[arXiv](https://arxiv.org/)搜索标题或作者名下载预印本 2. **BevDistill(BEVFormer蒸馏)** 基于鸟瞰图视角的自动驾驶跨模态蒸馏,实现激光雷达摄像头模态间的特征对齐。论文提供完整的代码实现: ```python # 代码仓库 git clone https://github.com/zehuichen123/BevDistill ``` 3. **IMRAM(跨模态检索)** CVPR 2020论文,通过迭代匹配注意力机制实现图文检索任务,其跨模态对齐思路可迁移至蒸馏任务[^3]。 4. **SAM跨模态蒸馏** 利用Transformer的token重要性分析实现加权特征适配,适用于视觉-语言模型蒸馏--- ### **二、资源获取平台** 1. **论文下载** - **arXiv**:https://arxiv.org/(搜索关键词:*cross-modal knowledge distillation*) - **CVF Open Access**:https://openaccess.thecvf.com/menu(CVPR/ICCV会议论文官方下载) - **ACL Anthology**:https://aclanthology.org/(自然语言处理相关论文) 2. **代码资源** - **GitHub**:搜索项目关键词(如*BevDistill*、*DisCoM-KD*) - **Papers with Code**:https://paperswithcode.com/(关联论文代码) 3. **数据集** - **MS-COCO**:图文多模态数据集(https://cocodataset.org/) - **HowTo100M**:视频-文本对数据集(常用于跨模态学习) --- ### **三、阅读建议** 1. **入门路径** 从综述文章入手,例如: - *《A Survey on Cross-modal Knowledge Distillation》*(2023年最新综述) - *《Knowledge Distillation: A Survey》*(IJCV 2022,含跨模态章节) 2. **重点研究方向** - **异构模态对齐**:如何处理图像-文本、视频-音频等模态差异 - **轻量化部署**:蒸馏后模型在移动端的优化策略 - **多模态协同**:蒸馏过程中保留跨模态交互能力 --- §§ 相关问题 §§ 1. 跨模态知识蒸馏如何解决模态间数据异构性问题? 2. 视觉-语言模型中常用的蒸馏损失函数有哪些? 3. 如何评估跨模态蒸馏模型的有效性? 4. 蒸馏过程中如何平衡模态特定特征共享特征? 如需具体论文的下载协助或代码复现指导,可提供论文标题/会议名称,我将进一步协助定位资源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昼行plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值