首页 > 其他分享 >颠覆认知!数据增强、正则化可导致不易察觉的灾难?

颠覆认知!数据增强、正则化可导致不易察觉的灾难?

时间:2023-04-21 13:34:43浏览次数:40  
标签:增强 set 颠覆 level 化可 正则 类别 数据


颠覆认知!数据增强、正则化可导致不易察觉的灾难?_机器学习

文 | 子龙
编 | 智商掉了一地

作为常用的炼丹技巧,正则化 (Regularization) 和数据增强 (Data Augmentation, DA) 常常被简单粗暴地引入模型中来防止数据过拟合,进而提升最后的 performance。如果说,更高的performance就意味着更好的泛化能力,那么形式并不复杂的正则化和数据增强简直就是各大排名的屠榜利器、人工智能的指路明灯。然而,事情并不会这么简单,万事皆有代价,今天介绍的文章将会指出:虽然引入正则化和数据增强表面上能够提高模型的整体效果,但却会导致类别之间的不均衡问题。简单来说,就是虽然平均来看,整体效果有所提升,但其中却牺牲了部分类别的效果,而“偏心”于另外一些类别。

论文题目:
The Effects of Regularization and Data Augmentation are Class Dependent

论文链接:
https://arxiv.org/abs/2204.03632

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0609】 下载论文PDF~

为了佐证这一结论,作者给出了数学上的严格证明,进而结合实验结果进一步分析,让我们一起来看看吧。

基本原理

文章首先将问题表述成如下形式:

训练数据:

402 Payment Required

,假设

和 之间存在关系 ,即 ,那么我们模型的目的就是拟合函数 ,使得 和 尽可能的在训练数据上接近。数据增强(DA)可以一般化为,给定参数 , 会生成一个基于 的新样本加入训练。

根据上述定义,作者声称:如果DA中的参数无法保证生成的新样本 和对应的原数据点 位于 的同一“水平集(level-set)”,同时模型能够最小化 training loss,那么就会在 上产生无法消除的偏差

即:

402 Payment Required

其中第一项表示 生成的数据不在同一 level-set 上,第二项表示模型有能力最小化 loss。篇幅有限,具体证明过程可以参照论文,其中心思想是:如果 无法在同一 level-set 上生成数据,同时模型能够最小化 loss,模型习得的函数 与 就会有偏差,即 。

(level-set 指:;即 )

于是,除非同时改变新数据 的标签 来消除 在 level-set 上产生的偏移,否则数据增强算法总会引入一定的偏差。若上述公式中第一项为 0,即不存在同一 level-set 上的偏差,这一性质被称为"label preserving",而这一性质依赖于特定的类别,即一部分类别偏差更小,label-perserving 的能力更强,当相同的数据增强的方法被运用于所有类别,自然而然,模型就会偏向于部分 label-preserving 更强的类别,进而产生类别间的不均衡

具体实例


颠覆认知!数据增强、正则化可导致不易察觉的灾难?_python_02

图中展示了运用不同数据增强的方法,对常见图片分类模型特定类别的分类效果,横轴是数据增强的程度,每种方法各不相同,但从整体趋势可以看出,对一些类别(红色)而言,尽管提高数据增强的比例,模型依旧能够学到足够的信息,但对另外一些类别(黑色),其结果下降明显

根据之前的定义,红色所对应的类别 label preserving 的能力更强,黑色所对应的类别就相对较弱,这进一步佐证了作者在前文中的证明。

Weight Decay呢?

前文论述了 DA 会导致类别间的不均衡问题,那其他的正则方法呢?作者进一步给出了 Weight Decay 的实验结果。Weight Decay 是指在原本的损失函数上添加 ,也就是我们常说的 L2 正则。作者参照之前数据增强的实验,罗列了新的结果:


颠覆认知!数据增强、正则化可导致不易察觉的灾难?_python_03

其中蓝色表示整体的平均分类准确率,红色和黑色表示对应的类别。与数据增强类似,虽然 Weight Decay 可以提升整体的平均分类效果,但是会导致类别间的不均衡

