当前位置: 首页 > news >正文

[论文阅读] Neural Architecture Search: Insights from 1000 Papers

题目:Neural Architecture Search: Insights from 1000 Papers
链接:https://arxiv.org/pdf/2301.08727

1. Introduction

NAS在众多领域有着广泛应用,近两年来有超过1000篇相关文章。

1.1 A Brief History of NAS and Relation to Other Fields

神经网络结构搜索(neural architecture search, NAS)起源于自动机器学习(automated machine learning,AutoML)。AutoML是一种自动化学习框架,包括数据清洗、特征工程与选择、参数与结构搜索等一些列流程。
NAS可以被视为参数优化(hyperparameter optimization, HPO)的一个子集。与HPO不同,NAS只优化与模型相关的参数。

一般而言,学习率、batch size等通用参数不在NAS的考虑范围内

HPO优化的参数,(例如学习率、batch size等),这些参数通常是独立的、互不相关的。NAS优化的参数,往往是互相关联的。

现有NAS主要包括强化方法(reinforcement learning),进化方法(evolutionary algorithms),贝叶斯优化方法(Bayesian optimization)和权重共享的技术(?weight sharing)。近年来,最为流行的是one-shot类方法,相比于黑盒优化模型,此类方法带来了显著加速。

此外,近年来领域内较为重要的是出现了NAS-Bench-101这样的评价基准,使得NAS方法的性能可以相对公平地比较。

1.2 Background and Definitions

  • Search space: 所有可供搜索的架构的集合
  • Search strategy: 优化策略,主要包含black-bos optimization & onr-shot optimization
  • Performance estimation strategy: 快速估计架构表现的策略(通常避免完整的训练)
    关于NAS的形式化定义:

    其中 A A A是搜素空间, w w w是参数, L t r a i n L_{train} Ltrain是训练的loss, L v a l L_{val} Lval是验证的loss。

这种形式被称为 Bi-level 优化模型

2. Search Spaces

不同类型的搜索空间如下表:
在这里插入图片描述

2.1 Terminology

搜索空间的术语:

  • Operation/primitive: 最小原子单元,通常是激活函数、操作函数和正则函数组成的三元组
  • Layer:与operation含义接近,但通常是指一些广为人知的operation组合
  • Motif:由一些operation构成,介于cell和operation之间
  • Block/Module:一系列layer的组合(通常是是序列的形式拼在一起的)
  • Cell:包含一些operation(通常是以图的形式拼在一起的),以及这些operation之间的有向图

3. Black-Box Optimization Techniques

包括强化方法、进化方法、贝叶斯优化方法、蒙特卡洛树方法等。由于需要训练很多独立的、缺少关联的框架,黑盒方法往往比one-shot方法消耗更多资源。然而,黑盒方法有更加简单,设计方便,利于并行化等优点。

3.1 Baselines

  • random search
  • random sampling

3.2 Reinforcement Learning

此类方法对GPU和时间的消耗非常大。

3.3 Evolutionary and Genetic Algorithms

进化算法改进的核心是对“更广阔地探寻搜索空间”和“更深入地开发现有最佳区域”之间的平衡。

原文:These methods trade off exploration vs. exploiting the best region found so far

比较值得关注的是regularized evolution,修改了进化的淘汰条件。一般进化算法是给最好的种子机会,这样会较快陷入局部最优。regularized evolution提出每次淘汰较老的,给较新的种子机会,这样有利于对全局最优的探索。

3.4 Bayesian Optimization

贝叶斯优化的两大核心:

  1. 设计概率代理函数(building a probabilistic surrogate to model the unknown objective based on past observations)
  2. 设计估值函数(defining an acquisition function to balance the exploration and exploitation during the search)

3.5 Monte Carlo Tree Search

核心:递归采用

4. One-Shot Techniques

One-shot方法的主要目的是:避免每次对搜索到的结构从头开始训练,以减少时间/计算资源的消耗。
One-shot的主要实现方式有两种:

  1. 设计一个hypernetwork,产生不同模型的weights
  2. 设计一个supernetwork,所有可能的架构都是来自supernetwork的一个子集。因而,只需要对这个supernework进行适当的训练即可。
    在这里插入图片描述
    在这里插入图片描述

4.1 Non-Differentiable Supernet-Based Methods

