Mixtures of experts

本小节介绍多专家模型(the mixture of experts model),该模型的思想是训练多个神经网络(也就是多个专家),每个神经网络(专家)被指定(specialize)应用于数据集的不同部分。这就是说,数据集可能有着多个不同的来源(different regimes,意思是说数据集中的数据的产生方式不同,这里我翻译成了“不同的来源”),不同来源提供的数据差距较大(但真实),因此我们为每一个来源的数据一个指定的神经网络来处理,而且模型还有一个managing neural net用来判断一个输入应该交给哪一个神经网络来处理。

对于较小的数据集,该模型的表现可能不太好,但随着数据集规模的增大,该模型的表现会有明显的提高。更重要的是,单个的模型往往善于处理一部分数据,不擅长处理另外一部分数据(在这部分数据上犯错多),而多专家系统则很好的解决了这个问题:系统中的每一个神经网络,也就是每一个专家都会有一个擅长的数据区域,在这组区域上其要比其他专家表现得好。

多专家系统是单一全局模型或者多个局部模型的一个很好的折中,但我们现在面临的一个很重要的问题就是如何将数据集分成不同的部分。下图展示了划分数据集的几种方法:按照输入到输出的映射,可以将图中数据分成两组,一组对应那条红色的抛物线,一组对应那条绿色的抛物线;仅按照输入作一个聚类的话,就被图中那条蓝色直线分成了两类。这里划分训练数据集的目的在于能够从每一个cluster中的输入和输出很好得得到一个局部模型。

下面我们来介绍使模型cooperate的损失函数,下图使用了前一小节介绍的东西,这样训练得来的模型要比单独训练每个模型的性能更好。

下图给出了averaging models为什么能够使模型cooperation的原因。下图右侧是除模型i外所有模型对某一输入的预测的平均,中间的t是目标输出,左侧 yi 是模型i的预测。当我们加上 yi 去计算一个新的平均值时,这个值肯定要更接近t,从而实现了一点点修正。所以,为了使平均值越来越接近t,我们就需要 yi 左移。

但实际上,我们希望做的是让 yi 越来越接近目标t,而这种做法就会使得模型specialization。下图给出了一个使模型specialization的损失函数。这里的损失是一个期望值,其中的 pi 是我们在处理该组输入数据时会使用模型i的概率。

多专家系统使用了第二种损失函数的形式,下图给出了示意图。在多专家系统中有一个softmax gating network,对于一个给定的输入,该网络输出每一个专家对该输入的处理的可靠度。而系统最终的损失函数就是每个专家的输出与目标的差值平方再乘上可靠度。

下图给出了两个偏导。前一个偏导得到的梯度表示一个专家应做的修正:如果该专家的可靠度( Pi )较小,那么该梯度值也就很小,也就意味着该专家(神经网络)只需要做一个很小的调整(只需要为现在犯的这个错误负很小的责任);如果该专家的可靠度( pi )较大,那么该梯度也就比较大,也就意味着该专家(神经网络)需要做一个大的修正(需要为现在犯的这个错误负很大的责任)。后一个偏导得来的梯度用来修正专家的可靠度:如果一个专家犯的错比平均错误来的小,那我们就要增大其可靠度;如果一个专家犯的错误比平均错误来的大,那我们就应该降低其可靠度。

在这一小节的最后hinton给出了多专家系统的一个更好的损失函数。

转自:http://www.w2bc.com/article/144212

