Younger 数据集:人工智能生成神经网络

       设计和优化神经网络架构通常需要广泛的专业知识,从手工设计开始,然后进行手动或自动化的精细化改进。这种依赖性成为快速创新的重要障碍。认识到从头开始自动生成神经网络架构的复杂性,本文引入了Younger,这是一个开创性的数据集,旨在推进人工智能生成神经网络架构 (AIGNNA) 的发展

1 现状

  • 早期手动设计: 早期神经网络架构如 AlexNet, ResNet, LSTM, Transformer 等都是手动设计的,需要大量专家知识和经验。这种方法的创新和灵活性有限,难以适应快速发展的数据和应用场景。
  • 神经架构搜索 (NAS): NAS 通过自动化搜索和优化神经网络架构,提高了设计效率。然而,现有的 NAS 方法仍然依赖于预先定义的宏架构和有限的算子类型,限制了创新空间。
  • 现有基准数据集: 现有的 GNN 基准数据集如 Cora, CiteSeer, PubMed, QM9, ZINC 等,主要包含结构简单、静态的图数据,难以测试 GNN 算法的可扩展性、鲁棒性和泛化能力。

2 数据集介绍

数据集来源: Younger数据集来源于超过174K个真实世界模型,这些模型涵盖了来自不同公共模型中心的30多个任务。包括7,629个独特的架构,每个架构都以有向无环图(DAG)的形式表示,并包含了详细的操作员级别的信息。

Younger 数据集分为三个系列:

  • 完整系列: 包含所有从模型中提取的 DAG,记录了原始模型的来源和 ID。
  • 过滤系列: 去除了同构 DAG 后的异构架构集合。
  • 分割系列: 根据特定实验需求,对过滤系列数据进行分割和处理的版本。

3 数据集构建

Younger 数据集的构建过程主要包括以下四个步骤:

3.1 获取神经网络模型

  • 从四个公开的神经网络模型仓库中获取模型:Kaggle Models, PyTorch Hub, ONNX Model Zoo, Hugging Face Hub。这些仓库包含各种深度学习任务和框架的模型,保证了数据的多样性。
  • 开发自动化工具,定期更新数据,确保 Younger 数据集的时效性。

3.2 将模型转换为 ONNX 格式

  • 使用 ONNX 作为统一表示格式,方便不同深度学习框架之间的模型交换和部署。
  • 使用开源工具如 Optimum 和 tf2onnx 进行模型转换,降低转换成本。

3.3 从 ONNX 模型中提取 DAG

  • 开发工具,将 ONNX 模型转换为 DAG,并去除参数信息,确保数据安全和隐私。
  • 在 DAG 中,节点代表 ONNX 算子,记录详细的配置和超参数;边代表算子之间的数据流。

3.4 过滤数据集

  • 使用 Weisfeiler-Lehman (WL) 图哈希算法,识别并过滤掉同构的神经网络架构,保证数据集中每个架构的唯一性。
  • 最终,从 174K 个真实世界模型中提取出 7,629 个异构的神经网络架构。

4 实验验证

证Younger数据集在人工智能生成神经网络架构(AIGNNA)方面的潜力和有效性,并探索其在现实世界场景中的可行性。

4.1 实验设计

  • 统计分析: 在不同的粒度级别(操作员级别、组件级别和架构级别)进行了统计分析,以展示数据集包含足够丰富的先验知识。
  • 实际应用探索: 探索了局部和全局设计范式的实践应用,证明了数据集在现实场景中的可行性。

4.2 统计分析

从低维度和高维度两个层面分析了 Younger 数据集的统计特性,揭示了数据集的丰富性和挑战性。

4.2.1 低维度统计信息

4.2.1.1 图的节点数和边数分布

  • Younger 数据集中包含的 DAG 结构规模差异很大,从仅包含十几个节点的图到包含数十万个节点的图都有。
  • 与现有的图数据集相比,Younger 数据集具有更广泛的节点数分布,这为 GNN 研究提供了更大的挑战和机遇。

4.2.1.2 常用 ONNX 算子

  • Younger 数据集中包含 184 种 ONNX 算子,涵盖了各种类型的算子,包括张量变形、算术运算、逻辑运算和量化等。
  • 其中,最常用的算子包括 ReLU、Conv、Add、MatMul 等,这些算子是构建神经网络架构的基础。

4.2.2 高维度统计信息

4.2.2.1 嵌入学习

使用 GCN 网络对 DAG 进行嵌入,将 DAG 转换为高维向量表示,以便于分析架构的分布特性。

4.2.2.2 不同粒度分析

  • 算子嵌入: 将每个 DAG 中的所有算子进行嵌入,分析算子的分布特性。
  • 子图嵌入: 将每个 DAG 中的所有子图进行嵌入,分析子图的分布特性。
  • 图嵌入: 将每个 DAG 的所有子图嵌入取平均,得到整个 DAG 的嵌入表示。

