欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 浅谈AI落地之-关于数据增广的思考

浅谈AI落地之-关于数据增广的思考

2025/3/26 23:07:10 来源:https://blog.csdn.net/RayLobeCode/article/details/146321325  浏览:    关键词:浅谈AI落地之-关于数据增广的思考

 前言

曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰!

数据增广中的mixup(Mixup Augmentation)

简单的来说,Mixup 是一种 数据增强(Data Augmentation) 技术,通过线性插值混合两张图片及其标签,使模型学习到更平滑的决策边界,提高泛化能力。

1. 具体流程

  • 随机选取两张图片 x1,x2​ 及其标签 y1,y2​
  • 使用 Mixup 公式计算新的图像和标签: x′=λx1+(1−λ)x,​ y′=λy1+(1−λ)y,​ 其中,λ是从 Beta 分布中采样的权重: λ∼Beta(α,α)
  • 通常 α\alphaα 设为 0.2 ~ 0.4

2. 示例(输入 & 输出)

输入

两张 32×32 的图片(假设是 CIFAR-10 数据集),分别属于「猫(类别 3)」和「狗(类别 5)」。

  • x1x_1x1​:猫图片
  • y1=[0,0,0,1,0,0,0,0,0,0]
  • x2x_2x2​:狗图片
  • y2=[0,0,0,0,0,1,0,0,0,0]
  • 设 λ=0.7
Mixup 计算

1. 计算新的图片

x′=0.7×x1+0.3×x2

新图片 x′ 是70% 猫 + 30% 狗 的混合图像。

2. 计算新的标签

y′=0.7×y1+0.3×y2,y′=[0,0,0,0.7,0,0.3,0,0,0,0]

新的标签表示「70% 猫 + 30% 狗」。

输出
    • 新的混合图片(视觉上类似半透明的猫+狗)。
    • 新的标签:猫 70%,狗 30%(软标签)。

3. Mixup 的 Python 代码

import numpy as np
import torchdef mixup_data(x1, y1, x2, y2, alpha=0.4):"""Mixup 数据增强"""lam = np.random.beta(alpha, alpha)  # 采样 λx_mixed = lam * x1 + (1 - lam) * x2y_mixed = lam * y1 + (1 - lam) * y2return x_mixed, y_mixed# 假设 x1, x2 是两张图片(PyTorch Tensor),y1, y2 是 one-hot 标签
x1 = torch.rand(3, 32, 32)  # 假设 RGB 图片
x2 = torch.rand(3, 32, 32)
y1 = torch.tensor([0, 0, 0, 1, 0, 0, 0, 0, 0, 0])  # 类别 3(猫)
y2 = torch.tensor([0, 0, 0, 0, 0, 1, 0, 0, 0, 0])  # 类别 5(狗)x_mixed, y_mixed = mixup_data(x1, y1, x2, y2)print(y_mixed) 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词