让一个模型处理多种数据的N种方法

本文探讨了让一个模型处理多种数据的方法,包括多专家网络、生成个性化参数和Meta-learning。多专家网络通过多个独立网络和门控网络实现参数分离;生成个性化参数利用输入特征动态生成模型参数;Meta-learning则通过预训练和微调生成各类型数据的子模型。这些方法旨在平衡数据共性和差异性,提高模型泛化能力。
摘要由CSDN通过智能技术生成
微信公众号“ 圆圆的算法笔记”,持续更新NLP、CV、搜推广干货笔记和业内前沿工作解读~ 后台回复“ 交流”加入“ 圆圆的算法笔记”交流群;回复“ 时间序列“、”多模态“、”迁移学习“、”NLP“、”图学习“、”表示学习“、”元学习“等获取各个领域干货算法笔记~  后台留言”交流“,加入圆圆算法交流群~  后台留言”论文“,获取各个方向顶会论文汇总~

在一些场景我们希望模型能够兼容多种分布不同的数据,例如希望一个模型用在多种不同的场景上,或者希望模型在头部数据和长尾数据上都表现好,或者希望一个模型同时预测多个任务。都有哪些方法能够让一个模型处理多种数据呢?一种最简单的办法是,不同类型的数据增加一个单独的标识ID作为特征,输入到模型中,以此达到区分不同数据的目的。然而,这种方法可能由于某些原因无法达成预定目标,例如特征对最终预测结果影响较小、数据量差异大导致头部样本主导模型参数等情况。另一种直观的方法是不同类型的数据分别训练一个模型,这种方法的问题在于无法充分挖掘不同类型数据之间可以贡献的信息,往往无法达到最优解。

为了实现一个模型处理多种不同分布数据的能力,业内提出了很多先进的解决方法。我整理了三种类型的方法,分别是多专家网络、生成个性化参数和Meta-learning,它们都可以实现针对不同数据进行参数空间分离的作用。下面对这三类方法的几个典型工作进行介绍。

1. 多专家网络

多专家网络的核心思路是,在模型中引入多个独立、冗余的网络,并引入一个可以根据样本信息生成各个冗余网络输出结果融合权重的子网络,实现参数空间的分离。通过这种方式,直接的扩大了参数空间,并能根据每种类型数据的特点,选择最适合它的子空间。

2017年Google第一次提出了MoE模型结构:OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER(2017)。模型包括一个门控网络,输入样本特征,输出对每个Expert的选择得分,并将原来每层所有样本共享的参数,变成多组参数,每组参数被称为一个Expert。

在此基础上,Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts(KDD 2018)提出了用多专家网络(MMoE)解决多任务学习问题。网络由多个多任务共享的Expert,以及每个任务独有的Gate网络构成。每一个任务k的具体输出结果表示如下(fi表示第i个专家,gk表示第k个任务的门网络):

通过这种方式,每个Task的门网络可以基于样本信息学习如何选择一组专家进行预测。通过这种方式,实现了对于不同任务或不同数据的参数空间分割,从而让模型兼容不同类型的任务和数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值