形式化表达为,这一任务是学习 f: X -> Y ,其训练集为 D = {(X_1, y_1), …, (X_m, y_m)},其中 X_i = {x_{I, 1}, …, x_{I, m_i}}, X_i属于X,且被称为一个包(bag),x_{i, j}属于X,是一个样本(j属于{1, …, m_i})。m_i是X_i中的样本个数,y_i属于Y = {Y, N}。当存在x_{i, p}是正样本时,X_i就是一个正包(positive bag),其中p是未知的且p属于{1, …, m_i}。模型的目标就是预测未知包的标签。这被称为多示例学习(multi-instance learning)【40,41】。
对于多示例学习,有很多有效的算法。实际上,几乎所有的监督学习算法都有其对应的多示例版本。大多数算法都试图调整单实例监督学习算法,使其适配多示例表示,其主要方法是将对示例区分转变到对包的区分上来【42】;其他一些算法试图通过表示转换,调整多实例表示使其适配单实例算法【43,44】。还有一种分类方式,将算法分为:示例空间模型,即将示例级的反馈进行融合;包空间模型,即将包做为一个整体;以及嵌入空间模型,即学习是在一个嵌入特征空间中进行的。值得注意的是,示例通常被视为独立同分布的样本;然而【46】表明,尽管包可假设为独立同分布的,但是多示例学习中的样本不应被假设为相互独立的。基于这一观点,一些有效的算法被提了出来【47】。
多示例学习已经成功应用于多种任务,例如图像分类、检索、注释【48-50】,文本分类【51,52】,垃圾邮件检测【53】,医疗诊断【54】,人脸、目标检测【55,56】,目标类别发现【57】,目标跟踪【58】等等。在这些任务中,我们可以很自然地将一个真实的目标(例如一张图片或一个文本文档)看作一个包;然而,不同于药物活性预测中包里有天然的示例(即分子的不同形态),这里的示例需要生成。一个包生成器明确如何生成示例来组成一个包。通常情况下,从一幅图像中提取的很多小图像块就作为可以这个图像的示例,而章节、段落甚至是句子可以作为一个文本文档的示例。尽管包生成器对于学习效果有重要的影响,但直到最近才出现关于图像包生成器的全面研究【59】;研究表明一些简单的密集取样包生成器要比复杂的生成器性能更好。图5显示了两个简单而有效的图像包生成器。
图5: 图像包生成器。假设每张图片的尺寸为8*8个像素,每个小块的尺寸为2*2个像素。单块(Single Blob, SB)以无重叠地滑动的方式,会给一个图片生成16个实例,即每个实例包含4个像素。领域单块(SBN)以有重叠地滑动的方式,则会给每一个图片生成9个实例,即每个实例包含20个像素。
多示例学习的原始目标是预测未知包的标签;但有研究试图识别使得正包为正的关键示例(key instance)【31,60】。这对于有些任务是很有用的,例如在没有精细标注的图像数据中寻找感兴趣的区域。值得注意的是,标准的多示例学习【40】假设每个正包都必须包含一个关键示例,而有的研究则假设没有关键示例,每个示例都对包的标签有贡献【61,62】,或甚至假设有多个概念,仅当包中示例同时满足所有概念时才是正包【63】。在【41】中可以找到更多变体。
早期的理论研究结果【64-66】表明多示例学习很难应对异质(heterogeneous)案例,即包中的示例由不同的分类规则进行分类,而在同质(homogeneous)案例是可学习的,即包所有示例按照同一规则进行分类。幸运的是,几乎所有实际的多示例任务都属于同质案例。他们假设包中示例相互独立。包中示例没有相互独立假设的分析更具挑战性,也出现得晚得多,这些分析表明在同质性类中时,至少在一些情况下包之间的任意分布都是可学习的【67】。然而,与算法和应用研究的繁荣相比,多示例学习的理论成果非常少,因为这种分析实在是太困难了。
4 不准确监督