前言
- 神经网络的参数通常指的是权重,比如全连接神经网路的权重矩阵和偏置
- 参数需要从训练数据中学习。然后在测试数据中测试准确率
- 参数最后的训练结果依赖于训练数据和超参数
- 超参数是参数的初始化值,分为结构和算法,其中结构一般是卷积层有多少层,卷积核有多大等。而算法则是何种优化算法,还有batch size的大小等
- 以 CNN 的结构超参数为例:现在 CNN 很多著名的超参数结果都是人手动调出来的
Neural Architecture Search(NAS)
- 定义: 寻找使得准确率最高的神经网路结构
- 神经网路结构的搜索空间很大,如果每一个都去算,那么计算量会大到爆炸:
- 因此我们需要选定一些候选的参数,然后从候选的参数开始试验
- 搜索空间的大小就是这些候选参数的笛卡尔积
- NAS的结果示例如下:
Baseline:Random Search
- 随机选取超参数,然后一个个通过训练去尝试准确率:
- 但是这种方法的缺点是计算效率太低,最多只能算几万种参数,而这和搜索空间比起来实在是太小了: