【数据增广与微调】

数据增广通过图像变换增加数据多样性,提高模型泛化能力,包括翻转、裁剪、颜色变化等;微调则是利用预训练模型在特定数据集上调整,适用于小规模数据集,能提升模型精度,常采用更小学习率和更强正则化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据增强

什么是数据增强

  • 在一个已有数据集里面,进行不同的变换,使得数据有更多的多样性
    • 在语音里面加入各种不同的背景噪音
    • 改变图片的颜色和形状

在这里插入图片描述
如何使用数据增广进行训练

  • 一般是在训练时在线生成的,而不是预先存储
  • 通常是随机进行数据增广

常见的数据增广方法

① 翻转
在这里插入图片描述
② 切割

  切割一般是在图片中切割一块出来,然后将它变成固定的形状(之所以是固定的形状,是因为卷积神经网络的输入通常是固定的,一般是224*224)

  • 通过对图像进行随机裁剪,使物体以不同的比例出现在图像的不同位置,从而降低模型对目标位置的敏感性

  • 如何进行切割(随机性原理)

    • 随机高宽比:比如在某一个区间(比如[3/4,4/3])之间随机取一个数来作为切割部分的高宽比
    • 随机大小:比如在某一个区间(比如[8%,100%])之间随机取一个数来作为切割部分的大小(切割部分占原始图像的比例)
    • 随机位置:给定截取部分的形状大小,然后在原始图像上面进行随机切割

在这里插入图片描述
③ 颜色

改变颜色中四个比较重要的指标

  • 色调
  • 饱和度
  • 对比度
  • 明亮度
    在这里插入图片描述
    ④ 其他
  • 高斯模糊
  • 将图片中的某一块抹掉
  • 对整个图片进行变形
  • 锐化
  • 等等
    在这里插入图片描述

  某一种数据增强的方法有用,很多时候是因为测试集中某些图片和原始图片通过这种数据增强的方式处理之后的效果类似

  • 很多时候应该从结果向前推,通过对现场部署的情况或者测试集可能发生的变化进行分析,由此来反推所需要进行的数据增强
  • 在实践中,通常结合多种图像增广方法

总结

  • 数据增广通过变形数据来获取多样性从而使得模型泛化性能更好
  • 常见图片增广包括翻转、切割、变色
%matplotlib inline
import torch
import torchvision
from torch import nn
from matplotlib import pyplot as plt
import PIL
img = PIL.Image.open('../../img/cat1.jpg')
plt.imshow(img)

在这里插入图片描述

img.size
(1810, 1081)
def show_images(imgs, num_rows, num_cols, titles=None, scale=3):
    figsize = (num_cols * scale, num_rows * scale)
    _, axes = plt.subplots(num_rows, num_cols, figsize=figsize)
    axes = axes.flatten()
    for i, (ax, img) in enumerate(zip(axes, imgs)):
        if torch.is_tensor(img):
            # Tensor Image
            ax.imshow(img.numpy())
        else:
            # PIL Image
            ax.imshow(img)
        ax.axes.get_xaxis().set_visible(False)
        ax.axes.get_yaxis().set_visible(False)
        if titles:
            ax.set_title(titles[i])
    return axes
def apply
### 李沐图像增广数据相关资料 李沐在《动手学深度学习》中详细介绍了图像增广的概念及其在机器学习和深度学习中的应用。图像增广是一种通过变换现有图像数据来生成新训练样本的技术,从而增强模型的泛化能力[^2]。以下是一些李沐图像增广相关的数据集和资料: 1. **CIFAR-10 数据集** CIFAR-10 是一个广泛使用的图像分类数据集,包含 60,000 张 32x32 彩色图像,分为 10 个类别。李沐在课程中使用了该数据集作为图像增广的一个示例,展示了如何通过翻转、裁剪等方法扩充数据集[^2]。 2. **ImageNet 数据集** ImageNet 是一个大规模图像识别数据集,包含超过 1400 万张标注图像。虽然数据集本身并非由李沐创建,但在其课程中,李沐提到了如何利用 ImageNet 数据进行微调和图像增广的应用[^3]。 3. **Fashion-MNIST 数据集** Fashion-MNIST 是 MNIST 手写数字数据集的替代品,包含 70,000 张灰度图像,分为 10 个服装类别。李沐在其教程中也用此数据集演示了图像增广技术[^2]。 4. **官方文档和代码库** 李沐的《动手学深度学习》提供了完整的代码实现和理论讲解,其中包含了图像增广的详细说明和代码示例。例如,在 PyTorch 版本中,`torchvision.transforms` 模块被用来实现多种图像增广方法,如翻转、裁剪、旋转等[^2]。 以下是基于 PyTorch 的图像增广代码示例: ```python import torchvision.transforms as transforms # 定义图像增广操作 transform = transforms.Compose([ transforms.RandomHorizontalFlip(), # 随机水平翻转 transforms.RandomResizedCrop(224), # 随机裁剪并调整大小 transforms.ColorJitter(brightness=0.5, contrast=0.5, saturation=0.5, hue=0.1), # 色彩变换 transforms.ToTensor(), # 转换为张量 transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 标准化 ]) ``` ### 相关资源链接 - 《动手学深度学习》官方文档:[d2l.ai](https://d2l.ai/) - CIFAR-10 数据集下载地址:[CIFAR-10](https://www.cs.toronto.edu/~kriz/cifar.html) - ImageNet 数据集官网:[ImageNet](http://www.image-net.org/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟炼丹师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值