提升神经网络架构搜索稳定性,UCLA提出新型NAS算法

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 可微网络架构搜索能够大幅缩短搜索时间,但是稳定性不足。为此,UCLA 基于随机平滑(random smoothing)和对抗训练(adversarial training),提出新型 NAS 算法。


可微网络架构搜索(DARTS)能够大幅缩短搜索时间,但是其稳定性受到质疑。随着搜索进行,DARTS 生成的网络架构性能会逐渐变差。最终生成的结构甚至全是跳过连接(skip connection),没有任何卷积操作。在 ICML 2020 中,UCLA 基于随机平滑(random smoothing)和对抗训练(adversarial training),提出了两种正则化方法,大幅提升了可微架构搜索算法的鲁棒性。

微信图片_20211204091124.jpg



近期,可微架构搜索算法将 NAS 搜索时间缩短至数天,因而备受关注。然而,其稳定生成高性能神经网络的能力受到广泛质疑。许多研究者发现随着搜索进行,DARTS 生成的网络架构反而越来越差,最终甚至会完全变为跳过连接(skip connection)。为了支持梯度下降,DARTS 对于搜索空间做了连续化近似,并始终在优化一组连续可微的框架权重 A。但是在生成最终框架时,需要将这个权重离散化。

本研究作者观察到这组连续框架权重 A 在验证集上的损失函数非常不平滑,DARTS 总是会收敛到一个非常尖锐的区域。因此对于 A 轻微的扰动都会让验证集性能大幅下降,更不用说最终的离散化过程了。这样尖锐的损失函数还会损害搜索算法在架构空间中的探索能力。

于是,本文作者提出了新型 NAS 框架 SmoothDARTS(SDARTS),使得 A 在验证集上的损失函数变得十分平滑。

该工作的主要贡献包括:

  • 提出 SDARTS,大幅提升了可微架构搜索算法的鲁棒性和泛化性。SDARTS 在搜索时优化 A 整个邻域的网络权重,而不仅仅像传统可微 NAS 那样只基于当前这一组参数。第一种方法优化邻域内损失函数的期望,没有提升搜索时间却非常有效。第二种方法基于整个邻域内的最差损失函数(worst-case loss),取得了更强的稳定性和搜索性能。
  • 在数学上,尖锐的损失函数意味着其 Hessian 矩阵范数非常大。作者发现随着搜索进行,这一范数极速扩大,导致了 DARTS 的不稳定性。而本文提出的两种框架都有数学保障可以一直降低 Hessian 范数,这也在理论上解释了其有效性。
  • 最后,本文提出的方法可以广泛应用于各种可微架构算法。在各种数据集和搜索空间上,作者发现 SDARTS 可以一贯地取得性能提升。


微信图片_20211204091130.jpg


具体方法

传统 DARTS 使用一组连续的框架权重 A,但是 A 最终却要被投射到离散空间以获得最终架构。这一步离散化会导致网络性能大幅下降,一个高性能的连续框架并不意味着能生成一个高性能的离散框架。因此,尽管 DARTS 可以始终减少连续框架在验证集上的损失函数,投射后的损失函数通常非常不稳定,甚至会突变得非常大。

因此作者希望最终获得的连续框架在大幅扰动,例如离散化的情况下,仍然能保持高性能。这也意味了损失函数需要尽可能平滑,并保持很小的 Hessian 范数。因此本文提出在搜索过程中即对 A 进行扰动,这便会让搜索算法关注在平滑区域。

微信图片_20211204091139.jpg


SDARTS-RS 基本随机平滑(random smoothing),优化 A 邻域内损失函数的期望。该研究在均匀分布中采样了随机噪声,并在对网络权重 w 进行优化前加到连续框架权重 A 之上。

这一方法非常简单,只增加了一行代码并且不增加计算量,可作者发现其有效地平滑了在验证集上的损失函数。

SDARTS-ADV 基于对抗训练(adversarial training),优化邻域内最差的损失函数,这一方法希望最终搜索到连续框架权重 A 可以抵御最强的攻击,包括生成最终架构的离散化过程。在这里,我们使用 PGD (projected gradient descent)迭代获得当前最强扰动。

微信图片_20211204091152.jpg


整个优化过程遵循可微 NAS 的通用范式,交替优化框架权重 A 和网络权重 w。

微信图片_20211204091154.jpg


理论分析

微信图片_20211204091210.jpg


对 SDARTS-RS 的目标函数进行泰勒展开,作者发现这在搜索过程中,Hessian 矩阵的 trace norm 也在被一直减小。如果 Hessian 矩阵近似 PSD,那么近似于一直在减小 Hessian 的正特征值。相似地,在通常的范数选择下(2 范数和无穷范数),SDARTS-ADV 目标函数中第二项近似于被 Hessian 范数 bound 住。因此它也可以随着搜索降低范数。