4.2.2.3 结果分析

  • 算子嵌入: 训练后的嵌入结果能够将高频算子和低频算子区分开来,但由于数据集中算子类型的多样性,学习过程仍然存在一定的偏差。
  • 子图嵌入: 基线模型能够将不同子图的嵌入表示区分开来,但由于数据集中子图结构的复杂性,子图嵌入的学习效果仍然有待提高。
  • 图嵌入: 不同架构的 DAG 嵌入表示在空间中距离较近,表明数据集涵盖了多种主流架构。同时,相同架构的 DAG 嵌入表示也存在多个点,表明数据集中存在该架构的多种变体。

统计分析结果表明,Younger 数据集具有丰富的统计特性,涵盖了各种类型的神经网络架构和算子。同时,数据集的复杂性和多样性也给 GNN 研究带来了新的挑战。

4.3 实际应用探索

4.3.1 局部设计范式

  • 数据流设计: 使用图卷积网络(GCN)、图注意力网络(GAT)和GraphSAGE等模型在数据流设计范式下验证了神经架构细化的有效性。所有模型在Younger数据集上都取得了良好的性能,这证明了现有的图神经网络更适合预测神经网络架构中的数据流。
  • 操作员设计: 使用五种不同的基线模型进行了十次实验,在操作员设计范式下,尽管所有基线模型都取得了高准确率,但F1分数、精确度和召回率仍然较低。这主要是由于Younger中复杂的图结构,其特征是许多操作员类型的存在。其中,多种类型的操作员出现频率较低,这对实现稳健的多分类性能构成了挑战。

4.3.2 全局设计范式

 从头开始设计神经网络架构是一个开放且复杂的挑战。与神经架构搜索不同,后者将搜索空间限制在预定义的宏观架构内,同时优化微观架构元素以获得特定性能,全局范式寻求从基础开始生成包含详细操作员级元素的全面神经网络架构。

4.4 实验结果

  • 在局部范式下,所有模型在Younger数据集上都表现出良好的性能,其中GCN在所有指标上的表现优于其他模型,除了F1分数。
  • 在全局范式下,采用了使用扩散模型生成图的Digrress图生成模型。由于计算资源的限制和Younger图中节点数量最多可达数十万,我们只选择了节点数量在[1, 300]范围内的架构进行训练。

Younger数据集为AIGNNA提供了一个有前景的基准,通过实验,初步验证了Younger在新领域的神经架构设计方面的潜力和有效性。

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

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

相关文章

机器学习python实践——关于管道模型Pipeline和网格搜索GridSearchCV的一些个人思考

最近在利用python跟着指导书进行机器学习的实践,在实践中使用到了Pipeline类方法和GridSearchCV类方法,并且使用过程中发现了一些问题,所以本文主要想记录并分享一下个人对于这两种类方法的思考,如果有误,请见谅&#…

Kubernetes 容器编排技术

Kubernetes 容器编排 前言 知识扩展 早在 2015 年 5 月,Kubernetes 在 Google 上的搜索热度就已经超过了 Mesos 和 Docker Swarm,从那儿之后更是一路飙升,将对手甩开了十几条街,容器编排引擎领域的三足鼎立时代结束。 目前,AWS…

蚂蚁- 定存

一:收益变动&&收益重算 1.1: 场景组合 1: 澳门元个人活期,日终余额大于0,当日首次、本周本月非首次系统结息,结息后FCDEPCORE_ASYN_CMD_JOB捞起进行收益计算 【depc_account_revenue_detail】收益日 > 【depc_accoun…

Linux驱动开发笔记(十一)tty子系统及其驱动

文章目录 前言一、串口驱动框架1.1 核心数据结构1.2 数据处理流程 二、驱动编写1. 设备树的修改2. 相关API函数3. 驱动框架4. 具体功能的实现4.1 出入口函数的编写4.2 读写函数 前言 之前已经讲过应用层的应用,接下来我们继续进行驱动的学习。其实实际上我们很少主动…

【Redis四】主从复制、哨兵以及Cluster集群

目录 一.主从复制、哨兵、集群的区别 二.Redis主从复制 1.作用 2.原理 3.流程 三.搭建Redis 主从复制 1.源码编译安装以及配置文件修改 1.1.修改 Redis 配置文件(Slave节点操作) 2.验证主从复制 2.1.在Master节点上看日志 2.2.在Master节点上…

学习感悟丨在誉天学习数通HCIP怎么样

大家好,我是誉天学员的徐同学,学习的数通HCIP课程。 在学校的时候,听说下半年就要出去实习了,心中坎坷不安,现在我学到的知识远远不够的。然后就想着学点东西充实一下自己的知识面和专业能力,有一次和同学谈…

