来源:机器学习研究组订阅

Bengio 等研究者刚「出炉」的预印本论文,探讨了机器学习系统的一个重要方向问题。

深度学习研究者从神经科学和认知科学中汲取灵感,从隐藏单元、输入方式,到网络连接、网络架构的设计等,许多突破性研究都基于模仿大脑运行策略。毫无疑问,近年来在人工网络中,模块化和注意力经常被组合使用,并取得了令人印象深刻的结果。

事实上,认知神经科学研究表明,大脑皮层以模块化的方式表示知识,不同模块之间进行通信,注意力机制进行内容选择,这也就是上述提到的模块化和注意力组合使用。在近期的研究中,有人提出,大脑中的这种通信方式可能对深度网络中的归纳偏置有意义。这些高级变量之间依赖关系的稀疏性,将知识分解为尽可能独立的可重组片段,使得学习更有效率。

尽管最近的许多研究都依赖于这样的模块化体系架构,但研究者使用了大量的技巧以及体系架构修改,这使得解析真正的、可用的体系架构原则变得具有挑战性。

机器学习系统正逐渐显露出更稀疏、更模块化架构的优势,模块化架构不仅具有良好的泛化性能,而且还能带来更好的分布外(OoD) 泛化、可扩展性、学习速度和可解释性。此类系统成功的一个关键是,用于真实世界设置的数据生成系统被认为由稀疏交互部分组成,赋予模型类似的归纳偏置将是有帮助的。然而,由于这些真实世界的数据分布是复杂和未知的,该领域一直缺乏对这些系统进行严格的定量评估。

由来自加拿大蒙特利尔大学的 Sarthak Mittal、Yoshua Bengio、 Guillaume Lajoie 三位研究者撰写的论文,他们通过简单且已知的模块化数据分布,对常见的模块化架构进行了全面评估。该研究强调了模块化和稀疏性的好处,并揭示了在优化模块化系统时面临挑战的见解。一作及通讯作者 Sarthak Mittal 为 Bengio 和 Lajoie 的硕士生。

  • 论文地址:https://arxiv.org/pdf/2206.02713.pdf

  • GitHub 地址:https://github.com/sarthmit/Mod_Arch

具体而言,该研究扩展了 Rosenbaum 等人的分析,并提出了一种方法来评估、量化和分析模块化架构的常见组成部分。为此,该研究开发了一系列基准和指标,旨在探索模块化网络的效能。这揭示了有价值的见解,不仅有助于识别当前方法的成功之处,还有助于识别这些方法何时以及如何失败的。

该研究的贡献可总结为:

  • 该研究基于概率选择规则来开发基准任务和指标,并用基准和指标来量化模块化系统中的两个重要现象:崩溃(collapse)和专业化(specialization)。

  • 该研究提炼出常用的模块化归纳偏置,并通过一系列模型进行系统地评估,这些模型旨在提取常用的架构属性(Monolithic, Modular, Modular-op、GT-Modular 模型)。

  • 该研究发现,当一个任务中有很多潜在规则时,模块化系统中的专业化可以显著提高模型性能,但如果只有很少的规则,则不会如此。

  • 该研究发现,标准的模块化系统在专注于正确信息的能力和专业化能力方面往往都不是最优的,这表明需要额外的归纳偏置。

定义 / 术语

本文中,研究者探究了一系列模块化系统如何执行常见的任务,这些任务由我们称为规则数据的合成数据生成过程制定。他们介绍了关键组成部分的定义,包括(1)规则以及这些规则如何形成任务,(2)模块以及这些模块如何采用不同的模型架构,(3)专业化以及如何评估模型。详细设置如下图 1 所示。

规则。为了正确理解模块化系统并分析它们的优缺点,研究者考虑采用的综合设置允许对不同的任务要求进行细粒度的控制。尤其是必须在如下公式 1-3 中展示的数据生成分布上学习操作,他们称之为规则。

给定上述分布,研究者定义了一个成为其专家的规则,也即规则 r 被定义为 p_y(·|x, c = r) ,其中 c 是表示上下文的分类变量,x 是输入序列。

任务。任务是由公式 1-3 中展示的一组规则(数据生成分布)描述。不同的{p_y(· | x, c)}_c 集合意味着不同的任务。其中对于给定数量的规则,研究者在多个任务上训练模型以消除任何对特定任务的偏见。

模块。模块化系统由一组神经网络模块组成,其中每个模块都对整体输出做出贡献。通过如下函数形式可以看出这一点。

其中 y_m 表示输出,p_m 表示 m^th 模块的激活。

模型架构。模型架构描述了为模块化系统的每个模块或者单片系统的单个模块选择什么架构。在本文中,研究者考虑采用了多层感知机(MLP)、多头注意力(MHA)和循环神经网络(RNN)。重要的是,规则(或者数据生成分布)进行调整以适用于模型架构,比如基于 MLP 的规则。