微信图片_20211204091221.jpg


这些理论分析进一步解释了为何 SDARTS 可以获得平滑的损失函数,在扰动下保持鲁棒性与泛化性。

实验结果

NAS-Benchmark-1Shot1 实验
这个 benchmark 含有 3 个不同大小的搜索空间,并且可以直接获得架构的性能,不需要任何训练过程。这也使本文可以跟踪搜索算法任意时刻得到架构的精确度,并比较他们的稳定性。
如图 4 所示,DARTS 随着搜索进行生成的框架不断变差,甚至在最后的性能直接突变得很差。近期提出的一些新的改进算法,例如 NASP 与 PC-DARTS 也难以始终保持高稳定性。与之相比,SDARTS-RS 与 SDARTS-ADV 大幅提升了搜索稳定性。得益于平滑的损失函数,该研究提出的两种方法还具有更强的探索能力,甚至在搜索迭代了 80 轮之后仍能持续发现精度更高的架构。
另外,作者还在图 5 中跟踪了 Hessian 范数的变化情况,所有 baseline 方法的范数都扩大了 10 倍之多,而本文提出的方法一直在降低该范数,这与上文的理论分析一致。

微信图片_20211204091227.jpg


CIFAR-10 实验
作者在通用的基于 cell 的空间上进行搜索,这里需要对获得架构进行 retrain 以获得其精度。值得注意的是,除了 DARTS,本文提出的方法可以普遍适用于可微 NAS 下的许多方法,例如 PC-DARTS 和 P-DARTS。如表 1 所示,作者将原本 DARTS 的 test error 从 3.00% 减少至 2.61%,将 PC-DARTS 从 2.57% 减少至 2.49%,将 P-DARTS 从 2.50% 减少至 2.48%。搜索结果的方差也由于稳定性的提升而减小。

微信图片_20211204091234.jpg


ImageNet 实验
为了测试在大数据集上的性能,作者将搜索的架构迁移到 ImageNet 上。在表 2 中,作者获得了 24.2% 的 top1 test error,超过了所有相比较的方法。

微信图片_20211204091239.jpg


与其他正则项方法比较

作者还在另外 4 个搜索空间 S1-S4 和 3 个数据集上做实验。这四个空间与 CIFAR-10 上的搜索空间类似,只是包含了更少的操作,例如 S2 只包含 3x3 卷积和跳过连接,S4 只包括 3x3 卷积和噪声。在这些简化的空间上实验能进一步验证 SDARTS 的有效性。

微信图片_20211204091244.jpg


如表 4 所示,SDARTS 在这 12 个任务中的 9 个中包揽了前两名,SDARTS-ADV 分别平均超过 DARTS、R-DARTS (L2)、DARTS-ES、R-DARTS (DP) 和 PC-DARTS 31.1%、11.5%、11.4%、10.9% 和 5.3%。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
|
18天前
|
机器学习/深度学习 算法 JavaScript
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。
|
29天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于模糊神经网络的金融序列预测算法matlab仿真
本程序为基于模糊神经网络的金融序列预测算法MATLAB仿真,适用于非线性、不确定性金融数据预测。通过MAD、RSI、KD等指标实现序列预测与收益分析,运行环境为MATLAB2022A,完整程序无水印。算法结合模糊逻辑与神经网络技术,包含输入层、模糊化层、规则层等结构,可有效处理金融市场中的复杂关系,助力投资者制定交易策略。
|
1月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
255 80
|
21天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB 2022a实现了一种结合遗传算法(GA)优化的时间卷积神经网络(TCN)时间序列预测算法。通过GA全局搜索能力优化TCN超参数(如卷积核大小、层数等),显著提升模型性能,优于传统GA遗传优化TCN方法。项目提供完整代码(含详细中文注释)及操作视频,运行后无水印效果预览。 核心内容包括:1) 时间序列预测理论概述;2) TCN结构(因果卷积层与残差连接);3) GA优化流程(染色体编码、适应度评估等)。最终模型在金融、气象等领域具备广泛应用价值,可实现更精准可靠的预测结果。
|
2月前
|
存储 监控 算法
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
在数字化办公时代,公司监控上网软件成为企业管理网络资源和保障信息安全的关键工具。本文深入剖析C++中的链表数据结构及其在该软件中的应用。链表通过节点存储网络访问记录,具备高效插入、删除操作及节省内存的优势,助力企业实时追踪员工上网行为,提升运营效率并降低安全风险。示例代码展示了如何用C++实现链表记录上网行为,并模拟发送至服务器。链表为公司监控上网软件提供了灵活高效的数据管理方式,但实际开发还需考虑安全性、隐私保护等多方面因素。
38 0
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
|
3月前
|
负载均衡 算法
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
533 11
架构学习:7种负载均衡算法策略
|
4月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
280 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
4月前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。

热门文章

最新文章