神经网络结构搜索

视频

github

Neural Architecture Search Basics

  • parameters(参数)

  • Hyper-parameters(超参数)

parameters:aka weights,比如全连接层的权重矩阵,卷积层的卷积核,都是需要训练的参数。参数需要从training data中学习,有哪个梯度下降等算法更新参数,训练好模型之后,要在测试集上评价模型的好坏,希望模型取得尽量高的模型准确率。

Hyper-parameters:指的是搭建神经网络和开始训练之前需要手动设置的数值。深度学习中通常有两类超参数,一类是神经网络结构,比如有多少卷积层,每层有多少的卷积核,卷积核有多大,一类是优化算法,哪种算法,算法中的学习率,batch大小,epoch数量。

卷积神经网络的结构超参数包括:

  • 卷积层数量和全连接层的数量
  • 每一个卷积层的卷积核的数量,卷积核的大小,步长
  • 每个全连接层的宽度,也就是输出向量的大小

当前热门的cnn(resnet,mobilenet)的神经网络超参数都是手动调出的。

神经网络结构搜索:寻找最优的神经网络结构使得validation accuracy最大。

ex:resnet准确率比vgg好。mobilenet的计算内存和开销比resnet小,尽管准确率低一些。

搜索空间:手动设置一些可能的超参数。包含所有可能的神经网络结构。

Baseline:随机搜索

challenges:

1、每次搜索代价都很大。每一组超参数都需要搭建一组神经网络,从随机初始化开始训练神经网络

2、搜索空间过于巨大。

NAS via RNN+RL

用循环神经网络来生成神经网络结构,并且用强化学习来训练RNN,2017年提出。现在已经没人用了,只要知道思想即可。

https://blog.csdn.net/jinzhuojun/article/details/84698471

https://blog.csdn.net/weixin_43882112/article/details/109174440?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-109174440-blog-84698471.pc_relevant_antiscanv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-109174440-blog-84698471.pc_relevant_antiscanv3&utm_relevant_index=13