神经网络架构搜索

定义

Neural Architecture Search(NAS):找到最优的神经网络结构使得其在验证集上的准确率最大化。

指定搜索空间

神经网络架构搜索_第1张图片
搜索完成后得到每一层的最优超参数值(卷积核数量、卷积核大小、步长大小)

搜索方法

  • Random Search(baseline)
    神经网络架构搜索_第2张图片
  • RNN+RL(2017)
    思想:RNN依次预测第N层的卷积核数量、卷积核大小、步长大小。得到a_1到a_60 60个超参数
    神经网络架构搜索_第3张图片
    相同任务可以共用一个Embedding参数,比如a_1 -> x_1 、a_4 -> x_4 ,他们都是预测卷积核的数量,Embedding的参数可以在相同任务中重复利用!

神经网络架构搜索_第4张图片
神经网络架构搜索_第5张图片
问题:无法根据反向传播来更新Controller RNN。
解决方法:使用强化学习来训练Controller RNN。(需要收集大量的奖励)
神经网络架构搜索_第6张图片
神经网络架构搜索_第7张图片
Π学习RNN的参数,Π输出一个[0,1]
神经网络架构搜索_第8张图片
神经网络架构搜索_第9张图片
神经网络架构搜索_第10张图片
神经网络架构搜索_第11张图片

  • 可微架构搜索:Darts
    流程:
    神经网络架构搜索_第12张图片
    Super-net:每一层都由9个候选模块并联而成,

神经网络架构搜索_第13张图片
9个模块的f 加权平均得到z
神经网络架构搜索_第14张图片
神经网络架构搜索_第15张图片
神经网络架构搜索_第16张图片
神经网络架构搜索_第17张图片
神经网络架构搜索_第18张图片
神经网络架构搜索_第19张图片
神经网络架构搜索_第20张图片

  • 如何计算计算量
    神经网络架构搜索_第21张图片
    神经网络架构搜索_第22张图片
    提前计算好每一个模块的latencies
    神经网络架构搜索_第23张图片
    神经网络架构搜索_第24张图片
    神经网络架构搜索_第25张图片
    神经网络架构搜索_第26张图片
    神经网络架构搜索_第27张图片
    神经网络架构搜索_第28张图片
    神经网络架构搜索_第29张图片
    神经网络架构搜索_第30张图片
    神经网络架构搜索_第31张图片
    神经网络架构搜索_第32张图片

你可能感兴趣的:(深度学习之架构搜索,神经网络,rnn,深度学习)