【论文笔记】TNASP:A Transformer-based NAS Predictor with a Self-evolution Framework

2023-11-19

0. 摘要

   Predictor-based Neural Architecture Search (NAS) continues to be an important topic because it aims to mitigate the time-consuming search procedure of traditional NAS methods. A promising performance predictor determines the quality of final searched models in predictor-based NAS methods. Most existing predictor-based methodologies train model-based predictors under a proxy dataset setting, which may suffer from the accuracy decline and the generalization problem, mainly due to their poor abilities to represent spatial topology information of the graph structure data. Besides the poor encoding for spatial topology information, these works did not take advantage of the temporal information such as historical evaluations during training. Thus, we propose a Transformer-based NAS performance predictor, associated with a Laplacian matrix based positional encoding strategy, which better represents topology information and achieves better performance than previous state-of-the-art methods on NAS-Bench-101, NAS-Bench-201, and DARTS search space. Furthermore, we also propose a self-evolution framework that can fully utilize temporal information as guidance. This framework iteratively involves previous evaluation information as constraints into current optimization iteration, thus further improving the performance of our predictor. Such framework is modelagnostic, thus can enhance performance on various backbone structures for the prediction task. Our proposed method helped us rank 2nd among all teams in CVPR 2021 NAS Competition Track 2: Performance Prediction Track.

摘要解读

   第一句话点明文章的背景。后面两三句话说明现存方法的问题,然后提出文章的方法,在几个数据集上达到SOTA,然后进一步说明文章提出的提高表现的一个框架。最后说提出的模型在CVPR2021 NAS的性能预测比赛上获得了第二名。

1. Introduction

   第一段介绍NAS背景和现存方法的问题,二三段介绍其他方法并提出本文的方法,第四段介绍用Transformer作为predictor的优点,第五段介绍为了进一步提高性能而提出的方法。最后总结了3个本文的贡献:(翻译来自WPS划线翻译)

  • 我们提出了一种基于Transformer的NAS性能预测器(TNASP)来更好地编码空间拓扑信息,利用多头自注意机制将离散结构映射到有意义的特征表示,并应用拉普拉斯矩阵的线性变换作为位置编码。
  • 通过利用历史中的每个评价得分信息作为训练约束,并应用基于梯度的优化方法迭代求解约束优化问题,我们引入了一个通用的自进化框架,以进一步提高所提预测器的性能,充分利用时间信息。
  • 在相同的代理训练数据集下,我们提出的方法超越了以往最先进的方法,并在NAS-Bench-101[48]、NAS-Bench- 201[14]和DARTS[26]搜索空间上取得了最先进的结果。

2. 相关工作

   介绍NAS性能预测方法的大致分类分为基于训练的和无需训练的。然后分两段介绍基于训练的预测器和无需训练的预测器的相关工作。

3. 方法

   重点记录一下方法。

3.1 Training-based network performance predictors

   用一个encoder来将离散的网络结构空间映射到连续的表示,可以用这个下面的式子来表示:
在这里插入图片描述
在这里插入图片描述

   要留意的是那个k的维度,F可以根据具体问题自己定义由多少维度来表示结点的特征。再使用一个回归器(预测器)来评估网络的表现。在这里插入图片描述

模型结构图
   使用一个MSE loss 来训练Encoder和Regressor:

在这里插入图片描述

3.2 基于Transformer的预测器

   如上面的图1所示的那样,Encoder分为两个部分,第一个部分将结点的操作编码矩阵(或向量)经过一个Extractor进行一个变换操作(就是×一个变换矩阵,图中的K只有一列即N×1应该只是作者用于说明,这种情况下每个操作的embedding编码就只有1维。)后得到结点操作的特征矩阵e1.
在这里插入图片描述
   为了利用位置信息,就使用拉普拉斯矩阵。然后再使用一个线性层去将拉普拉斯矩阵映射到一个连续的空间中,得到拉普拉斯矩阵的连续表示e2。最后将e1和e2一起用一个Transformer得到一个融合的特征矩阵。

在这里插入图片描述
在这里插入图片描述

3.3 自演化的框架

   详细的解释这里就不说了(主要是因为懒得翻译),直接看原文吧。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
   总之呢,这个自我进化框架可以充分利用任何可用信息(竞争系统历史提交反馈或模型训练期间验证数据集的历史评价信息)来指导预测器训练以避免过拟合,从而在测试数据集上很好地推广。此外,该框架在训练过程中直接将每个历史验证评价信息视为每个硬约束,并将整个约束训练问题重新定义为极大极小优化问题,采用基于梯度的优化方法有效地求解。下面这个图就是这篇文章提出的算法:
在这里插入图片描述

