深度神经网络构架多的目标优化搜索
优采云 发布时间: 2022-06-01 21:42深度神经网络构架多的目标优化搜索
阴雨绵绵的十一“小长假”(没错,不是七天长假,哭出声)就只能在家煮奶茶读文章吧,然后就看到Deb的新文章:
Neural architecture search (NAS)毕竟是一个还算挺热的主题,并且用EMO来做,网红丁还没读文章就知道有许多困难,于是带着好奇心读了起来。
这篇文章是要通过一次优化得到一组Pareto最优网络构架供决策者挑选,那显然要用多目标进化算法啊,既然作者中有Deb,那优化算法必须是NSGA-II啊。优化目标的选择如下式:
这里还是比较严谨的,这是一个双层多目标优化问题,x是网络结构(上层决策变量),w是网络权重(下层决策变量),f1中的w*是x网络在训练数据上的用随机梯度法优化出来的最优权重,f1是验证数据上的分类准确率;f2是网络复杂度,用浮点运算次数来表示。
这个优化问题的难点,网红丁认为有二:
网络结构的表示(编码)问题,这个跟搜索空间有非常重要的关系。
网络结构的评价问题,优化过程中出现的任一网络都要进行训练,这是个昂贵问题。
编码方面,文章采用了一种有向无环图来组合不同block,具体长下面这样。
根据上述的编码,作者还分别设计了相应的交叉和变异操作:
此外,为了进一步提高算法的搜索效率,一部分子代的产生是基于贝叶斯网络的,也就是学习当前的最优解集的分布,然后在该分布上采样来作为子代。
函数评价方面,这里算法用了搜索的网络的proxy model(代理网络)来评估两个目标函数,网红丁的理解是这是一种低精度的函数评价。
其他算法方面按照NSGA-II的流程走,最终能得到一组Pareto网络结构,具体流程图如下图所示。
实验结果也表示,搜索了肯定是比随机产生的结构要好(网红丁好像是在说废话)。
文章还比较了现有NAS方法的性能和运算时间代价,如下图,之前网红丁的合作工作(AE-CNN-E2EPP,欢迎回顾-> )也在其中,当然这个比较依然是以多目标形势展示(嗯,这很Deb)。
我们可以看到这个算法支配掉了除了AE-CNN-E2EPP其他基于EA的NAS算法。老规矩,原文链接埋在了文末“阅读原文”。
最后,欢迎转载,欢迎留言,欢迎扔砖,欢迎吐槽,欢迎提问,还有欢迎关注(长按下面二维码识别)。