中国人工智能学会通讯——众包中的统计推断与激励机制 2 如何提高众包数据的质量

简介:

2 如何提高众包数据的质量

众包存在的问题

可是,通过众包获取的数据标签质量或许不高。主要原因如下。

●专业技能。因为众包人员可能没有标记你的数据所需的技能。
●动机。众包人员没有动力好好地把这个数据标记好。

如果使用低质量的数据去训练一个机器学习模型,不管使用什么高级的算法都可能无济于事。

众包中的统计推断

在一定程度上,统计推断可以帮助我们从低质量的通过众包获得的数据标签中提炼出正确的标签。

image

让我们先看一个假想的例子。比如这个橙子与橘子的分类问题。每幅图像同时有几个人标注,不同的人或给出不同的答案。但是,当把不同的答案设法结合起来,我们或许能知道正确答案是什么。这也通常叫做群体智慧。

怎么结合不同人的答案?最简单的办法就是采用投票的方式。也就是说,哪一类标签拿到的投票数是最多的,我们就认为这个图像属于这一类。

我们在做一个问题时总应该想一想,我们的做法合理吗?还有改进的空间吗?在我们的这个问题上,投票意味着什么?投票意味者所有人的水平都是一样的。也就是说,大家都一样好。

image

显然这在现实上不太可能。更可能的是大家的水平参差不齐。但是,因为没有正确答案,我们不能立即知道谁的水平更高。而且,即使知道正确的标签,也很难比较两个人的水平的高低,因为不同的问题难度会很不一样。一个答对了10道容易问题的人,与答对10道难题的人水平会很不一样。所以,为了推断出正确的数据标签,我们需要把以上讨论的关于人的水平与问题难度的直观想法转化成一个数学模型。

接下来讲我们的方案。在这之前,让我先引进一些数学符号。让我们把收集来的众包数据表示成一个矩阵{xij}。这个矩阵的每一行对应一个数据标记员,每一列对应着我们需要标记的对象。数据xij表示第个i人对第j个数据做出的标记。真实的标签yj是不知道的。我们需要解决的问题就是如何从{xij}推断出{yj}。

极小极大熵原理

image

我们的解决方案叫做极小极大熵原理,可以分成两块来解读。

●优化的对象;
●优化的约束条件。

image

我们先看约束条件。第一个约束条件是针对每个数据标记员工,第二个约束条件是针对每个需要标记的对象。下面我将解释这两个约束。我们会看到第一个约束条件对应着人的水平,第二个约束条件对应着问题的难度。

刚才说过,每一个数据标记人员所标记的数据对应着矩阵的一行。我们的约束做这么一件简单的事情:计数。(我们数一下有多少类别为c的对象被误标为l)。约束方程的右边是观察到的误标总数,左侧则是对应的期望值。一个人误标越多,水平就越低。

构造这个约束方程的原理可以理解如下。

image

假设有一枚硬币,我们希望知道这个硬币是正面的概率是多大。假设把这个硬币不断地丢10次,有6次是正面。那么正面的概率是多少?一般我们会说正面的概率是60%。为什么?我们可以这样想:假设正面的概率是p,我们会认定10×p= 6,右边是观察到的正面数,左边是期望值。解这个方程,我们就可以得到p= 0.6。

类似的,我们对需要标记的每一个对象也有这样的计数。当知道真实的类别,我们会知道有多少人标错了。标错的人越多,这个问题就越难。我们方程的右侧统计一下到底有多少人标错了,左边则是它的期望值。

image

约束条件已经讲完了,现在回到为什么采用这样一种目标函数。首先我们把极小化放在一边,先看极大化。也就是极大熵。我们用一个数学模型解释观察到的数据时,尽量用一个光滑的模型去拟合数据。类似地,当我们用一个概率分布解释观察到的数据时,会让分布尽可能平坦。这就是极大熵原理的直观解释。为进一步推断真实的标签,我们极小化最大的熵。熵在直觉的意义上意味着不确定性。极小化最大的熵意味着极小化不确定性,也就是我们认为数据标记员都在尽力做好他们的工作。如果他们只是提供随机的标签,那么就没有任何办法去恢复真实的标签。

image