4. 实验

   实验部分主要是在NAS-Bench-101、NAS-Bench-201以及DARTS搜索空间上做的,这一部分直接看几张图就行了,这几个数据集的介绍就不多做展开了,感兴趣的(如果有人的话)可以自己去找找看。

4.1 NAS-Bench-101

在这里插入图片描述

4.2 NAS-Bench-201

在这里插入图片描述

4.3 DARTS

在这里插入图片描述

4.4 消融实验——不同的位置编码策略

   文中比较了不同的位置编码方案。在nas-101[48]。当训练数据大小为100时,邻接选项得到最高的分数,拉普拉斯选项在所有其他情况下获得最高的肯德尔Tau值。因此,我们在实验中选择了拉普拉斯矩阵作为位置编码。有趣的是,标准化拉普拉斯选项的性能比拉普拉斯选项更差。
在这里插入图片描述

4.5 消融实验——不同的验证数

   文中还研究了在验证数据集上执行的评估数量与最终的肯德尔Tau值之间的关系。如图4所示,当评估数从1增加到10时,我们可以看到肯德尔的Tau值显著增加。然而,当评估的数量继续增长时,肯德尔的Tau值的增加似乎微不足道,但训练时间增加了很多。因此,我们选择在所有实验的自我进化框架中对验证数据集进行10次评估。
在这里插入图片描述

5. 结论

在本文中,我们提出了一个基于变压器的NAS性能预测器,并利用拉普拉斯矩阵的线性变换作为位置编码。我们的预测器对空间拓扑信息具有更好的编码能力,从而在几个基准测试上获得了最先进的性能。此外,我们设计了一个足够普遍的自我进化框架,通过充分利用时间信息来进一步改进我们的NAS预测器。不幸的是,我们没有探讨如何将复杂的指标,例如,不可微的指标,作为我们的框架中的约束条件。未来,我们将进一步探讨如何选择更合理有效的约束,稳定有效地改进NAS预测器。

参考文献

TNASP:A Transformer-based NAS Predictor with a Self-evolution Framework , CVPR 2021

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文笔记】TNASP:A Transformer-based NAS Predictor with a Self-evolution Framework 的相关文章

  • 多线程(六):多线程案例

    多线程最最经典案例就是上一章的单例设计模式 当然除了单例设计模式 还有其他的案例 本章就 一一 来介绍 阻塞队列 这里是第一次提到阻塞队列这个东西 简单介绍一下 什么是阻塞队列 阻塞队列 BlockingQueue 是一个支持两个附加操作的
  • 连续和离散傅立叶变换总结及推导

    连续时间复指数信号 e j w 0 t e jw 0t ejw0 t 是否为周期信号 x t x t T x t x t T x t x t T 现假设 x t e j w 0 t x t e jw 0t x t ejw0 t e j w
  • C++反汇编 利用反汇编分析常见C/C++语句的底层实现(硬核)

    文章目录 赋值操作 if条件判断 指针和引用的实质 跳转函数 两个数字的交换操作 数组的赋值及 858993460数字的由来 总结 本节我们利用反汇编技术来对我们最常见的C语言语句进行解析 C 反汇编技术可以让你更好的理解C C语言的底层含
  • sam初识+sam详解

    SAM是什么 也许大家在网上看了许多的关于sam的传奇的故事吧 那么今天就让我 偏执狂带你们进入sam的所有吧 第一节 初级认识sam 微软做了两个不同的系统骨架 一个叫Win32 我们用的Win9x Me系统就附在它上面 另一个叫NT N

