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

深入解析ENAS中的共享权重机制

深入解析ENAS中的共享权重机制

在神经网络架构搜索(NAS)领域,ENAS(Efficient Neural Architecture Search)通过引入共享权重机制(Weight Sharing),大幅降低了计算开销,使得在有限资源下的神经网络搜索成为可能。本文将围绕ENAS共享权重的更新过程时间节约机制损失函数设计进行全面解析。


1. ENAS中的共享权重机制

ENAS提出了共享权重的概念:在庞大的搜索空间中,所有候选子模型(子网络)共享一个超级网络(Supernet)的参数。这一设计使得每个子模型不需要独立训练,而是直接继承超级网络的权重进行评估。

核心思想
  1. 超级网络的定义:超级网络包含了搜索空间中的所有可能架构,其节点代表计算操作(如卷积、池化),边表示数据流的连接。
  2. 共享权重的意义:每次训练一个子模型时,其优化的权重会被共享到超级网络中,其他子模型可以复用这些权重,避免从零开始训练。

2. 权重的更新过程

ENAS通过交替优化的方式,训练共享权重和控制器的参数:

(1)共享权重 ω \omega ω 的更新
  • 固定控制器参数 θ \theta θ,采样出子模型架构。
  • 使用采样出的子模型在训练数据集上计算损失并通过反向传播更新共享权重 ω \omega ω
  • 每次训练只更新采样子模型相关的部分权重,未采样部分的权重保持不变。

具体步骤

  1. 控制器生成一个子模型。
  2. 在当前批次训练数据上前向传播计算损失。
  3. 反向传播更新 ω \omega ω 中与该子模型相关的参数。
  4. 重复上述过程,逐步优化整个超级网络的权重。
(2)控制器参数 θ \theta θ 的更新
  • 固定共享权重 ω \omega ω,通过强化学习训练控制器。
  • 控制器根据当前采样架构的性能调整采样概率,使其倾向采样高性能子模型。
  • 损失函数采用策略梯度方法(Policy Gradient),目标是最大化子模型在验证集上的性能。

通过上述交替优化,ENAS实现了共享权重 ω \omega ω 和控制器 θ \theta θ 的协同进步。


3. 节约时间的核心机制

传统的NAS需要为每个候选架构从零开始训练,这会带来巨大的计算开销。ENAS的共享权重机制通过以下方式显著节约时间:

(1)避免重复训练子模型
  • 在传统NAS中,每个架构都需要单独训练多个 epoch 才能进行性能评估。ENAS通过共享权重,子模型可以直接继承超级网络的参数进行评估,无需从头训练。
  • 示例
    • 若搜索空间中有 1000 个架构,传统NAS需要训练 1000 次,而ENAS仅需训练一个超级网络。
(2)增量式权重更新
  • 每次采样的子模型仅更新共享权重中与其相关的部分,未采样部分的权重保持不变。这种局部优化显著减少了计算量。
  • 效果:减少了全模型梯度计算的次数,使得每次训练更高效。
(3)控制器的强化学习优化
  • 控制器逐渐倾向采样高性能架构,避免了大量无效的随机采样过程。
  • 传统NAS:依赖随机搜索或穷举,时间复杂度高。
  • ENAS:强化学习让采样逐渐聚焦于潜在优质架构,加速搜索过程。
(4)权重共享的“迁移学习”特性
  • 当一个子模型训练时,其优化的权重能够被其他子模型复用。这种跨模型的权重共享类似于迁移学习,使得未被直接训练的模型也能快速适应任务。

4. 损失函数设计

ENAS的损失函数由两个部分组成:共享权重的损失控制器的损失

(1)共享权重的损失

共享权重的损失直接来源于采样的子模型在训练集上的性能。

  • 子模型损失:
    L shared = 1 N ∑ i = 1 N L ( f ( x i ; ω ) , y i ) L_{\text{shared}} = \frac{1}{N} \sum_{i=1}^N \mathcal{L}(f(x_i; \omega), y_i) Lshared=N1i=1NL(f(xi;ω),yi)
    其中:
    • x i , y i x_i, y_i xi,yi:训练样本及其标签。
    • L \mathcal{L} L:常用的交叉熵或均方误差损失。
    • ω \omega ω:超级网络的共享权重。
(2)控制器的损失

控制器通过强化学习优化,其目标是最大化采样子模型在验证集上的性能。损失函数基于策略梯度方法:
L controller = − E P ( m ; θ ) [ R ( m ) ] L_{\text{controller}} = -\mathbb{E}_{P(m; \theta)} \left[ R(m) \right] Lcontroller=EP(m;θ)[R(m)]
其中:

  • P ( m ; θ ) P(m; \theta) P(m;θ):控制器采样架构 m m m 的概率分布。
  • R ( m ) R(m) R(m):子模型 m m m 的奖励函数,通常由验证集上的准确率给出。

通过策略梯度方法优化 θ \theta θ,控制器能够逐步采样出更高性能的子模型。


5. 总结与展望

ENAS通过共享权重机制,实现了在庞大搜索空间中的高效搜索,显著降低了计算成本。其成功的关键在于:

  1. 通过共享权重,避免重复训练候选架构
  2. 权重优化过程高效,支持多子模型的协同训练
  3. 强化学习控制器进一步减少无效搜索,提升时间效率

尽管ENAS的共享权重机制解决了传统NAS中的时间开销问题,但也引入了一些新的挑战,例如共享权重可能对某些特定子模型评估不准确。未来的研究可以在共享权重的公平性和鲁棒性上进一步优化,从而提升搜索性能。

通过ENAS的探索,NAS算法的高效性得到了巨大的提升,也为神经网络搜索在实际应用中的落地提供了可能性。


http://www.kler.cn/a/443181.html

相关文章:

  • 【GlobalMapper精品教程】093:将tif影像色彩映射表(调色板)转为RGB全彩模式
  • docker-compose安装canal并利用rabbitmq同步多个mysql数据
  • RabbitMQ介绍与使用
  • 【爬虫】单个网站链接爬取文献数据:标题、摘要、作者等信息
  • FreeROTS学习 内存管理
  • 【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法
  • pyparsing restOfLine
  • 基于xss-lab的绕过
  • 华纳云:如何实现tomcat自动化部署?
  • 【Yonghong 企业日常问题03】如何在Linux系统上部署Yonghong DM-Engine v2.3.1(一键安装指南版)
  • 随手记:小程序使用uni.createVideoContext视频无法触发播放
  • Excel+VBA+FFmpeg全能图片处理利器:批量选择、调整尺寸、压缩质量、图片合并,水平垂直合并一键搞定!
  • 【C++】sophus 计算机视觉和机器人技术中的二维和三维李群 (一)
  • WPF MVVM 数据表格DataGrid的表头Header无法进行数据绑定
  • Java全栈项目:校园共享单车管理平台
  • 红狮金业:央行利率决议对贵金属市场的影响
  • A5433 Java+Jsp+Servlet+MySQL+微信小程序+LW+在线点餐小程序的设计与实现 源码 配置 文档
  • 说说es6 promise async await 以及 promise A+规范的了解
  • 使用winscp从windows访问Ubuntu进行文件传输
  • MySQL高级技术:性能优化与死锁处理
  • 深入解析Ubuntu 20.04中ROS的catkin_make工具
  • 《鸿蒙开发-答案之书》字符串占位符格式化
  • 【Unity】环境配置与安装
  • Vue工具和面试题目(二)
  • Oracle 临时表空间管理与最佳实践
  • 视频生成缩略图