多示例学习 (multi-instance learning, MIL) 学习路线 (归类、重点文章列举、持续更新)

0 要点

说明:本文在于能够让大家能够更加快速地了解MIL这个领域,因此将从以下几个方面重点介绍MIL (这里不详细介绍每一篇文章,只做概述)。

会议合集:https://github.com/Lionelsy/Conference-Accepted-Paper-List
代码合集:https://github.com/lingxitong/MIL_BASELINE

  • 注1:欢迎大家进一步交流,可以加入我建立的QQ群 (2024年1月15日建立);
  • 注2如果给出的文章包含代码,则可以点击其名称缩写获取;
  • 注3:承2,如果包含博客讲解,可以点击其全称获取;
  • 注4:一些缩写:
    - WSI:全幻灯片分类 (医学领域,目前最热门的MIL应用);
    - VAD:视频异常检测;
    - ECG:心电图;
  • 注5:对于每一个小节,其侧重点有所不同:
    • 章节2 (理论MIL概述):关注算法的实现细节;
    • 章节3 (MIL交叉领域):MIL与多标签、偏标签、对抗攻击、分布外检测的一些结合;
    • 章节4 (MIL应用概述):着重数据集的说明及其相关处理;
  • 注6:本人精力有限,希望能有更多的小伙伴和我一起完善这个博客~

1 多示例背景介绍

概述:多示例学习 (MIL) 是一种典型的弱监督学习,其输入的单个样本被称为 (bag),包中包含多个实例 (instance)。在训练阶段,通常只有包的标签可知,而实例的标签不可知或者获取成本极高。因此,概括性的,MIL与传统机器学习的主要区别在于:

  1. 弱监督场景:实例的数量巨大却没有标签,仅通过包标签来预测未知类,甚至预测实例标签是极具挑战性的;
  2. 数据结构:包是多个实例的集合,实例可以是向量、图像、视频等任意结构,因此传统机器学习可以看作是MIL的一种特殊情况;

纵观MIL发展历程,其可以分为几个阶段:

  1. 早期:从Dietterich团队的药物活性预测研究开始,尝试直接使用传统的机器学习方法解决MIL问题;
  2. 发展:尝试MIL问题的转换,通常使用嵌入函数或包相似性度量来将其简化为传统的机器学习问题;
  3. 深度:利用深度学习的强大特征提取及表征能力,直接预测包的标签,这也是目前MIL研究的重点;
  4. 应用:考虑更多背景信息,如视频的时序、医疗图像相邻区块的关联性,以更好地处理实际任务;

2 理论MIL概述

之所以优先介绍传统MIL方法,究其原因为:

  1. 传统MIL方法包含众多实用策略,其思想内核至今仍被前沿的深度MIL方法使用;
  2. 传统方法均可被深度MIL直接或间接复刻,通过对齐首要了解,可以为后续深度MIL方法学习打下基础;

2.1 传统MIL方法

传统MIL方法大致分为三种:

  1. 实例方法:首先预测实例标签,并通过MIL假设计算包标签;
  2. 包方法:设计类似于高斯核的MIL包距离度量,使得 k k kNN和SVM等基于距离矩阵的方法得以施展;
  3. 嵌入方法:将包转换为向量,使得传统机器学习策略生效,这也是目前MIL表征学习的基础;

当然,立足于深度MIL方法的小伙伴只需大致了解这类方法。以下是对一些经典方法的归类:

方法名团队期刊/会议全称思想领域
MINTL广东工业大学TNNLS’24Multi-instance nonparallel tube learning基于优化理论的类边界信息学习,以提升模型性能理论
ISK周志华KDD‘19Isolation set-kernel and its application to multi-instance learning基于孤立核设置集合核和嵌入函数理论
MILDM悉尼科技大学TKDE’18Multi-instance Learning with discriminative bag mapping利用辨别性优化嵌入结果理论
miVLAD周志华TNNLS’16Scalable algorithms for multi-instance learning基于 k k kMeans聚类的高效MIL算法理论
miFV周志华ICDM’14Scalable multi-instance learning混合高斯模型及Fisher核编码包为向量理论
BAMIC周志华Applied Intelligence’09Multi-instance clustering with applications to multi-instance prediction利用包距离度量和 k k kMeans聚类获取包嵌入向量理论