随机推荐

  • IM通讯设计

    1 系统架构 2 网络架构 3 发送消息的过程
  • [550]sklearn-preprocessing使用

    标准化 Z Score 公式为 X mean std 计算时对每个属性 每列分别进行 将数据按期属性 按列进行 减去其均值 并处以其方差 得到的结果是 对于每个属性 每列来说所有数据都聚集在0附近 方差为1 使用sklearn prepro
  • 经典SQL面试题讲解(11-20)

    本文转自公众号俊红的数据分析之路 本篇节选自书籍 对比Excel 轻松学习SQL数据分析 一书 主要讲解数据分析面试中常见的30道SQL面试题 1 10题见 几道经典SQL面试题讲解 11 行列互换 现在我们有下面这么一个表row col
  • POJ-1458最长公共子序列

    给定序列的子序列是给定序列 其中遗漏了一些元素 可能没有 给定序列X
  • CentOS 防火墙配置(firewall)

    常用的防火墙配置命令 查看所有防火墙规则 firewall cmd list all zones 查看当前区域防火墙规则 firewall cmd list all 添加一个开放服务规则 firewall cmd add service s
  • C++笔记九(STL:基础知识、string、vector、deque)

    1 STL基础 1 1为了建立数据结构与算法的一套标准 诞生了STL STL 标准模板库 广义分为 容器 算法 迭代器 容器与算法之间通过迭代器进行无缝连接 STL 所有代码基本上都采用了类模板和函数模板 1 2 STL六大组件 分别为 容
  • 山石岩读丨一文读懂区块链安全:区块链到底是什么?

    当2017年比特币在全球各种加密交易中达到19000美元的峰值时 加密数字货币就吸引了不仅限于技术爱好者和挖矿者 交易者的全世界范围的广泛关注 随后 使比特币成为可能的区块链技术也作为新兴主流技术之一进入了人们的视野 从产品营销人员到网络专
  • jmeter实现随机数,MD5加密压测投票接口

    1 新增HTTP请求 nonStr为随机值 sign为加密参数 2 在线程组下添加前置处理器 BeanShell PreProcessor 代码如下 import org apache commons codec digest Digest
  • c++ make_shared

    make shared的使用 shared ptr
  • C++14中binary literals的使用

    一个形如42的值被称作字面值常量 literal 这样的值一望而知 每个字面值常量都对应一种数据类型 字面值常量的形式和值决定了它的数据类型 我们可以将整型字面值写作十进制 基数为10 八进制 基数为8 或十六进制 基数为16 数的形式 以
  • 数据库连接不上的几种情况

    客户端不能连接服务器的情况 首先保证客户端和服务器能够ping通 如果ping不通 请检查以下几点 1 服务器和客户端电脑是否通电 2 交换机是否通电 3 网卡安装是否正常 或者网卡是否在设备管理器被禁用 4 本地连接是否被禁用 5 服务器
  • 公钥 私钥 的理解

    公钥和私钥是成对出现 私钥可以生成公钥 公钥无法生成私钥 私钥加密的内容 可以被公钥解密 公钥加密的内容 可以被私钥解密 举个例子 A 持有自己的私钥 A的私钥生成的公钥被其他人持有 其他人用A的公钥加密的内容 只有用A的私钥才可以解密 且
  • 分享一个java+python双版本源码之基于微信小程序的校园跑腿接单系统 校园快递代领小程序(源码、lw、调试)

    作者 计算机源码社 个人简介 本人七年开发经验 擅长Java Python PHP NET 微信小程序 爬虫 大数据等 大家有这一块的问题可以一起交流 学习资料 程序开发 技术解答 文档报告 如需要源码 可以扫取文章下方二维码联系咨询 Ja
  • target_include_directories([SYSTEM][BEFORE]

    target include directories
  • mybatis获取新增记录的主键

    最近项目中有个需求 需要在新增一条记录后返回该记录的主键 查了下资料 用mybatis可以做 我需要拿第一个方法执行返回的id作为变量传给下面 数据库中该id是记录主键 并且数据库用的是主键自增长 这是前提 有两种方式 第一种方式写法如下
  • 信息化战略规划-CRO-SCM-应用集成-电子商务

    信息化战略规划 CRO SCM 应用集成 电子商务 信息化战略体系 重点 信息系统战略规划 重点 客户关系管理 重点 供应链管理 企业应用集成 电子商务 信息化战略体系 重点 企业战略 目标 企业战略规划 实现目标的规划 企业信息化战略 使
  • 操作系统(四):磁盘调度算法,先来先服务,最短寻道时间优先,电梯算法

    文章目录 一 磁盘结构 二 先来先服务 三 最短寻道时间优先 四 电梯算法 SCAN 一 磁盘结构 盘面 Platter 一个磁盘有多个盘面 磁道 Track 盘面上的圆形带状区域 一个盘面可以有多个磁道 扇区 Track Sector 磁
  • 在echarts中自定义提示框内容

    以折线图为例 在鼠标滑过每个数据标签时 为了更友好地显示数据内容 需要对显示的数据内容作格式化处理 添加自定义内容 这就需要用到tooltip的formatter属性的回调函数 本文将从配置代码和效果两方面来展示它的使用 柱状图的原理类似
  • NCC低代码平台服务搭建指南

    NCC服务搭建 前言 本文档旨在帮助第一次接触NCC的开发人员 搭建NCC开发环境 1 NCC相关资料 开发者社区 https nccdev yonyou com 资料 https pan baidu com s 15V71U7vVOGr8
  • 【论文笔记】TNASP:A Transformer-based NAS Predictor with a Self-evolution Framework

    文章目录 0 摘要 摘要解读 1 Introduction 2 相关工作 3 方法 3 1 Training based network performance predictors 3 2 基于Transformer的预测器 3 3 自演