混合专家系统(MoE)

混合专家系统(Mixture of Experts)

原理:

混合专家系统(MoE)是一种神经网络,也属于一种combine的模型。适用于数据集中的数据产生方式不同。不同于一般的神经网络的是它根据数据进行分离训练多个模型,各个模型被称为专家,而门控模块用于选择使用哪个专家,模型的实际输出为各个模型的输出与门控模型的权重组合。各个专家模型可采用不同的函数(各种线性或非线性函数)。混合专家系统就是将多个模型整合到一个单独的任务中。

混合专家系统有两种架构:competitive MoE 和cooperative MoE。competitive MoE中数据的局部区域被强制集中在数据的各离散空间,而cooperative MoE没有进行强制限制。

对于较小的数据集,该模型的表现可能不太好,但随着数据集规模的增大,该模型的表现会有明显的提高。

定义X为Nd维输入,y为Nc维输出,K为专家数,$\lambda $为学习率:

f o r   j   i n ( 0... ( d − 1 ) )   a n d   i   i n   ( 0... ( c − 1 ) ) for\ j\ in (0...(d-1))\ and\ i\ in\ (0...(c-1)) for j in(0...(d1)) and i in (0...(c1)):
各专家输出为: V i k = w i k x V_{ik}=w_{ik}x Vik=wikx

(其中 w i k w_{ik} wik为第k个专家模型对第i列输出的权重, V i k V_{ik} Vik为第k个专家对第i列的预测。( w i k w_{ik} wik添加了bias所以输出为d+1维))

第k个专家输出均值为:

m k = ∑ i = 0 c − 1 V i k m_{k}=\sum_{i=0}^{c-1}V_{ik} mk=i=0c1Vik

门限模块输出为:

g k = e m k T ∑ k e m k T g_{k}=\frac{e^{m_{k}^{T}}}{\sum_{k}e^{m_{k}^{T}}} gk=kemkTemkT

输出 y i y_i yi通过softmax函数转成概率值为:
y s i = e y i ∑ i e y i y_{si}=\frac{e^{y_{i}}}{\sum_{i}e^{y_{i}}} ysi=ieyieyi

对于Cooperative MoE:

Δ w i k = λ ( y i − y s i ) g k x \Delta w_{ik}=\lambda(y_{i}-y_{si})g_{k}x Δwik=λ(yiysi)gkx
Δ m k = λ ( y i − y s i ) ( v i k − y s i ) g k x \Delta m_{k}=\lambda(y_{i}-y_{si})(v_{ik}-y_{si})g_{k}x Δmk=λ(yiysi)(vikysi)gkx

对于Competitive MoE:
Δ w i k = λ f k ( y i − y i k ) x \Delta w_{ik}=\lambda f_{k}(y_{i}-y_{ik})x Δwik=λfk(yiyik)x
Δ m k = λ ( f k − g k ) x \Delta m_{k}=\lambda (f_{k}-g_{k})x Δmk=λ(fkgk)x
y i k = e V i k ∑ i e V i k y_{ik}=\frac{e^{V_{ik}}}{\sum_{i}e^{V_{ik}}} yik=ieVikeVik
f k = g k e ∑ i y i l o g y i k ∑ l g l e ∑ i y i l o g y i k f_{k}=\frac{g_{k}e^{\sum_{i}y_{i}logy_{ik}}}{\sum_{l}g_{l}e^{\sum_{i}y_{i}logy_{ik}}} fk=lgleiyilogyikgkeiyilogyik

实验结果:

不同数据集相同k值:
  1. k=2使用线性数据集,采用SGD和FTRL两种训练方式,结果如下:
    这里写图片描述
    这里写图片描述
  2. k=2使用非线性数据集,采用SGD和FTRL两种训练方式,结果如下:
    这里写图片描述
    这里写图片描述
相同数据集不同k值:
  1. k=1:
    这里写图片描述
    这里写图片描述
  2. k=2:
    这里写图片描述
    这里写图片描述
  3. k=4:
    这里写图片描述
    这里写图片描述
  • 11
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
专家混合模型(Mixture-of-Experts, MoE)是一种机器学习模型,用于解决复杂问题。它由多个“专家”子模型组成,每个子模型负责解决输入空间的特定子领域。这些子模型可以是不同类型的模型,如决策树、神经网络等。 MoE模型的主要思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,以确保每个子模型都能有效地处理特定类型的数据。 MoE模型的关键是学习如何分配数据给各个子模型,并且如何将各个子模型的输出进行合并。通常,这个过程是通过训练模型来实现的,使用最大化似然估计或其他类似的最优化方法。 MoE模型的优势在于它能够有效地利用不同子模型的优势,提升整体模型的性能。每个子模型专注于解决特定的问题,因此可以更好地适应不同的数据分布和特征。此外,MoE模型还可以通过动态分配和合并数据,自适应地学习不同数据分布的变化。 尽管MoE模型具有很多优点,但也存在一些挑战。例如,确定合适的子模型数量和结构可能需要一些领域知识和经验。另外,MoE模型的训练过程相对复杂,可能需要更多的计算资源和时间。 总的来说,专家混合模型是一种强大的机器学习模型,它通过将多个专家子模型组合起来,以提高整体模型的性能。它在实际应用中具有很大潜力,可以用于解决各种复杂问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值