有没有能用蓝牙的游泳耳机,性能超凡的4大游泳耳机力荐

在现代科技的推动下,越来越多具备蓝牙功能的游泳耳机正在改变游泳爱好者的体验方式。这些创新产品不仅在防水性能上有了显著提升,还能让您在水中享受到高质量的音乐。然而,选择一款优秀的蓝牙游泳耳机并不简单,需要考虑到防水等级…

vite vue3使用axios解决跨域问题

引入依赖 npm install axios 在main.js中全局引入 import { createApp } from vue import App from ./App.vue import axios from axiosconst app createApp(App)// 全局引入axios app.config.globalProperties.$axios axiosapp.mount(#app) 修改vite.config.js的代理配置…

Java | Leetcode Java题解之第189题轮转数组

题目: 题解: class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}public void reverse(int[] nums, int start, int end) {whil…

搭建企业内网pypi镜像库,让python在内网也能像互联网一样安装pip库

目录 知识点实验1.服务器安装python2.新建一个目录/mirror/pip,用于存储pypi文件,作为仓库目录3.下载python中的所需包放至仓库文件夹/mirror/pip3.1. 新建requirement.py脚本(将清华pypi镜像库文件列表粘贴到requirement.txt文件中&#xff…

代码随想录算法训练营第三十七天|01背包问题、分割等和子集

01背包问题 题目链接:46. 携带研究材料 文档讲解:代码随想录 状态:忘了 二维dp 问题1:为啥会想到i代表第几个物品,j代表容量变化? 动态规划中,每次决策都依赖于前一个状态的结果,在…

Radxa 学习摘录

文章目录 1、参考资料2、硬件知识3、shell4、交叉编译工具链5、问题6、DTS 1、参考资料 技术论坛(推荐) 官方资料下载 wiki资料 u-boot 文档 u-boot 源码 内核文档 内核源码 原理图 radxa-repo radxa-build radxa-pkg radxa-docs 2、硬件知识 Rad…

RabbitMQ(七)Shovel插件对比Federation插件

文章目录 Shovel和Federation的主要区别(重点)一、启用Shovel插件二、配置Shovel三、测试1、测试计划2、测试效果发布消息源节点目标节点 Shovel和Federation的主要区别(重点) • Shovel更简洁一些 • Federation更倾向于跨集群使…

国外的Claude3.5 Sonnet Artifacts和国内的CodeFlying孰强孰弱?

在Claude 3.5 Sonnet发布后,最受大家关注的问题应该就是它在编写代码能力上的变化。 要知道在Claude3.0发布以来的这几个月就因为它的编写代码能力而一直受到人们的诟病。 那Anthropic这次终于是不负众望,在Claude 3.5 Sonnet中更新了一个叫做Artifact…

mysql是什么

mysql是什么 是DBMS软件系统,并不是一个数据库,管理数据库 DBMS相当于用户和数据库之间的桥梁,有超过300种不同的dbms系统 mysql是关系型数据库,关系型数据库存储模型很想excel,用行和列组织数据 sql是一门编程语言…

致敬经典:在国产开源操作系统 RT-Thread 重温 UNIX 彩色终端

引言 上篇文章里我们向大家介绍了 RT-Thread v5.1.0 的一些新特性。其中包括了终端环境的进一步完善。终端是人机交互的重要接口。实用的终端工具可以显著地提升系统使用者的幸福指数。举例来说,当我们想要修改一些系统配置,或是编写脚本时,一…

鸿蒙开发设备管理:【@ohos.distributedHardware.deviceManager (设备管理)】

设备管理 本模块提供分布式设备管理能力。 系统应用可调用接口实现如下功能: 注册和解除注册设备上下线变化监听发现周边不可信设备认证和取消认证设备查询可信设备列表查询本地设备信息,包括设备名称,设备类型和设备标识 说明&#xff1a…

什么是ArchiMate?有优缺点和运用场景?

一、什么是ArchiMate? ArchiMate是一种由The Open Group发布的企业级标准,它是一种整合多种架构的可视化业务分析模型语言,也属于架构描述语言(ADL)。ArchiMate主要从业务、应用和技术三个层次(Layer)&…

Web渗透:php反序列化漏洞

反序列化漏洞(Deserialization Vulnerability)是一种在应用程序处理数据的过程中,因不安全的反序列化操作引发的安全漏洞;反序列化是指将序列化的数据(通常是字节流或字符串)转换回对象的过程,如…

k8s架构设计思想

1.谷歌borg云计算管理平台 一类:infrastucture platform software 另一类:borg为主的非虚拟化技术,调度进程 核心是轻量级作业调度,不是做虚拟化/云平台的 borg本身用了一些容器技术 生产业务product workload要求高可用&#xf…