深度解析:基于混合专家(MoE)与互信息解耦的多模态知识图谱推理架构

Qwen3.5-9B

Qwen3.5-9B

文本生成
Qwen
Qwen3.5

Qwen3.5 具备以下增强特性: 统一的视觉-语言基础:通过在多模态 token 上进行早期融合训练,在跨代性能上与 Qwen3 持平,并在推理、编码、智能体和视觉理解等基准测试中全面超越 Qwen3-VL 模型。 高效混合架构:结合门控 Delta 网络与稀疏混合专家(Mixture-of-Experts),实现高吞吐推理,同时保持极低的延迟和成本开销。 可扩展的强化学习泛化能力:在百万

1. 异构特征对齐与初始化

在这里插入图片描述

  • 图谱特征structure来源于真实数据集,经过head2id以及relation2id,把实体和关系使用数字表示,然后将这些数字进行Structure Embedding查询并转化成struct_entity_embeddingstruct_relation_embedding。关于维度,在head2idrelation2id后,shape[batch_size],经过Structure Embedding后,shape变为[batch_size, dim][batch_size, r_dim](在本模型中dim = r_dim)。
  • 图像特征来源于预训练的ViT模型的Offline Visual Features,由于Offline Visual Features的维度与structure的维度不一致且差距较大,直接使用Linear映射会导致严重的语义扭曲问题,并且会引入参数增加计算量,所以在本模型中选择使用AvgPool空间池化的方法进行特征映射,并且使用降维后的特征作为img_entity_embedding,并且允许对该特征进行微调。但是由于缺乏表示relation的图像特征,所以img_relation_embedding无法使用图像特征进行表示,所以采用符合正态分布的初始化进行补充。shape经过AvgPool会发生变化[batch_size, visual_features_dim]->[batch_size, img_dim]
  • 文本特征来源于预训练的BERT模型的Offline Text Features,与图像特征类似,本模型选择使用Adaptive AvgPool的方法进行特征映射,并且使用降维后的特征作为txt_entity_embedding,并且允许对该特征进行微调。与图像特征不同的是,这里的空间池化方法是自适应的,该设计的原因是防止BERT的Offline Text Features长度不一致。同样的,也缺乏表示relation的文本特征,所以txt_relation_embedding无法使用文本特征进行表示,所以采用符合正态分布的初始化进行补充。shape经过Adaptive AvgPool会发生变化[batch_size, text_features_dim]->[batch_size, txt_dim]

2. 并行混合专家自适应层

在这里插入图片描述

2.1 总述

在这一层中,分别有Structure MoEVisual MoEText MoE三个混合专家网络,每一个混合专家网络内部有num_exps个专家,并且有一个Gate对专家的打分情况进行加权融合。

2.2 X_MoE

在这里插入图片描述

2.2.1 Expert

每一个Expert本质上由一个Dropout Layer和一个Linear Layer组成,这些专家同时对entity_embeddingrelation_embedding进行处理,以致力于从不同的角度上学习特征。这些专家的输出经过stackshape变化[batch_size, dim]->[batch_size, dim]--stack-->[batch_size, num_experts, dim]

2.2.2 Gate

Gate本质上也是一个Linear Layer和一个Softmax组成。Linear Layer通过把输入来的entity_embeddingrelation_embedding进行处理,然后输出num_experts个数字表示原始权重,然后经过Softmax后把这num_experts的原始权重映射到[0,1][0, 1][0,1]之间,成为本次混合专家的权重值。shape变化情况为[batch_size, dim]--LinearLayer-->[batch_size, num_experts]--Softmax-->[batch_size, num_experts]

2.2.3 求哈达玛积并输出

当前经过stack后的专家团原始输出的shape[batch_size, num_experts, dim]Gate的输出为[batch_size, num_experts],我们需要对得分进行unsqueeze把得分变为[batch_size, num_experts, 1],然后利用Broadcasting机制实现专家团输出与得分相乘,得到的最终加权后的结果,然后在dim=1的维度上相加,最终得到multiple_outputs [batch_size, dim]

最终返回三个值:

  • multiple_outputs [batch_size, dim]:最终加权后的专家团结果,用于后续的fuse。
  • expert_outputs [batch_size, num_experts, dim]:经过stack后的专家团成员的独立结果,用于后续解耦操作。
  • gate [batch_size, num_experts]gate对于本次样本的打分权重。

3. 自适应融合层

在这里插入图片描述

3.1 X_Modal

由于该模型有三种模态,所以在这个部分分别有Structure Modal Visual Modal以及Text Modal

在每一个X_Modal中,有multi个子模块,这些子模块分别由一层RELU 一层Linear Layer以及一层Dropout组成。每一个X_Modal的输入就是并行混合专家自适应层的对应的X_MoE的输出中的multiple_outputs [batch_size, dim]

