首页 > 编程语言 >数据有偏差,照样能学对!20年前就有这么强的算法了?

数据有偏差,照样能学对!20年前就有这么强的算法了?

时间:2023-05-01 12:32:41浏览次数:63  
标签:20 预测 模型 abs 学习 算法 能学 PoE 数据


数据有偏差,照样能学对!20年前就有这么强的算法了?_机器学习

文 | 白鹡鸰给小铁比了个心
编 | 小轶

背景

“每个人都依赖自己的知识和认知,同时又为之束缚,还将此称为现实;但知识和认识是非常暧昧的东西,现实也许不过是镜花水月——人们都是活在偏见之中的,你不这样认为吗?这双眼睛,又能看多远呢?”

机器学习,作为模仿人类思维方法进行建模的过程,虽然从数据中抽取模型的水平还不如人类,但是在获取偏见(bias)的方面,已经青出于蓝而胜于蓝了。关于机器学习模型偏见产生的机理谷歌花了59页,从自然语言、图像处理和生物医疗领域进行了详细的分析。结论是,不论数据集多大,必然存在采样偏差,因此模型或多或少总会学到假特征,扩大数据集不是修正模型偏见的终极解决方案。遗憾的是,谷歌并没在文中提出有创见性的改进意见,只是建议大家多做测试。


数据有偏差,照样能学对!20年前就有这么强的算法了?_算法_02

不过,谷歌没搞大新闻也没关系。Hugging Face表示:即使不去显式地定位模型的偏差,即使只有有偏的数据集,他们照样有办法炼出鲁棒性高的模型,能从容应对与训练测试集分布不同的真实场景。这是怎么做到的呢?下面就让我们一起来看看吧~

论文题目:

Learning from Others' Mistakes: Avoiding Dataset Biases Without Modeling Them

论文链接:

https://arxiv.org/abs/2012.01300

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

核心思想

“盲人摸象”是现在很多模型的生动写照:大象(真实场景中数据量)体积庞大,盲人仅凭双手难以触及全貌(采样无法覆盖所有场景)。即使一群盲人摸同一头象,每个人也只知道部分内容,容易以偏概全(假特征)。如果让每个盲人独立判断自己摸到的是什么,就会把非决定性特征视作决定性特征,从而出现不同的预测错误。

但是,如果允许盲人们交流讨论,他们就可以分析各自判断错误的原因。以此为依据去调整每个特征导向正确结果的概率,甚至归纳出新的隐藏特征。这篇论文的工作,就是在探究 “盲人”(弱学习器,weak learners)之间如何进行有效地“讨论”Products of Experts),并分析每个弱学习器至少需要掌握多少信息,才能对正确的预测结果有所帮助

方法

从一个“古老”的方法说起

看到Product of Experts (PoE)的第一眼,白鹡鸰是懵逼的。这个名字很自然地令人联想到专家系统的某种变体。然而,这都2021年了,莫非是要文艺复兴的节奏?仔细一查,PoE的作用确实是总结多个模型包含的知识,基于特定算法和总结的先验知识进行预测,妥妥的一个专家系统,在2002年由Hinton大神提出 [1]。顾名思义,PoE在基于 个专家模型构建最终的预测模型时,公式中充斥着累乘:

其中 是可能出现的事件, 是模型 中所有的参数, 是模型 预测事件 出现的概率, 是事件的状态空间。当状态空间是连续的时候,需要将分母上的累加改为积分。这个公式符号有些复杂,但实质就是在先验信息是联合分布的情况下,求一个事件发生的概率

这个方法的优点在于:即使每个专家模型都只关心特定的事件,而对其他情况预测表现不佳,综合下来,PoE对事件的预测都能达到一个较好的结果。

具体应用过程

在Hugging Face提出的方法中,需要一个弱学习器 和一个主学习器 。记 和 输出的logits vector(即未经归一化的概率分布)分别为 和 。数据集和标签记作 ,最终预测结果有 类。

首先,用标准化交叉熵作为损失函数,预训练 。然后挑选出 预测错误的样本集

接着,将 作为输入,得到两个学习器的输出,构造合并后的logits vector:

则显然有(因为公式的分母都是常数)

换言之,

(其中 是 向量中对应元素相乘的运算符号)

