奥西里斯人工智能:呼吁深度学习模型的复活与再利用。

当前形式的深度学习与炼金术之于化学颇为相似。我们探索各种想法,尝试不同的设计,并调整众多配置以开发并获得一个可用的模型,然后丢弃所有其他迭代。这个过程通常源于一种相当有限的理解,导致时间、精力和计算资源上付出巨大成本。
此外,由于发展速度迅猛,今天被认为是最新技术的模型,在几个月或几周内很快就会过时或淘汰,并被有效地抛入**“深度学习垃圾场”**!
尽管这种“一次性文化”在深度学习的当前状态中似乎是固有的,但我们当然可以找到方法来利用这些投入了大量精力和计算资源的“产品”。
这就是为什么我们确实需要更多地关注那些试图寻找有效方法来重用、再利用和回收深度学习模型及其产生的所有相关事物的研究。这很重要,因为正如我们所看到的,当我们仅仅丢弃模型时,会浪费大量精力和资源。
迁移学习是一种再次使用模型的方法,你可以将一个为某项任务训练过的模型用于新的任务,但这并不能真正解决我在这里讨论的问题。我更感兴趣的是那些能让我们直接使用实验后最终废弃的众多模型的方法,比如模型合并(将不同模型结合起来)和模型拼接(将模型的部分连接起来)。这些方法可以真正帮助我们从已完成的工作中获得更多价值。
这是一个很大的话题,有许多值得探索之处,我未来可能会写更多关于模型回收不同方式的文章。但目前,为了让大家更好地理解这在实践中是什么样子,我们来看一些我发现有趣的例子。
在深度学习模型开发过程中,我们可以识别出三个主要的浪费来源:
**实验阶段**,产生大量被废弃的模型设计和配置。
**训练阶段**,通常会丢弃大量中间模型检查点。
**部署阶段**,模型迅速过时。
针对每个挑战,我们将看一个缓解的例子。
实验阶段
ICLR 2016 年的一篇旧文,**Net2Net**,由 XGBoost 和生成对抗网络(GAN)的创建者开发。**Net2Net** 是一个框架,通过将知识从现有训练好的原型迁移到新模型中,从而加速模型开发实验,实现快速初始化并避免从头开始训练。这是通过使用基于功能保留转换的两个操作来实现的,灵感来源于编译器设计:**Net2WiderNet**,它允许用功能等效但更宽的网络替换模型;以及 **Net2DeeperNet**,允许用功能等效但更深的网络替换模型。
训练阶段
另一项2018年的著名工作是**随机权重平均法(SWA)**,它是一种非常简单易实现且与架构无关的技术,可以在不增加传统训练成本的情况下提高深度学习模型的泛化性能。SWA并非仅仅获取随机梯度下降(SGD)训练后的最终权重集合,而是在训练的后期阶段对所见的权重进行平均。这种平均过程使其能够以最小的计算开销实现更好的测试准确性和泛化性能。
部署阶段
模型拼接是深度学习模型回收的一种引人入胜且强大的方法。该技术通过组合预训练模型中的特定组件或层来构建新的、可能更高效的架构。与参数合并不同,拼接可以在网络模块级别有针对性地重用学习到的特征,通常无需完全重新训练。例如,本文介绍了**可拼接神经网络(SN-Net)**,这是一个通过利用公共模型库中日益增多的预训练模型族(例如,不同大小的ResNet或DeiT)来高效创建和部署具有不同准确性-效率权衡的深度学习模型的框架。
在古埃及神话中,奥西里斯是一位仁慈的国王,他给埃及带来了繁荣与秩序。出于嫉妒,他的兄弟赛特谋杀了他,并将他的身体肢解散落各处。奥西里斯的妻子伊西斯,对她的丈夫忠贞不渝,不懈地寻找并将他的身体碎片奇迹般地用她强大的魔法拼合起来。通过这种复原行为以及他随后从死亡中归来,奥西里斯成为了复活之神和冥界的统治者,审判逝者的灵魂。
在我们弄清楚如何创建能够持续学习的模型之前,我们需要坚持不懈地寻找有效的方法来利用模型开发过程中产生的各种构件,并使那些被丢弃到“深度学习垃圾场”的模型“复活”。
本文最初发布于此处