在 NAS(神经架构搜索)任务中,基准数据集是指专门设计并提供固定的搜索空间、评价指标和预训练结果的数据集,用于公平评估和比较不同 NAS 算法的表现。以下是一些专门用于 NAS 研究的基准数据集:
一、基准数据集
1. NAS-Bench-101
- 简介: NAS-Bench-101 是一个针对 NAS 任务的早期基准数据集,包含一个预定义的搜索空间,允许研究者直接查询400,000个架构的性能。
- 特点 :
- 预定义的架构搜索空间。
- 通过查询获得模型在 CIFAR-10 上的训练结果。
- 大大减少了 NAS 任务中的计算开销。
- 应用: 用于架构搜索算法的效率对比。
- 网址 : NAS-Bench-101
2. NAS-Bench-201
- 简介: NAS-Bench-201 是 NAS-Bench-101 的扩展版,提供了一个更灵活的搜索空间和多任务的性能数据。该数据集支持 CIFAR-10、CIFAR-100 和 ImageNet-16-120 三个数据集。
- 特点 :
- 更紧凑的搜索空间,适合更广泛的 NAS 研究。
- 提供了架构在不同数据集上的完整训练和验证性能。
- 应用: 可用于 CIFAR-10、CIFAR-100 和 ImageNet 任务中的架构搜索对比。
- 网址 : NAS-Bench-201
3. NAS-Bench-301
- 简介: NAS-Bench-301 提供了一个模拟 NAS-Bench-201 的复杂版本,专为 DARTS(微型架构搜索)设计。它包含了 DARTS 搜索空间中的架构,并且通过预测器模型来估算性能。
- 特点 :
- 预测器估算模型性能,减少实际训练所需的时间。
- 提供了DARTS的搜索空间。
- 应用: 用于优化微型架构搜索方法的研究。
- 网址 : NAS-Bench-301
4. NAS-Bench-Macro
- 简介: NAS-Bench-Macro 专注于宏观结构搜索。与其他 NAS 数据集不同,它允许在更大的模型空间中探索大型架构的设计。
- 特点 :
- 提供了更复杂的宏观搜索空间。
- 针对 CIFAR-10 的模型评估。
- 应用: 研究大型深度神经网络的设计与搜索。
- 网址 : NAS-Bench-Macro
5. NAS-Bench-NLP
- 简介: NAS-Bench-NLP 是一个针对自然语言处理任务的基准数据集,旨在搜索用于文本分类的神经网络架构。它是第一个面向 NLP 任务的 NAS 基准。
- 特点 :
- 专门为自然语言处理任务设计的搜索空间。
- 预定义的架构和性能数据,可用于快速评估。
- 应用: 研究 NLP 领域的架构搜索。
- 网址 : NAS-Bench-NLP
6. TransNAS-Bench-101
- 简介: TransNAS-Bench-101 是一个多任务 NAS 基准数据集,涵盖视觉任务中的图像分类、目标检测、图像分割等多种任务。它使用不同的任务类型生成搜索空间并提供性能评估。
- 特点 :
- 涵盖多任务(例如图像分类、目标检测、图像分割等)。
- 提供了跨任务的架构搜索性能评估。
- 应用: 多任务学习中的架构搜索和迁移学习研究。
- 网址 : TransNAS-Bench-101
7. FBNet/NAS-Bench-360
- 简介: NAS-Bench-360 是 Facebook 提出的一个基准测试集,包含了用于多种任务的架构和性能数据。该数据集涵盖了各种复杂的现实任务,如图像、语音、文本等。
- 特点 :
- 跨越多个领域的任务。
- 面向生产环境的真实数据。
- 应用: 在多个任务领域中测试架构搜索性能。
- 网址 : NAS-Bench-360
这些基准数据集允许研究人员快速测试和比较 NAS 算法的性能,从而加快架构搜索过程,同时为不同任务提供统一的评价标准。
二、基准数据生成方式
在神经架构搜索(NAS)研究中,基准数据集(benchmark datasets)的生成和整理过程通常涉及以下几个步骤。NAS 基准数据集的设计是为了提供可重复、标准化的测试环境,以衡量不同架构搜索算法的性能。以下是 NAS 研究基准数据集的生成和整理的典型步骤:
1. 选择任务类型和数据集
NAS 基准测试的核心是针对具体的任务进行架构优化,典型任务包括图像分类、物体检测、语义分割、自然语言处理等。常见的基准数据集如下:
• 图像分类:CIFAR-10、ImageNet
• 目标检测:COCO、VOC
• 语义分割:Cityscapes、PASCAL VOC
• 自然语言处理:Penn Treebank、WikiText
• 超分辨率:DIV2K
选择过程:研究者通常会选择任务领域内广泛使用且性能已被广泛验证的数据集,确保所评估的 NAS 算法具有实际意义和通用性。
2. 网络空间(Search Space)的定义
基准测试的核心是搜索空间的定义。NAS 研究往往通过限定可能的网络架构组合来规范搜索任务。以下是几个常用的搜索空间定义方法:
- 基于单元(cell-based search space):以神经网络的基本构建块(如卷积层、池化层等)为单元,进行模块化组合。典型的做法如 NASNet 中的正常单元(normal cell)和归约单元(reduction cell)。
- 基于操作(operation-based search space):定义一组操作(如3x3卷积、5x5卷积、跳跃连接等),然后将这些操作组合成不同的架构。
- 层次搜索空间(hierarchical search space):通过多层结构定义不同深度、宽度的架构,支持从浅层到深层的自动化搜索。
3. 训练数据与超参数的统一
为了保证搜索结果的公平对比,基准数据集通常会统一以下超参数设置:
-
数据预处理:包括数据增强、归一化、裁剪等操作。不同研究者可能对数据处理方式有所不同,但基准数据集通常会给出标准化的处理方式。
-
超参数设置:例如学习率、优化器、批量大小等,通常在 NAS 基准数据集整理时被统一设定。这确保了不同搜索方法的结果可直接比较。
4. 网络架构评估
在 NAS 基准中,构建并训练大量网络架构是核心。典型方法包括:
-
训练所有架构:为了构建一个强大的基准测试数据集,研究者往往需要训练数千甚至数万个不同的网络架构。每个架构都需要在选定的数据集上进行完整训练,并记录其性能指标(例如分类准确率、FLOPs 等)。
-
性能预测模型:为了减少计算成本,有时会使用性能预测器估计架构性能,或使用训练的代理模型来减少每个架构的训练时间。
5. 性能指标记录
基准数据集整理中,通常会记录以下核心性能指标:
- 准确率(Accuracy):分类任务中的最主要指标。
- 推理延迟(Latency):尤其是在移动设备或嵌入式设备上的 NAS,延迟至关重要。
- FLOPs(浮点运算次数):计算资源消耗的标准度量。
- 模型参数量(Model Parameters):模型的大小和复杂度。
在每个架构的训练完成后,这些指标会记录下来,并整理成结构化数据,成为 NAS 研究的基准。
6. 开源与标准化
为推动 NAS 研究的发展,许多基准数据集会在研究完成后被开源。例如:
- NAS-Bench-101:提供了 423,624 个卷积神经网络架构的评估结果,支持 CIFAR-10 数据集的分类任务。
- NAS-Bench-201:包括三种搜索空间(CIFAR-10、CIFAR-100、ImageNet-16-120)的网络架构及其训练结果。
- NAS-Bench-301:提供了更大规模、基于代理模型预测的架构评估,适用于 ImageNet 任务。
研究者们通过这些标准化的基准数据集,能够在相同的搜索空间和相同的训练条件下对比不同的 NAS 方法,从而更加客观地评估搜索算法的优劣。
7. NAS基准数据集的整理与发布
NAS 基准数据集整理的主要目标是使得研究者可以重复实验并比较不同的 NAS 算法。因此,在整理过程中,研究者会将以下内容详细记录:
- 搜索空间定义:明确搜索操作、层结构、连接方式等。
- 数据集预处理方式:确保所有架构在相同的条件下进行训练。
- 性能数据:每个架构的准确率、训练时间、计算成本等数据。
最终,这些基准数据集通常会以数据表格或数据库的形式发布,并附带文档详细说明如何使用该基准进行 NAS 实验。
总结
NAS 基准数据集的生成和整理过程涉及任务选择、搜索空间定义、网络架构训练与评估、性能指标记录等多个步骤。研究者通过这些基准数据集能够标准化 NAS 研究的环境,确保算法的公平对比和科学评估。