ICML 2023 | 拓展机器学习的边界

编者按:如今,机器学习已成为人类未来发展的焦点领域,如何进一步拓展机器学习技术和理论的边界,是一个极富挑战性的重要话题。7月23日至29日,第四十届国际机器学习大会 ICML 2023 在美国夏威夷举行。该大会是由国际机器学习学会(IMLS)主办的年度机器学习国际顶级学术会议,旨在推动机器学习领域的学术进步。在 ICML 2023 上,微软亚洲研究院的研究员们有多篇论文入选,今天我们将为大家简要介绍其中的5篇。

回路神经网络:一种实现多种神经回路模式的通用神经网络

图片

论文链接:https://openreview.net/pdf?id=Fl9q5z40e3

近年来,人工神经网络(Artificial Neural Network, ANN)在多个领域取得了巨大的成功,这在一定程度上归功于其对人脑结构的模仿。然而,最近的神经科学进展揭示,神经元之间实际上是通过多种多样的连接模式相互交互来处理信息的,这些连接模式有时也被称作回路模式(Circuit Motifs)。但许多现有的人工神经网络只能在其架构中模拟一种或两种回路模式。例如,前馈神经网络很好地模拟了前馈回路模式,循环神经网络模拟了神经元相互连接成环的模式。这种对于不同结构的模拟差异导致了它们在不同类型的机器学习任务中会存在性能差异。

图片

图1:神经元之间的不同回路模式,绿色的神经元通过黄色神经元传入的信号更新自身的状态。从左往右,四种模式分别是前馈模式,环路模式,反馈模式和横向模式

在这篇论文中,研究员们提出了一种新型的神经网络——回路神经网络(CircuitNet),其灵感来源于对大脑神经回路结构的模拟。在 CircuitNet 中,一组密集连接的神经元——回路模式单元(CMU),形成了网络的基本单元。研究员们在 CMU 中引入神经元之间的注意力机制或者高次次项,再调整 CMU 内部的权重,这些基础单元就能够模拟更加通用的回路模式。与传统的前馈网络相比,CircuitNet 具有模拟更多类型神经元连接的能力,如反馈和横向模式。

图片

图2:CircuitNet 的模型结构。作为一个通用的神经网络,CircuitNet 可以根据输入的形式用在各种各样的下游任务中(左)。CircuitNet 由一些 CMU 通过相互间的稀疏连接构成 (中)。在单个 CMU 中,神经元间以复杂的形式稠密连接在一起从而建模通用的回路模式,例如,绿色的线连接了两个神经元,可以用来表示线性变换,而红线可以表示更高级的涉及三个神经元的变换,如神经元间的注意力机制(右)

另外,受到人脑局部密集和全局稀疏结构的启发,不同 CMU 之间通过输入端口和输出端口的稀疏连接实现了多次信号传递。

实验证明,CircuitNet 在函数逼近、强化学习、图像分类和时间序列预测等任务中均优于流行的神经网络架构。CircuitNet 不仅提供了更好的性能和灵活性,还为解决复杂的机器学习任务和认知模型奠定了坚实的基础。

带概率激发臂的上下文组合多臂老虎机问题

图片

论文链接:https://arxiv.org/abs/2303.17110

将传统的组合优化和在线学习相结合的组合多臂老虎机(combinatorial multi-armed bandit)是通过在线反馈机制来不断改进模型优化效果的。本文提出了一种新的上下文组合多臂老虎机模型 C^2MAB-T,它结合了上下文信息和概率激活模型,并基于简单而有效的线性结构假设,实现了更好的可扩展性。该模型适用于大规模推荐系统、在线广告、社交网络、无线网络等多个领域。

针对 C^2MAB-T,研究员们在多种光滑条件下设计了相应的算法并进行了理论分析。在概率激活调节(TPM)条件下,研究员们提出了 C^2-UCB-T 算法,消除了潜在的指数级大因子 1/p 对算法性能的影响,其中p表示的是任何臂被触发的最小正概率。在概率激活方差调节(TPVM)条件下,研究员们进一步提出了 VAC^2-UCB 算法,实现了每个时刻激活的臂数K对算法性能影响的更好控制,使其从 O(K) 降低为 O(log K)。需要注意的是,文中的分析技术和方差自适应算法也同样适用于 CMAB-T 和 C^2MAB,并且改进了现有算法的结果。

