NAS搜索之DARTS
设计思路
- 图中每条不同颜色的线表示一种op操作(conv,poooling,skip connect等),这里有三条代表每两个节点间有三种op操作。
- 图a,代表四个节点和虚线边代表op操作,每个节点间应该选取何种op操作
- 图b,表示初始化所有的op操作,以及连接方式
- 图c,通过梯度训练后,有些变淡的边表示该操作贡献小可去除
- 图d,最终通过softmax选取最大概率边形成最终连接。
如何设置成可训练
- 将所有op操作用softmax表示,这样就把离散变成连续的
- 其中x代表feauture map,o(· )操作代表op操作
举例来解释,假设有三种op操作,每两个节点之间就会有三根线相连,如上图b,一共有6组这样的链接,则初始化架构参数就是6*3,6代表有几组这样的链接,3代表有三种op操作。
优化目标
- 这是一个双层优化问题,α为上层变量,w为下层变量
- 首先,在训练集上优化模型权重w,使得train loss最小
- 下层优化完成后,在验证集上优化框架参数,使得val loss最小
算法步骤
近似操作