Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

杜伟、陈萍编辑

零障碍合并两个模型,大型ResNet模型线性连接只需几秒,神经网络启发性新研究

这篇论文探讨了置换对称性(permutation symmetry)如何在 SGD 解决方案的线性模式连接中发挥重要作用。

深度学习能够取得如此成就,得益于其能够相对轻松地解决大规模非凸优化问题。尽管非凸优化是 NP 困难的,但一些简单的算法,通常是随机梯度下降(SGD)的变体,它们在实际拟合大型神经网络时表现出惊人的有效性。

本文中,来自华盛顿大学的多位学者撰文《 Git Re-Basin: Merging Models modulo Permutation Symmetries 》,他们研究了在深度学习中,SGD 算法在高维非凸优化问题上的不合理有效性。他们受到三个问题的启发:

1. 为什么 SGD 在高维非凸深度学习损失 landscapes 的优化中表现良好,而在其他非凸优化设置中,如 policy 学习、轨迹优化和推荐系统的稳健性明显下降 ?

2. 局部极小值在哪里?在初始化权值和最终训练权值之间进行线性插值时,为什么损失会平滑、单调地减小?

3. 两个独立训练的模型,它们具有不同的随机初始化和数据批处理顺序,为何会实现几乎相同的性能?此外,为什么它们的训练损失曲线看起来一样

论文地址:https://arxiv.org/pdf/2209.04836.pdf

本文认为:在模型训练中存在一些不变性,这样一来才会有不同的训练表现出几乎相同的性能。

为什么会这样呢?2019 年,Brea 等人注意到神经网络中的隐藏单元具有置换对称性。简单的说就是:我们可以交换网络中隐藏层的任意两个单元,而网络功能将保持不变。2021 年 Entezari 等人推测,这些置换对称可能允许我们在权值空间中线性连接点,而不损害损失。

下面我们以论文作者之一的举例来说明文章主旨,这样大家会更清楚。

假如说你训练了一个 A 模型,你的朋友训练了一个 B 模型,这两个模型训练数据可能不同。没关系,使用本文提出的 Git Re-Basin,你能在权值空间合并这两个模型 A+B,而不会损害损失。

论文作者表示,Git Re-Basin 可适用于任何神经网络(NN),他们首次演示了在两个独立训练(没有预先训练)的模型(ResNets)之间,可以零障碍的线性连通。

他们发现,合并能力是 SGD 训练的一个属性,在初始化时合并是不能工作的,但是会发生相变,因此随着时间的推移合并将成为可能。

他们还发现,模型宽度与可合并性密切相关,即越宽越好。

此外,并非所有架构都能合并:VGG 似乎比 ResNets 更难合并。

这种合并方法还有其他优点,你可以在不相交和有偏差的数据集上训练模型,然后在权值空间中将它们合并在一起。例如,你有一些数据在美国,一些在欧盟。由于某些原因,不能混合数据。你可以先训练单独的模型,然后合并权重,最后泛化到合并的数据集。

因此,在不需要预训练或微调的情况下可以混合训练过的模型。作者表示自己很想知道线性模式连接和模型修补的未来发展方向,可能会应用到联邦学习、分布式训练以及深度学习优化等领域。

最后还提到,章节 3.2 中的权重匹配算法只需 10 秒左右即可运行,所以节省了大量时间。论文第 3 章也介绍了 A 模型与 B 模型单元匹配的三种方法,对匹配算法还不清楚的小伙伴,可以查看原论文。


网友评论及作者解疑

这篇论文在推特上引发了热议,PyTorch 联合创始人 Soumith Chintala 表示如果这项研究可以迁移到更大的设置,则它可以实现的方向会更棒。合并两个模型(包括权重)可以扩展 ML 模型开发,并可能在开源的共同开发模型中发挥巨大作用。

另有人认为如果置换不变性能够这样高效地捕捉大部分等价性,它将为神经网络的理论研究提供启发。

论文一作、华盛顿大学博士 Samuel Ainsworth 也解答了网友提出的一些问题。

首先有人问,「论文中是否有关于在训练中针对独特 basin 的任何提示?如果有一种方法可以做到对置换进行抽象,那么训练速度可能会更快。」

Ainsworth 回复称,这点自己没有想到。他真的希望能够以某种方式实现更快地训练,但目前为止已被证明非常困难。问题在于 SGD 本质上是一种局部搜索,因此利用高阶几何并不是那么容易。也许分布式训练是一种可行的方法。

还有人问是否适用于 RNN 和 Transformers?Ainsworth 表示原则上适用,但他还没有对此进行实验。时间会证明一切。

最后有人提出,「这看起来对分布式训练『成真』非常重要?难道 DDPM(去噪扩散概率模型)不使用 ResNet 残差块吗?」

Ainsworth 回复称,虽然他自己对 DDPM 不是很熟悉,但直言不讳表示将它用于分布式训练将非常令人兴奋。

理论ResNet华盛顿大学
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

局部搜索技术

在计算机科学中,局部搜索是解决最优化问题的一种元启发式算法。局部搜索从一个初始解出发,然后搜索解的邻域,如有更优的解则移动至该解并继续执行搜索,否则返回当前解。局部搜索的优点是简单、灵活及易于实现,缺点是容易陷入局部最优且解的质量与初始解和邻域的结构密切相关。常见的改进方法有模拟退火、禁忌搜索等。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

凸优化技术

凸优化,或叫做凸最优化,凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸优化在某种意义上说较一般情形的数学最优化问题要简单,譬如在凸优化中局部最优值必定是全局最优值。凸函数的凸性使得凸分析中的有力工具在最优化问题中得以应用,如次导数等。 凸优化应用于很多学科领域,诸如自动控制系统,信号处理,通讯和网络,电子电路设计,数据分析和建模,统计学(最优化设计),以及金融。在近来运算能力提高和最优化理论发展的背景下,一般的凸优化已经接近简单的线性规划一样直捷易行。许多最优化问题都可以转化成凸优化(凸最小化)问题,例如求凹函数f最大值的问题就等同于求凸函数 -f最小值的问题。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

推荐文章
暂无评论
暂无评论~