FMix: Enhancing Mixed Sample Data Augmentation 论文阅读

1 Abstract

  • 近年来,混合样本数据增强(Mixed Sample Data Augmentation,MSDA)受到了越来越多的关注,出现了许多成功的变体,例如MixUp和CutMix。通过研究VAE在原始数据和增强数据上学习到的函数之间的互信息,我们展示了MixUp以一种CutMix不会的方式扭曲了学习到的函数。我们进一步通过展示MixUp作为一种对抗性训练的形式来证明这一点,它增加了对Deep Fool和Uniform Noise等攻击的鲁棒性,这些攻击产生的样本与MixUp生成的样本类似。我们认为,这种扭曲阻止了模型学习数据中的样本特定特征,有助于提高泛化性能。相比之下,我们认为CutMix更像是一种传统的增强,通过防止记忆来提高性能,而不会扭曲数据分布。然而,我们认为,一个基于CutMix构建的MSDA,包括任意形状的掩码(而不仅仅是正方形),可以在不扭曲数据分布的同时进一步防止记忆。为此,我们提出了FMix,这是一种使用通过将傅里叶空间中采样的低频图像应用阈值获得的随机二进制掩码的MSDA。这些随机掩码可以呈现出各种形状,并且可以用于一维、二维和三维数据。FMix在不增加训练时间的情况下,提高了多种模型在多个数据集和问题设置中的性能,甚至在没有外部数据的情况下,在CIFAR-10上获得了新的单模型最佳结果。我们展示了FMix在情感分类任务中可以胜过MixUp,并且在一维数据的三维点云分类中提供了基线的改进。最后,我们展示了插值MSDA(如MixUp)和掩码MSDA(如FMix)之间差异的一个后果是,两者可以结合使用以进一步提高性能。所有实验的代码可在https://github.com/ecs-vlc/FMix获取。

2 Strategy

  • 生成随机掩码: 首先,从傅里叶空间采样低频图像。这可以通过对复数 随机变量进行低通滤波来实现,其中滤波器的衰减功率由参数δ控制。这一步骤生成了一个灰度图像。

  • 转换为二进制掩码: 将上述灰度图像通过一个阈值操作转换为二进制掩码。这个阈值是根据给定的混合系数λ来设置的,以确保掩码的平均值为λ。这意味着在二进制掩码中,像素值根据其在灰度图像中的强度被设置为0或1。

  • 应用掩码: 使用生成的二进制掩码对数据集中的图像进行混合。具体来说,对于两个独立的随机变量X1和X2(代表数据集中的两个样本),使用掩码m进行元素级别的乘法操作,然后根据混合系数λ进行加权求和,得到增强后的样本。

3 Perfermance

在这里插入图片描述

4 Demo

注:这里只用了一张图像,没有叠加两张图像

mask = binarise_mask(make_low_freq_image(3, SHAPE), 0.5, SHAPE, 0.0)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缓存与数据库的数据一致性解决方案分析

在现代应用中,缓存技术的使用广泛且至关重要,主要是为了提高数据访问速度和优化系统整体性能。缓存通过在内存或更快速的存储系统中存储经常访问的数据副本,使得数据检索变得迅速,从而避免了每次请求都需要从较慢的主存储&#xf…

【第5章】spring命名空间和数据源的引入

文章目录 前言一、命名空间1. 引入2. util3. p4. context 二、数据源1.pom2. jdbc.properties3. dataSource.xml3.1 util3.2 context 4. springContext.xml5. 使用 总结 前言 这一章承接上一章内容,主要有关于对命名空间的使用和数据源配置。 一、命名空间 1. 引入 <?xm…

中国移动传关停8元保号套餐?或是5G成本带来的压力所致

日前有网友发现希望使用中国移动的保号套餐&#xff0c;却发现已无法办理&#xff0c;媒体对此多有报道&#xff0c;这意味着中国移动的套餐业务发生了重大变动&#xff0c;如此做或许在于5G成本上涨带来的压力促使它不得不提高套餐的门槛。 中国移动已建成最多的5G基站&#x…

java的正则表达式校验,包含了中国几乎所有运营商手机号码的校验格式

时间2024年4月14日22:25:00 代码 String PHONE_REGEX "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";解释 这个Java代码段定义了一个常量 PHONE_REGEX&#xff0c;它包含了一个正则表达式&#xff0c;用于匹配中国大陆的手机号码。下面是对这…

服务器主机关机重启告警

提取时间段内系统操作命名&#xff0c;出现系统重启命令&#xff0c;若要出现及时联系确认 重启命令&#xff1a; reboot / init 6 / shutdown -r now&#xff08;现在重启命令&#xff09; 关机命令&#xff1a; init 0 / shutdown -h now&#xff08;关机&#…

uniCloud联表查询方式举例

联查表&#xff1a; 1. 在shema中配置外键&#xff1a; 2.在前端使用&#xff1a; <unicloud-db v-slot:default"{data, loading, error, options}" :options"formData" collection"opendb-news-articles,uni-id-users" //这里这么写 fi…

