再读autoaug
再读autoaug
算法总览
-
使用RNN做controller,并且每次采样得到一个policy \(S\),其中\(S\)包括使用哪种operation(数据增强操作),幅度是多少,以及应用的概率
-
用validation上的精度\(R\)作为reward
-
作者的搜索空间定为
- policy 由5种sub-policy组成
- 每个sub-policy由2种图像的操作方式(operation)组成
- 每种操作方式有两个参数,一个是应用这个操作的概率,另外一个是这个操作的幅度
在validation搜索到的policy,在训练阶段使用其进行数据增强。
- 对于一个train batch的每一张图片,都从5中sub-policy随机的选取一个sub-policy对其进行增强,相当于是有一定概率的应用两次不同类型的operation
- 一旦选取某个sub-policy,应用两个operation都是一定概率的,所以对于同一张图片,两次选取同一个sub-policy也可能得到不一样的结果(作者说增大随机性)
- 但是一旦选取了某个sub-policy,并且也一定会用到两个operation的话,则两个operation的幅度是一定的。所以对于同一张图片,从5个policies中选取同一个sub-policy了的话,并且已经确定是否应用某个operation,则得到的结果是一样的
下图是一个范例
关于operation的类型及搜索空间
作者一共选取16种operation类型(旋转,平移,色彩锐化啥的),每个operation的幅度都在一定范围内变化,作者将其幅度均匀地分成10个不同的离散候选值。对于应用这个操作的概率作者均匀地分为了11份。所以对于一个sub-policy,其搜索空间为
注意作者假设每个sub-policy中的每个operation都是独立的,有可能sub-policy中的两个operation是一样的类型。概率从0-1,分成11份,所以有可能某个operation是一直不用(概率为0)或者一直用的(概率为1)。
而5个这样的sub-policy构成一个policy,则每个sub-policy都是独立的话,则搜索空间为
搜索空间还是挺大的。
值得注意的是,作者在论文中提到,在每个dataset上,controller大约采样15000 policies。其实不太明白这里的意思具体是什么,假设这个数量和validation有关的,这种不完备的采样,是否有意义?或者说这种不去遍布整个搜索空间的采样,可以得到不错的结果。
实验step
cifar
作者说在大样本和少样本上的不影响搜索的结果,所以cifar10的train dataset减少到了4000,这也是一种训练省时的策略,但是前提是真的如作者说的这样,
We find that for a fixed amount of training time, it is more useful to allow child models to train for more epochs rather than train for fewer epochs with more training data.
作者称减少后的cifar为reduced-cifar10。
在reduced-cifar10上搜索到的策略,作者将其应用到了之后所有的cifar数据的训练上(cifar10,cifar100,reduced-cifar10).
作者实际实验的时候选取了最好的5个policy,所以一共是25个sub-policy。
baseline是作者对数据归一化,50%的概率flip, random crop, zero padding
svhn
svhn包含73257张训练图片,作者从中选取了1000用于训练,作者这么选取的原因如上
imagenet数
训练集包含6000张图片,120个class,每个类50张图片,搜到的结果迁移到完整的Imagenet数据集上使用
加速的策略
- 采样到的policy比较少,从\(2.9\times10^{32}\)采样得到15000中策略。
- 在reduced上的小数据集上进行训练,在大数据集上进行full train。
posted on 2021-05-26 14:07 YongjieShi 阅读(192) 评论(0) 编辑 收藏 举报