当前位置: 首页 > wzjs >正文

上海网站开发哪家好今日国际军事新闻头条

上海网站开发哪家好,今日国际军事新闻头条,做一个b2c网站怎样做,重构网站一、概念 MMOE(Multi-gate Mixture-of-Experts)由MOE改进而来,是一种用于多任务学习的深度学习模型架构,特别适合处理具有多个目标任务的场景(搜广推领域常客)。它通过引入专家网络(Experts&…

一、概念

        MMOE(Multi-gate Mixture-of-Experts)由MOE改进而来,是一种用于多任务学习的深度学习模型架构,特别适合处理具有多个目标任务的场景(搜广推领域常客)。它通过引入专家网络(Experts)和多门机制(Multi-gate)来实现任务间的共享和独立性,解决了多任务学习中任务冲突的问题。

        在多任务学习中,多个任务共享一个模型的部分参数(通常是底层特征),但由于任务之间可能存在冲突(例如分类任务和回归任务对特征的需求不同),直接共享参数可能导致性能下降。MMOE通过引入专家网络和门机制,动态地为每个任务分配合适的专家,从而实现任务间的协作和独立性。MMOE的架构主要由以下几个部分组成:

1、专家网络(Experts)

  • 专家网络是多个独立的子网络,每个子网络负责学习特定的特征。
  • 专家网络的输出是共享的,所有任务都可以使用这些输出。
  • 专家网络的数量可以根据具体问题设置,通常是多个。

2、门机制(Gates)

  • 每个任务都有一个独立的门机制(Gate),用于为该任务动态分配专家网络的权重。
  • 门机制是一个小型的神经网络,输入是共享的特征,输出是专家网络的权重分布。
  • 门机制的输出权重决定了每个任务如何组合专家网络的输出。

3、任务特定的塔(Task-specific Towers)

  • 每个任务都有一个独立的塔(Tower),用于处理任务特定的特征并生成最终的预测。
  • 塔的输入是门机制加权后的专家网络输出。

二、原理

        设有K个专家网络和T个任务,MMOE的数学表示如下:

1、专家网络输出

        其中,X是输入特征,是第k个专家网络。

2、门机制权重

        其中,是第t个任务的门机制,是权重向量。

3、加权组合专家输出

        其中,是任务t对专家k的权重。

4、任务塔生成预测

        其中,是任务t的塔。

三、python实现

        这里直接给出MMOE的构建过程,假设我们有三个任务。后续的训练过程与普通神经网络一致,唯一需要注意的是损失函数的构建:如果每个任务使用不同的损失函数,则分别计算损失之后合并为总损失即可;否则直接使用同一个损失函数计算总损失

import torch
import torch.nn as nnclass Expert(nn.Module):def __init__(self, input_dim, hidden_dim):super().__init__()self.net = nn.Sequential(nn.Linear(input_dim, hidden_dim),nn.ReLU(),nn.Linear(hidden_dim, hidden_dim))def forward(self, x):return self.net(x)class MMoE(nn.Module):def __init__(self, input_dim, num_experts=4, num_tasks=3):super().__init__()self.experts = nn.ModuleList([Expert(input_dim, 64) for _ in range(num_experts)])# 每个任务独立门控self.gates = nn.ModuleList([nn.Sequential(nn.Linear(input_dim, num_experts),nn.Softmax(dim=-1)) for _ in range(num_tasks)])# 任务专属塔层self.towers = nn.ModuleList([nn.Sequential(nn.Linear(64, 32),nn.ReLU(),nn.Linear(32, 1)) for _ in range(num_tasks)])def forward(self, x):expert_outputs = torch.stack([e(x) for e in self.experts], dim=1)  # [batch, experts, dim]outputs = []for gate, tower in zip(self.gates, self.towers):weights = gate(x).unsqueeze(-1)  # [batch, experts, 1]combined = (expert_outputs * weights).sum(1)  # [batch, dim]outputs.append(tower(combined).squeeze())return torch.stack(outputs, dim=1)  # [batch, tasks]# 使用示例
model = MMoE(input_dim=128)
x = torch.randn(32, 128)  # 批量32,特征128
y_pred = model(x)          # 输出形状[32,3]# 虚拟三任务标签
y_true = torch.rand(32, 3)  
loss_fn = nn.BCEWithLogitsLoss()
loss = loss_fn(y_pred, y_true)
print(loss)

 

http://www.dtcms.com/wzjs/68844.html

相关文章:

  • c 动态网站开发360网站推广费用
  • 万网提供的网站建设服务的具体项目搜索引擎推广的方法有
  • wordpress相册灯箱弹窗关键词优化心得
  • fifa17做任务网站百度seo推广怎么收费
  • 日韩系成人影片成首选成都网站seo
  • 手机网站制作吧游戏推广员每天做什么
  • 网站响应速度多少合适揭阳百度快照优化排名
  • 武汉做营销型网站国内最大的搜索引擎
  • 什么网站能通过做任务赚钱百度推广按效果付费是多少钱
  • 网页制作素材十个跳转页面windows优化大师最新版本
  • 沧州建设银行招聘网站谷歌搜索引擎香港免费入口
  • 20m做网站网站建设主要推广方式
  • 青岛网站建设的流程有哪些seo优化推广多少钱
  • 电子网站建设优化公司排名
  • 上海品质网站建设今日北京新闻
  • wordpress邮件客户端北京seo优化外包
  • 网站设计怎么收费晨阳seo
  • 注册一个网站多少钱?新开网站
  • 全国网站开发公司网址有哪些
  • 潍坊企业网站建设爱站网关键词排名
  • 做co网站百度移动端排名软件
  • 微网站开发平台网页设计代做
  • 动态网站开发 课程说明优化大师平台
  • 做营销型网站一般要多少钱百度热搜榜排名今日p2p
  • 哪里有营销型网站最新报价企业网站开发公司
  • 做直销网站的公司广告主平台
  • 廊坊百度网站推广域名备案查询系统
  • 有没有傻瓜式建设网站手机网站建设平台
  • 做网站时给网页增加提醒seo搜索优化
  • 中国建设银行网站首页joy快速排名优化seo