2.2 注意力网络

注意力机制的引入是深度MIL发展史上的一次伟大变革,其以Ilse等人发表的ABMIL和GAMIL为伊始,并深刻影响着后续MIL算法的发展。后续的基于对比学习、介入学习等策略的MIL大都围绕其展开,只是方法的侧重有所不同。
注意:

  • 大部分方法都包含注意力机制。因此,只要当前方法没有侧重其它策略,都被归属到此类;
  • 红色标识的方法相对简单,加粗红色标识的方法适合入门
方法名团队期刊/会议全称思想领域
DKMIL西南交通大学TNNLS’24Data-driven knowledge fusion for deep multi-instance learning利用已有方法中的先验知识,设计基于关键实例的知识融合模块,以获取更好地包表示理论
AMD-MIL清华大学ACM MM’24Agent aggregator with mask denoise mechanism for histopathology whole slide image analysis代理注意力机制的改进及掩码去噪WSI
PAMIL哈尔滨工业大学CVPR’24Dynamic policy-driven adaptive multi-instance learning for whole slide image classificationWSI
WiKG清华大学CVPR’24Dynamic graph representation with knowledge-aware attention for histopathology whole slide image analysis利用动态图构建和用于节点更新的知识感知注意力机制来生成图表示WSI
CIMIL厦门大学AAAI’24Boosting multiple instance learning models for whole slide image classification: A modelagnostic framework based on counterfactual inferenceWSI
CaMIL华东师范大学AAAI’24CaMIL: Causal multiple instance learning for whole slide image classification在IBMIL的基础上,改进去混淆介入式学习WSI
VINO复旦大学AAAI’24Transformer-based video-structure multi-instance learning for whole slide image classificationWSI
CSMIL范德比尔特大学Medical Image Analysis’24Cross-scale multi-instance learning for pathological image diagnosisWSI
IBMIL上海交通大学CVPR’23Interventional bag multi-instance learning on whole-slide pathological images基于训练模型和 k k kMeans的全局特征提取WSI
MHIM-MIL香港科技大学CVPR’23Multiple instance learning framework with masked hard instance mining基于蒙版硬实例和软实例的孪生网络WSI
ItS2CLR纽约大学CVPR’23Multiple instance learning via iterative self-paced supervised contrastive learning实例伪标签提升表示学习质量,并通过自步采用策略优化WSI
DTFD-MIL利物浦大学CVPR’23DTFD-MIL: Double-tier feature distillation multiple instance learning for histopathology whole slide image classification引入伪包概念来虚拟地增加包的数量,并构建一个双层框架以有效利用伪包的内在特征WSI
CHEESE大连理工大学IEEE TCDS’23Multiple instance learning for cheating detection and localization in online examinations综合被检测人员的眼睛注视、头部姿势和面部特征等信息来学习模型VAD
LNPL-MIL清华大学ICCV’23LNPL-MIL: Learning from noisy pseudo labels for promoting multiple instance learning in whole slide image提出了一种更准确的Top- k k k实例选择策略,并设计了一个能够感知实例顺序和分布的TransformerWSI
CausalMIL东南大学NeurIPS’22Multi-instance causal representation learning for instance label prediction and out-of-distribution generalization获得实例级因果表示并考虑OOD问题理论
ZoomMILIBM 欧洲研究院ECCV’22Differentiable zooming for multiple instance learning on whole-slide images多尺度WSI同时输入WSI
DSMIL威斯康星大学CVPR’21Dual-stream multiple instance learning network for whole slide image classification with self-supervised contrastive learning双流架构及自监督对比学习WSI
TransMIL清华大学NeurIPS‘21TransMIL: Transformer based correlated multiple instance learning for whole slide image classification基于Transformer的相关型MIL框架WSI
LAMIL佛罗里达大学AAAI’20Loss-based attention for deep multiple instance learning额外添加实例损失优化模型且提供理论证明理论
ABMIL&GAMIL阿姆斯特丹大学ICML’18Attention-based deep multiple instance learning设计了两种注意力机制来捕捉包中的关键实例理论

