神经网络超体?新国立LV lab提出全新网络克隆技术

人工智能 新闻
神经网络开发到 100% 会发生什么?神经网络的究极形态又是什么?何为网络超体?上述问题的答案可能可以在电影超体(Lucy)中找到。

在电影中,随着女主角 Lucy 脑力的逐渐开发,她获得了以下能力:

  • 10%:能够控制身体的自主神经系统,提高身体协调能力和反应速度。
  • 30%:能够预测未来并预测人们的行动,提高洞察力和判断力。
  • 50%:能够通过感知周围环境的微小变化来预测未来的变化。
  • 70%:能够控制身体和物体的运动,拥有超凡的运动和战斗技能。
  • 90%:能够与宇宙和时间相连,拥有灵感和直觉的力量。
  • 100%:能够实现超自然的力量,超越了人类的认知极限。

在电影的结尾,女主逐渐消失并变成了一种纯粹的能量形态,最终消失在宇宙中,与宇宙和时间融为一体。人类超体的实现即为连通外界,以获取无限值的能力。将此思想迁移到神经网络域,若能建立与整个网络的连通,即也可实现网络超体, 理论上将获得无边界的预测能力

即实体化的网络必然会限制网络性能的增长,而将目标网络与 Model Zoo 进行连通,此时网络不再具备实体,而是一种建立起网络之间的连通超体形态。

图片

图上:超体网络和实体网络的区别。超体网络无实体,是一种网络之间的连通形式

该网络超体的思想在本文分享 CVPR 2023 论文《Partial Network Cloning》,中得以探索。在该论文中,新加坡国立大学 LV lab 提出一种全新的网络克隆技术。

图片

链接:https://arxiv.org/abs/2303.10597

01 问题定义

在该文中,作者提到利用该网络克隆技术实现网络去实体化可以带来以下优势:

  • 弱数据依赖:只需要部分修正数据对一些连接模块进行修改
  • 低训练复杂度:仅需 fine-tune 一些连接模块和任务预测模块
  • 低存储需求:仅需存储网络的连通路径,无需存储整个网络
  • 可持续可恢复:连通路径可增可减,不对 Model Zoo 进行任何修改
  • 传输友好:在网络传输时仅需传输连通路径信息,无需对整个网络传输

超体网络的实现基础为迅速扩张的 Model Zoo,海量预训练模型可供使用。因此对于任意任务 T,我们总能找到一个或多个模型,使得这些已有模型的任务能组成成所需求任务。即:

图片

(选择了三个网络进行连通)。

图片

如上图所示,对于任务 T,为了构建对应的超体网络 M_c , 本文提出以下的构建框架:

  • 步骤一:定位最合适的本体网络 M_t ,使得本体网络 M_t 的任务集 T_t 与所需任务集 T 的交集 T⋂T_t 最大,此时本体网络被设定为主网络;
  • 步骤二:选择修正网络 M_s^1 和 M_s^2,对本体网络中缺失的部分任务进行补充;
  • 步骤三:利用网络克隆技术定位和连通部分修正网络 M_s^1 和 M_s^2 至本体网络 M_t;
  • 步骤四:利用部分修正数据对网络的连通模块和预测模块进行 fine-tune。

综上所述,本文提出的构建网络超体所需的网络克隆技术可以被表示为:

图片

其中 M_s  表示修正网络集合,因此网络超体的连通形式为一个本体网络加上一个或若干个修正网络,网络克隆技术就是克隆所需要的部分修正网络,嵌入至本体网络中。

具体来说,本文提出的网络克隆框架包括以下两个技术要点:

图片

对于包含有 P 个修正网络的克隆,第一个技术要点为关键部分定位 Local (∙)。由于修正网络可能会含有与任务集 T 无关的任务信息,关键部分定位 Local (∙) 的目标为定位修正网络中与任务 T⋂T_s 相关的部位,定位参数用 M^ρ 表示,实现细节在第 2.1 小节中给出。第二个技术要点为网络模块嵌入 Insert (∙),需选择合适的网络嵌入点 R^ρ 嵌入所有的修正网络,实现细节在第 2.2 小节中给出。

02 方法总览

在网络克隆的方法部分,为了简化叙述,我们设定修正网络的数量 P=1(因此省略了修正网络的上标 ρ),即我们连通一个本体网络和一个修正网络来搭建所需的超体网络。

如上文所述,网络克隆包含关键部分定位和网络模块嵌入。在这里,我们引入中间的可迁移模块 M_f 用以辅助理解。即,网络克隆技术在修正网络中定位关键部位形成可迁移模块 M_f,再将可迁移模块通过软连接嵌入至本体网络 M_t。因此,网络克隆技术的目标为定位和嵌入具有可迁移性和局部保真性的可迁移模块

图片

2.1 网络关键部位定位

网络关键部位定位的目标是学习选择函数 M,选择函数 M 在这里被定义为作用于网络每一层 filter 的 mask。此时的可迁移模块可以被表示为:

图片

在上式中,我们将修正网络 M_s 表示为 L 层,每一层表示为。已知可迁移模块的提取不对修正网络做任何修改。

为了得到合适的可迁移模块 M_f,我们定位修正网络 M_s 中对最终预测结果做出最大贡献的显式部分。在此之前,考虑到神经网络的黑盒特性,且我们只需要网络的部分预测结果,因此我们利用 LIME 拟合修正网络在所需任务的局部建模(具体细节请查看论文正文)。

局部建模结果用图片来表示,其中 D_t 是所需的部分预测结果对应的训练数据集(小于原始网络的训练集)。

因此选择函数 M 可以通过以下目标函数进行优化:

图片

