Sample-Efficient Neural Architecture Search by Learning Actions for Monte Carlo Tree Search_拟合
发表时间:2021(TPAMI 2021)
文章要点:这篇文章感觉是Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search的姊妹篇,方法很类似,只是这一篇用来做NAS了,之前那篇用来解一个函数。整个过程还是通过MCTS来划分搜索空间,然后在子空间上做NAS,然后不断重复这个过程。这篇文章把划分叫做动作空间(action space),感觉有点奇怪。这一篇文章在建树划分空间的时候没有用SVM,而是用了一个线性分类器来拟合网络结构和准确率数据对样本\((a_i,v_i)\), \(a_i\)表示一个具体的网络结构,\(v_i\)表示对应的准确率。然后对这堆数据求一个均值,比均值大的分成一类,比均值小的分成另一类。树建好了之后,等走到叶节点需要搜索新结构的时候,用的reject sampling或者贝叶斯优化在这个子空间中搜索。搜出一个新的结构后,为了快速得出准确率,作者没有拿来重头训练,而是搞了一个supernet直接估计准确率。Supernet这个逻辑如下图
Sample-Efficient Neural Architecture Search by Learning Actions for Monte Carlo Tree Search_拟合_02
这个东西我至今也没觉得他make sense,也没搞清楚道理,就不多说了。反正逻辑就是不用从头训练网络然后得到准确率,而是直接拿这个supernet去预测。
总结:感觉不是很懂NAS的逻辑,不过MCTS的用法和Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search很像,除了划分那一篇用的SVM,这一篇用的线性回归;减少训练那一篇因为是个函数不用考虑,这一篇用的supernet,其实还有一篇Neural Architecture Search using Deep Neural Networks and Monte Carlo Tree Search用的transfer learning感觉要更靠谱点。总的来说还是觉得用MCTS做优化那一篇的逻辑以及适用性都更强,这一篇还是有点不实用。
疑问:好多实验没看懂在干啥,对NAS那一套评估还是不懂。NASNet,EfficientNet还要学一学。有一个疑问是NAS搜出来的结构千奇百怪,真正拿来用的话速度肯定不如规整的网络快。感觉这个路子还任重道远。