导语


因果AI作为下一代AI技术的重要方向之一,可以将产业界的真实需求和科技理念深度结合与碰撞,产生更强的力量,让因果科学在商业社会开花结果。因果AI在营销领域带来的核心商业价值之一就是挖掘和还原用户每一次交易背后的真实需求。并且追求的是高于“观察到”的浅层交易因素背后,那些尚未被有效探索的巨大价值。


7月2日,由零犀科技与集智俱乐部共同打造,旨在加速人工智能学界和产业界在因果科学领域融合探索的“因果派”论坛成功召开。清华大学计算机系长聘副教授、博士生导师崔鹏教授则是从另一个视角来看待因果。他更加注重于将因果应用到预测和决策场景时如何解决相关领域的痛点问题。由此提出了稳定学习的概念,希望能够解决机器学习的稳定性、解释性和公平性的问题。


特别是针对推荐系统出现的分布外泛化(Out-Of-Distribution, OOD)方面的问题,崔鹏教授分享了一些利用对于因果的理解去解决的方法。

丁善一 作者

邓一雪 | 编辑


 



1. 从I.I.D到OOD的范式转移




图1 AI算法的局限性

首先,人工智能非常依赖于独立同分布假设(Independent and Identically Distributed, I.I.D),这是它存在局限性的主要原因。该假设要求训练模型时的数据分布和测试模型时的数据分布是同一个,这样才能保证机器学习的模型的性能。但是在真实开放的世界中产生的数据和训练数据的分布是不同的。这给机器学习模型的真正落地带来非常大的挑战。

图2 推荐系统中的分布迁移

1.1 推荐系统中的OOD问题


在推荐系统中也存在同样的问题,主要分为两类。

第一类是自然迁移(Natural Shift),是自然的分布迁移,体现在时间、空间和人群的维度。比如基于某个城市训练出来的一个模型,在推广到其他城市时,推荐算法并不一定还能像训练数据分布下那么优秀。

第二类是人工迁移(Artificial Shift),推荐系统是一个典型的马太效应自增强的系统,基于观测数据训练模型,然后依据模型进行推荐,用户在推荐机制下产生一些交互后,又生成了新的观测数据。

考虑这样一个例子,假如某个推荐系统的模型一开始大部分观测数据是热门商品,那这个模型训练出来后就会慢慢聚焦到这些热门商品上。但是在一个真实的推荐场景下,用户和信息永远都是呈现长尾分布形式的。内化的一致性偏差和真实数据之间会产生非常大的差异,这个差异就会使得推荐系统对于不太热门的产品和不太活跃的用户越来越不友好。这就是一种典型的人工迁移。

不仅仅是上述偏差,从推荐系统的研究角度来看,还存在着大量人们所不知道的偏差,为了解决这个问题就需要一般性偏差校正(General Debias)。传统的机器学习做了I.I.D假设,从而测试数据集已知。但是在真实的场景下需要解决的恰好就是分布外泛化(Out-Of-Distribution, OOD)的问题。

解决OOD问题时有两个核心思路:

一种方式是OOD自适应(OOD Adaptation),主要针对测试分布已知(或部分已知)的情况,这里我们暂不讨论。

另一种方式是OOD泛化(OOD Generalization),主要针对个分支测试分布是未知的,并且绝大部分情况下和训练分布不同,这个也是我们接下来讨论的重点。

1.2 OOD泛化与传统机器学习泛化的区别


OOD泛化(OOD Generalization)和传统机器学习的泛化存在差别。OOD泛化更多的是外插问题,而传统机器学习的算法更多的是研究内插问题。如何理解内插和外插的区别呢?

用技术上的语言来描述就是,用回归方程预测样本数据范围以外的数值称为外插法,而内插法则是在样本数据的范围内预测。我们举个例子,有一个男生和女孩说,你昨天没有男朋友,今天你有一个男朋友。这是发生的事实,如果我们做内插,就相当于昨天晚上你大概有0.8个男朋友;如果我们做外插,那就是在本月底的时候你大概要有 30个男朋友,这就是一个非常有风险的做法。

今天的数据采集能力已经很强,但当真正落地时,会发现还是没有办法去覆盖所有的可能情况。如果想要解决真实世界的问题,就一定还要有外插的能力,而这恰好是今天的机器学习所不具备。外插非常有挑战性,并且风险极大,它需要一个非常强的前提条件。

图3 不变性

外插的基础是不变性(Invariance)。中国哲学有一句话叫做以不变应万变,这就是在做外插。

如何找不变性呢?可以理解成物理学也是在找不变性。比如,牛顿看到一个苹果掉下来,测一下掉落的系数是多少。我们发现了一个定律,那继续再去测试一个铁球,再去测试一朵棉花,等等。从所有的这些观测里边,我们总结下来的一个形如G的系数,以及引力定律。推而广之,我们就认为这是一个具有不变性的定律,所以我们才能用这样的一个定律去解释万物的重力效应。

图4 数据拟合和寻找不变性

在I.I.D假设下,唯一要做的就是数据拟合(Data Fitting),只需要规避过拟合(Overfitting)和欠拟合(Underfitting)。而在OOD场景下,就是要找不变性(Finding Invariance),在找到不变性后,用不变性做预测。

我们的团队在两条技术路径都做了相应的探索,围绕因果推理技术和从异质性中找到不变机制。




2. 不变性的技术探索之路




2.1 因果推理与不变性的等价关系


第一条技术路径是因果推理(Causal Inference)。之前有研究可以证明,因果关系(Causality)和不变性(Invariance)之间存在着一定的等价关系。

图5 数据分布分解

如何把因果关系具有不变性属性的结构集成到机器学习框架里面去,是我们要解决的一个问题。