在该式中,定位的关键部分拟合局部建模的 G。

2.2 网络模块嵌入

在修正网络中定位可迁移模块 M_f 时,使用择函数 M 直接从 M_s 中提取,无需修改其权重。下一步是决定在本体网络 M_t  中可迁移模块 M_f 的嵌入位置,以获得最佳的克隆性能。

网络模块的嵌入由位置参数 R 控制。遵循大多数模型重用设置,网络克隆将本体模型的前几层保留为通用特征提取器,网络嵌入过程被简化为查找最佳嵌入位置(即在第 R 层嵌入可迁移模块 M_f)。查找嵌入的过程可以表示为:

图片

详细的公式解释请查询正文。总体来说,基于搜索的嵌入包括以下要点:

  • 最佳位置参数 R 搜索的过程从网络的深层到浅层;
  • 在第 R 层进行可迁移性模块嵌入后的超体网络图片后,还需额外引入嵌入位置的 Adapter A 和重新 finetune F_c 层(对于分类网络来说),但两者的参数量相较于整个 model zoo 可以忽略不计;
  • 当从网络的第 L-1 层至第 0 层建立起连接后,我们粗略的根据每一次 fine-tune 的 loss 收敛值估计嵌入的性能,选取最小收敛值点作为最终的网络嵌入点。

03 网络克隆技术的实际应用

本文提出的网络克隆技术的核心为建立起预训练网络之间的连通路径,不需要对预训练网络进行任何参数的修改,它除了可以用作搭建网络超体的关键技术,也能被灵活的运用到各种实际场景中。

场景一:网络克隆技术使得 Model Zoo 在线使用成为可能。在一些资源有限的情况下,用户可以在不下载预训练网络到本地的情况下灵活地利用在线的 Model Zoo。

注意到克隆后的模型是由确定的,其中 M_t  和M_s 在整个过程中都是固定且不变的。模型克隆对预训练模型上没有进行任何修改,也没有引入新模型。模型克隆使得 Model Zoo 中任何功能组合都成为可能,这也有助于维护 Model Zoo 的良好生态环境,因为建立连接使用 M 和 R 是一种简单的 mask 和定位操作,易于撤销。因此,提出的网络克隆技术支持建立一个可持续的 Model Zoo 在线推理平台。

场景二:经由网络克隆生成的网络具备更好的信息传输形式。当进行网络传输时,该技术可以减少传输延迟和损失。

在进行网络传输时,我们只需要传输集合图片,结合公共 Model Zoo,接收方可以恢复出原始网络。与整个克隆后的网络相比,图片非常小,因此可以减少传输延迟。如若 A 和 F_c 仍然存在一些传输损失,接收方可以通过在数据集上进行 fine-tune 来轻松修复。因此,网络克隆为高效传输提供了一种新形式的网络。

04 实验结果

我们在分类任务上进行了实验验证。为了评估可迁移模块的局部性能表征能力,我们引入了条件相似性指标:

图片

其中 Sim_cos (∙) 表示余弦相似性。

图片

上表中给出了在 MNIST,CIFAR-10,CIFAR-100 和 Tiny-ImageNet 上的实验结果,可以看出网络克隆(PNC)得到的模型的性能提升最为显著。且若进行整个网络的 fine-tune(PNC-F)并不会带来网络性能的提升,相反,它会增加模型的 bias。

图片

除此之外,我们对可迁移模块的质量进行了评估(如上图)。从图(左)可以看出,从每个子数据集中学习的每个功能或多或少是相关的,这显示出从修正网络中提取和定位局部功能的重要性。对于可迁移模块,我们计算其相似度 Sim (∙)。图(右)显示,可迁移模块与待克隆的子数据集在相似性上很高,其与其余子数据集的关系被削弱(非对角线区域用比源网络的矩阵图浅的颜色标记)。因此,可以得出结论,可迁移模块成功地模拟了要克隆的任务集上的局部性能,证明了定位策略的正确性。

05 总结

本文研究了一种新的知识转移任务,称为部分网络克隆(PNC),它以复制粘贴的方式从修正网络中克隆参数模块并将其嵌入到本体网络中。与以往的知识转移设置不同(它们依赖于更新网络的参数)我们的方法保证所有预训练模型的参数不变。PNC 的技术核心为同时进行网络关键部位定位和可迁移模块嵌入操作,两个步骤相互加强。

我们在多个数据集上展示了我们的方法在准确性和可迁移性指标的突出结果。

责任编辑:张燕妮 来源: 新智元
相关推荐

2021-07-28 15:35:58

谷歌神经网络AI

2012-06-29 13:18:21

HTML5

2018-07-03 16:10:04

神经网络生物神经网络人工神经网络

2012-07-25 09:37:22

虚拟化

2018-11-20 17:04:58

新华三

2022-11-04 17:02:31

AI模型

2018-08-03 16:00:09

人工智能神经网络高级算法

2014-04-01 18:00:25

戴尔

2017-09-10 07:07:32

神经网络数据集可视化

2017-07-03 10:55:48

神经网络深度学习

2020-03-02 11:04:19

人工智能机器学习技术

2021-07-24 10:19:14

AI 数据克隆

2019-05-07 19:12:28

机器学习神经网络Python

2017-05-04 18:30:34

大数据卷积神经网络

2022-04-07 09:01:52

神经网络人工智能

2019-12-20 09:15:48

神经网络数据图形

2020-05-11 13:44:38

神经网络人工智能深度学习

2020-08-06 10:11:13

神经网络机器学习算法

2019-10-29 08:50:31

深度学习编程人工智能

2021-08-18 15:48:03

神经网络数据图形
点赞
收藏

51CTO技术栈公众号