数据是训练一切模型的基础因此如何获取数据就成了一个先行条件。1.常见的机器学习数据集1MNIST属于计算机视觉领域手写数字灰度图包含有六万的训练集以及一万的测试集。2ImageNet引领了深度学习的热点它包含1400万的标注图像2万多的类别。3AudioSet基于 YouTube 上声音的切片用于进行声音分类。4KITTI基于驾驶的信息用作无人驾驶训练。5LibriSpeech有声读物训练集基于 LibriVox 项目的公共领域英语有声读物构建用于自动语音识别。6Object Detection Datasets用于目标检测的数据集包含车辆、人脸、火灾、危险行为等。https://public.roboflow.com/object-detection2.生成数据集1使用 GAN shttps://this-person-does-not-exist.com/en2数据增强通过对原始训练数据进行一系列随机但有意义的变换生成新的、多样化的训练样本的技术。例如旋转、缩放、噪音、抖动等技术增加数据的多样性和数量让模型看到更多可能的“变体”从而提高模型的泛化能力和鲁棒性。# 定义多种增强变换 def create_augmentation_transforms(): transforms_list { # 基础几何变换 Original: transforms.Compose([ transforms.Resize((256, 256)), ]), # 各种旋转 Rotate 30°: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomRotation(30), ]), Rotate 45°: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomRotation(45), ]), Rotate -15°: transforms.Compose([ transforms.Resize((256, 256)), lambda x: F.rotate(x, -15), # 固定角度旋转 ]), # 缩放和裁剪 Random Resized Crop: transforms.Compose([ transforms.RandomResizedCrop( size256, scale(0.5, 1.0), # 随机缩放50%-100% ratio(0.75, 1.33) # 宽高比范围 ), ]), # 翻转 Horizontal Flip: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomHorizontalFlip(p1.0), # 强制翻转 ]), Vertical Flip: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomVerticalFlip(p1.0), ]), # 颜色变换 Color Jitter (Strong): transforms.Compose([ transforms.Resize((256, 256)), transforms.ColorJitter( brightness0.5, contrast0.5, saturation0.5, hue0.3 ), ]), Grayscale: transforms.Compose([ transforms.Resize((256, 256)), transforms.Grayscale(num_output_channels3), # 保持3通道 ]), # 噪声 Gaussian Noise: transforms.Compose([ transforms.Resize((256, 256)), AddNoise(noise_typegaussian, intensity0.2), ]), Salt Pepper Noise: transforms.Compose([ transforms.Resize((256, 256)), AddNoise(noise_typesalt_pepper, intensity0.05), ]), # 模糊效果 Gaussian Blur: transforms.Compose([ transforms.Resize((256, 256)), transforms.GaussianBlur(kernel_size5, sigma(0.1, 2.0)), ]), # 透视变换 Perspective Transform: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomPerspective( distortion_scale0.5, p1.0 ), ]), # 仿射变换 Affine Transform: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAffine( degrees0, translate(0.2, 0.2), # 平移20% scale(0.8, 1.2), # 缩放80%-120% shear20 # 错切20度 ), ]), # 弹性变换 Elastic Transform: transforms.Compose([ transforms.Resize((256, 256)), transforms.ElasticTransform(alpha50.0, sigma5.0), ]), # 组合增强随机顺序 Random Combination: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomApply([ transforms.RandomRotation(20), transforms.ColorJitter(0.3, 0.3, 0.3, 0.1), ], p0.8), transforms.RandomHorizontalFlip(p0.5), transforms.RandomGrayscale(p0.2), ]), # 边缘增强 Sharpness Adjust: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAdjustSharpness(sharpness_factor2, p1.0), ]), # 自动对比度 Auto Contrast: transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAutocontrast(p1.0), ]), }文本增强将一段话翻译为另一种中间语言然后又翻译回该语言以此实现语义相同但是语法结构不同的效果。此外还有多种方式比如词汇级增强同义词替换、随机插入字符级增强随机字符替换、随机字符交换等句子级增强语法树变换等。