我们以推荐系统的场景来看,在推荐系统数据的分布无外乎就是商品(Item)的分布,用户(User)的分布以及他们之间的联合分布。

推荐系统的数据分布可进行分解。就比如,给定一个用户,给定一个商品。观察这个用户会不会买这个商品,这样的一个目标分布。对这个分布进行分解后发现,如果想要保证它不变,有两种办法。一种是根据观测用户以前购买过的商品,然后根据所给的用户将其商品的分布推出。另一个则是根据这个用户以前不喜欢的商品,推出一个该用户不喜欢商品的属性分布。可以理解为,你喜欢的东西跟你厌恶的东西的分布存在一定的依赖关系。这就是不变性偏好(Invariance Preference)

图6 用户和商品的因果结构

如何去找到这个东西呢?或者说,如何去发现用户属性和他喜欢的商品属性之间存在的一种因果结构。如图5所示,该因果结构中用户和商品都有很多属性。但假设对于这个因果图有一定的结构要求。首先人的属性之间没有因果结构。而产品的属性之间可能有一些因果结构,比如,某件商品很贵,所以它可能用的原料质量高。更关键的是,我们要求这个因果连接是从用户属性指向商品属性。也就是说,是因为用户的某一些属性导致了他喜欢的东西都具备一些什么样的属性。这个就是对于推荐系统中的因果图的刻画。

这样,我们根据上文提出的基于因果偏好的推荐框架——CausPref,从观察数据可用的正反馈中联合学习具有因果结构的不变性偏好,再用发现的不变性偏好继续做预测。

具体的算法和机制可以参考这篇文章:《CausPref: Causal Preference Learning for Out-of-Distribution Recommendation》

2.2 异质性中的不变机制


图7 八卦图

第二条技术路径则是从八卦图的角度来看。变化和不变是共生的。所以如果我们知道数据中存在什么样的变化,就能从变化中发现什么机制没有变。

研究发现数据中的异质性就是在揭示一种变异,没有变异不会产生数据的异质性。

图8 根据原数据分布训练

在I.I.D假设下,根据原数据的分布进行训练、优化,从优化效果来看,多数情况的部分损失很小,而少数情况的部分损失很大。但是如果在OOD的场景下,很难判断该方式的合理性,因为可能原来的少数情况就会变成多数情况,原来的多数情况可能变成少数情况。

因为不能确定测试数据分布的情况,所以不变性要求任何一个样本都不被落下。从而,当存在异质性分布时,首先要识别其中的异质性成分,进一步从异质性成分中找到不变的机制。

图9 推荐的分布外泛化

另外,人的偏好有可能变化。比如,你夏天爱吃冰淇淋,到了冬天的时候,你爱喝茶。数据分布有可能会受到混杂因素(Confounder)的影响,我们要识别出这样的变化,并且在这种变化下找到他的核心的偏好。而用户真正产生的行为,其实有可能是因为他最本质的核心偏好和一些环境因素共同导致的。

类似的,从推荐系统的角度,我们可以把一些缺失的混淆因子具象成为环境变量,但这些变量我们观测不到,但希望能从数据中去发现它的存在。

图10 因果表征框架

如上图所示,从推荐系统的框架上来看,左侧就是不变性的用户表征以及不变性的商品表征,右侧这一步,就是跟环境有关系的用户和商品表征,其中蓝色的就是上面提到的缺失的混淆因子,这里表示为环境变量。以上的这些表征共同生成了用户的核心偏好(M)和偏好变化(A),而M和A共同决定了观测到的用户行为(Y)。

在这里最关键的问题就是环境怎么划分?有研究提出不变性学习和不变性预测两个方法,在我们看来这两个方法都是异质性相关的。其中有一个方法认为异质性是给定的,比如,狗的识别,根据提前划分好的不同环境下的狗,去学习跨给定环境的不变表征或者预测。这可能是一个比较好的研究路径,但如果从解决实际问题的角度来说,其实非常困难。比如,面对众多读者,我们可以靠性别、年龄、身高、长相划分。但是在给定数据后,这个所谓的环境划分是高度不确定的,甚至可能如何划分环境这件事就决定了最后能发现什么内容。

所以我们更希望从数据的层面来进行分析,如何能够自动地发现数据中存在的有价值、有意义的异构结构?比如有这样一群人,影响他们产生某一种行为的变量遵从于某一种标记函数,那我们就可以用不同的标记函数对数据进行一定划分。然后在这些不同的标记函数中去找到真正不变的函数。

以上内容可以总结为两个模块,一个模块是如何进行环境划分,另一个是跨环境找到不变性,而整套方法就可以形容为两个模块迭代优化、循环往复的过程。

大家如果感兴趣的话,可以参考这篇文章:《Invariant Preference Learning for General Debiasing in Recommendation》




3. 结论




以上讨论的两个推荐系统的工作还是沿袭了稳定学习的方法路径,最终的目标是希望解决分布外泛化问题。分布外泛化的本质就是要找不变性,为此我们探索了两条路径,一个是拥抱因果关系,另外一个是拥抱异质性。而这两个恰好是现在机器学习或人工智能中人们关注的比较少的特性。(关于stable Learning,集智俱乐部也为这个内容做过系统的梳理,大家可以参考这篇文章:崔鹏团队:万字长文梳理「稳定学习」全景图

总结:

第一次因果派论坛已经圆满地画上了句号,但是我们因果AI的探索征程远没有结束。因果革命已经到来,通过三位老师的分享,让我们对因果AI有了更为清晰的认识。随着社会的发展,对因果AI的实践应用提出了更高的要求,在未来的探索道路上,希望我们能利用因果从根本上去理解和钻研,一起攻克因果AI中所出现的问题,进而有所突破,提供更多的个性化服务。


推荐阅读



点击“阅读原文”,了解因果派论坛