💡 架构设计动机(Why Multi?): 这种并行 multi 个子模块的设计,借鉴了深度学习中的“多视角表征(Multi-View)”与“多头机制(Multi-Head)”思想,其核心优势在于: 1. 多维语义解耦: 知识图谱实体往往具备极其丰富的多重语义。单一的线性层容易导致特征表达同质化,而并行的 multi 个子模块能够将输入的单一向量投影到 multi 个不同的语义子空间中,从多维度全面挖掘模态的内在特征。 2. 细粒度的注意力分配: 为后续的 Attention Scorer 提供了更丰富的特征候选池。使得注意力机制不仅能在“模态与模态之间”分配权重,更能精准下钻到“同一模态的不同语义切面”进行动态打分,极大增强了模型应对复杂推理任务的表达能力。 3. 提升特征鲁棒性: 结合模块内部的 Dropout 层,多分支并行的结构避免了单点故障引起的特征丢失,提高了模型在面对噪声数据时的容错率。

3.2 动态模态注意力模块

在这里插入图片描述

该模块中含有模态数个multiAttention Scorer Block。第iAttention Scorer Block用于处理第i个所有的X_Modal[i]的输出,即第iAttention Scorer Block处理分别来自Structure Modal[i] Visual Modal[i]Text Modal[i]的输出,他们的输出shape[batch_size, dim]

3.2.1 Attention Scorer Block

在这里插入图片描述

Attention Scorer Block 的本质就是一个Linear Layer以及一些shape变换操作,最终求一个哈达玛积的模块。

三路数据到达Attention Scorer Block后,首先会被stackdim=1上组合到一起,组合后[batch_size, 3, dim]。然后经过Attention Scorer得到一个值,然后进行Softmax [batch_size, 3, dim]->[batch_size, 3, 1]--squeeze-->[batch_size, 3]--softmax-->[batch_size, 3]--unsqueeze-->[batch_size, 3, 1],其中经过softmax后的得分我们称为attention_weights [batch_size, 3] ,然后最终得分在与stack后的结果[batch_size, 3, dim]利用Broadcasting机制进行哈达玛积,最终得到的结果[batch_size, 3, dim]dim=1求和得到最终融合结果[batch_size, dim]

然后把multiAttention Scorer Block的最终融合结果[batch_size, dim]dim=1上继续stack,堆叠后[batch_size, multi, dim],然后在dim=1上直接求和得到融合后的最终结果x_mm [batch_size, dim]

最终返回两个值:

  • x_mm [batch_size, dim]:最终三个模态融合后的结果。
  • attention weights [batch_size, 3]:最后一个Attention Scorer Block的权重值。

4. 互信息估计器

从输入的数据来看,互信息估计器接受的数据分别来源于并行混合专家自适应层的对应模态的expert_outputs [batch_size, num_experts, dim],即经过stack后的专家团成员的独立结果。互信息估计器就是利用各个模态下的专家团成员的独立结果,来计算互信息的。

4.1 理论基础

4.1.1 互信息

互信息I(X;Y)I(X; Y)I(X;Y)衡量得失两个随机变量XXXYYY之间的相关性,或者说“已知XXX的情况下,YYY的不确定性减少了多少”。

公式为:
I(X;Y)=Ep(x,y)[logp(x,y)p(x)p(y)] I(X; Y)=\mathbb{E}_{p(x, y)}[log\frac{p(x, y)}{p(x)p(y)}] I(X;Y)=Ep(x,y)[logp(x)p(y)p(x,y)]

  • p(x,y)p(x, y)p(x,y)XXXYYY的联合分布(他们同时出现的概率,即正样本对)。
  • p(x)p(y)p(x)p(y)p(x)p(y)是边缘分布的乘积(假设他们完全独立,对应代码里打乱顺序拼接在一起的负样本对)。

XXXYYY表示两个不同的专家提取的特征,如果I(X;Y)I(X; Y)I(X;Y)很高,说明两个专家学到的东西高度重合(表征塌陷)。我们要在Loss里减去这个值,强迫他们正交(解耦)。

4.1.2 CLUB(变分互信息上限)

在这里插入图片描述

真实世界中,高维特征的真实分布p(x,y)p(x, y)p(x,y)我们不知道!直接算不出来。

CLUB(Contrastive Log-ratio Upper Bound 对比对数率上界)提出了用一个神经网络qθ(y∣x)q_{\theta}(y|x)qθ(yx)去逼近真实的条件分布p(y∣x)p(y|x)p(yx),从而求出互信息的上界。

公式为:
I(X;Y)≤Ep(x,y)[log(qθ(y∣x))]−Ep(x)p(y)[log(qθ(y∣x))] I(X;Y)≤\mathbb{E}_{p(x,y)}[log(q_\theta(y|x))]-\mathbb{E}_{p(x)p(y)}[log(q_\theta(y|x))] I(X;Y)Ep(x,y)[log(qθ(yx))]Ep(x)p(y)[log(qθ(yx))]

  • Ep(x,y)[log(qθ(y∣x))]\mathbb{E}_{p(x,y)}[log(q_\theta(y|x))]Ep(x,y)[log(qθ(yx))]:正样本对对数似然positive
  • Ep(x)p(y)[log(qθ(y∣x))]\mathbb{E}_{p(x)p(y)}[log(q_\theta(y|x))]Ep(x)p(y)[log(qθ(yx))]:负样本对对数似然negative
  • 两者的差值求平均就是变分互信息上限。

高斯分布的概率密度函数 (PDF) 公式是:
P(y∣x)=12πσ2exp⁡(−(y−μ)22σ2) P(y|x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(y-\mu)^2}{2\sigma^2} \right) P(yx)=2πσ21exp(2σ2(yμ)2)

两边同时取对数(Log-likelihood,对数似然),并且忽略常数项 log⁡(12πσ2)\log(\frac{1}{\sqrt{2\pi\sigma^2}})log(2πσ21),我们就得到了核心指数部分:
log⁡P(y∣x)∝−(y−μ)22σ2 \log P(y|x) \propto -\frac{(y-\mu)^2}{2\sigma^2} logP(yx)2σ2(yμ)2

  1. mu = μ\muμ(由 self.p_mu 网络预测)
  2. logvar.exp() = elog⁡σ2=σ2e^{\log\sigma^2} = \sigma^2elogσ2=σ2(方差,由 self.p_logvar 网络预测)
  3. (mu - y_samples)**2 / logvar.exp() = (y−μ)2σ2\frac{(y-\mu)^2}{\sigma^2}σ2(yμ)2
  4. 最后在 forward 的结尾 return upper_bound / 2.0。这里的除以 2.0,完美对应了高斯分布公式分母里的那个 2σ22\sigma^22σ2 中的 2

这就是为什么神经网络只需输出均值和方差,就能通过高斯假设计算出概率!

4.2 互信息估计器

在这里插入图片描述

每次会随机选择两个专家x和专家y。即对于Structure MoEText MoE以及Visual MoE的专家团中分别选择专家x和专家y。然后输入他们的专家团的独立信息expert_outputs [batch_size, num_experts, dim]。然后单独取这两个专家的信息,shape[batch_size, dim]

通过随机打乱索引,把原本不配对的 X 和 Y 强行凑在一起,以此来构造【负样本对】。

通过变分推断网络1(均值方差)变分推断网络2(对数方差)对于输入的X[batch_size, dim]分别预测mulogvar。然后计算【正样本对】的对数似然和【负样本对】的对数似然[batch_size, dim]。然后就可以计算互信息上界upper_bound

5. Multi_MoE

在这里插入图片描述

  • 获取headrelation的ID [batch_size]
  • 实体特征查表 X_head = self.X_entity_embedding(head) [batch_size, dim]
  • 经过X_MoE,得到e_embed即MoE加权后的综合意见 [batch_size, dim] 以及未经融合的专家团的独立专家意见结合disen_X [batch_size, num_experts, dim]
  • 关系特征查表本质上是对关系IDrelation [batch_size]经过relation_embedding的查询将relation映射成r_embed [batch_size, r_dim](r_dim=dim)。然后r_img_embed, r_txt_embed = r_embed, r_embed。这属于一种参数共享策略,因为关系作为抽象谓词,本身存在模态缺失问题。
  • e_embedr_embed分别传入Adapt Fusion Layer得到融合后的e_mm_embedr_mm_embed
  • 计算预测得分,原理是head×relation=tailhead \times relation = tailhead×relation=tailpred_s = e_embed * r_embed, pred_s [batch_size, dim]。得到pred_s, pred_i, pred_d, pred_mm
  • 得到所有实体的权重 all_s, all_v, all_t [num_entities, dim],并且把这三个实体的Embedding经过AdaptFusion Layer,获得三种模态融合后的融合实体Embedding all_f [num_entities, dim]
  • 然后将预测出的pred_X [batch_size, dim]all_X.transpose(1, 0) [dim, num_entities]相乘,得到新的pred_X_score [batch_size, num_entities]。此时pred_X_score中的每一个batch中的num_entities个数字就表示该head * relation 对应所有实体的可能性,然后再对pred_X_score进行Sigmoid处理将每一个可能性映射到[0,1][0, 1][0,1]之间。

您可能感兴趣的与本文相关的镜像

Qwen3.5-9B

Qwen3.5-9B

文本生成
Qwen
Qwen3.5

Qwen3.5 具备以下增强特性: 统一的视觉-语言基础:通过在多模态 token 上进行早期融合训练,在跨代性能上与 Qwen3 持平,并在推理、编码、智能体和视觉理解等基准测试中全面超越 Qwen3-VL 模型。 高效混合架构:结合门控 Delta 网络与稀疏混合专家(Mixture-of-Experts),实现高吞吐推理,同时保持极低的延迟和成本开销。 可扩展的强化学习泛化能力:在百万

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Network_Engineer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值