C^2MAB-T 模型通过仿真实验在推荐系统场景中验证了算法的性能。相较于两组现有算法,C^2MAB-T 的算法分别获得了25%和45%的性能提升。

图片

图3:基于 MovieLens-1M 数据集的实验表明,VAC^2-UCB(蓝色)在性能上超过了 C^3-UCB [Li et al., ICML'16](红色)和另一个方差感知算法 CascadeWOFUL [Vial et al., NeurIPS'22(绿色)],分别减少了45%和25%算法损失(regret)。

Magneto:一种基础的Transformer模型架构

图片

论文链接:https://openreview.net/pdf?id=oeAhgeKFEw

近年来,人们陆续见证了语言、视觉、语音以及多模态等领域中模型架构的大融合。从自然语言处理开始,Transformers 已经广泛作为视觉、语音以及多模态在内的各领域骨干网络。然而,尽管都使用同样的名字“Transformers”,但它们的实现在不同任务中存在着显著差异。在多模态模型的预训练中,对于不同的输入模态,最优的 Transformer 变体通常是不同的。图4总结了在各任务上广泛使用的先进模型的架构。视觉预训练往往使用 Pre-LayerNorm 的 Transformers,而掩码语言建模和机器翻译则使用 Post-LayerNorm 以取得更好的性能。以视觉-语言预训练为例,对于视觉编码来说,使用 Post-LayerNorm 是次优的,而对于语言任务来说,使用 Pre-LayerNorm 则是次优的。真正的多模态预训练需要一个在各种任务和模态下都能表现良好的统一架构。另外,大规模 Transformer 模型训练难、易崩溃,需要付出巨大的成本来调整超参数或监督模型的训练过程。

图片

图4:微软亚洲研究院的研究员们提出的 Magneto 在语言、语音、视觉和多模态任务上比之前最先进的骨干网表现更好。

由此,微软亚洲研究院的研究员们呼吁发展“Foundation Transformers”以实现真正的通用建模,进而提出了 Magneto。图5展示了 Magneto 的伪代码和不同架构下的示意图。可以看到,Magneto 引入了 Sub-LayerNorm,并在每个子层中增加了一个额外的层归一化来减缓预训练中遭遇的激活爆炸。此外,研究员们还拓展了 DeepNet 对于训练稳定性的分析框架,为 Magneto 提出了一种新的初始化方法,从理论上保证深层模型训练的稳定,使得 Magneto 可以无痛地进行扩展。

图片

图5:左上:Sub-LN 的伪代码。这里以 Xavier 初始化为例,可以用其他标准初始化方法替代。γ 是一个常数。右上:不同架构(N 层编码器,M 层解码器)的 γ 值。底部:不同架构下的 Sub-LN。

研究员们在广泛的任务和模态上评估了 Magneto 的性能,包括掩码语言建模(BERT)、因果语言建模(GPT)、机器翻译、掩码图像建模(BEiT)、语音识别和视觉-语言预训练(BEiT-3)。图4展示了 Magneto 在各种下游任务上显著优于现有分别设计的 Transformer 变体。而且,Magneto 在优化方面更稳定,这就使得以更高的学习率来提升下游任务性能的表现成为可能,同时不会导致训练崩溃。

环境干扰下的鲁棒情境强化学习

图片

论文链接:https://openreview.net/pdf?id=hGJLN2Ys4c

在很多实际的任务中,动态变化且不可控制的环境因子对决策过程起着重要作用,比如库存管理中的顾客需求量和自动驾驶中的前车速度,这类环境因子被为上下文(context)。强化学习在这类应用中的主要挑战之一在于,真实的上下文转移分布会暴露于某些因素的干扰下,导致上下文的转移分布发生偏移,极大地影响强化学习算法的性能。例如,在自动驾驶的跟车任务中,智能体在训练中遇到前车速度一直是正常的,但在测试的时候前车突然急刹车,导致智能体控制的车撞了上去。

为了处理这类问题,研究员们提出利用胡伯尔污染模型(Huber’s contamination model)对上下文转移分布的偏差和不确定性进行建模,并称这个框架为对形势变化鲁棒的马尔可夫决策过程。基于这个模型,研究员们把现有的强化学习算法扩展成能对上下文转移分布的扰动达到比较好鲁棒效果的算法,从而得到对形势变化鲁棒的决策。在跟车类型的机器人运动控制和库存管理的实验里,相比基础的强化学习算法和鲁棒强化学习算法,该算法达到了对于上下文扰动更好的鲁棒性能。

