整体结构
- 中间的神经网络是专家,专家可以有多个
- 两边的Softmax的结果用于做加权平均
- 有多少个目标就用多少个权重
- 专家神经网络是超参数,通常用4个和8个
极化现象
- 含义为Softmax输出值一个接近1,其余接近0
- 即某个专家占主导地位,几乎没有用上别的专家
- 如果是这样的话,模型就退化为了MoE模型,不会对目标做融合,失去了它的优势
解决极化问题
- 如果有 n 个专家,那么每个softmax的输入和输出都是 n 维向量
- 在训练时,对 softmax 的输出使用 dropout。Softmax输出的 n 个数值被mask的概率为 10%。每个专家被随机丢弃的概率都是10%
- 这样会强迫任务根据部分专家做预测,如果使用了dropout,神经网络会尽力避免极化的发生
- 原理为如果极化发生了而这部分又刚好被mask了,那么计算出来的数值会特别差,神经网络会尽力避免这种现象的发生
- MMoE使用了并不一定会有提升