实用机器学习笔记二十六:NAS
前言:
本文是个人在 B 站自学李沐老师的实用机器学习课程【斯坦福 2021 秋季中文同步】的学习笔记,感觉沐神讲解的非常棒 yyds。
神经网络架构搜索(NAS):
上一篇文章讲了模型的超参数如何使用算法来进行选取。本文讲解神经网络的结构如何通过算法来选取。
一个神经网络有不同类型的超参数
拓扑结构:层数,层与层之间的连接方式。resnet-ish,mobilenet-ish
独立的层:核大小,卷积层的通道,隐藏层的神经元个数等
NAS 即把设计神经网络结构进行自动化
如何明确神经网络的搜索空间
使用哪些算法探索搜索空间
如何性能评估
NAS with Reinforcement:
使用强化学习的架构对网络结构进行设计,但是成本非常高,因此不常用。
The one-shot approach:
既学习网络架构,也学习模型的超参数。
训练一个非常大的模型,这个模型包含了很多子结构,大的模型训练好了,想要的子结构的也就得到了
评估候选架构:
只关心这个架构比另外的结构好就行了,并不关心模型的最终精度是多少,因此并不需要把模型训练到收敛
使用近似的指标:关注一些训练轮之后的精度即可
把最好的模型选择出来之后,从新训练这个模型直到收敛。
可微架构搜索(Differentiable Architecture Search):
通过 softmax 对神经网络结构中的每一层子路进行选择,如下图:
首先神经网络的整体结构是定的,比如 CNN,resnet 等。可微架构搜索做的工作是选择每一层是什么样的,比如:卷积核的大小等。也就是 C1,C2,C3(每一层的候选者)。假设最优通路:C2-->C3。
第层的第个候选者的输出为
学习混合权重。第层的输入为,其中
选择候选者根据:
通过学习来解决那条路比较好
Scaling CNNs:
比较常用实用,但是只适用于一小部分神经网络,比如:efficientNet
卷积神经网路可以由 3 种办法来调节:
深度:网络层数
宽度:每一个卷积层的输出通道
大的输入:输入图片增大等
EfficientNet 提出了一个联动的调参方法:
深度调整因子:, 宽度调整因子:, 输入缩放因子:, 每一次调节都是原始数据*因子
设置。其中。通过调节,则网络的计算复杂度是以 2 倍增加
研究方向:
NAS 的结果可解释性
应用于边缘设备
机器学习流程自动化
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/87ab91d78daa86aa45cbf5dc9】。文章转载请联系作者。
评论