图片

图6:胡伯尔污染模型框架

Synthetic Prompting: 为大语言模型合成有效的思维链示例

图片

论文链接:https://openreview.net/pdf?id=RYD1UMgTdk

大语言模型可以通过链式思考(chain-of-thought prompting)来完成各种推理任务,即利用指令和任务示例引导模型生成逐步的推理过程来解决问题。在少样本的情况下,语言模型的表现很大程度上取决于任务示例的质量,尤其是在推理过程复杂且模式多样的任务上。理想情况下,科研人员们希望能获取大量且多样的示例,从中选取对模型帮助最大的示例构成任务提示词。然而,人工构建大量的示例既费时又繁琐,而仅依赖少量的人工示例则可能不利于模型泛化到更多样的测试场景当中去。

为解决上述问题,研究员们提出了 Synthetic Prompting,利用大语言模型自身的知识和生成能力,基于有限的人工示例合成更多更有效的示例,并通过合成示例触发更好的推理表现。具体而言,给定一些种子示例,每个示例由一个问题和一系列推理步骤组成,通过交替进行后向-前向过程来引导语言模型生成更多示例:(1)后向过程,语言模型根据自我采样的推理链合成一个问题,以确保问题可回答且逻辑清晰;(2)前向过程,语言模型基于合成的问题生成一个推理链,确保推理链的精确性。这个过程需一直重复直到获得足够的合成示例。

为了从合成的示例集中选择最有效的示例,研究员们提出了一种基于 in-cluster complexity 的选择方案:通过对示例进行聚类并选择每个聚类中最复杂的示例(推理链最长的示例)来最大程度地增加所选示例的多样性和信息量。最后,用所选定的示例构成提示词来进行推理测试。

图片

图7:示例合成阶段的后向过程(左图)和前向过程(右图)。在后向过程中,研究人员将主题词、所期望的推理复杂度、以及模型采样生成的推理过程(蓝色部分)作为问题合成(绿色部分)的生成条件,以分别提高所合成样本的多样性、信息量、和逻辑性。在前向过程中,语言模型为后向过程中所生成的问题合成一个更精确的推理链(紫色部分)。后向过程中生成的问题和前向过程中生成的推理过程构成一个合成示例。

Synthetic Prompting 让大语言模型同时充当任务示例的“消费者”和“生产者”,一定程度上实现推理效果的自我提升。在数值推理、算法推理和符号推理任务上的实验表明,相比于此前方法,如 chain-of-thought prompting 和 PAL prompting,Synthetic Prompting 可以实现高达15.6%的提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/16872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS/OpenHarmony元服务开发-配置卡片的配置文件

卡片相关的配置文件主要包含FormExtensionAbility的配置和卡片的配置两部分: 1.卡片需要在module.json5配置文件中的extensionAbilities标签下,配置FormExtensionAbility相关信息。FormExtensionAbility需要填写metadata元信息标签,其中键名称…

CentOS 7安装Docker

文章目录 🌞版本选择☀️1.CentOS安装Docker🌱1.1.卸载(可选)🌱1.2.安装docker🌱1.3.启动docker🌱1.4.配置镜像加速 ☀️2.CentOS7安装DockerCompose🌱2.1.下载🌱2.2.修改…

赛车游戏——【极品飞车】(内含源码inscode在线运行)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…

【Lua学习笔记】Lua进阶——Table(3) 元表

接上文 文章目录 元表__tostring__call__index__newindex运算符元方法其它元表操作 元表 Q:为什么要使用元表? A:在Lua中,常常会需要表与表之间的操作。元表中提供了一些元方法,通过自定义元方法可以实现想要的功能&…

掌握三个基础平面构成法则 优漫动游

1.图形重复:通过重复使用同一种或类似的图形元素,创造出一种有节奏、有重复感的视觉效果。这种设计手法可以使海报看起来更加统一和协调,增强视觉冲击力。 掌握三个基础平面构成法则 2.字体重复:通过重复使用同一种或类似的字体元素,创造出一种有序…

时间复杂度为O(n2)的三种简单排序算法