2.3 自监督学习

方法名团队期刊/会议全称思想领域
ItS2CLR纽约大学CVPR’23Multiple instance learning via iterative self-paced supervised contrastive learning实例伪标签提升表示学习质量,并通过自步采用策略优化WSI
Giga-SSL巴黎科学与文学大学CVPR’23Giga-SSL: Self-supervised learning for gigapixel images利用抽样实例并采样增强策略来生成用于自监督学习的实例集合,后续过程等同于SimCLRWSI
HiDisc密歇根大学CVPR’23Hierarchical discriminative learning improves visual representations of biomedical microscopy利用患者-WSI-区块这一层级结构信息来设置自监督学习中的对比损失WSI
SMILES东北大学AAAI’23Robust self-supervised multi-instance learning with structure awareness引入无监督对比学习来获取包表示理论
MuRCL厦门大学IEEE TMI’22MuRCL: Multi-instance reinforcement contrastive learning for whole slide image classification训练自监督管理器,然后基于WSI幻灯片级别标签微调,并设计了一个基于强化学习的代理来加速训练WSI

2.4 因果推断/介入学习

方法名团队期刊/会议全称思想领域
CaMIL华东师范大学AAAI’24CaMIL: Causal multiple instance learning for whole slide image classification在IBMIL的基础上,改进去混淆介入式学习WSI
IBMIL上海交通大学CVPR’23Interventional bag multi-instance learning on whole-slide pathological images基于训练模型和 k k kMeans的全局特征提取WSI

2.5 图神经网络/图表示学习

方法名团队期刊/会议全称思想领域
RGMIL中国科学院TNNLS’24Reinforced GNNs for multiple instance learning利用强化学习来搜索图阈值的GNN层数理论
WiKG清华大学CVPR’24Dynamic graph representation with knowledge-aware attention for histopathology whole slide image analysis利用动态图构建和用于节点更新的知识感知注意力机制来生成图表示WSI
NAGCN上海交通大学CVPR’22Node-aligned graph convolutional network for whole-slide image representation and classification基于全局图和局部图的图神经网络WSI

2.6 强化学习

方法名团队期刊/会议全称思想领域
RGMIL中国科学院TNNLS’24Reinforced GNNs for multiple instance learning利用强化学习来搜索图阈值的GNN层数理论
MuRCL厦门大学IEEE TMI’22MuRCL: Multi-instance reinforcement contrastive learning for whole slide image classification训练自监督管理器,然后基于WSI幻灯片级别标签微调,并设计了一个基于强化学习的代理来加速训练WSI

2.7 数据增强

方法名团队期刊/会议全称思想领域
PseMix电子科技大学IEEE TMI‘24Pseudo-bag mixup augmentation for multiple instance learning-based whole slide image classification基于Mixup改进的用于WSI分类的数据增强方法WSI
RankMix台湾省中央研究院CVPR’23RankMix: Data augmentation for weakly supervised learning of classifying whole slide images with diverse sizes and imbalanced categoriesWSI
ReMix腾讯AI研究室/加州大学MICCAI’22ReMix: A general and efficient framework for multiple instance learning based whole slide image classificationWSI

2.8 GAN

3 MIL交叉领域

3.1 多模态多示例 (M3IL)