数据生成过程

由于研究者的目标是通过合成数据来探究模块化系统,因此他们详细介绍了基于上文描述的规则方案的数据生成过程。具体地,研究者使用了简单的混合专家(MoE)风格的数据生成过程,希望不同的模块可以专门针对规则中的不同专家。

他们解释了适用于三种模型架构的数据生成过程,它们分别是 MLP、MHA 和 RNN。此外,每个任务下面都有两个版本:回归和分类。

MLP。研究者定义了适用于基于模块化 MLP 系统的学习的数据方案。在这一合成数据生成方案中,一个数据样本包含两个独立的数字以及从一些分布中采样的规则选择。不同的规则生成两个数字的不同线性组合以给出输出,也即线性组合的选择是根据规则进行动态实例化,如下公式 4-6 所示。

MHA。现在,研究者定义了针对模块化 MHA 系统的学习而调整的数据方案。因此,他们设计了具有以下属性的数据生成分布,即每个规则分别由不同的搜索、检索概念以及检索信息的最终线性组合组成。研究者在如下公式 7-11 中用数学方法描述了这一过程。

RNN。对于循环系统,研究者定义了一种线性动态系统的规则,其中可以在任何时间点触发多个规则中的一个。在数学上,这一过程中如下公式 12-15 所示。

模型

以往一些工作宣称端到端训练的模块系统优于单体系统,尤其是在分布式环境中。但是,对于这些模块化系统的好处以及它们是否真的根据数据生成分布进行专业化处理还没有详细和深度的分析。

因此,研究者考虑了四类允许不同程度专业化的模型,它们分别是 Monolithic(单体)、Modular(模块化)、Modular-op 和 GT-Modular。下表 1 展示了这些模型。

Monolithic。单体系统是一个大型神经网络,它以整体数据 (x, c) 作为输入,并依此做出预测 y^。系统中显式 baked 的模块化或稀疏性没有出现归纳偏置,并完全取决于反向传播来学习解决任务所需的任何函数形式。

Modular。模块化系统由很多模块组成,每个模块都是给定架构类型(MLP、MHA 或 RNN)的神经网络。每个模块 m 将数据 (x, c) 作为输入,并计算输出 yˆ_m 和置信度分数,跨模块归一化为激活概率 p_m。

Modular-op。模块化操作系统与模块化系统非常相似,仅有一点不同。研究者没有将模块 m 的激活概率 p_m 定为 (x, c) 的函数,而是确保激活仅由规则上下文 C 决定。

GT-Modular。真值模块化系统作为 oracle 基准,即完美专业化的模块化系统。

研究者表明,从 Monolithic 到 GT-Modular,模型越来越多地包含模块化和稀疏性的归纳偏置。

度量

为了可靠地评估模块化系统,研究者提出了一系列度量,不仅可以衡量此类系统的性能优势,还能通过崩溃和专业化这两种重要的形式进行评估。

性能。第一组评估度量基于分布内和分布外(OoD)设置中的性能,反映了不同模型在各种任务上的表现。对于分类设置,研究者报告了分类误差;对于回归设置,研究者报告了损失。

崩溃。研究者提出了一组度量 Collapse-Avg 和 Collapse-Worst,以此来量化模块化系统遭遇到的崩溃量(也即模块未充分利用的程度)。下图 2 展示了一个示例,可以看到模块 3 未被使用。

专业化。为了对崩溃度量做出补充,研究者还提出了以下一组度量,即(1)对齐,(2)适应和(3)量化模块化系统获得的专业化程度的逆互信息。

实验

下图表明,GT-Modular 系统在大多数情况下都最优(左)的,这表明专业化是有益处的。我们还看到,在标准端到端训练的模块化系统和 Monolithic 系统之间,前者的表现优于后者但差距不大。这两个饼图共同表明,当前的端到端训练的模块化系统没有实现良好的专业化,因此在很大程度上是次优的。

然后,该研究查看特定架构选择,并分析它们在越来越多的规则中的性能和趋势。

图 4 显示,虽然完美的专业化系统 (GT-Modular) 会带来好处,但典型的端到端训练的模块化系统是次优的,不能实现这些好处,特别是随着规则数量的增加。此外,虽然这种端到端模块化系统的性能通常优于 Monolithic 系统,但通常只有很小的优势。

在图 7 中,我们还看到不同模型的训练模式在所有其他设置上的平均值,平均值包含分类错误和回归损失。可以看到,良好的专业化不仅可以带来更好的性能,而且可以加快训练速度。

下图显示了两个崩溃度量:Collapse-Avg 、Collapse-Worst。此外下图还显示了针对不同规则数量的不同模型的三个专业化指标,对齐、适应和逆互信息:

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

