Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

模型参数作知识通用载体,MergeNet离真正的异构知识迁移更进一步

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com。

如今,像各种智能物联网(IoT)设备这样的边缘计算设备无处不在。然而,这些设备通常受限于有限的计算资源和存储容量,导致在这些设备上部署深度神经网络(DNNs)时,往往需要使用较小的神经网络架构。虽然这些小型网络在计算上更为经济,但往往会牺牲一定的性能。

为了缓解这一限制,知识转移是解决方案之一。现有的知识转移方法主要有两种:知识蒸馏迁移学习

知识蒸馏通过训练一个紧凑的学生模型来模仿教师模型的 Logits 或 Feature Map,提高学生模型的准确性。迁移学习则通常通过预训练和微调,将预训练阶段在大规模数据集上学到的知识通过骨干网络共享应用于下游任务。

这两种传统的知识迁移方法,往往依赖于模型结构或特定任务特征 / 标签的共享元素。这种方法虽然在某些情况下效果不错,但它们一定程度上限制了知识迁移的应用范围,尤其是在更一般的情况下,模型架构,任务类型可能都不同,这些方法就显得力不从心了。

想象一下,在物联网(IoT)的应用场景中,不同的设备可能面临着截然不同的计算资源和任务需求,所执行的任务和部署的模型也是千差万别,这就给进行知识迁移带来了额外的挑战。

基于以上问题,来自来自浙江大学和上海交通大学的研究团队提出了一种更加灵活、更加通用的知识迁移方法,来应对多变的需求和挑战。这需要做到能跨越模型架构的差异,跨越任务类型的界限,甚至跨越不同数据模态之间的鸿沟,实现真正意义上的异构知识迁移。

图片

  • 论文标题:MergeNet: Knowledge Migration across Heterogeneous Models, Tasks, and Modalities
  • 论文链接:https://arxiv.org/abs/2404.13322
  • 项目地址:https://github.com/Fantasylii/mergenet

图片图 1. 知识蒸馏、骨干共享和 MergeNet 的比较

研究挑战

该团队的目标是建立一个跨异构模型架构、任务与模态的通用知识迁移框架。与传统知识迁移方法相比,存在两方面挑战:

如何实现异构模型知识的统一表示?

知识蒸馏通常利用 Logits 和 Feature Map 表示知识,但依赖于教师模型与学生模型执行任务类型。

迁移学习通常通过共享参数实现知识迁移,这要求源模型与目标模型具有相同架构,无法直接应用于模型架构可能不同的异构知识迁移场景。

如何实现异构模型知识的适配?

异构模块之间知识通常不兼容,当异构模块具有显着不同的功能时,例如在线性层和注意力机制模块之间,直接知识迁移可能会破坏原始模块的知识。

在端云环境中,云端通常采用复杂的深度学习模型,这些模型包含大量参数和复杂层次结构。相比之下,端侧设备由于计算能力和存储资源的限制,通常使用轻量化的模型。

较大的模型比较小的模型包含更高级的知识(例如细粒度的特征组合),而后者可能无法直接理解这些知识,使得传统的知识迁移方法面临适配性和兼容性的问题。

MergeNet 框架

图片

图 2.MergeNet 框架

异构模型知识表示

如上文所述,无法直接使用 Logits 和 Feature Map 作为知识表示。相比之下,权重共享更能符合研究目标,不管什么架构的模型,执行什么任务,通过反向传播迭代,最终的知识都会保存在模型参数中,这启发了该团队将模型参数作为知识的通用载体。

在探索的过程中,该团队还尝试了在异构模型之间直接进行参数共享。这种方法能应用于权重矩阵大小相同的情况,但是在其他情况下便不再有效。

他们也尝试过让大小不同的参数强行共享,例如,让一个大小为 [2, 2] 的矩阵作为大小为 [5, 5] 矩阵的子矩阵,但这种强行的操作并不有效,异构的知识需要进行适配。

另外一点,由于权重矩阵通常较大,直接在两个权重矩阵上进行操作所需要的计算资源过大,需要在适配之前进行一定的处理。为此,研究团队对模型参数进行重新编码,以低秩矩阵作为对异构知识的统一表示,消除了模型架构上的差异。

异构知识适配

简单的参数共享会导致异构模型之间的知识不兼容,该团队的思路是在模型之间引入一个参数适配器。它的任务是学习弥合异构模型参数空间的差距,促进这些参数空间内知识的直接交互,提取并融合异构模型间的知识:

图片

其中,图片图片表示知识迁移后两个模型的参数。为了综合利用两模型的知识,在此引入低秩参数知识适配器(LPKA)。该机制用于从低秩矩阵中提取知识,并合并来自不同模型的知识以生成新的参数