再把上式 右边再归一化处理一下,就有

(这里 是指将向量的每一维累加)

如果将 看作PoE中子模型的预测输出,可以发现 看似简单的构造中其实蕴涵着PoE的思想。感兴趣的朋友们可以参考Hugging Face的原文和[2]自行推导。

当用逻辑回归进行二元分类任务时, 和 可以视作标量(即预测为正样本的概率), 上式中的softmax也退化为sigmoid。则针对单个正样本的损失函数为

此时冻结 的参数,只更新 的参数。损失函数是上述PoE loss与普通交叉熵损失之和,只用来更新 。训练完成后, 即为最终的预测模型。这样就达到了令 向 “学习” 的效果。但与知识蒸馏不同之处在于,这里的“学习”并非以“模仿”为目的,而是从 的错误中进行学习

实验设计与结果

这种去偏差方法无疑设计得很巧妙:一方面,它省去了显性定位模型偏差的功夫,节约大量人力资源;另一方面,损失函数的计算较为简便,节约大量计算资源。不过,再怎么吹,没看到结果之前,都是空的。

首先是在自然语言推断(Natural Language Inference)任务上的验证。研究者们在MNLI数据集上,采用基于TinyBERT的弱学习器和基于BERT的主学习器进行训练。模型的任务是基于前提(premise statement),将假设(hypothesis statement)分类为真(entailment),假(contradiction)或不确定(neurtral)。训练完成后,不仅在MNLI数据集上检测分类的准确性,还在与MNLI数据分布不同的HANS上检验了模型,结果如图1所示。在heuristic-non-entailment的样本上,PoE将主学习器的正确率提高了将近24%;但是在与in-distribution accuracy上,预测效果不升反降,这可能是因为文章提出的模型过于关注弱学习器犯的错误,而没有关注in-distribution prediction的优化导致的。


数据有偏差,照样能学对!20年前就有这么强的算法了?_计算机视觉_03

然后是在QA(Question Answering)任务上的验证。学习器和上文设置一样,用SQuAD数据集训练,在Adversarial SQuAD数据集上检验。结果如图2所示。这一任务上,PoE的采用对预测器鲁棒性的优化十分显著。


数据有偏差,照样能学对!20年前就有这么强的算法了?_机器学习_04

上述测试以外,文章还探讨了弱学习器的参数量和主学习器的鲁棒性的关联。由图三可以看出,弱学习器的正确率不会随着参数量的增加获得很大提升。而主学习器在in-distribution数据上性能显著下降,在out-distribution数据上则性能提升。

数据有偏差,照样能学对!20年前就有这么强的算法了?_计算机视觉_05

总结和感想

除了对模型本身的理解,写这篇文章更深层的动机是想说明:处理数据不均衡/模型有偏正在成为机器学习中共同的研究热点。其实在任何基于统计原理的建模方法上,这都是一个无法回避的挑战,只不过说之前因为数据量不够、基本模型不够完善所以热度没有起来。而现在时机已经逐渐成熟,2021年,恐怕这个难点上大新闻会此起彼伏,真是令人期待。

数据有偏差,照样能学对!20年前就有这么强的算法了?_深度学习_06

萌屋作者:白鹡鸰

白鹡鸰(jí líng)是一种候鸟,天性决定了会横跨很多领域。已在上海交大栖息四年,进入了名为博士的换毛期。目前以图像语义为食,但私下也对自然语言很感兴趣,喜欢在卖萌屋轻松不失严谨的氛围里浪~~形~~飞~~翔~~



数据有偏差,照样能学对!20年前就有这么强的算法了?_人工智能_07

 

数据有偏差,照样能学对!20年前就有这么强的算法了?_机器学习_08

[1] Hinton, Geoffrey E. "Training products of experts by minimizing contrastive divergence." Neural computation 14.8 (2002): 1771-1800.

[2] Mahabadi, Rabeeh Karimi, Yonatan Belinkov, and James Henderson. “End-to-End Bias Mitigation by Modelling Biases in Corpora.” ACL,(2020). https://arxiv.org/abs/1909.06321

[3] Utama, Prasetya Ajie, Nafise Sadat Moosavi, and Iryna Gurevych. "Towards debiasing NLU models from unknown biases." arXiv preprint arXiv:2009.12303 (2020). https://arxiv.org/abs/2009.12303

