©PaperWeekly 原创 · 作者 | 张一帆
学校 | 中科院自动化所博士生
研究方向 | 计算机视觉
Background
预测行动间的因果关系是一个非常重要的研究课题。例如,医生判断哪种药物会对病人产生更好的效果。在这种任务中,我们的可观测数据有过去采取的行动(吃了哪些药),它们的结果(病情),可能还有更多的协变量 covariate information(病人信息),但我们不知道行为与结果之间的因果关系。一种简单的估计方法是基于干预,即保证两次实验环境完全一致,只改变 (是否用药),然后将得到的结果求差即用药的收益。
但是, 不是那么容易的,根据观测数据我们只能得到条件分布 。考虑下面得例子。设 为睡觉时是否穿袜子, 为是否喝醉。
显然 有很强得相关性,但是我们知道二者并不具有因果关系, 之间还存在一些混杂因子(confounder)(sober or drunk)影响了我们对因果关系的判断。要正确的估计 之间的因果关系,我们必须得到将 带来的影响使用 ATE 公式消除。
那么我们就得到了如下的因果关系估计公式:
如果协变量包含所有混杂变量(即 treatment 和 outcome 的共因),那么因果效应称为可确定的(identified)。因此大多数 paper 都会假设没有不可观测的混杂因子。
在日常生活中,对于每个个体,我们大概率只能看到他们对其中一个可能的行动的反应,即 或者 只有一个可以观测,我们将 称为 control,将 称为 treatment。这种情况下我们如何来估计特定行为对个体在因果上的影响?这就是所谓的 individual treatment effect(ITE),公式化的描述有助于我们更好的理解这个问题。
给定数据空间 上的分布 ,我们有一系列样本 ,其中 。如果 , 如果 。我们的目标是学习一个 representation 和一个分类器 ,这两组组件组成了一个因果估计器 ,我们希望这个估计器得到的结果和真实的因果效应尽可能相似,即 。
ITE 问题可以看作是域迁移和数据集极度不均衡的结合体。首先,如上所示每个个体只能得到其中一个 的效果,而我们要预测其在另一种 treatment 下的结果。其次,相关的数据集往往分布很不均衡,比如大多数人遇到炎症会选择吃药 ,因此 数据很少,这也是接下来的文章逐步解决的问题。
本文从第一篇以深度学习的工具研究 individual treatment effect 的文章开始,挑选了 6 篇顶会文章对该领域的发展做一介绍。这些文章主要集中在以下几个要点。
CFRNet
论文标题:
Estimating individual treatment effect: generalization bounds and algorithms
收录会议:
ICML 2017
论文链接:
https://arxiv.org/abs/1606.03976
代码链接:
https://github.com/clinicalml/cfrnet
本文第一次提出了 ITE 的概念,并使用 DA 的一套理论对其进行 bound,依次设计了一套行而有效的算法。
在背景部分我们提到了,ITE 与域自适应有着紧密的联系,本文的 bound 也是基于传统 DA 的那一套 VC dim 的理论,这里直接给出结果。
可以理解为 ITE 的整体性能被两项所 bound,第一项是在训练数据上的 empirical loss,第二项可以理解为 source 和 target 训练得到表示的差异,该差异越小,说明模型对 treatment 不敏感,更有可能抓住 之间的因果关系。
在这个理论基础上,作者设计了如下的框架,输入 ,我们先抽取的特征,然后根据 的不同训练不同的分类器,最小化两个分类器 empirical loss 的同时,减少 representation 分布之间的差异。
本文解决数据集不平衡的方法很简单,即给 empirical loss 前根据样本数目加上一项权重。
Dragonnet
论文标题:
Adapting Neural Networks for the Estimation of Treatment Effects
收录会议:
NeurIPS 2019
论文链接:
https://arxiv.org/abs/1906.02120
代码链接:
https://github.com/claudiashi57/dragonnet
这篇文章的核心思想是这样的:我们没必要使用所有的协方差变量 进行 adjustment。
中有一部分变量只与 outcome 相关,和 treatment 无关,这些部分与因果关系的估计无关,是进行 adjustment 的噪声,因此我们应该抛弃这部分变量。就像 DA 或者 DG 一样,我们需要找到域不变的特征这样才能有好的泛化性能。但是背景之类的特征往往有助于模型在当前分布下提升辨别能力。同样的,这里丢弃一部分协方差变量也会带来预测精度和鲁棒性的 tradeoff。
本文的模型结构和优化算法是这样设计的:
1. 首先,一个三头的网络,和上一篇文章一样,一个 encoder 提取特征,然后给两个 branch 基于 treatment 和协变量预测 outcome。
2. 不同的是,这里训练一个分类器 ,这样做的目的是。利用神经网络的特点,被分类器利用。即 激活的特征更有可能是与 相关的协变量。
3. 为了更好的鲁棒性,在下游任务中估计因果关系时只使用 挑选出来的协变量。
所以总的 loss 也不难理解了,一个回归损失加上一个分类损失。
CATE
论文标题:
Meta-learners for Estimating Heterogeneous Treatment Effects using Machine Learning
收录会议:
PNAS 2019
论文链接:
https://arxiv.org/abs/1706.03461
本文提出了一种新的框架 X-learner,当各个 treatment 组的数据非常不均衡的时候,这种框架非常有效。
回忆一下我们的核心任务是估计如下两个概率:
已有的算法主要分为两类:
T-learner:即上述文章使用的模式,使用两个不同的 branch 估计两种后验概率。
S-Learner:将 或者说 作为特征输入,使用同一个 branch 对二者进行估计。但是这种方法往往需要对 进行一定的变化,因为 只是一个标量,我们将他放入高维的特征中,影响微乎其微。
核心思想如下:
1. 本文使用两个 branch 对两个 group 的后验概率分别进行估计,值得注意的是 的时候, 都可以作为真实的因果估计值。
2. 最后两个估计值根据一个权重 联合成为一个估计, 通常选择使得 的方差最小。最优的情况是,如果我们可以计算 那最小化它就能得到最优的 。
DRNets
论文标题:
Learning Counterfactual Representations for Estimating Individual Dose-Response Curves
收录会议:
AAAI 2020
论文链接:
https://arxiv.org/abs/1902.00981
代码链接:
https://github.com/d909b/drnet
本文提出了新的 metric,新的数据集,和训练策略,允许对任意数量的 treatment 的 outcome 进行估计。
Setting:本文考虑 treatment 有多个的场景,即 ,如果是医生-病人的场景,每个 treatment 可能对应一个用药的剂量 。训练目标是对每个 treatment 范围内的任意一个 都可以给出一个估计值,因此此时对于一个个体 ,因果效应显示为一个曲线, 为 treatment 的函数。
Metric:本文给出了衡量该场景模型效果的 metric,给定 treatment 和相应的剂量 ,模型给出一个估计值 ,那么总共的评估指标如下所示,对所有样本,所有 treatment,在其剂量范围内均方误差的积分。
除了对均值进行评估,本文还提出了对最优剂量进行评估,对每个个体每个 treatment 的每个剂量我们找效果最好的那个,和预测的最好的那个进行比较,即给每个 treatment 评估其最优剂量是否正确。
更进一步,我们在所有 treatment 中取最优,即个体层面看预测的最优 treatment 是否正确。这种做法往往是有意义的,因为在药物方面,医生也总是想选最优的 treatment,而不关注其他次优的 treatment 的预测精度。
通过考虑多个指标,我们可以确保预测模型既能恢复整个剂量反应,又能选择最佳治疗和剂量选择。
Model Architecture 从问题中我们可以看出现在有三层关系,一个个体,对应多个 treatment,每个 treatment 有很多的剂量。因此本文将以往的工作进行扩展,提出了分层的结构。
一个特征层提取协变量的特征,每个 treatment 对应一个 branch 将特征进一步处理,最后对于连续变量的问题,我们将区间分成 份,每个 branch 对应 ,所以 越大,branch 越密集,我们对连续变量的近似就越好,但是参数量也越大,二者是一个 tradeoff。为了进一步提升 对网络参数的影响,作者在 head 层每一层都会将 concatenate 进去。
Model Selection 因为在训练过程中,我们只能得到模型在一个 treatment 上的 outcome,因此不能计算上述指标来进行模型选择,作者转而求其次,选择最近邻样本。如下所示,虽然样本 没有在每个 treatment 上的结果,但是我们选其拥有该结果的最近邻作为替代近似的选择模型。
可以看到这篇文章实现的连续并不是真正的连续,而是一种近似。在下图中本文提出的模型 Drnet 的弊端可以得知,其与 GT 之间的差距还是有很大的,连续性并没有那么好。
下文是对这一情况的改进。
VCNet
论文标题:
VCNet and Functional Targeted Regularization For Learning Causal Effects of Continuous Treatments
收录会议:
ICLR 2021 Oral
论文链接:
https://arxiv.org/abs/2103.07861
代码链接:
https://github.com/lushleaf/varying-coefficient-net-with-functional-tr
本文基于 varying coefficient model,让每个 treatment 对应的 branch 成为 treatment 的函数,而不需要单独设计 branch,依次达到真正的连续性。除此之外,本文也沿用了 Adapting Neural Networks for the Estimation of Treatment Effects 一文中的思路,训练一个分类器来抽取协变量中与 最相关的那些。
所谓的 varying coefficient model 其实就是说后面的分支:
他的参数不再是固定的,而是 t 的函数,这意味着神经网络定义的非线性函数依赖于变化的 treatment 。
NCoRE
论文标题:
NCoRE: Neural Counterfactual Representation Learning for Combinations of Treatments
收录会议:
Arxiv 2021
论文链接:
https://arxiv.org/abs/2103.11175
本文考虑更复杂的情况:多种 treatment 共同作用。作为一个具体的例子,考虑治疗 HIV 患者,医生会同时开出抗逆转录病毒药物的组合,而不是只给一种药,以防止病毒逃逸。这种场景非常具有挑战性,考虑 15 种可能的 treatment,就有 种可能的组合,而大多数组合很少甚至不会出现在真实数据中。这时候如果我们沿用上述的做法,每种组合搞一个 branch,参数量太大,而且每个 branch 相应的数据可能很少,很难训练。
本文提出了一种新的网络架构,如下所示,依然维护 个 branch,如果协变量 对应的多个 treatment 分别为 ,那么这三个 branch 都会进行训练。
那么如何建模多个 treatment 之间的相互影响呢?答案就在于上图中的蓝色部分,他们纵向是有相互连接的,显然此时x会经过 三个 branch。最终所有 treatment 得到的 embedding 做均值得到最终的表达。
文章的 metric 是直观的,在所有可能组合的 treatment 上评估 outcome 的回归结果。
总结一下,现在 ITE 的发展主要集中在,主要集中在(i)放松假设,treatment 从二值变得更多,甚至连续,最后考虑 treatment 之间的相互作用。(ii)设计更简单,效果更好的网络结构,多头网络每个头只能单独训练,如何减少 branch 同时保证不同 treatment 对 branch 的影响仍然是核心问题。(iii)设计更好的正则化策略,treatment group 之间的样本数目差距很大,如何从算法的角度减小这个差距也是一个研究重点。
特别鸣谢
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·