Multi-Objective Reinforced Evolution in Mobile Neural Architecture Sea阅读笔记[【小米chu第二篇论文】
Multi-Objective Reinforced Evolution in Mobile Neural Architecture Search
论文原文下载地址:https://arxiv.org/abs/1901.01074
PS:其实我自己也有很多地方没有看懂,但是因为写了这个就想着发出来保存一下,不至于丢失。仅供参考。
摘要
1.利用了EA与RL的多目标算法MoreMNAS
2.在cell level 中进行了交叉,变异。(Search Space由各种cell构成)
3.强化控制器结合了自然变异,用以平衡搜索与利用
1.introduction
- 层由block与cell组成:层由块或单元组成,每个模块内的操作描述了搜索空间,例如:改变过滤器的大小和属性,改变层的类型,添加跳接等。
- 本文所做工作:
- 继承了NSGA-II和RL的优点;
- 构建基于cell结构的搜索空间,以便进行遗传的交叉、变异;结合自然突变的强化突变拥有分层机制,以便加快选择的速度;
- 第一次在超清分辨率图片领域使用了多目标NAS
- 只在模型设计早起包括了极少的人类专家知识,增加了一些实际约束以便获得可行解。
2.related works
单目标NAS:
- 基于RL的方法:Q-Learning(采用CNN,epsilon贪婪法)和策略梯度(RNN或者LSTM,正确性为Reward)
- 基于进化的方法:通过适应度去挑选个体
- 强化进化方法强化变异:强化变异代替随机变异(为了避免退化)
多目标NAS
3.Multi-Objective Reinforced Evolution
1)转化为多目标问题
2)结构
MoreMNAS包含了3个基本结构:
- 基于cell的搜索空间
- 模型生成控制器(从搜索空间中采样模型
- 评估器
本文使用NSGA-II的变体,采用分层进化过程来平衡利用和探索。
3)搜索空间
- 固定的头尾:特征提取,重建
- 灵活的主体部分——搜索空间的设计,cell包含的基本操作
- basic convolutions: 2D convolution, inverted bottleneck convolution with an expansion rate of 2, grouped convolution with groups in {2,4}
- the number of repeated blocks in {1, 2, 4}
- whether or not to use skip connections
- filter numbers in {16, 32, 48, 64}
- kernel sizes in {1, 3}
4)基于NSGA-II的cell层次的交叉,分层变异
- 初始化每个个体,随机选择操作
- 非支配排序(用新的拥挤度计算公式):
- 基于cell的交叉(x,y是individual,是model)
- 分层变异
- 交叉----“利用”
- 变异----“探索”
- 如果只有强化变异,对超参数调试和奖励的设计就需要很细致小心;
- 如果纯粹用基于NAS的进化算法:不能充分利用“训练生成模型”得到的知识(经验)
基于以上两点,提出了分层变异(hierarchical mutation)
目标值可分为2类:可预测(轮盘赌方法)与不可预测(使用M个强化控制器)。
假设有K个目标,不可预测的目标为M,则可预测的为K-M,在本文中,K=3,M=1(PSNR),K-M=2(参数,muti-add)
意义:使用RL最小化不可预测的目标值
the mean squared error
在RL中使用策略梯度法,