模块化的机器学习系统就够了吗?Bengio师生告诉你答案相关推荐

  1. Paper:《Hidden Technical Debt in Machine Learning Systems—机器学习系统中隐藏的技术债》翻译与解读

    Paper:<Hidden Technical Debt in Machine Learning Systems-机器学习系统中隐藏的技术债>翻译与解读 导读:机器学习系统中,隐藏多少技术 ...

  2. 高效构建机器学习系统

    高效构建机器学习系统 介绍--机器学习策略是什么? 1. 构建机器学习系统 训练效果不好的时候: 获得更多数据 数据集多样性不够 训练更长时间 使用Adam而非梯度下降 尝试更大的网络 尝试更小的网络 ...

  3. B站上线斯坦福最新「机器学习系统(MLSys)」全集,小伙伴有福了!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:新智元 来源:外媒 编辑:keyu [导读]2020年秋季开始,斯坦福大学开始陆 ...

  4. 机器学习系统的弱点:需要保护它们的5个原因

    我们每日辛勤工作的最终目标就是能让生活更轻松方便,人类历史就是这样发展的.机器学习就是这样一种提升便利性的力量,它能从Spotify根据我们以前的播放列表提供的推荐,过滤垃圾邮件和网络钓鱼邮件. 虽然 ...

  5. Facebook创建新机器学习系统,用于对视频中的人脸进行“去识别化”

    据外媒报道,Facebook AI Research表示,其已经创建了一种机器学习系统,用于对视频中的个脸进行去识别化(de-identification ).像D-ID这样的初创公司和许多先前的作品 ...

  6. 观点 | AI 的偏差,取决于人们如何使用机器学习系统

    https://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247495153&idx=3&sn=c6c94c270ee859 ...

  7. Google 顶级论文:机器学习系统,隐藏多少技术债?

    来源: 全球人工智能 概要:随着机器学习(ML)社群持续积累了几年对于活跃系统(live systems)的经验,一种让人不舒服的趋势广泛地浮出水面:研发和部署机器学习系统相对来说是既快速又便宜的,但 ...

  8. 【技术分享】京东电商广告和推荐的机器学习系统实践

    讲师简介 ▲包勇军 2014年4月加入京东数字营销业务部,参与组建并带领模型团队,自主研发出京东大规模机器学习平台,同时还负责京东电商广告深度学习算法应用和优化的工作. 正文 大家好,我是来自京东的包 ...

  9. 构建机器学习系统步骤

    构建机器学习系统 我们使用机器学习预测模型的工作流程讲解机器学习系统整套处理过程. 整个过程包括了数据预处理.模型学习.模型验证及模型预测.其中数据预处理包含了对数据的基本处理,包括特征抽取及缩放.特 ...

  10. 深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升?...

    来源:知乎 原文链接:深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升? 问题: 我现在手头有一个binary classification的问题.数据量在一百万左右.每 ...

最新文章

  1. 谷歌大脑提出对智能体进行「正向-反向」强化学习训练,加速训练过程
  2. 【转】摄像头编程实例
  3. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理
  4. Linux上iptables防火墙的基本应用教程
  5. SAP UI5 Web Component的图标实现
  6. 精读《V8 引擎 Lazy Parsing》
  7. dir结构体 linux_Linux下DIR,dirent,stat等结构体详解
  8. mysql 备份表_Mysql 表的备份与恢复
  9. 框架下载_最新安卓XDA框架插件下载仓库
  10. ACDSee Photo Studio 8 for Mac(数字图象处理软件)
  11. PHP Mysql or条件排序问题
  12. 科普 | USB4的全面解读
  13. 大功率UWB模块 XZM3000 移植手册 《从DWM1000到XZM3000移植手册》
  14. javascript的数组和数组元素的遍历,实现全国省份和城市一览表
  15. idea中快速查找类和方法名
  16. 2020年8月8日美团笔试题
  17. 从零构建 React 开发环境(一) —— hello world,麻雀虽小五脏俱全~
  18. debian 修改桌面背景
  19. 惠新宸php教程_【转载】惠新宸:PHP在百度的应用现状及展望
  20. OGRE加载天龙八部场景

热门文章

  1. 关于c# naudio的几个注意事项
  2. Java 根据身份证号获取性别、年龄、出生日期等信息
  3. ssm mysql项目实战_ssm项目实战_ssm项目实战教程_ssm项目实战视频教程 _课课家
  4. 常用HSQL汇总(不定时添加)
  5. duilib加载资源
  6. 对抗神经网络(Adversarial Nets)的介绍[1]
  7. python用于pmc排产可以吗_有没有免费的PMC生产排程软件啊?
  8. vs2012 链接内置数据库 sql express 出现error 26 解决方法
  9. 计算机硬盘哒哒响,教你轻松解决硬盘异响(咔咔或者嗒嗒声)
  10. 如何绕过校园网认证,不付费就可以使用自己的网络。