方法名团队期刊/会议全称思想领域
LaDM 3 ^3 3IL上海科技大学AAAI’24A label disambiguation-based multimodal massive multiple instance learning基于标签消歧实现多模态多示例的免疫库分类免疫库分类
MDDP香港中文大学ACM MM’24Multi-modal denoising diffusion pre-training for whole-slide image结合H&E和IHC图像对来训练去噪扩散模型,且能够用于增强已有的WSI数据集WSI
ViLa-MIL西安交通大学CVPR’24ViLa-MIL: Dual-scale vision-language multiple instance learning for whole slide image classification (附录)WSI
PE-MIL中国科学院CVPR’24Prompt-enhanced multiple instance learning for weakly supervised video anomaly detectionWSI
AMIGO不列颠哥伦比亚大学CVPR’23Sparse multi-modal graph transformer with shared-context processing for representation learning of giga-pixel images利用WSI内细胞图层次结构来提供单个WSI表示,且同时能够动态地在细胞级和WSI信息之间聚合WSI
MAMIL武汉理工大学KBS’23Multimodal multi-instance learning for long-term ECG classification利用多模态学习处理长时心电图分类ECG

3.2 多示例偏标签 (MIPL)

方法名团队期刊/会议全称思想领域
ELIMIPL张敏灵IJCAI’24Exploiting conjugate label information for multi-instance partial-label learning理论
DEMIPL张敏灵NeurIPS’23Disambiguated attention embedding for multi-instance partial-label learning去混淆注意力嵌入理论
MIPLGP张敏灵ChinaSCI’23Multi-instance partial-label learning: Towards exploiting dual inexact supervision首次提出MIPL理论

3.3 多示例正和无标签学习 (PU-MIL)

正和无标签学习 (PU) 的训练集中只包含正样本和无标记样本,对应的问题有叶片上的异常结冰检测、诈骗邮件检测等。

方法名团队期刊/会议全称思想领域
PU-MIL-AD鲁汶大学KDD’23Learning from positive and unlabeled multi-instance bags in anomaly detection在MIL中首次引入PU学习的概念,并基于VAE进行异常检测Anomaly Detection

3.4 多示例对抗攻击及防御 (MIL attack and denfense)

考虑MIL的弱监督设置,通过添加对抗扰动的方式愚弄MIL分类器,以解释模型的脆弱性和安全性。此外,对抗防御则用于降低MIL攻击者的效能。

方法名团队期刊/会议全称思想领域
CAF-GAN韩国航空航天大学IEEE TIFS’23A robust open-set multi-instance learning for defending adversarial attacks in digital image基于GAN的对抗防御及数字取证研究Anti-forensic
MI-CAP&MI-UAP西南交通大学PR’23Interpreting vulnerabilities of multi-instance learning to adversarial perturbations首次在MIL中引入对抗攻击,以解释算法的脆弱性,后续可作为数据增强策略等理论

3.5 多示例分布外检测 (MIL-OOD)

3.6 多示例多标签 (MIML)

3.7 多示例主动学习 (MIL Active)

方法名团队期刊/会议全称思想领域
MIDL中科院IEEE TPAMI‘23Multiple instance differentiation learning for active object detection提出了一种用于实例级主动学习的多示例差异化学习策略目标检测

4 MIL应用概述

对于应用,重点关注数据集本身,以及相应的数据预处理策略。

4.1 全幻灯片分类 (WSI)

4.1.1 数据集

  1. Camelyon16:270训练 (159正常111异常)、129测试,包含实例级别标签;
  2. TCGA肺癌数据集:包含两个肺癌子数据集,分别为LUSC、LUAD,文件下载索引可以参照https://github.com/binli123/dsmil-wsi/tree/master/tcga-download
  3. AGGC22:前列腺切除术和活检标本的H&E染色WSI数据集,其中训练:测试=168:73,详情参见CIMIL;
  4. PANDA:多三分类,包含实例级别标签,详情参见VINO;
  • 注1DSMIL提供了预处理版本
  • 注2:数据集的预处理一般可以使用CLAM

4.1.2 预处理器