1.冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工作。 /*** …

[Tools: Pycharm] Bug合集

1. Debug mode:Pycharm不显示变量值(Unable to display frame variables);在python console中交互不输出值 选择Gevent compatible:File > Settings > Build, Execution, Deployment > Python Debugger >…

两种单例模式

1.单例模式分为两种,饿汉模式和懒汉模式.以下是饿汉模式: public class SingleTonHungry {private static SingleTonHungry singleTonHungry new SingleTonHungry();private SingleTonHungry() {}public static SingleTonHungry getInstance() {return singleTonHungry;} }2.…

数据包在网络中传输的过程

ref: 【先把这个视频看完了】:数据包的传输过程【网络常识10】_哔哩哔哩_bilibili 常识都看看 》Ref: 1. 这个写的嘎嘎好,解释了为啥4层7层5层,还有数据包封装的问题:数据包在网络中的传输过程详解_数据包传输_张孟浩_jay的博客…

<C++>二、 类和对象

1.面向对象和面向过程 C语言是面向过程的,关注的是过程,分析出求解问题的步骤, 通过函数调用逐步解决问题。 C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 2. C类 C…

2023 蓝桥杯真题B组 C/C++

https://www.dotcpp.com/oj/train/1089/ 题目 3150: 蓝桥杯2023年第十四届省赛真题-冶炼金属 题目描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金 属 O…

golang静态编译及编译失败排查步骤

文章目录 一、背景前提 二、静态编译概述1、执行静态编译设置CGO_ENABLED方式指定link方式 2、编译报错分析(1)确认系统上有没有安装libopus(2)设置LD_LIBRARY_PATH 三、详细排查过程1、下载bpf排查工具bcc, bcc-tools,python-bcc…

Java开发 - Redis常见问题场景及解决办法一览

前言 前面几篇博客对Redis的讲解不可谓不详细,从单节点到主从,到sentinel哨兵,到Redis Cluster都一一搭配使用给大家做了讲解,但在使用Redis的过程中我们还是要注意一些比较常见的问题,比如穿透、击穿等等&#xff0c…

助力保险行业数字化创新,麒麟信安参展2023中国财险科技应用高峰论坛

2023年7月27日,由中科软科技股份有限公司主办的“中国财险科技应用高峰论坛”在北京古北水镇成功举办。作为享誉中国保险科技界的盛会,本次活动以“数智保险 创新未来”主题,汇聚全国数百位保险公司主管领导、资深保险行业信息化专家&#xf…

Spring中解决循环依赖为什么要用三级缓存,二级为什么不行呢?

在Spring中解决循环依赖时,使用三级缓存是因为循环依赖的解决过程需要多个阶段的处理,并且需要保留中间状态。而使用二级缓存无法满足这些需求。 循环依赖是指两个或多个Bean之间相互依赖的情况,例如A依赖B,B又依赖A。为了解决循…

Ae 效果:CC Kernel

颜色校正/CC Kernel Color Correction/CC Kernel CC Kernel(CC 卷积核)效果主要用于图像的卷积处理,通过在卷积矩阵中设置不同的权重值,可以实现图像的锐化 Sharpen、模糊 Blur、查找边缘 Find Edges以及浮雕 Emboss等效果。 ◆ …

服务调用---------Ribbon和Feign

目录​​​​​​​ 1、Ribbon 1.1 Ribbon简介 1.2 Ribbon负载均衡 负载均衡原理 负载均衡策略 Ribbon和Nginx的区别 1.3 服务调用和Ribbon负载均衡实现 2、Feign&openFeign 3、Feign支持的配置 日志功能 连接池 feign-api远程包 1、Ribbon 1.1 Ribbon简介 Ribb…

神经概率语言模型

本文主要参考《A Neural Probabilistic Language Model》这是一篇很重要的语言模型论文,发表于2003年。主要贡献如下: 提出了一种基于神经网络的语言模型,是较早将神经网络应用于语言模型领域的工作之一,具有里程碑意义。采用神经网络模型预测下一个单词…

源码阅读:classnames

源码阅读:classnames 源码阅读:classnames简介源码解读indexdedupebind类型声明 学习与收获 源码阅读:classnames 简介 classnames 一个简单的 JavaScript 实用程序,用于有条件地将类名连接在一起。 可以通过 npm 包管理器从 n…

【YOLO】模型推理(trt和engine)

【YOLO】模型推理(trt和engine) 上一章 yolov5+TensorRT推理 文章目录 【YOLO】模型推理(trt和engine)前言一、pt转onnx模型1.1 下载yolov51.2 模型导出二、Netron Viewer安装三、onnx转trt模型3.1 安装TensorRT3.2 模型转换四、执行推理4.1 推理五、模型量化FP16\INT85.1 性能…