news 2026/6/9 12:38:14

AI模型训练:数据获取与增强

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI模型训练:数据获取与增强

数据是训练一切模型的基础,因此如何获取数据就成了一个先行条件。

1.常见的机器学习数据集

(1)MNIST

属于计算机视觉领域,手写数字灰度图,包含有六万的训练集以及一万的测试集。

(2)ImageNet

引领了深度学习的热点,它包含1400万+的标注图像,2万多的类别。

(3)AudioSet

基于 YouTube 上声音的切片,用于进行声音分类。

(4)KITTI

基于驾驶的信息用作无人驾驶训练。

(5)LibriSpeech

有声读物训练集,基于 LibriVox 项目的公共领域英语有声读物构建,用于自动语音识别。

(6)Object Detection Datasets

用于目标检测的数据集,包含车辆、人脸、火灾、危险行为等。https://public.roboflow.com/object-detection

2.生成数据集

(1)使用 GAN s

https://this-person-does-not-exist.com/en

(2)数据增强

通过对原始训练数据进行一系列随机但有意义的变换,生成新的、多样化的训练样本的技术。例如旋转、缩放、噪音、抖动等技术增加数据的多样性和数量,让模型看到更多可能的“变体”,从而提高模型的泛化能力鲁棒性

# 定义多种增强变换 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( size=256, scale=(0.5, 1.0), # 随机缩放50%-100% ratio=(0.75, 1.33) # 宽高比范围 ), ]), # 翻转 'Horizontal Flip': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomHorizontalFlip(p=1.0), # 强制翻转 ]), 'Vertical Flip': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomVerticalFlip(p=1.0), ]), # 颜色变换 'Color Jitter (Strong)': transforms.Compose([ transforms.Resize((256, 256)), transforms.ColorJitter( brightness=0.5, contrast=0.5, saturation=0.5, hue=0.3 ), ]), 'Grayscale': transforms.Compose([ transforms.Resize((256, 256)), transforms.Grayscale(num_output_channels=3), # 保持3通道 ]), # 噪声 'Gaussian Noise': transforms.Compose([ transforms.Resize((256, 256)), AddNoise(noise_type='gaussian', intensity=0.2), ]), 'Salt & Pepper Noise': transforms.Compose([ transforms.Resize((256, 256)), AddNoise(noise_type='salt_pepper', intensity=0.05), ]), # 模糊效果 'Gaussian Blur': transforms.Compose([ transforms.Resize((256, 256)), transforms.GaussianBlur(kernel_size=5, sigma=(0.1, 2.0)), ]), # 透视变换 'Perspective Transform': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomPerspective( distortion_scale=0.5, p=1.0 ), ]), # 仿射变换 'Affine Transform': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAffine( degrees=0, translate=(0.2, 0.2), # 平移20% scale=(0.8, 1.2), # 缩放80%-120% shear=20 # 错切20度 ), ]), # 弹性变换 'Elastic Transform': transforms.Compose([ transforms.Resize((256, 256)), transforms.ElasticTransform(alpha=50.0, sigma=5.0), ]), # 组合增强(随机顺序) 'Random Combination': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomApply([ transforms.RandomRotation(20), transforms.ColorJitter(0.3, 0.3, 0.3, 0.1), ], p=0.8), transforms.RandomHorizontalFlip(p=0.5), transforms.RandomGrayscale(p=0.2), ]), # 边缘增强 'Sharpness Adjust': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAdjustSharpness(sharpness_factor=2, p=1.0), ]), # 自动对比度 'Auto Contrast': transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomAutocontrast(p=1.0), ]), }

文本增强:将一段话翻译为另一种中间语言,然后又翻译回该语言以此实现语义相同但是语法结构不同的效果。此外还有多种方式,比如词汇级增强(同义词替换、随机插入)字符级增强(随机字符替换、随机字符交换等)句子级增强(语法树变换等)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 15:10:06

ubuntu通过windows主机访问网络

背景:校园网限制用户连接数量 方法:用usb网卡。用一台windows主机连接校园网登录,插usb网卡连网线到ubuntu机器;ubuntu机器不需要什么额外配置,windows更改网络适配器设置,把 校园网连接->属性->共享…

作者头像 李华
网站建设 2026/5/30 19:20:27

Doris与Flink整合实战:构建流批一体的大数据处理平台

Doris与Flink整合实战:构建流批一体的大数据处理平台 关键词:Doris、Flink、流批一体、大数据处理平台、实时计算 摘要:本文聚焦于Doris与Flink的整合,旨在构建流批一体的大数据处理平台。详细介绍了Doris和Flink的核心概念及两者…

作者头像 李华
网站建设 2026/5/31 4:42:24

【C标准库】一文吃透 C 语言 assert 断言

文章目录一、assert 是什么?二、基本语法和使用步骤2.1 核心语法2.2 最简单的示例三、assert 的工作机制3.1 如何定义 NDEBUG(关闭断言)?四、assert 的适用场景五、assert 的使用禁忌禁忌1:断言中包含有副作用的表达式…

作者头像 李华
网站建设 2026/6/7 1:38:00

社会网络仿真软件:NetLogo_(17).NetLogo教学与研究资源

NetLogo教学与研究资源 在社会网络仿真的研究和教学中,NetLogo 提供了丰富的资源和工具,帮助用户更好地理解和应用这一强大的仿真平台。本节将详细介绍 NetLogo 的教学与研究资源,包括官方文档、示例模型、在线教程、社区支持以及第三方资源等…

作者头像 李华
网站建设 2026/6/6 0:20:18

社会网络仿真软件:NodeXL_(3).NodeXL安装与基本设置

NodeXL安装与基本设置 在开始使用NodeXL进行社会网络分析之前,首先需要安装NodeXL并进行一些基本设置。本节将详细介绍如何安装NodeXL,并配置其基本环境,以便您能够顺利地进行后续的社会网络仿真和分析工作。 安装NodeXL NodeXL是一个基于…

作者头像 李华