解决极小极大的优化问题时,我们需要把它变成一个对偶问题,叫做拉格朗日对偶。拉格朗日乘子σi与τj可以分别解释成人的水平与问题的难度。我们初步设想是把每个人的能力与问题的难度给刻画出来,但是并没有假设这个模型是什么样的。当我们同时引进约束条件和极大极小化熵,这个模型就自动推出来了。要注意到这里的拉格朗日乘子是矩阵,c与ℓ是类别。非对角线上的元素(c与ℓ不相等)表示怎么把一个类别的标记对象,混淆成另外一个类别。对角线线上的数字(c与ℓ相等)则表示标记的精度。

image

我们现在讨论以上模型的另外一种解释方案,这个方式跟心理学有关。这是数学心理学家在60年代提出的想法,称之为客观性测量原理。比如我们测量桌子长度时,假设一张桌子是另外一张的两倍长。不管我们用什么尺子去测量,这个永远是另外一个的两倍,这叫做测量的客观性。在众包里我们要做的测量是每个人的水平,以及每个问题的难度。我们也要保证测量的方式足够客观。这意味着两个人水平的相对比较应该与用来测量人水平的具体的问题是独立的。把这个客观性原理用数学刻画出来的话,可以证明我们提出的众包模型是唯一符合客观性原理的模型。

我们的众包模型很容易拓展到分级的数据上面去。比如说我们在做搜索的时候,数据标签通常是“完美”、“优秀”、“好”,“公平”,或者是“不好”。一个人可能把一个“完美”与“优秀”有混淆,但是不太可能把“完美”与“不好”混淆。当我们把这样的直觉变成数学的描述,就构造了下面的约束条件。

image

在第一个方程里,我们检查数据标记员的标签是不是比某一个标签c大,而且真实的是不是也比这个大,然后让经验观察的次数与它的期望值相等。其他的方程可以类似解释。

image

以上图表是在众包数据集上的实验结果,每一个数字表示了错误率,我们方法的结果在最后一列。经验结果表明,我们的方法确实能产生比较好的性能,但是除了有一个数据集Price。在这个数据集里面,包含的是UCI本科学生对产品价格的估计。这个数据有系统性的偏差。学生们把价格普遍低估。这或许并不令人惊讶。

我们也考虑了预算最优的众包问题。在这个问题里面,我们需要在每一步考虑两个问题:哪一个数据需要更多的标记,以及让谁来标注。在我们的方案里面,这个问题通过马尔科夫决策理论解决。

相关文章
|
3月前
|
人工智能 自然语言处理 语音技术
人工智能语音数据的多样性
人工智能语音数据的多样性
22 2
|
3月前
|
人工智能 算法 语音技术
人工智能语音数据
人工智能语音数据
55 5
|
3月前
|
机器学习/深度学习 传感器 人工智能
人工智能图像数据
人工智能图像数据
38 3
|
5天前
|
机器学习/深度学习 数据采集 人工智能
|
10天前
|
人工智能 分布式计算 Kubernetes
人工智能,应该如何测试?(三)数据构造与性能测试篇
本文探讨了人工智能场景中的性能测试,区别于传统互联网测试,其复杂性更高。主要关注点包括两类AI产品——业务类和平台类,后者涉及AI全生命周期,测试难度更大。测试重点是模型训练的性能,特别是数据模拟。需要构造大量结构化数据,如不同规模、分布、分片和特征规模的数据,以评估算法效率。此外,还涉及模拟设备规模(如视频流)和节点规模(边缘计算),以测试在大规模负载下的系统性能。文中提到了使用工具如Spark、ffmpeg、流媒体服务器和Kubernetes(K8S)的扩展项目,如Kubemark,来模拟大规模环境。最后,文章介绍了使用Golang进行异步IO操作以构建海量小文件,优化IO性能。
26 0
|
1月前
|
数据采集 机器学习/深度学习 人工智能
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
52 1
|
1月前
|
人工智能 算法 开发工具
预测五大数据和人工智能趋势
预测五大数据和人工智能趋势
|
3月前
|
机器学习/深度学习 人工智能 计算机视觉
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能语音数据标注信息
人工智能语音数据标注信息
58 1
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能(AI)与文本数据
人工智能(AI)与文本数据
112 3