Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

机器之心编辑部机器之心专栏

CVPR 2023 | 模块化MoE将成为视觉多任务学习基础模型

UMass Amherst 淦创团队提出了 Mod-Squad 模型,它可以从多任务大模型中提取针对单一任务的相同性能小模型,在 Taskonomy 大数据集和 PASCALContext 数据集上取得了最佳效果。

多任务学习(MTL)存在很多挑战,因为不同任务之间的梯度可能矛盾。为了利用任务之间的关联,作者引入了 Mod-Squad 模型,它是多个专家组成的模块化模型。模型可以灵活优化任务和专家的匹配,针对任务选择部分专家。模型让每一个专家只对应部分任务,每一个任务只对应部分专家,以此最大化利用任务之间的正向联系。Mod-Squad 整合了 Mixture of Expert (MoE) 层到 Vision Transformer 模型中,并引入了新的损失函数鼓励专家和任务之间的稀疏但强烈的依赖关系。此外,对于每个任务,模型都可以只保留小部分专家网络,并且性能与原来的大模型相同。模型在 13 个视觉任务的 Taskonomy 大数据集和 PASCALContext 数据集上取得了最佳效果。

图片


论文地址:https://arxiv.org/abs/2212.08066
项目地址:https://vis-www.cs.umass.edu/mod-squad/
Github地址:https://github.com/UMass-Foundation-Model/Mod-Squad

多任务学习(MTL)的目的是建模任务之间的关系,并为多种任务构建统一的模型。如图 1 所示,Mod-Squad 的主要动机就是要让专家只被一些任务更新而不是所有任务,且每一个任务只更新部分专家。这样可以利用模型的全部容量的同时避免任务间的互相干扰。

图片

图 1.Mod-Squad: 专家和任务互相选择。MoE ViT: 所有专家都被所有任务使用。

下面简单介绍下该文章。

模型结构

图片

图 2.Mod-Squad: 将专家组 (mixture-of-expert) 插入到 Vision Transformer.

如图 2 所示, Mod-Squad 的结构就是将 Mixture-of-expert (MoE) 引入 Vision Transformer (ViT)。MoE 是一种机器学习模型,其中多个专家组成了一个混合模型。每个专家都是一个独立的模型,并且每个模型对于不同的输入有不同的贡献。最后,所有专家的贡献被加权并组合在一起以得到最终的输出。这种方法的优势在于它可以根据输入图像的内容动态地选择最佳的专家并且控制计算量。

之前的 MoE 模型收敛后,可以根据不同图片使用不同的专家,但是针对某个任务,模型会收敛到倾向于使用全部专家。Mod-Squad 可以做到让模型针对图片来使用不同的专家,并且模型可以在收敛后,达到一个任务只使用一部分专家的状态。接下来介绍这是怎么实现的。

最大化专家和任务之间的 mutual information

本文提出了一个任务和专家的联合概率模型来优化专家 E 和任务 T 之间的分配。这个概率模型会用来计算专家和任务之间的 mutual information,并作为额外的损失函数来优化 MoE 里的权重网络。Mutual information 公式如下,E 和 T 的概率可以由 MoE 里的权重网络得到,具体可以参见论文。

图片

最大化任务和专家之间的 mutual information 之后,模型就可以让专家和任务拥有稀疏且非常强的依赖关系,如图 3 所示。最左边的就是 Mod-Squad 的任务使用专家频率。可以看出,Mod-Squad 的任务和专家之间有着更稀疏但尖锐的频率。

图片

图 3. 任务使用不同专家的频率图对比。横轴是不同的专家,纵轴是不同的 task,颜色深代表更高的使用频率。Mod-Squad 的频率图更加稀疏且尖锐。

这个任务和专家之间稀疏且非常强依赖关系的好处就是:

1. 相近的任务倾向于使用同一个专家;
2. 专家倾向于被一组正相关的任务使用;
3. 模型的容量被全部使用,但每个任务只使用部分容量,可以根据任务调整使用容量;
4. 可以针对特定任务从多任务大模型中提取出单任务小模型,并具有和大模型一样的性能。这个特性能用于从超大多任务模型中提取出单任务小模型。

根据任务之间分享专家的频率,模型还可以算出任务之间的相似性,如下图所示。可以看出,偏 3D 的任务之间更倾向于使用相同专家,因此更加相似。

图片                    

实验部分

Mod-Squad 可以在不损失精度的情况下针对单一任务进行剪枝,下图纵轴是性能,横轴是参数量。

图片

在大数据集 Taskonomy 上也有很大的提升,可以看到,Mod-Squad 比单纯的 MTL 平均高了 2.8 个点,并且在剪枝以后保持着一样的性能。

图片

在 PASCAL-Context 上跟其他方法的对比,Mod-Squad 比其他 MoE 方法平均高出了接近两个点。

图片

具体细节可以参照原文。
理论概率模型多任务学习
相关数据
权重技术

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

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

专家网络技术

专家网络建立在专家系统(expert system)的基础之上,它的本质是一个事件驱动性的(event-driven)神经网络。与普通神经网络不同,专家网络的线性和非线性处理更加复杂,因为它以知识库(knowledge base)和推理机(inference machine)为基础。根据知识库构造一个推理网络,用专家系统的推理规则(inference rule)定义网络节点的线性和非线性处理函数。知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。推理机是由算法或决策策略来进行与知识库内各项专门知识的推论,依据使用者的问题来推得正确的答案。因此,专家网络初始的拓朴结构由知识库确定,网络的动态性则由推理机确定。

多任务学习技术

多任务学习是机器学习的一个子领域,在该子领域中,可以同时解决多个学习任务,同时可以利用任务之间的共同点和不同点。与单独训练模型相比,这可以提高特定于任务的模型的学习效率和预测准确性。

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