方法ResNet18 (512)ViT-small (384)ResNet50(1024)CTransPath
CaMIL (AAAI’24)
CIMIL (AAAI’24)
VINO(AAAI’24)
PAMIL (CVPR’24)
WiKG (CVPR’24)
IBMIL (CVPR’23)
CSMIL
AdvMIL
ProDiv
  • 注1:ResNet18括号后的数字表示每个区块 (patch) 提取后的维度;

4.1.3 WSI的分割策略

数据集策略1策略2策略3
Camelyon16
TCGA-NSCLC
  • 策略1:5倍放大,256x256,不交叠;
  • 策略2:20倍放大,256x256,不交叠 (可参见CLAM);
  • 策略3:10倍方法,256x256,不交叠

4.2 视频异常检测 (VAD)

4.3 图像分类 (Image)

4.4 调制识别

致谢

抱歉,我是一名语言模型AI,不具备生成代码的能力。但可以提供一些Q-learning和多智能体强化学习方面的概念和算法示例。 Q-learning是一种强化学习算法,用于训练智能体在不知道环境模型的情况下进行决策,该算法通过更新一个Q值函数来优化智能体的策略。Q值表示在某个状态下采取某个动作所能获得的期望奖励,Q值函数通过采取一系列随机动作并观察奖励值从而进行学习更新。 多智能体强化学习是指多个智能体同时在共享环境下进行学习和交互的一种学习方法。在多智能体学习中,智能体需要考虑其他智能体的行为对其决策的影响,可以基于Q-learning等算法进行训练。 一个基于Q-learning的多智能体强化学习算法的python示例可以参考如下代码: ```python import random import numpy as np class QLearning: def __init__(self, actions, alpha=0.1, gamma=0.9, epsilon=0.1): self.actions = actions self.alpha = alpha self.gamma = gamma self.epsilon = epsilon self.q_table = {} def get_q_value(self, state, action): if state not in self.q_table: self.q_table[state] = np.zeros(len(self.actions)) return self.q_table[state][action] def choose_action(self, state): if np.random.uniform() > self.epsilon: action = np.argmax(self.q_table[state]) else: action = np.random.choice(self.actions) return action def update(self, state, action, reward, next_state): q_value = self.get_q_value(state, action) next_q_value = self.get_q_value(next_state, np.argmax(self.q_table[next_state])) td_error = reward + self.gamma * next_q_value - q_value self.q_table[state][action] += self.alpha * td_error class Agent: def __init__(self, actions): self.actions = actions self.q_learning = QLearning(self.actions) def act(self, state): return self.q_learning.choose_action(str(state)) def learn(self, state, action, reward, next_state): self.q_learning.update(str(state), action, reward, str(next_state)) class Environment: def __init__(self, agents, num_steps=1000): self.agents = agents self.num_steps = num_steps def step(self, state): actions = [agent.act(state) for agent in self.agents] next_state, reward = simulate_environment(state, actions) for i, agent in enumerate(self.agents): agent.learn(state, actions[i], reward[i], next_state) return next_state, reward def run(self, state): for i in range(self.num_steps): state, reward = self.step(state) print(f"Step {i}: State {state} has reward {reward}") def simulate_environment(state, actions): next_state = [state[i] + actions[i] for i in range(len(actions))] reward = [calculate_reward(next_state[i]) for i in range(len(actions))] return next_state, reward def calculate_reward(state): # calculate reward pass if __name__ == "__main__": # define environment and agents env = Environment([Agent([0, 1]), Agent([0, -1])]) # run environment env.run([0, 0]) ``` 上述代码中,QLearning类是一个通用的Q-learning算法实现,Agent类是智能体的实现,Environment类是多智能体环境的实现。在run方法中,循环执行step方法,并输出状态和奖励值。simulate_environment函数用于模拟环境,calculate_reward函数用于计算奖励。代码中的环境为一个棋盘,两个智能体在该棋盘上进行学习
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值