[4] He, He, Sheng Zha, and Haohan Wang. "Unlearn dataset bias in natural language inference by fitting the residual." arXiv preprint arXiv:1908.10763 (2019). https://arxiv.org/abs/1908.10763

标签:20,预测,模型,abs,学习,算法,能学,PoE,数据
From: https://blog.51cto.com/xixiaoyao/6238756

相关文章

  • 2023.4 做题笔记
    出于一些原因,只有4.21往后的题。LOJ6481VisualPython++考虑贪心。非常容易想到,从左往右扫,每次扫到一个右下角时就匹配一个在它上面但是高度差最小的左上角,如果有多个同一高度的可以不用考虑顺序,因为边界重合的情况是不合法的。对于一种匹配方案,怎么判断它合不合法呢?我们同......
  • JetBrains 公布 WebStorm 2023.2 路线图
    JetBrains已公布了WebStorm2023.2版本的路线图,以便用户可以率先了解到官方的规划以及能够预览一下未来能够用上的新功能。主要聚焦于以下内容:稳定的新 UI。这是此版本中的优先事项之一。CSS嵌套支持。WebStorm2023.2计划将添加对 CSS嵌套功能的支持( WEB-57875 ......
  • 【题解】P3338 [ZJOI2014]力
    题目描述给出\(n\)个数\(q_1,q_2,\dotsq_n\),定义\[F_j~=~\sum_{i=1}^{j-1}\frac{q_i\timesq_j}{(i-j)^2}~-~\sum_{i=j+1}^{n}\frac{q_i\timesq_j}{(i-j)^2}\]\[E_i~=~\frac{F_i}{q_i}\]对\(1\leqi\leqn\),求\(E_i\)的值。\(1\le......
  • 2023 Hubei Provincial Collegiate Programming Contest
    链接:https://codeforces.com/gym/104337C画个图看看,复杂度\(O(1)\)。C++Code#include"bits/stdc++.h"usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intn,m;cin>>......
  • 【字节二面算法】NO662 二叉树最大宽度
    [字节二面算法]662.二叉树最大宽度给你一棵二叉树的根节点root,返回树的最大宽度。树的最大宽度是所有层中最大的宽度。每一层的宽度被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的n......
  • P4870 [BalticOI 2009 Day1]甲虫
    题意:有一只甲虫处于一根水平的树枝。因为他沉迷数学无法自拔,所以他觉得很像是在\(x\)轴上。在同一根树枝上,还有\(n\)滴露水。每滴露水占用\(m\)个单位的水分。相对于甲虫的位置,他们的坐标分别是\(x_1,x_2,\dots,x_n\)。显然,这一天将会骄阳似火。每过一个时间单位,就会有......
  • SQL Server2012安装
    一,安装前准备工作1,安装包  2,关闭防火墙(必须)3,关闭杀毒软件(我没有关闭杀毒软件也安装成功了) 二,安装过程点“setup.exe”   Developer版本,自带密钥    报错:防火墙警告,是因为我安装之前没有关闭防火墙解决:关闭防火墙,点“重新运行”下,就全部运行通过......
  • VMIACC-5595-208反射内存交换机 GE反射内存卡 PCI-5565 VMIC-5565 反射内存
    VMIACC-5595-208ACC5595集线器5595系列网络集线器,是反射内存网络数据交互的核心。1 到 8 口可配置。可插拔收发器支持单模或者多模模式。1x8 口或者 2x4 口。可以通过串口了解状态进行控制。产品简介vmic5565反射内存实时网络传输系统是基于环型或星型的,高速复制的共享内......
  • [P5785 [SDOI2012]任务安排] 题解
    P5785[SDOI2012]任务安排题目描述分析很明显是一个dp我们不妨设\(dp[i]\)表示枚举到\(i\)的最小费用\(t[i]\)表示加工完第\(i\)个任务所用的总时间,也就是\(T[i]\)的前缀和由于每一批任务前都要一个时间为\(s\)的开机工作我们不妨把每一个这样的\(s\)秒提出来,则这\(s\)秒都......
  • P1220 关路灯
    题意:某一村庄在一条路线上安装了\(n\)盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地......