主要来源:周志华《A Brief Introduction to Weakly Supervised Learning》(2018.1)
原链接:
Lori-浅谈弱监督学习
弱监督学习综述
在机器学习领域,学习任务可大致划分为两类,一种是监督学习,另一种是非监督学习。通常,两者都需要从包含大量训练样本的训练数据集中学习预测模型,每个训练样本对应于事件/对象。
监督学习的训练数据由两部分组成:描述事件/对象的特征向量(x),以及 groud-truth 的标签(y)。
而非监督学习的训练数据只有一个部分:描述事件/对象的特征向量(x),但是没有标签(y)。
分类问题和回归问题是监督学习的代表,聚类学习是非监督学习的代表。在分类中,标签对应于训练样本属于哪一类。在回归中,标签对应于该示例的真实值响应。
对于分类问题来说,x是一些西瓜,y是属于的类别,好的西瓜或者坏的西瓜。现在我们已经知道每一个西瓜是好的或坏的,如果我们有一个新的西瓜,我们需要根据之前的经验判断它是好的或者坏的。
对于回归问题来说,x是西瓜,y是真实值响应。我们知道这个西瓜是3000日元,这个西瓜是4000日元,这个西瓜是3500日元,如果我们有一个新的西瓜,我们需要根据之前的经验去预测这个西瓜多少钱。
对于聚类问题来说,我们只知道我们有这些西瓜,x是西瓜,也许他们有一些不同之处,也许是更好吃或不好吃,也许是更便宜或不便宜,我们需要计算机自己去找到一些特征,将这些相似的西瓜聚成一类,如果我们有一个新的西瓜,需要判断它属于哪一类。
分类问题和回归问题和聚类学习尽管当前监督学习技术已经取得了巨大的成功,但是值得注意的是,由于数据标注过程的成本太高,很多任务很难获得如全部真值标签这样的强监督信息。而无监督学习由于学习过程太过困难,它的发展缓慢。因此,希望机器学习技术能够在弱监督状态下工作。
弱监督学习
弱监督学习可以分为三种典型的类型,不完全监督(Incomplete supervision),不确切监督(Inexact supervision),不精确监督(Inaccurate supervision)。
不完全监督是指,训练数据中只有一部分数据被给了标签,有一些数据是没有标签的。
不确切监督是指,训练数据只给出了粗粒度标签。我们可以把输入想象成一个包,这个包里面有一些示例,我们只知道这个包的标签,Y或N,但是我们不知道每个示例的标签。
不精确监督是指,给出的标签不总是正确的,比如本来应该是Y的标签被错误标记成了N。
不完全监督,不确切监督,不精确监督最左边是不完全监督,即我们可以看到有一些西瓜有标签,而有一些西瓜没有标签,标注并不完全。
中间的是不确切监督。对于这种情况,我们可以把这个想象成一个包,只知道这里面有西瓜,但是不知道西瓜在哪个位置,也不知道有几个,这种情况叫不确切监督。
最右边的是不精确监督。即假设我们有一些西瓜,但是有一些被错误标注为菠萝,那我们称之为不精确监督。
我们将分别对待这些类型的弱监督学习,但值得一提的是,在实际操作中,它们经常同时发生。
比如,在图像分类任务中,训练数据的Groud-Truth标签由人类注释者给出; 虽然很容易从互联网上获取大量图像,而由于人工成本,只能注释一小部分图像。(不完全监督)
在重要目标检测中,我们常常仅有图片级标签,而没有对象级标签。(不确切监督)
在众包数据分析中,当图像标记者粗心或者疲倦时,或者有些图片很难去分类时,这将会导致一些标签被标记错误。(不精确监督)
针对这三种典型的弱监督学习,我们可以考虑使用不同的技术去进行改善和解决。
为了解决不完全监督,我们可以考虑两种主要技术,主动学习和半监督学习。一种是有人类干预的,一种是没有人类干预的。
为了解决不确切监督,我们可以考虑多示例学习。
为了解决不精确监督,我们考虑带噪学习。
主动学习(active learning)
主动学习假设存在一个oracle,主动学习假设可以从oracle查询选定的未标注实例的真值标签。
简单起见,假设模型的损失依赖于询问的数目,主动学习的目标就是最小化询问的数目,以此来最小化训练模型的损失
对于给定的一部分数目较少的标注样本和大量的无标注样本,主动学习试图寻找最有价值的无标注样本及逆行询问(query),有两种广泛使用的选择策略:信息性与代表性。信息性衡量一个无标注样本降低统计模型不确定性的程度;代表性衡量无标注样本对于表达输入范式的有用程度。
不确定性采样与基于委员会查询的方法是信息性的代表方法,不确定性采样是训练一个学习器,然后选择在这个学习器上有最低置信度的样本,进行查询。后者就是训练多个学习器,然后选择这些学习器最不赞同的无标注样本就行查询。而基于表达的方法主要是利用无标注样本的聚类结果,通常采用聚类的方式实现。
基于信息性的方法的主要缺点就是这种方法严格依赖于已标注的样本来选择query样本,当标注样本非常少的时候,这种方法的效果比较差。而基于表达性的方法则主要依赖于无标注样本的聚类结果,特别是当有标注样本非常少的时候,依赖性更加严重。因此近些年的一些方法试图平衡信息性与表达性。
近些年有很多关于主动学习的理论研究,例如:对于可实现的情况(realizable case)(在假设类中存在数据可完全分离假设),利用主动学习的方法,样本的复杂度可以获得指数提升。对于不可实现的情况(unrealizable case)(在假设类中不存在任何假设可以将数据完全分离),已经被证明,没有关于噪声模型的假设,主动学习的上界与下界相匹配,也就是主动学习没有什么用。已经证明,假设Tsybakov噪声模型,对于有界噪声,主动学习可获得指数级的提升。如果能够开发一些特殊的数据特征,例如多视图,主动学习对于无界的噪声依然可用获得指数级的提升。总之,即使对于很困难的情况,通过精妙的设计主动学习依然能获得提升
半监督学习(semi-supervised learning)
半监督学习无需人工的参与,自动开发无标注的数据,来提升模型的性能。
存在一种特殊的半监督学习,称为直推式学习(transductive learning);直推式学习和(纯)半监督学习的主要区别在于,它们对测试数据,即训练过的模型需要进行预测的数据,假设有所不同。直推式学习持有「封闭世界」假设,即,测试数据是事先给出的、目标是优化测试数据的性能;换言之,未标注数据正是测试数据。纯半监督式学习则持有「开放世界」假设,即,测试数据是未知的,未标注数据不一定是测试数据
在半监督学习中有两个主要的假设就是:聚类假设和流形假设,二者都是关于数据分布的假设。前者假设数据具有连续的聚类结构,因此在相同聚类簇中的结果有相同的类别。后者假设数据依赖于流形,因此相近的实例具有相同的类别。这两种假设都依赖于相似的数据点有相似的输出,因此无标注的数据对相似点的发现有帮助。
半监督学习有四种主要的方法:生成式方法,基于图的方法,低密度分离方法,基于不一致的方法
生成式方法假设有标注与无标注的样本由同一个连续模型生成。因此无标注样本的label作为生成式模型的丢失值,采用EM算法评估。这些模型的不同点在于使用不同的生成式模型来拟合数据,为了能够得到更好的效果通常需要domain的知识来获得充足的生成式模型,也有很多人尝试去混合生成式模型与判别式模型。
基于图的方法构建一张图,节点表示训练实例,边表示节点之间的关系(相似度或者距离),然后利用某种准则在图中传递label信息。这种方法空间以及时间复杂度高,限制扩展性。
低密度分离的方法强迫使边界线穿过密度较低的区域,代表性的方法就是半监督SVM。
基于不一致的方法式使用不同的学习器联合开发无标注数据,在这期间,各个学习器之间的不一致性是训练过程继续的重要因素。以两个学习器为例,在每次迭代中,每个学习器都选择自身置信度最大的label作为这个实例的伪标签去训练前一个分类器。通过ensemble的方法往往可以获得更好的效果。这种基于不一致方法提供了一种将主动学习与半监督学习相互联合的方法,除了联合训练之外,对于几个分类器置信度均较低或者虽然大家的预测置信度都较高,但是label不一样的实例可以选择作为query。
对于无标注样本的使用有时候会让模型的表现力变得更差,由于无标注样本的使用通常会导致多偶遇一个模型选择,因此不充分的选择可能导致更差的表现,为了使半监督学习更加safer,通常联合多个模型来优化。参看文章:Towards making unlabeled data never hurt
基于不一致的方法参考:Theoretical foundation of co-training and disagreement-based algorithms
多示例学习(Multi-instance learning)
多示例学习实际上,几乎所有监督学习算法都有其多实例对等体。
训练数据集中每一个数据看做一个包(Bag),每个包由多个实例(Instance)构成,每个包有一个可见的标签,在上图例子中,假设这个包大小为88,如果我们用size为22的图片包生成器(Image bag generators)去取得实例,那么我们可以得到16个实例(Instance)。
显而易见,我们这个包是有标签的(左图),老虎,包中的每个实例是没有标签的(右图)。
多实例学习假设每一个正包必须存在至少一个关键实例。这意味着,假设这个例子中关键实例是示例9,那么这个包的标签为正(positive)。多实例学习的过程就是通过模型对包及其包含的多个实例进行分析预测得出包的标签。多实例学习广泛存在在真实世界中,并且应用场景非常广泛。
不精确监督(inaccurate supervision)
一个相对典型的场景就是在有标签噪声的情况下进行学习。目前很多理论研究相关问题,其中大多数均假设存在随机的分类噪声,即标签受随机噪声的影响。基本的思想就是识别潜在的误分类样本,然后尝试对其进行修正。
数据编辑(data-editing)方法构建了相对邻域图(relative neighborhood graph),其中每一个节点对应一个训练样本,而连接两个不同标签的节点的边被称为切边(cut edge)。然后,测量 一个切边的权重统计量,直觉上,如果一个示例连接了太多的切边,则该示例是可疑的。可疑的示例要么被删除,要么被重新标记。值得注意的是,这种方法通常依赖于咨询邻域信息;由于当数据很稀疏时,邻域识别将变得更不可靠,因此,在高维特征空间中该方法的可靠性将变弱。
近期出现的有趣的不准确监督的场景是众包模式(crowdsourcing),这是一种流行的将工作外包给个人的范式。对于机器学习来说,用众包模式为训练数据收集标签是一种经济的方式。具体来说,未标记的数据被外包给大量的工人来标记。在著名的众包系统 Amazon Mechanical Turk 上,用户可以提交一项任务,例如将图片标注为「树」或「非树」,然后职工完成工作以获取少量报酬。通常这些工人来自世界各地,每个人都可以执行多个任务。这些职工通常互相独立,报酬不高,并通过自己的判断标记数据。这些职工的标记质量参差不齐,但标记质量信息对于用户来说是不可见的,因为工人的身份是保密的。在这些职工中可能存在「垃圾制造者」,几乎用随机的标签来标记数据(例如,用机器替代人类赚取报酬),或「反抗者」,故意给出错误的标签。此外,某些任务可能对一些人来说太难而无法完成。使用众包返回的不准确监督信息来保证学习性能是非常困难的。
很多研究尝试用众包标签推断真值标签。多数人投票策略得到了集成方法的理论支持,在实践中得到了广泛使用并有很好的表现,因此通常作为基线标准。如果预期可以对工人质量和任务难度建模,那么通过为不同的工人在不同的任务上设置权重,则可以获得更好的效果。为此,一些方法尝试构建概率模型然后使用 EM 算法进行评估 [77,78]。人们也使用了极小极大熵方法。概率模型可以用于移除垃圾制造者。近期人们给出了移除低质量工人的一般理论条件。
在机器学习中,众包通常用于收集标签,在实践中,模型的最终性能,而不是这些标签的质量,才是更重要的。目前已有很多关于从低能老师和众包标签学习的研究,这和用带噪声标签学习是很接近的。但其中的区别在于,对于众包设定而言,人们可以方便地、重复地对某个示例提取众包标签。因此,在众包数据学习中,考虑经济性和最小化众包标签的充分数量是很重要的,即有效众包学习的最小代价。很多研究专注于任务分配和预算分配,尝试在准确率和标注开销之间取得平衡。为此,非适应性的任务分配机制(离线分配任务)和适应性机制(在线分配任务)都得到了在理论支持下的研究。需要注意的是,多数研究采用了 Dawid–Skene 模型,其假设不同任务的潜在成本是相同的,而没有探索更复杂的成本设置。
设计一个有效的众包协议也是很重要的。一些文献中提供了「不确定」选项,从而使工人在不确定的时候不被迫使给出确定的标签。该选项可以帮助标记的可靠性获得有理论支持的提升。一些文献中提出了一种「double or nothing」的激励兼容机制,以确保工人能提供基于其自己的信心的标注,诚实地工作。在假定每位工人都希望最大化他们的报酬的前提下,该协议被证实可以避免垃圾制造者的出现。
参看链接:https://academic.oup.com/nsr/ar
参考连接:
弱监督学习综述
系统学习机器学习之弱监督学习(一)--弱监督学习综述
浅谈弱监督学习(Weakly Supervised Learning)
网友评论