论文阅读_RandAugment

论文阅读——RandAugment: Practical automated data augmentation with a reduced search space

article
code

背景(Background)

论文阅读_RandAugment_第1张图片

数据增强是一种被广泛用于生成附加数据以改善机器学习系统的方法。

传统的数据增强方法存在难以将现有的数据增强方法扩展到其他应用程序和域的局限性。近期的研究中提出了一种自动设计增强策略的方法:假设对小型代理任务进行单独搜索,其结果可能会转移到较大的目标任务。然而,作者提供了实验证据表示该策略的核心假设是次优的,学习数据增强的强度在很大程度上取决于模型和数据集大小。

动力(Motivation)

  • 验证了代理任务提供了较大任务的预测性指示这一假设的次优性,并发现可以通过删除代理任务上的单独搜索阶段以改进数据增强
  • 现有方法无法根据模型或数据集大小调整正则化强度,并且在一定程度上增加了训练机器学习模型的计算成本和复杂性
    论文阅读_RandAugment_第2张图片

方法(Method)

  • 使用随机选择数据增广的方式,即随机选择一种手段对原始数据进行变换并调整它们的大小
  • 用无参数过程替代了学习的策略和概率并适用于每次变换(始终选择均匀概率为1/K的变换),作者还采用线性标度来表示每个转换的强度
// Python code for RandAugment based on numpy
// An highlighted block
transforms = [’Identity’, ’AutoContrast’, ’Equalize’, ’Rotate’,
     		  ’Solarize’, ’Color’, ’Posterize’, ’Contrast’, 
			  ’Brightness’, ’Sharpness’, ’ShearX’,
			  ’ShearY’, ’TranslateX’, ’TranslateY’]
def randaugment(N, M):
// Generate a set of distortions.
// 	Args:
// 		N: Number of augmentation transformations to apply sequentially.
// 		M: Magnitude for all the transformations.
sampled_ops = np.random.choice(transforms, N)
return [(op, M) for op in sampled_ops]

值得说明的是,code中的N和M的值越大,代表对增广强度的正则化程度越大

你可能感兴趣的:(python,机器学习,开发语言)