NAS入门(学习笔记)

文章目录

  • AutoML
  • NAS
    • 初期NAS
    • 当前NAS框架
        • One-Shot NAS
        • 权重共享策略
      • Zero-Shot NAS
        • Zen-NAS
        • NASWOT
        • EPENAS
  • 参考资料

AutoML

深度学习使特征学习自动化

AutoML 使深度学习自动化

自动化机器学习 (automated machine learning) 是一种自动化的数据驱动方法, 并做出一系列决策。

按模型类型划分,分为以下两类:

Classical ML:传统机器学习模型的自动化学习,包括基础算法的选择和超参数优化以及机器学习pipeline的自动合成等。

NAS:神经网络架构搜索 (Neural Architecture Search,NAS)是一种自动设计神经网络的技术,可以通过算法根据样本集自动设计出高性能的网络结构,在某些任务上甚至可以媲美人类专家的水准,甚至发现某些人类之前未曾提出的网络结构,这可以有效的降低神经网络的使用和实现成本。

NAS

NAS 是 AutoML子领域,是一种搜索最佳神经网络结构的方法。

2017年 nas 出现

2018 NAS开始流行

2019 2020更加成熟 成为标准技术

根据专家预先定义的搜索空间 (search space), 神经结构搜索算法在一个庞大的神经网络集合中评估 结构性能并寻找到表现最佳的网络结构。

自动化结构搜索的结果往往是专家手工设计过程中未考虑的, 能够取得 更加优异的性能表现, 尤其在一些硬件资源受限的应用场景中, NAS 往往能取得惊人的效果。

神经结构搜索在超 参数选择的过程中扮演着关键角色, 而且具有重要的理论意义和应用价值。

面向一种特殊的神经网络结构超参数, 神经结构搜索联合优化理论和机器学习理论, 有效地解决神经网络模型的调参问题, 降低神经网络的使用成本与 实现成本, 促使模型设计的智能化与神经网络应用的大众化。

初期NAS

NAS 算法通常采用采样 重新训练的策略, 即从预先定义好的搜索空间中采样数量庞大的网络结构, 分别对每个采样

结构重新训练并评估 性能, 以获取表现最佳的神经网络。实验结果优越但十分耗费资源。

对于 Cifar-10 数据集, 这类方法需要应用 800 个GPU, 持续近一个月才能完成 对最佳结构的搜索。

因此, 这种采样重新训练策略对计算资源的需求过大, 不利于 NAS 领域的发展与落地应用

img

当前NAS框架

在这里插入图片描述

为了降低搜索阶段的资源消耗, 神经结构搜索领域内应用最广的一种加速方式:

One-Shot NAS

它训练一个大型超网,然后评估其内部子网的性能,以及在训练过程中预测模型最终性能

One-Shot NAS 有一个很大的特性就是:训练一次 Supernet,便可以针对各种不同的constraint,得到多种不同的 network。

One-Shot NAS可以分成两个阶段,分别是 training stage 和 searching stage:

  • Training stage:在这个阶段,并不会进行搜索,而是单纯训练 Supernet ,使得 Supernet 收敛至一定的程度。
    当 Training stage 结束时, Supernet 中的参数就被训练收敛了,这个时候进入第二阶段。

  • Searching stage:从 Supernet 中不断取出 Sub-network,并使用 Supernet 的 weight 给Sub-network赋权重,这样就可以得到不同的Sub-network 的 validation accuracy,直到取得最好且符合 hardware constraint 的 Sub-network。

    权重共享策略

    权重共享策略(weight-sharing strategy)即尽可能地利用已经训练好的模型, 避免重新训练. 目前这种权重共享的搜索策略已经成为神经网络结 构搜索的主流方向。

    简而言之, 首先将预先设定的搜索空间表示为已经训练好的超级网络 (super-network), 然后在 保留原始权重的同时, 直接对采样的子结构 (sub-architectures) 进行性能评估, 不需要重新进行模型训练。

Zero-Shot NAS

0样本学习

Zen-NAS

一个用于评估架构性能的零点指标。Zen-NAS使用Zen-Score作为评估架构准确性的代理,成功地探索了架构,比现有的NAS方法更快、更准确。Zen-Score是一个用于评估架构性能的Zero-Shot指标,包含两个主要建议

在这里插入图片描述

NASWOT

Paper
Code

EPENAS

受NASWOT启发搜索空间是NAS-Bench-201,数据集是CIFAR-10, CIFAR-100, ImageNet16-120

