---
# System prepended metadata

title: 讨论 2021-06-24
tags: [Fudan, '2021', tutorials]

---

讨论 2021-06-24
=
###### tags: `tutorials` `Fudan` `2021`

## Multi-Instance Learning

![](https://i.imgur.com/9nnZOKE.png =300x)

MIL研究的问题是当标注信息是针对整体的，而我们知道这个整体的标签是由某些更小的标签（Instance-level）组合而成的。这时通过整体求组成个体标签的过程就成为MIL。其实MIL和解线性方程组挺像的，只不过我们不知道组合系数，并且允许取最大值等操作。

首先，我们把整体成为 bag，我们能获得的标签都是针对bag的，而bag里有若干个instance，我们需要通过bag的标签以及假设的bag和instance之间的关系来推理出instance的标签。从而完成下游任务。

## 简单情况

只考虑正负两类，并且假设bag的标签为正当且仅当至少有一个instance标签为正，而bag标签为负当且仅当所有instance标签为负。这也是经典的MIL假设，可以通过最大值操作来建模。

至少存在一个正标签等价于标签最大值为正（设正标签大于负标签）。所以存在性问题很容易对应成取最大值。类似的，计数问题可以转化为1范数或2范数。

所以，其实MIL的通用解决方法很直接，假如bag为$B=\{s_1,s_2,\cdots,s_n\}$,由n个instance组成，我们有一个可学习的网络$f$

$$\hat{Y}_B = \max_i f(s_i)$$
我们对bag的预测就可以转为对每个instance分类并取最大值。

## Non i.i.d. 
上述模型认为一个bag的instance是相互独立的，但通常不是，所以需要考虑同一个bag中不同instance之间的关系，有多建模关系的方式，不过最近的工作通常直接用self-attention解决。
两种方式
$$\hat{Y}_B = \max_i f(s_i;s_{-i})$$

$$\hat{Y}_B = \mathrm{Att} (f(s_1), \cdots, f(s_n))$$

## 线性组合
另一思路则是把问题拓展，不局限于存在性问题，比如一个
bag有A类instance至少3个，B类1个，标签才为正，或者bag有4-6个正类instance才为正。这类问题其实用途不是很多，因为很难指导如此具体的约束，大致的解法就是先把原问题转为多个存在性问题，再用MIL求解。对这类问题的研究相对较少。


## 实例

https://www.aclweb.org/anthology/Q18-1002.pdf
![](https://i.imgur.com/Cg4L6HT.png)

https://www.aclweb.org/anthology/2020.emnlp-main.287.pdf
![](https://i.imgur.com/vTxRO63.png)


https://arxiv.org/pdf/2106.10855.pdf
![](https://i.imgur.com/R1lVHXP.png)