浅述python中NumPy包

NumPy&#xff08;Numerical Python&#xff09;是Python的一种开源的数值计算扩展&#xff0c;提供了多维数组对象ndarray&#xff0c;是一个快速、灵活的大数据容器&#xff0c;可以用来存储和处理大型矩阵&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;并针对数组运…

json-c库交叉编译时报错

json-c库交叉编译时报错 关注点错误出现的场景错误描述解决办法为啥?原因分析解决步骤总结 怎么看出来的?哦!get新知识 关注点 看文章前,我先告诉你重点,给我死死盯准文章里的EM: 3 &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

[leetcode] 705. 设计哈希集合

不使用任何内建的哈希表库设计一个哈希集合&#xff08;HashSet&#xff09;。 实现 MyHashSet 类&#xff1a; void add(key) 向哈希集合中插入值 key 。 bool contains(key) 返回哈希集合中是否存在这个值 key 。 void remove(key) 将给定值 key 从哈希集合中删除。如果哈希…

WebKit的使用技巧

WebKit是一个开源的浏览器引擎&#xff0c;广泛应用于多种浏览器和应用程序中&#xff0c;用于渲染网页和处理用户界面。在使用WebKit时&#xff0c;有一些技巧和注意事项可以帮助开发者更高效地利用这个强大的工具。 1. 理解WebKit的架构&#xff1a;WebKit由多个模块组成&am…

数据可视化高级技术Echarts(堆叠柱状图)

目录 一.如何实现 二.代码展示 1.stack名称相同&#xff08;直接堆叠&#xff09; 2. stack名称不相同&#xff08;相同的堆叠&#xff0c;不同的新生成一列&#xff09; 一.如何实现 数据堆叠&#xff0c;同个类目轴上系列配置相同的 stack 值可以堆叠放置。即在series中…

【示例】MySQL-4类SQL语言-DDL-DML-DQL-DCL

前言 本文主要讲述MySQL中4中SQL语言的使用及各自特点。 SQL语言总共分四类&#xff1a;DDL、DML、DQL、DCL。 SQL-DDL | Data Definition Language 数据定义语言&#xff1a;用来定义/更改数据库对象&#xff08;数据库、表、字段&#xff09; 用途 | 操作数据库 # 查询所…

LeetCode 128.最长连续数列

目录 题目描述 方法一 思路&#xff1a; 代码&#xff1a; 方法二 思路&#xff1a; 代码: 题目描述 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n)…

playwright: context添加了“has_touch“:True的值导致页面点击事件失效

问题 录制脚本的时候页面上的可以点击&#xff0c;然后debug的时候不可点击&#xff0c;经过排查发现是在创建context时&#xff0c;browser.new_context()中添加了"has_touch":True&#xff0c;导致pc版本的web部分点击事件失效 解决方法 "has_touch"的…

SMS垃圾短信识别项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 项目背景 随着数字通信的快速发展&#xff0c;垃圾短信成为了一个普遍而烦人的问题。这些不请自来的消息不仅打扰了我们的日常生活&#xff0c;…

从零全面认识 多线程

目录 1.基本概念 2.创建线程方式 2.1直接建立线程 2.2实现Runnable接口 3.3实现Callable接口 3.4 了解Future接口 Future模式主要角色及其作用 3.5实例化FutureTask类 3.实现线程安全 3.1定义 3.2不安全原因 3.3解决方案 3.4volatile与synchronized区别 3.5Lock与…

【Linux】命名管道的创建方法基于命名管道的两个进程通信的实现

一、匿名管道和命名管道的区别 匿名管道由pipe函数创建并打开。 命名管道由mkfifo函数创建&#xff0c;打开用open FIFO&#xff08;命名管道&#xff09;与pipe&#xff08;匿名管道&#xff09;之间唯一的区别在它们创建与打开的方式不同&#xff0c;一但这些工作完成之后&am…

创建线程池的例子

public class ExecutorTest {public static void main(String[] args) {//创建线程池的5种方式&#xff1a; // Executors.newFixedThreadPool();//创建固定线程数的线程池 // Executors.newSingleThreadExecutor();//创建单线程的线程池 // Executors.ne…

Geeker-Admin:基于Vue3.4、TypeScript、Vite5、Pinia和Element-Plus的开源后台管理框架

Geeker-Admin&#xff1a;基于Vue3.4、TypeScript、Vite5、Pinia和Element-Plus的开源后台管理框架 一、引言 随着技术的不断发展&#xff0c;前端开发领域也在不断演变。为了满足现代应用程序的需求&#xff0c;开发人员需要使用最新、最强大的工具和技术。Geeker-Admin正是…

如何安全地设置MySQL数据库的IP白名单

设置MySQL数据库的IP白名单是一种关键的安全措施&#xff0c;可以确保只有来自特定IP地址的请求被允许访问数据库服务器。这里是如何安全地配置这些设置的分步指南。 步骤1: 登录到MySQL服务器 首先&#xff0c;使用管理员权限登录到你的MySQL服务器。如果你使用的是命令行&a…