首页 > 其他分享 >Outrageously Large Neural Networks The Sparsely-Gated Mixture-of-Experts Layer

Outrageously Large Neural Networks The Sparsely-Gated Mixture-of-Experts Layer

时间:2024-05-10 10:22:25浏览次数:21  
标签:Layer Mixture Sparsely expert cdot text noise MoE

目录

Shazeer N., Mirhoseini A., Maziarz K., Davis A., Le Q., Hinton G. and Dean J. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. ICLR, 2017.

Mixture-of-Experts (MoE).

MoE

  • 通过一 gating network 选择不同的 expert:

    \[y = \sum_{i=1}^n G(x)_i E_i(x), \]

    若 \(G(x)_i = 0\), 则我们不需要计算 \(E_i(x)\).

  • \(E_i(x)\) 可以是任意的网络, 所以现在的问题主要是如何设计 \(G\). 倘若我们希望选择 \(k\) 给 experts, 可以:

    \[G(x) = \text{Softmax}( \text{KeepTopK}(H(x), k), ) \\ H(x)_i = (x \cdot W_g)_i + \text{StandardNormal}() \cdot \text{Softplus}((x \cdot W_{noise})_i), \\ \text{KeepTopK}(v, k)_i = \left \{ \begin{array}{ll} v_i & \text{if } v_i \text{ is in the top} k \text{ elements of } v. \\ -\infty & \text{otherwise}. \end{array} \right . \]

  • 特别的是, 这里加了高斯噪声, 并用 \(W_{noise}\) 去调节不同位置的噪声的比重, 从而可以实现负载平衡 (?).

训练

  • 如果不对 \(G\) 加以额外的限制, 容易出现某些 experts 持续获得较大的权重, 所以本文引入了一个 soft constraint

    \[L_{importance}(X) = w_{importance} \cdot CV(Importance (X))^2, \\ Importance(X) = \sum_{x \in X} G(x) \]

    CV 作者说是 variation, 是方差吗?

  • 有了 soft constraint, 依然会出现每个 expert 接受的样本数量的差别很大 (有些 expert \(i\) 可能会接受很少的样本但是其上 \(G(x)_i\) 都很大, 有些 expert \(i\) 可能接受很多的样本, 但是其上 \(G(x)i\) 都很小). 所以作者额外添加了对于选择概率的约束.

  • 对于样本 \(x\), expert \(i\) 被选择的概率为 (感觉这个定义应该是有问题的)

    \[P(x, i) = Pr\bigg( (x \cdot W_g)_i + \text{StandardNormal}() \cdot \text{Softplus}((x \cdot W_{noise})_i) > kth_excluding (H(x), k, i) \bigg). \]

    其中 \(kth_excluding(v, k, i)\) 表示 \(v\) 中的 k-th 大的值 (排除 \(i\)).

  • 所以,

    \[P(x, i) = \Phi( \frac{(x \cdot W_g)_i - kth_excluding(H(x), k, i)}{ \text{Softplus}((x \cdot W_{noise})_i) } ). \]

  • 定义

    \[Load(X)_i = \sum_{x \in X} P(x, i), \]

    \[L_{load}(X) = w_{load} \cdot \text{CV}(Load(X))^2. \]

标签:Layer,Mixture,Sparsely,expert,cdot,text,noise,MoE
From: https://www.cnblogs.com/MTandHJ/p/18183727

相关文章

  • SciTech-BigDataAIML-Tensorflow-Keras API-Layers的API
    https://keras.io/api/layers/KeraslayersAPILayersarethebasicbuildingblocksofneuralnetworksinKeras.Alayerconsistsofatensor-intensor-outcomputationfunction(thelayer'scallmethod)andsomestate,heldinTensorFlowvariables(th......
  • failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar:
    系统:麒麟V10处理器:飞腾2000,aarch64原因:安装算能,TPU-mlir环境产生 官方教程地址:2.开发环境配置—TPU-MLIR0.7文档(sophgo.com)从DockerHub https://hub.docker.com/r/sophgo/tpuc_dev 下载所需的镜像:dockerpullsophgo/tpuc_dev:latest 产生错误 sia......
  • pdf.js源码分析-textLayer中的坐标计算
    在pdf.js中显示pdf内容和选择pdf文字属于不同的层,一个是canvas绘制,一个是使用dom进行布局,那么接下来先看一下在textLayer中的文字节点div是怎么计算每段文字的布局位置的吧。首先找到pdf.js源码中的text_layer.js文件,然后得到下面方法appendText方法,下面的解释是在字体没有发生旋......
  • Fighting EX Layer
    https://www.3dmgame.com/news/201806/3735423.html      ......
  • How to Jump Forward or Backward in VLC Media Player for 1 Second in Windows 10?
    https://www.youtube.com/watch?v=4LkEecm4UX8&ab_channel=TechMeSpot HowtoJumpForwardorBackwardinVLCMediaPlayerfor1SecondinWindows10?Step1:OpentheVideoinVLCMediaPlayer,andthenpausethevideo.Step2:Clickon'Tools'......
  • PlayerSettings.WebGL.emscriptenArgs设置无效的问题
    1)PlayerSettings.WebGL.emscriptenArgs设置无效的问题2)java.lang.NoSuchMethodError的不明崩溃问题3)UE电影摄像机旋转问题4)Android设备游戏切后台后唤起,有概率变卡且黑屏这是第383篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更......
  • MPV PLAYER播放器 快捷键  2024版本
    MPVPLAYER播放器快捷键 2024版本#MBTN_LEFT忽略#什么都不做#MBTN_LEFT_DBL循环全屏#切换全屏#MBTN_RIGHT循环暂停#切换暂停/播放模式#MBTN_BACK播放列表前一个#跳到前一个文件#MBTN_FORWARD播放列表next#跳到下一个文件#鼠标滚轮、触摸板或其他具有轴的输入设备#如果输......
  • MPV PLAYER video settings 视频设置
    ###################videosettings####################Startinfullscreenmodebydefault.#fs=yes#forcestartingwithcenteredwindow#geometry=50%:50%#don'tallowanewwindowtohaveasizelargerthan90%ofthescreensize#autofit-larger=90......
  • OpenLayers9.1.0版本正式发布,OpenLayers9.1.0值得升级吗?9.1.0版相比9.0.0版本又更新了
    Vue+OpenLayers中文教程推荐,不同于OpenLayers官方文档使用html+js原生原生教程,博主专栏包含大量vue整合案例和实际开发案例,非常适合地图开发小白快速入门。OpenLayers6教程vue整合OpenLayers6入门教程:《Vue+OpenLayers6入门教程》vue整合OpenLayers6实战中文教程,包含大量O......
  • 启动程序时出现GifPlayer.ocx未注册或找不到控件问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个GifPlayer.ocx文件(挑选合适的版本文件)把它放......