多专家模型(mixture of experts)相关推荐

  1. 【待继续研究】除了专家模型,这两大模型也被普遍应用于信用评估

    66号学苑小书童:信用风险计量模型的基本技术路线是:利用借款者的特征指标和宏观经济变量,收集这些特征指标和宏观变量的历史数据,并将其应用于预测违约借款人与履约借款人.预测模型旨在评估未知借款者将来是否 ...

  2. MoSE: 多任务混合序列专家模型

    上周我们在Youtube: 多任务目标推荐今天我们继续看多任务的知识点应用. 应用场景 在Gmail中搜索时,会去查询Google Drive中的文件,而且是per-key的,即每输入一个字符,都会触 ...

  3. [Robust Tracking]视频跟踪MEEM — 多专家模型

    论文链接:http://cs-people.bu.edu/jmzhang/MEEM/MEEM-eccv-preprint.pdf 代码及demo:http://cs-people.bu.edu/jmz ...

  4. 程序人生 - 华为云 - 云享专家(Huawei Cloud Experts)

  5. 从1750亿到1.6万亿,人工智能未来:除了大模型,还有什么?

    作者 | 杨海钦 出品 | CSDN(ID:CSDNnews) 自1956年的达特茅斯会议开启"人工智能元年",该领域经过了两起两落.到2006年前后,虽然Hinton等人已发表论 ...

  6. 赠书 | 集成学习方法及应用,破解AI实践难题

    作者 | 周志华 小编说:<集成学习:基础与算法>上市一周,斩获京东IT新书销量榜第一名桂冠,并拿下京东IT图书销量总榜第二名的惊人成绩. 集成学习方法是一类先进的机器学习方法,这类方法训 ...

  7. 对《Mode-Adaptive Neural Networks for Quadruped Motion Control》一文的理解(上)

    该篇文章发表于SIGGRAPH2018,作者HE ZHANG † , University of Edinburgh.SEBASTIAN STARKE , University of Edinburg ...

  8. 集成学习方法及应用,破解AI实践难题

    集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功,并成为机器学习领域的"常青树",受到学术界和产业界的广泛关注. 集 ...

  9. 周志华教授力作,豆瓣10分好评,集成学习如何破解AI实践难题 | 赠书

    本文内容节选自<集成学习:基础与算法>一书.由南京大学人工智能学院院长周志华教授编著,中文版由其学生李楠博士翻译. 回顾机器学习最近30 年的发展历程,各种学习方法推陈出新.不断演进.但是 ...

最新文章

  1. 安装库_免费软件安装库
  2. 洗被套的时候洗衣机里面不要再放其他东西
  3. Go(GoLang)解决 cannot find package/golang.org/问题 Grpc+ProtoBuf所需的一些资源
  4. bat基础学习--bat批量执行其他bat(startcall),bat执行后暂停(调试)关闭,批量执行关闭exe----基础
  5. python 类和对象 经常用吗_python基础教程之对象和类的实际运用
  6. JAVA如何隐藏异常堆栈_java – 如何在控制台上停止打印异常堆栈跟踪?
  7. c++清空一个txt文本_Linux下常用文本处理命令大全
  8. PHP中MySQL、MySQLi和PDO的用法和区别
  9. 论MVVM伪框架结构和MVC中M的实现机制
  10. Matlab计算标准时间格式下时间差
  11. 【Java基础】Java网络编程基础
  12. darknet测试voc数据集精度
  13. 关于getc与fgetc和getchar的本质区别
  14. 文本框、密码框、文本域
  15. Cannot find module 'chalk'
  16. 硬件调试-手动吸锡枪和电动吸锡枪注意事项
  17. 直播客的张鑫焱的新创意
  18. 关键路径中最早/迟发生时间
  19. Future和Callable的使用
  20. 顶象陈树华:安全也能共享?你没看错!

热门文章

  1. 字节青训前端笔记 | 理解CSS
  2. 关于控件的基本思考——输入框、复选框、开关
  3. 一款三搭_巴黎造型师的气质穿搭,大众色系也能穿出高级感,简单又实用_
  4. 截止到目前的个人一些总结
  5. PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)
  6. HNU-操作系统OS-实验Lab1
  7. 病毒是计算机软件吗,Win10系统是否需要安装防病毒软件,例如计算机管理器?...
  8. 从零学Java(30)之递归
  9. 安装tengine及淘宝会话保持模块
  10. t430服务器连接u盘不显示器,U盘启动不了,T430I, 怎么设置