将低秩分解获得的 图片图片 按行 / 列展平,利用注意力机制将源模型的知识整合到目标模型中:

图片

这个过程可以类比为模型根据自身的需求,从另一个模型中提取当前最有价值的知识片段,而不是全盘接收。这允许动态调整参数映射,在整个训练过程中都能有效地适应不断变化的知识需求。

就像在小学阶段,我们学习的是加减乘除,而在大学,则会学习微积分;如果反之,在小学便一起学习微积分,不仅难以理解,而且也没有必要。

训练过程 (自学习和互学习)

回顾知识蒸馏的过程,学生模型除了根据教师的输出标签或中间层的表示计算损失,还会根据自身输出与数据标签计算损失。这好像是说,在学习的过程中,不能仅仅的去模仿老师,还要根据已经从老师那里学到的知识来产生自己的思考。

在这里,研究团队将学生从老师那里得到知识的过程称为互学习(在 MergeNet 中学习是可以相互的,学生可以变成老师,老师也可以变成学生),而学生根据知识自己学习的过程称为自学习。

基于此,他们将 MergeNet 的训练过程分为自学习和互学习两个阶段。自学习阶段,模型通过梯度下降算法优化自身参数;而互学习阶段,则涉及到模型间的知识迁移。

该团队认为,仅依赖知识迁移无法达到最佳效果,因此提出了在知识迁移过程中穿插自学习,类似于在教师指导下的自我巩固阶段。这种设计使得模型在吸收外来知识的同时,也能够巩固和优化自身的知识结构。

实验结果

研究团队在跨结构、跨模式和跨任务知识迁移这几个具有挑战性的场景中,对 MergeNet 进行了广泛的实验。

跨结构知识转移实验

使用 CIFAR-100 数据集,在 ResNet50 和 MobileNetV2 之间进行知识迁移。从一个模型的模块向结构不同的另一个模型的模块转移知识,具体是从线性分类器向卷积层转移知识。

如表 1 所示,相比于知识蒸馏,MergeNet 在 MobileNetV2 上实现了 1.02% 的 Top-1 准确率提升。

图片

跨模态知识转移实验

在 VQA v2.0 视觉问答任务和 MSCOCO 图像 - 文本检索任务上进行实验,实验模型为 X-VLM。利用一种模态的知识指导另一种模态的学习,具体是视觉编码器参数与文本编码器参数之间的知识转移。

如表 2 所示,MergeNet 在不同设置下均显著提升了准确率。表明在模态信息进入模态交互器之前进行模态编码器之间的知识转移,有助于交互器更轻松地整合来自不同模态的信息。

图片

跨任务知识转移实验

研究分类任务(IMDb 情感分类)和问答任务(SQuAD v2.0)上的跨任务知识转移效果。分别使用 BERT 和 DistilBERT 执行这两个任务。

如表 3 所示,MergeNet 在两个任务上均实现了性能提升。例如,从分类任务向问答任务转移知识,使 Exact Match(EM)得分提高了 1.72%,F1 得分提高了 2.37%;从问答任务向分类任务转移知识,使错误率降低了 0.52%。

图片

消融实验

  • 训练过程中自学习的比例的影响

该团队研究了控制训练过程中自学习比例的知识转移周期的影响。下图展示了在不同 Tcycle 系数下,MobileNetV2 和 ResNet50 在 CIFAR-100 数据集上的知识转移结果。观察到在训练过程中加入自学习可以提升性能。

例如,当 Tcycle 设置为 4 时,MobileNetV2 的性能达到了 66.51%,比没有自学习时的 60.09% 提高了 6.42%。

图片图 3. 训练过程中自学习的比例的消融实验

  • 各组件的有效性

如下表所示,通过消融研究验证了 MergeNet 中每个组件的有效性。可以使用 MLP 作为参数适配器,但这种情况下目标模型会直接采用源模型的知识,而忽略自身积累的知识,可能导致训练不稳定。与 MLP-based 参数适配器相比,MergeNet 的性能分别提高了 1.82% 和 1.31%。

图片

更多研究细节,请参阅论文原文。

理论智能物联网知识迁移
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

视觉问答技术

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

边缘计算技术

边缘运算(英语:Edge computing),又译为边缘计算,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘运算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。在这种架构下,资料的分析与知识的产生,更接近于数据资料的来源,因此更适合处理大数据。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

文本检索技术

文本检索(Text Retrieval)与图象检索、声音检索、图片检索等都是信息检索的一部分,是指根据文本内容,如关键字、语意等对文本集合进行检索、分类、过滤等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

情感分类技术

情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~