Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Multiple Instance Learning

多示例学习使用仅有整体标签的实例包进行训练,例如带有一个诊断结果的病理切片,并从中找出关键实例。

多实例学习(MIL)是一种 机器学习 方法:训练样本由称为“包”的组构成,标签只属于每个包,而包内的单个实例没有标签。一张标注为“癌症”的数字病理切片是一个由数千个组织图块组成的包,其中可能只有少数图块显示肿瘤细胞;一段标注为“事件”的监控视频是一个由许多短片段组成的包,其中大多数片段都没有异常。MIL 从这类数据中学习预测包标签,并在此过程中识别哪些实例是标签的依据。当对每个实例进行 标注 需要专家耗费太多时间或根本无法完成时,就可以使用这种弱监督方法。

Thomas Dietterich、Richard Lathrop 和 Tomás Lozano-Pérez 于 1997 年在药物活性预测中提出了这种设定。一个分子可以折叠成许多形状,只要其中一种形状适合目标,它就能与目标结合。因此,他们将每个分子视为由其所有可能形状组成的包,并只用分子测得的活性作为标签。

标准 MIL 假设#

二元标签的经典假设是:包中至少包含一个正实例时,该包为正;只有所有实例都为负时,该包才为负。像普通 监督学习 那样把包的标签复制给每个实例,会错误标注每个正包中的大量负实例。MIL 则会为每个实例打分,并将这些分数汇总成一个包预测值。取最大值与标准假设完全一致:包的分数等于其中最可疑实例的分数,并且只有该实例的分数会从包标签处接收 反向传播 信号。

这个 PyTorch 示例使用仅有包标签的方式,在 16,000 个包上训练一个线性实例评分器。每个包包含 20 个随机实例;每个正包中隐藏着一个“见证”实例,它的 16 个特征中有 4 个与其他实例不同。训练只使用包标签,另用 1,000 个测试包检查包预测结果,以及得分最高的实例是否为见证实例:

import torch

torch.manual_seed(0)
n = 17000  # 16,000 training bags and 1,000 test bags, each holding 20 instances with 16 features
bags, labels, witness = torch.randn(n, 20, 16), torch.randint(0, 2, (n,)).float(), torch.randint(0, 20, (n,))
bags[torch.arange(n), witness, :4] += 2.0 * labels[:, None]  # a positive bag hides one shifted "witness" instance

scorer = torch.nn.Linear(16, 1)  # gives every instance a score
optimizer = torch.optim.Adam(scorer.parameters(), lr=1e-2)
for i in range(0, 16000, 32):  # train on 32 bags per step, using bag labels only
    bag_logits = scorer(bags[i : i + 32]).squeeze(-1).max(dim=1).values  # max pooling: a bag scores as its top instance
    loss = torch.nn.functional.binary_cross_entropy_with_logits(bag_logits, labels[i : i + 32])
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

with torch.no_grad():
    scores = scorer(bags[16000:]).squeeze(-1)  # one score per test instance
positive = labels[16000:].bool()
bag_accuracy = ((scores.max(dim=1).values > 0) == positive).float().mean()
located = (scores.argmax(dim=1) == witness[16000:])[positive].float().mean()
print(f"Bag accuracy: {bag_accuracy:.3f}, witness ranked first in {located:.3f} of positive bags")

模型对 0.917 的测试包分类正确,并在 0.960 的正包中将见证实例排在首位,尽管训练中从未使用过任何实例标签。正是这种实例排序能力,让 MIL 系统能够指出促成判断的图块或片段。

池化与基于注意力的 MIL#

最大池化依赖单个实例,因此一个噪声实例就可能改变整个包的结果。平均池化会使用所有实例,但会稀释罕见信号;它适用于集体假设,即标签取决于呈现某种特征的实例比例。Maximilian Ilse、Jakub Tomczak 和 Max Welling 于 2018 年提出了基于注意力的深度 MIL:一个小型网络为每个实例分配权重,包的表示则是实例特征的加权平均值。注意力机制 可处理任意大小的包,不受实例顺序影响,并会生成权重热力图,显示预测所依据的区域,效果类似于 显著性图。

全切片图像太大,无法端到端训练,因此许多病理流水线会先用冻结的预训练编码器,将每个图块转换为特征向量,然后仅根据切片标签训练池化网络和分类器。YOLO26 图像分类 模型可以充当这种编码器:model.embed() 会为每张输入图像返回一个池化后的特征向量,因此一批图块就能转换为实例向量包,供注意力池化头使用。

应用场景#

在医学图像分析中,MIL 无需病理学家在千兆像素切片上勾画肿瘤。Memorial Sloan Kettering 的 Gabriele Campanella 及其同事仅使用病理报告中的诊断结果,就基于 15,187 名患者的 44,732 张全切片图像训练了一个 MIL 系统;他们 2019 年的研究报告称,该系统在前列腺癌、基底细胞癌和乳腺癌淋巴结转移检测上的ROC 曲线下面积均超过 0.98。

在视频领域,Waqas Sultani、Chen Chen 和 Mubarak Shah 将每段监控视频视为由片段构成的包,用于异常检测,并发布了 UCF-Crime 数据集,其中包含 1,900 段未经剪辑、仅有视频级标签的视频;这些标签可用于训练模型,让模型为事件发生的片段给出最高异常分数。弱监督目标检测会将图像视为由候选区域组成的包,并且只标注图像中出现的类别;得分最高的区域会成为预测的边界框。在所有这些设定中,将同一张切片、同一位患者或同一段视频中的所有图块或帧放在同一个数据划分中,可以避免将近似重复的实例分散到训练集和测试集中所造成的数据泄漏。

半监督学习混合使用完全标注和未标注样本,而 MIL 中的每个包都有标签,但其中的实例都没有标签。多标签分类会为一个样本分配多个类别,这两种方法结合起来就是多实例多标签学习。当实例级标签值得投入成本时,可以使用MIL之后的主动学习,将正包中得分最高的实例送交专家标注。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来