神经网络架构搜索
定义内涵
神经网络架构搜索是为给定数据集自动找到一个或多个架构的任务,这些架构将为给定
的数据集生成具有良好结果的模型,其本质是在高维空间的最优参数搜索问题。
技术背景
深度学习模型的使用越来越大众化,在很多行业中都是不可或缺的。然而,高效神经网
络的实现通常需要架构的知识和大量的时间,在不停的迭代过程中使用知识探索合理的解决
方案。神经网络的形式和结构会根据具体需要而有所不同,所以针对不同的任务和不同需求
需要设定特定的结构。但是以试错的方式设计这些网络是一项耗时且乏味的任务,不仅需要
架构技能还需要专业领域的知识。一般的情况下,专家们会利用他们过去的经验或技术知识
来创建和设计神经网络。
在大部分行业,都会关注模型效率(这里的效率不仅指执行效率,还包括了开发效率)。
为了使神经网络泛化而不过度拟合训练数据集,找到最优的结构是很重要的。但是在生产力
比质量更重要的时代,一些行业忽视了他们模型的效率,并且只满足于实现了他们的目标的
第一个模型(能用就行)而没有进一步
优化模型的性能和效率。寻找合适的网络架构不仅需要大量的时间成本和专业的架构设计技能,而且容易陷入次优解。由于缺乏时间或架构专业
知识,许多行业不具备通过“足够”的模型充分利用其数据的潜力。
神经网络架构搜索(Neural Architecture Search,NAS)[19] 是一种基于优化的算法,旨
在为特定数据集上的特定任务寻找神经网络的最佳结构,解决预定义的架构不完善的问题。
NAS 将神经网络架构的设计从繁杂的手动方式转变为自动化
方式,NAS 在图像分类、目标检测、语义分割等任务上的效果能够达到甚至优于手动设计的网络架构。
NAS 在定义的指数级搜索空间中实施特定的搜索策略,寻找在不可见数据上实现高预测
性能的神经网络架构。用于探索网络结构空间的搜索策略包括随机搜索、贝叶斯
优化、进化方法、强化学习和基于梯度的搜索方法NAS 通过自动化探索多种潜在的网络架构,为 MLOps 的模型选择提供了更多的灵活性
和更高效的解决方案
思路方案
NNI 中实现了 ENAS、DARTS、P-DARTS 算法,并提供 one-shot 算法的接口。另外,还
支持网络模态(Network Morphism)这样的经典搜索方法 [20]。
NAS 方法探索了许多具有可变复杂性的潜在解决方案,因此在计算上非常昂贵。他们的
搜索空间越大,需要测试、训练、评估的架构就越多。这些方法需要大量资源和时间才能找
到足够好的模型,因此在创建神经网络架构搜索任务时,SecXOps 将更倾向于将该项目所在
的 Pod 分配到空闲计算资源更多的 Node 节点上在训练过程中,程序会实时输出模型结果,SecXOps 同样为此类任务建立起了端口映射,
允许用户能够访问并查看自己的任务完成进度,如下图所示同时,点击对应的任务支持用户查看搜索到的神经网络架构
参考资料
绿盟SecXOps安全智能分析技术白皮书
友情链接
湖南省网络安全和信息化条例 2021