CCAI | 如何能既便宜又快速地获取大数据?这位微软研究员设计了两个模型,帮你省钱省时间
美国微软雷德蒙研究院首席研究员周登勇
7 月 22 - 23 日,在中国科学技术协会、中国科学院的指导下,由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办,云栖社区作为独家直播合作伙伴的 2017 中国人工智能大会(CCAI 2017)在杭州国际会议中心盛大召开。
大会第二天上午,美国微软雷德蒙研究院首席研究员周登勇(Denny Zhou)发表了《众包中的统计推断与激励机制》主题报告,从“为什么众包”、“众包的挑战”、“统计推断”、“激励机制”着手,结合多个生动形象的案例,具体总结了微软雷德蒙研究院过去几年在众包研究与工程上的进展。
周登勇博士表示,在可以预见的将来,机器智能完全代替人的智能几乎没有任何可能,我们应该是让人与机器各施所长互相补充。数据标注是一个比较简单的人机系统,但这里面包含的技术已经相当有挑战性。如果我们要建立更复杂的人机智能系统解决更大的问题,会有更多的新的困难需要克服。
以下为演讲实录,在不违背原意的情况下进行了删减和调整。
大家好,我今天要讲的是众包。具体来说,我将讨论如何通过众包获取高质量的数据标签。为开发一个机器学习的智能系统,我们第一步要做的事情就是获得高质量的带标签的数据。
通过众包我们很容易拿到大量的带有标签的数据。众包有两个优点:
- 速度快。一个商业众包平台或许有上百万甚至几百万的数据标记人员。
- 便宜。在亚马逊众包平台标注一个图像数据通常都不到一美分。
所以,通过众包很可以以很少的花费在短时间内获得大量的带标签的数据。在机器学习里大家经常会说的一句话:更多的数据会打败一个聪明的算法。
众包存在的问题
可是,通过众包获取的数据标签质量或许不高。 只要原因如下:
- 专业技能。因为众包人员可能没有标记你的数据所需的技能。
- 动机。众包人员没有动力好好的把这个数据标记好。
如果使用低质量的数据去训练一个机器学习模型,不管使用什么高级的算法,都可能无济于事。
众包中的统计推断
在一定程度上,统计推断可以帮助我们从低质量的通过众包获得的数据标签中提炼出正确的标签。
让我们先看一个假想的例子。比如这个橙子与橘子的分类问题。每幅图像同时有几个人标注,不同的人或给出不同的答案。但是,当把不同的答案设法结合起来,我们或许能知道正确的答案是什么。这也通常叫做群体智慧。
怎么结合不同人的答案呢?最简单的办法就是采用投票的方式。也就是说,哪一类标签拿到的投票数是最多的,我们就认为这个图像属于这一类。
我们在做一个问题的时候,总应该想一想,我们的做法合理吗? 还有改进的空间吗? 在我我们的这个问题上, 投票意味着什么呢?投票意味者所有人的水平都是一样的。也就是说, 大家都一样好。
显然这在现实上不太可能。更可能的是大家的的水平参差不齐。但是,因为没有正确的答案,我们不能立即知道谁的水平更高。而且,即使我们知道正确的标签,也很难比较两个人的水平的高低,因为不同的问题难度会很不一样。一个答对了10道容易问题的人与答对10道难题的人水平或很不一样。所以,为了推断出正确的数据标签,我们需要把把以上讨论的关于人的水平与问题难度的直观想法转化成一个数学模型。
接下来讲我们的方案。在这之前,让我先引进一些数学符号。让我们把收集来的众包数据表示成一个矩阵这个矩阵的每一行对应一个数据标记员,每一列对应着我们需要标记的对象。数据表示第个人对第个数据做出的标记。真实的标签是不知道的。我们需要解决的问题就是如何从推断出。
极小极大熵原理
我们的解决方案叫极小极大熵原理,可以分成两块来解读:
- 优化的对象;
- 优化的约束条件。
我们先看约束条件。第一个约束条件是针对每个数据标记员工,第二个约束条件是针对每个需要标记的对象。下面我将解释这两个约束。我们会看到第一个约束条件对应着人的水平,第二个约束条件对应着问题的难度。
刚才说过,每一个数据标记人员所标记的数据对应着矩阵的一行。我们的约束做这么一件简单的事情:计数。我们数一下有多少类别为的对象被误标为。约束方程的右边是观察到的误标总数,左侧则是对应的期望值。一个人误标越多,水平就越低。
构造这个约束方程的原理可以理解如下。
假设我们有一枚硬币,我们希望知道这个硬币是正面的概率是多大。假设我们把这个硬币不断的丢10次,有6次是正面。那么正面的概率是多少呢?一般我们会说正面的概率是60%。为什么呢?我们可以这样想。假设正面的概率是p,我们会认定10 * p = 6,右边是观察到的正面数,左边是期望值。解这个方程,我们就可以得到p = 0.6。
类似的,我们对需要标记的每一个对象也有这样的计数。当我们知道真实的类别的话,我们会知道有多少人标错了。标错的人越多,这个问题就越难。我们方程的右侧统计一下到底有多少人标错了,左边则是是它的期望值。
约束条件已经讲完了,现在回到为什么采用这样一种目标函数。首先我们把极小化放在一边,先看极大化。也就是极大熵。我们用一个数学模型解释观察到的数据的时候,尽量用一个光滑的模型去拟合数据。类似地,当我们用一个概率分布解释观察到的数据的时候,会让分布尽可能平坦。这就是极大熵原理的直观解释。为进一步推断真实的标签,我们极小化最大的熵。熵在直觉的意义上意味着不确定性。极小化最大的熵意味着极小化不确定性,也就是我们认为数据标记员都在尽力做好他们的工作。如果他们只是提供随机的标签,那么就没有任何办法去恢复真实的标签。
解决极小极大的优化问题的时候,我们需要把它变成一个对偶问题,叫拉格朗日对偶。拉格朗日乘子与可以分别解释成人的水平与问题的难度。我们初步设想是把每个人的能力与问题的难度给刻画出来,但是并没有假设这个模型是什么样的。当我们同时引进约束条件和极大极小化熵,这个模型就自动推出来了。要注意到这里的拉格朗日乘子是矩阵,
最后更新:2017-07-26 18:03:19