参考资料

华为学习资料

EPE-NAS

NASWOT

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

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

相关文章

微信原生小程序上传与识别以及监听多个checkbox事件打开pdf

1.点击上传并识别 组件样式<van-field border"{{ false }}" placeholder"请输入银行卡卡号" model:value"{{bankNo}}" label"卡号"><van-icon bindtap"handleChooseImg" slot"right-icon" name"sca…

精品量化公式——“低位擒妖”,擒妖指标终极版,成功率百分99,无未来

不多说&#xff0c;直接上效果如图&#xff1a; ► 日线表现 代码评估 技术指标代码评估&#xff1a; X_1:55; X_2:34; 这两行设定了两个变量 X_1 和 X_2 的值分别为 55 和 34。这些值可能用于后续计算的时间周期参数。 X_3:100*(HHV(HIGH,X_1)-CLOSE)/(HHV(HIGH,X_1)-LLV(…

Kafka-多线程消费及分区设置

目录 一、Kafka是什么&#xff1f;消息系统&#xff1a;Publish/subscribe&#xff08;发布/订阅者&#xff09;模式相关术语 二、初步使用1.yml文件配置2.生产者类3.消费者类4.发送消息 三、减少分区数量1.停止业务服务进程2.停止kafka服务进程3.重新启动kafka服务4.重新启动业…

基于麻雀优化算法SSA的CEEMDAN-BiLSTM-Attention的预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

linux 安装ffmpeg

一、下载 ffmpeg-4.3.1 下载地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1xbkpHDfIWSCbHFGJJHSQcA 提取码&#xff1a;3eil 二、上传到服务器root目录下 三、给ffmpeg-4.3.1 读写权限 chmod -R 777 /root/ffmpeg-4.3.1 四、创建软连接 1.进入/bin 目录 2.…

storm统计服务开启zookeeper、kafka 、Storm(sasl认证)

部署storm统计服务开启zookeeper、kafka 、Storm&#xff08;sasl认证&#xff09; 当前测试验证结果&#xff1a; 单独配置zookeeper 支持acl 设置用户和密码&#xff0c;在storm不修改代码情况下和kafka支持当kafka 开启ACL时&#xff0c;storm 和ccod模块不清楚配置用户和密…

【JVM】强软弱虚引用详细解释

​ &#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JVM ⛳️ 功不唐捐&#xff0c;玉汝于成 ​ 目录 前言 正文 1、强引用 2、软引用 3、弱引用 4、虚引用 结语 我的其他博客 前言 在Java中&#xff0c;引用类型对于对象的生命周期管…

Vision Transformer(VIT)模型介绍

计算机视觉 文章目录 计算机视觉Vision Transformer&#xff08;VIT&#xff09;Patch EmbeddingsHybrid ArchitectureFine-tuning and higher resolutionPyTorch实现Vision Transformer Vision Transformer&#xff08;VIT&#xff09; Vision Transformer&#xff08;ViT&am…

数据结构:链式栈

stack.h /* * 文件名称&#xff1a;stack.h * 创 建 者&#xff1a;cxy * 创建日期&#xff1a;2024年01月18日 * 描 述&#xff1a; */ #ifndef _STACK_H #define _STACK_H#include <stdio.h> #include <stdlib.h>typedef struct stack{int data…

gitlab 命令执行漏洞(CVE-2022-2992)

1.漏洞影响版本 GitLab CE/EE 中的一个漏洞影响从 11.10 开始到 15.1.6 之前的所有版本、从 15.2 开始到 15.2.4 之前的所有版本、从 15.3 开始到 15.3.2 之前的所有版本。允许经过身份验证的用户通过从 GitHub API 端点导入实现远程代码执行。 查看 gitlab 版本。(登录后才能…

MATLAB - 比较 DDPG Agent 和 LQR 控制器

系列文章目录 前言 本示例展示了如何训练深度确定性策略梯度&#xff08;DDPG&#xff09;Agent&#xff0c;以控制 MATLAB 中建模的二阶线性动态系统。该示例还将 DDPG Agent 与 LQR 控制器进行了比较。 有关 DDPG 代理的更多信息&#xff0c;请参阅深度确定性策略梯度 (DDP…

Git入门详细教程

一、Git概述&#x1f387; Git官网 Git是一个开源的分布式版本控制系统&#xff0c;用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作&#xff0c;并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作&#xff0c;追踪代码变更&#xf…