小结

这篇文章主要讨论了一种常见的现象:引入正则或数据增强后导致类别间效果不均衡,并给出严格的证明和实验结果。无论是各种不同的数据增强结果,抑或是最为常见的正则方法 Weight Decay,即便往往使平均效果有所提升,但都会引入类别间的不均衡问题。可见,即使总体效果出色,也要关心一下各个类别更为具体的数据,否则就只是刷榜的机器学习,其泛化能力并不一定出色,也就不能完美地运用于具体的应用场景中。

颠覆认知!数据增强、正则化可导致不易察觉的灾难?_算法_04

萌屋作者:子龙(Ryan)

本科毕业于北大计算机系,曾混迹于商汤和MSRA,现在是宅在UCSD(Social Dead)的在读PhD,主要关注多模态中的NLP和data mining,也在探索更多有意思的Topic,原本只是贵公众号的吃瓜群众,被各种有意思的推送吸引就上了贼船,希望借此沾沾小屋的灵气,paper++,早日成为有猫的程序员!


标签:增强,set,颠覆,level,化可,正则,类别,数据
From: https://blog.51cto.com/xixiaoyao/6212611

相关文章

  • 深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,D
    深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,Dropout,DropConnect】等1.注意力机制在深度学习领域,模型往往需要接收和处理大量的数据,然而在特定的某个时刻,往往只有少部分的某些数据是重要的,这种情况就非常适合Attention机制发光发热。举......
  • 机器学习的一些基本概念(函数/标准化/梯度下降/正则化)
    基本概念各种函数损失函数(LossFunction)度量单样本****或者一个批次的样本预测的错误程度,损失函数越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等代价函数(CostFunction)度量全部样本集的平均误差。常用的代价函数包括均方误差、......
  • 深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,D
    1.注意力机制在深度学习领域,模型往往需要接收和处理大量的数据,然而在特定的某个时刻,往往只有少部分的某些数据是重要的,这种情况就非常适合Attention机制发光发热。举个例子,图2展示了一个机器翻译的结果,在这个例子中,我们想将”whoareyou”翻译为”你是谁”,传统的模型处理方式是......
  • 正则表达式
    正则表达式正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式。“Regularexpression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。正则表达式可以从一个基础字符串......
  • day 09 9.1 数据解析之正则
    第三章.数据解析之正则RegularExpression,译作正则表达式或正规表示法,表示有规则的表达式,意思是说,描述一段文本排列规则的表达式。正则表达式并不是Python的一部分。而是一套独立于编程语言,用于处理复杂文本信息的强大的高级文本操作工具。正则表达式拥有自己独特的规则语法以......
  • 正版Abaqus软件价格贵?许可优化可解决预算不足许可不够用问题!
    随着计算机技术的发展和普及,各类软件已经成为现代生产和研究工作的重要工具。ABAQUS软件作为有限元分析软件的代表,具有广泛的应用领域和丰富的功能,成为了科研机构和企业所青睐的工具之一。然而,其高昂的许可证价格,往往使得机构和企业难以承担。针对这一问题,本文围绕浮点许可优化管理......
  • 常用正则表达式
    1、日期格式yyyy-MM-dd包括正确性验证^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$2、日期格式yyyy-MM包括正确性验证^[0-9]{4}-(((0[13578]|(10|12)))|(02-(0[1-9]|[1-2][0-9]))|((0......
  • JS正则表达式大全
    评:原文很多没有全部黏贴过来字符含意\做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。^匹配一......
  • 正则表达式
    正则表达式的基本知识正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。行定位符(^与$)行定位符是......
  • vue利用正则去除富文本的标签和样式
    constremoveHtmlStyle=(html:any)=>{letrelStyle=/style\s*?=\s*?([‘"])[\s\S]*?\1/g;//去除样式letrelTag=/<.+?>/g;//去除标签letrelClass=/class\s*?=\s*?([‘"])[\s\S]*?\1/g;//清除类名letnewHtml="";  if(html){......