神经网络架构搜索总结
International Journal of Complexity in Applied Science and Technologyhttps://www.inderscience.com/jhome.php?jcode=ijcast 收录进化计算,机器学习和大数据方面的论文
神经架构搜索(Neural Architecture Search, NAS)是一种自动化设计神经网络架构的方法,旨在减少人工设计神经网络结构的复杂性和工作量。NAS方法大致可以分为三类:基于强化学习的方法、基于进化算法的方法和基于梯度的方法。下面列出几种常见的NAS方法及其典型代表算法:
基于强化学习的方法
-
Neural Architecture Search with Reinforcement Learning (NAS-RL):
- 典型算法: NASNet
- 描述: 使用强化学习代理(controller)生成神经网络架构,代理通过训练样本评估架构的性能并调整策略。
-
MetaQNN:
- 描述: 使用Q-learning方法来自动设计卷积神经网络结构。
基于进化算法的方法
-
Large-Scale Evolution of Image Classifiers:
- 典型算法: AmoebaNet
- 描述: 通过进化算法(例如遗传算法)来迭代优化神经网络结构,保留性能最好的个体并引入变异和交叉操作。
-
Hierarchical Representations for Efficient Architecture Search:
- 描述: 采用层次化表示和进化策略来搜索高效的神经网络结构。
基于梯度的方法
-
Differentiable Architecture Search (DARTS):
- 描述: 通过梯度下降法连续优化神经网络架构,使得架构搜索问题可以通过标准的反向传播方法来解决。
-
ProxylessNAS:
- 描述: 直接在目标任务上进行架构搜索,无需代理模型,从而提高了搜索效率和效果。
典型代表算法
-
NASNet:
- 方法: 基于强化学习
- 描述: 使用一个RNN控制器生成子网络结构,并通过性能反馈来优化控制器。
-
AmoebaNet:
- 方法: 基于进化算法
- 描述: 通过进化算法不断变异和交叉生成新的网络结构,并选择表现最好的结构进行保留和进一步优化。
-
DARTS:
- 方法: 基于梯度
- 描述: 利用可微分的架构参数,使得架构搜索可以通过梯度下降方法进行,从而大大加速搜索过程。