兴趣所致,关注了一些AutoML的知识,主要是AutoML中的网络结构搜索的部分,特记录下来希望能形成体系。以下是要写的文章列表。
关于进化算法,也称为遗传算法。是一种解决最优化的搜索算法。具体算法如下:
而进化次数则受限于:
更多细节可以参考维基百科.
那么既然是搜索算法,当然也能够用到网络结构搜索这个问题上来了。
对于搜索问题,首先我们要关注的就是搜索空间,在论文中使用的搜索空间跟《强化学习网络结构搜索(二)》是一样的,我们再来简单回顾一下:
如下图所示:
另外,控制一个网络结构中有多少个Normal Cell和Reduction Cell的参数变量是超参数。
论文提出的在结构搜索上的进化算法流程如下:
有三个超参数,P,C,S。其中P是初始的不同网络结构的集合。S是每次从P中选择出来的个数。C是所有训练过的模型的数目。C的大小其实和时间很相关,训练时间长,C就会大。
在训练完成后,选择最好的模型。
在这个算法中,模型的修改分为两个部分,状态修改和操作修改。如下图所示:
状态修改就是修改状态输入给哪个操作。操作的修改就是去更改一个操作。当然,这两个操作都需要先选择是Normal Cell还是Reduction Cell,然后再选择是构建Cell的五个步骤中的哪一个。然后再选择状态或者操作。
在实验过程中,为了加快速度,会先在小模型上训练,然后在大模型上训练。小模型指的是Normal Cell和Reduction Cell的个数少。
不同方法的训练时间和达到的最好效果如上图,可以看到,进化算法比RL算法要快。
而得到的模型的计算量和准确率如下图。
可以看到,进化算法倾向于得到计算量小的模型。最后得到的网络如下图:
在imageNet数据上的效果如下:
在搜索过程中,每个探索到的模型需要训练25个epoch,每个实验都需要探索20k个模型,在450块 K40的GPU上,每个实验需要7天才能完成。
计算量还是很大的,没错,是有钱人的游戏!可是思维还是值得学!
这篇文献是第一篇将遗传算法应用到模型结构搜索上来的论文。论文的要点就是对遗传算法的改进:
勤思考, 多提问是Engineer的良好品德。
问题如下:
回答后续公布,欢迎关注公众号【雨石记】。
[1]. Real E, Aggarwal A, Huang Y, et al. Regularized evolution for image classifier architecture search[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 4780-4789.
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方"AINLP",进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
推荐阅读
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