打入AI底层!NUS尤洋团队用扩散模型构建神经网络参数,LeCun点赞 打入AI底层!NUS尤洋团队用扩散模型构建神经网络参数,LeCun点赞
admin
2024-02-25 14:12:04
0

克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

扩散模型,迎来了一项重大新应用——

像Sora生成视频一样,给神经网络生成参数,直接打入了AI的底层!

这就是新加坡国立大学尤洋教授团队联合UCB、Meta AI实验室等机构最新开源的研究成果。



具体来说,研究团队提出了一种用于生成神经网络参数的扩散模型p(arameter)-diff。

用它来生成网络参数,速度比直接训练最多提高44倍,而且表现毫不逊色。

这一模型一经发布,就迅速在AI社区引发强烈讨论,圈内人士对此的惊叹,毫不亚于普通人看到Sora时的反应。

甚至有人直接惊呼,这基本上相当于AI在创造新的AI了。



就连AI巨头LeCun看了之后,也点赞了这一成果,表示这真的是个cute idea。



而实质上,p-diff也确实具有和Sora一样重大的意义,对此同实验室的Fuzhao Xue(薛复昭)博士进行了详细解释:

Sora生成高维数据,即视频,这使得Sora成为世界模拟器(从一个维度接近AGI)。
而这项工作,神经网络扩散,可以生成模型中的参数,具有成为元世界级学习器/优化器的潜力,从另一个新的重要维度向AGI迈进。



言归正传,p-diff到底是如何生成神经网络参数的呢?

将自编码器与扩散模型结合

要弄清这个问题,首先要了解一下扩散模型和神经网络各自的工作特点。

扩散生成过程,是从随机分布到高度特定分布的转变,通过复合噪声添加,将视觉信息降级为简单噪声分布。

而神经网络训练,同样遵循这样的转变过程,也同样可以通过添加噪声的方式来降级,研究人员正是在这一特点的启发之下提出p-diff方法的。



从结构上看,p-diff是研究团队在标准潜扩散模型的基础之上,结合自编码器设计的。

研究者首先从训练完成、表现较好的网络参数中选取一部分,并展开为一维向量形式。

然后用自编码器从一维向量中提取潜在表示,作为扩散模型的训练数据,这样做可以捕捉到原有参数的关键特征。

训练过程中,研究人员让p-diff通过正向和反向过程来学习参数的分布,完成后,扩散模型像生成视觉信息的过程一样,从随机噪声中合成这些潜在表示。

最后,新生成的潜在表示再被与编码器对应的解码器还原成网络参数,并用于构建新模型。



下图是通过p-diff、使用3个随机种子从头开始训练的ResNet-18模型的参数分布,展示了不同层之间以及同一层不同参数之间的分布模式。



为了评估p-diff所生成参数的质量,研究人员利用3种类型、每种两个规模的神经网络,在8个数据集上对其进行了测试。

下表中,每组的三个数字依次表示原始模型、集成模型和用p-diff生成的模型的测评成绩。

结果可以看到,用p-diff生成的模型表现基本都接近甚至超过了人工训练的原始模型。



效率上,在不损失准确度的情况下,p-diff生成ResNet-18网络的速度是传统训练的15倍,生成Vit-Base的速度更是达到了44倍。



额外的测试结果证明,p-diff生成的模型与训练数据有显著差异。

从下图(a)可以看到,p-diff生成的模型之间的相似度低于各原始模型之间的相似度,以及p-diff与原始模型的相似度。

而从(b)和(c)中可知,与微调、噪声添加方式相比,p-diff的相似度同样更低。

这些结果说明,p-diff是真正生成了新的模型,而非仅仅记忆训练样本,同时也表明其具有良好的泛化能力,能够生成与训练数据不同的新模型。



目前,p-diff的代码已经开源,感兴趣的话可以到GitHub中查看。

论文地址:
https://arxiv.org/abs/2402.13144
GitHub:
https://github.com/NUS-HPC-AI-Lab/Neural-Network-Diffusion

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...