非梯度的方法主要有两种形式:

  1. 拆解supernet的训练和结构搜索,即先训练supernet,后做black-box的搜索
  2. 两者同时进行

4.2 Differentiable Supernet-Based Methods

这是NAS中发展最为繁荣的一种形式
必读:DARTS (Differentiable Architecture Search) ,是划时代的工作

在这里插入图片描述
针对DARTS有如下方面的改进:

  1. Rank Disorder:one-shot方法的主要假设是:使用超级网络评估的架构排名与独立训练架构所获得的排名相对一致,当这一条不满足的时候,就会出现Rank Disorder现象。SGAS、XNAS等是针对这一方面的改进。
  2. Operation Biases:一些工作表明,NAS是存在对不同operation的偏好的不同,比如更喜欢使用跳跃连接(skip connection)。DARTS-PT,FairDARTS是对这一方面的改进。
  3. Poor Test Generalization:对泛化性的改进包括:Robust-DARTS
  4. High Memory Consumption:PC-DARTS和ProxylessNAS等是对空间开销的优化。

4.3 Hypernetworks

主要包括一些用直接生成weights 的方法,与HPO类似。

5. Speedup Techniques

5.1 Performance Prediction

为了避免将每一个搜索到的结构都训练一遍,可以设计一个预测模型,对已知结构的训练结果进行预测,然后筛选出可能有较好表现的少量模型进行训练。

在这里插入图片描述

5.2 Multi-Fidelity Algorithms

5.3 Meta-Learning

本质是利用旧有实验数据,可以和DARTS等方法结合。

5.4 Weight Inheritance and Network Morphisms

通过参数复用/共享来节约训练成本。

其他

余下部分包含具体应用、衡量基准、未来方向等,主要涉及具体实现。本文主要关注理论方法,对后续内容不再进行详细解读。推荐读者继续阅读原文,https://arxiv.org/pdf/2301.08727。

http://www.dtcms.com/a/263369.html

相关文章:

  • 创客匠人解析知识变现赛道:从 IP 孵化到商业闭环的核心策略
  • xilinx axi datamover IP使用demo
  • 【STM32HAL-第1讲 基础篇-单片机简介】
  • C#数字格式化全解析:从基础到进阶的实战指南
  • 腾讯云空间,高性能显卡云,安装xinference报错,pip install 空间不够用了
  • leedcode:找到字符串中所有字母异位词
  • 04密码加密
  • 中钧科技参加中亚数字经济对话会,引领新疆企业数字化新征程!
  • 【Teensy】在ArduinoIDE中配置Teensy4.1
  • LoRA 实战指南:NLP 与 CV 场景的高效微调方法全解析
  • 非常详细版: dd.device.geolocation 钉钉微应用获取定位,移动端 PC端都操作,Vue实现钉钉微应用获取精准定位并渲染在地图组件上
  • 强化学习概述及学习流程
  • 视频讲解:门槛效应模型Threshold Effect分析数字金融指数与消费结构数据
  • spring-ai 工作流
  • LG 将正式终止手机相关服务,彻底告别手机市场
  • 机器人、灵巧手动捕方案 | 突破底层适配,动捕数据直通仿真平台
  • 【科研绘图系列】R语言绘制世界地图分布(world map)
  • 【数据挖掘】数据挖掘综合案例—银行精准营销
  • 衡石科技chatbot分析手册--钉钉数据问答机器人配置
  • 纯前端本地文件管理器(VSCode风格)(浏览器对本地文件增删改查)
  • 阿里云计算巢私有化MCP市场:企业级AI工具的安全部署新选择
  • hono+postgresql+CURD
  • 华为云Flexus+DeepSeek征文 | 从零开始搭建Dify-LLM应用开发平台:华为云全流程单机部署实战教程
  • FPGA实现CameraLink视频解码转SDI输出,基于LVDS+GTX架构,提供2套工程源码和技术支持
  • 如何让Excel自动帮我们算加减乘除?
  • Python 数据分析与机器学习入门 (一):环境搭建与核心库概览
  • DAY 43 预训练模型
  • RWKV-8 系列之 DeepEmbedAttention:精简 KV 缓存,尤其适合混合模型(RWKV-7s)
  • 创客匠人方法论:从 0 到 1 打造创始人 IP 的实战框架
  • pytorch底层原理学习--PyTorch 架构梳理