randAugmentation

randAugmentation

主要思想:

随机的选择transformation,finetune它的magnitute

关注点转移到了如何大幅减少数据增强的参数空间


成果:

在目标检测方面,RandAugment能比基线增强方法提高1.0-1.3%。

速度极大加快


具体思想:

不考虑的参数

为了减少参数空间的同时保持数据(图像)的多样性,研究人员用无参数过程替代了学习的策略和概率

这些策略和概率适用于每次变换(transformation),该过程始终选择均匀概率为1/k的变换。

也就是说,给定训练图像的N个变换,RandAugment就能表示KN个潜在策略。

考虑的参数:

需要考虑到的一组参数是每个增强失真(augmentation distortion)的大小。

假设一个单一的全局失真M(global distortion M)可能就足以对所有转换进行参数化。


操作:

transforms = ["Identity", "AutoContrast", "Equalize", "Rotate", "Solarize", "color", "Poestrize", "Contrast", "Brightness", "Sharpness", "ShearX", "ShearY", "TranslateX", "TranslateY"]
def randaugment(N, M):
    # 产生一系列的失真, N:Number of augmentation transformations to apply sequentially
    # M: Magnitude for all the transformations. 
    # 因为这两个参数都是可人为解释的,所以N和M的值越大,正则化强度就越大。 
    sampled_ops = n.random.choice(transforms, N)
    return [(op, M) for op in smapled_ops]

可以使用标准方法高效地进行超参数优化,但是考虑到极小的搜索空间,研究人员发现朴素网格搜索(naive grid search)是非常有效的。


知识点:

网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数

你可能感兴趣的:(数据增强)