稳定学习:发掘因果推理和机器学习的共同基础--崔鹏
性能驱动、效益优先转移到技术存在的一些风险。这样才能放心的在一些领域应用。
在医疗里面关注生命安全,司法里面关注社会公平正义,交通里面关注交通安全,工业里面关注生产安全。所以,从大的发展趋势来讲,技术会从原来的performance driven(性能驱动、效益优先)转移到risk sensitive,也即是说会更关注技术存在的一些风险;只有把这些风险全部解决了,才能放心的在这些领域因公人工智能技术。
在较多的领域做大规模的应用时,人是不可能完全相信人工智能的相关决策判断的,医疗军事金融。这些复杂任务下AI是没有办法做到高可靠性的,可能在这些复杂场景下达到70%或80%就很厉害了。在这种情况下AI落地的是任何机器能够协同,也就是人在决策的辅助当中;但在决策辅助当中是有一个基本前提的,这个前提就是人和机器之间有共同的交流语言,也即是机器的输出是人能理解的,反之亦然。
如果不能解决这个可解释性问题的话,那么人机协同就无从谈起。无法实现。
比如在医院用AI做辅助决策,医生只有两个选择要么完全信赖机器,要不不信。因为机器做判断的过程中,医生不知道机器是如何判断的,医生同样不知道这个中间如何形成一个沟通的机制,现在的算法提供不了这样的机制,这也是人工智能落地时的一个很大的痛点。
机器学习等算法的泛化性能太差;且都是假设是IID的,也即是你的training dataset和test dataset的分布是一样的;这个假设是一个很基本的假设,但却是一个很不现实的假设;如果测试数据集是另一种分布,则精度会下降很多。当然如果用对抗的方式生成一个test distribution的话,那么测试的精度可能就为0了。这是一个很大的风险,意味着你要用这个模型预测/分类的数据领域要和训练的领域较为相似;而实际应用之中你是无法直接控制testing data的产生过程的。也就是说你的testing distribution是可以任意的一个变化,从这个意义上来讲,你构造一个无人驾驶汽车的识别模块,可能在一些城市的地方训练、增加训练了一些data,做landmark的识别等。但是在实际应用中在模块上了线后,无法控制司机开着车去哪些地方,而司机索取的地方的城市的landmark是否能和你当时训练时候的landmark能match的上,或者说它的迁移是有多大,在这方面我们是无法完全控制的。控制不了也就意味着在我们今天的机器学习模型在我们刚才所说的场景下的性能是没有保障的,所以这是一个很大的stability问题。这也是我们看到的众多风险中的一个方面。
如下所示看一个狗的分类器的例子,可看到可能采样时大量的狗都是在草地上的图片,只有少量的狗是在路上或在其他的背景下。如果用这些做为样本进行训练分类器的话,那么训练好的模型预测的结果可能如图右边所示。
或者如下图所示构造一个癌症的预测模型时,采集的数据可能都是从盈利性质的医院采集来的,医院会根据不同的病人的背景情况(如身体状态,收入水平,医疗手段,确诊癌症后存活年限等),来进行区分度的用药治疗,当有了这些数据后就可以构造一个用病人的这些特征预测病人确诊癌症后的存活年限的回归模型;有了这个模型后,当你深入分析这个模型时,你会发现在所有病人特征里面有一个收入水平的特征是很重要的;这在盈利的医院里面确实是很重要的,因为有钱就能找更好地医生,用更好的医药和治疗条件等,所以平均意义上存活时间是更长的。这也是一个很简单的模式/型。
当你把上述模型应用到同样的盈利性质医院时,结果应该还是可以的。但是如果你应用到一个非盈利的医院如美国的大学中的校医院等,就会发现效果很差。原因是在大学校医院中病人接受的医生医疗水平和医疗的手段并不取决于病人能付多少钱,而取决于医学院本身的研究目的;从这一个意义上来讲,它的distribution是发生了很大的变化的,而这个变化则是模型所处理不了的。(网友:这里假设有两个模型,实际上在解决(同一个)问题的领域,这两个模型是混合使用的。在问题域这里就难以识别出一个内聚的模型;)。
现在的困境是没办法去理解当前的人工智能界,因为它不能解释。当然对于一个前沿性的技术不可能因为它的不可解释性而不能用;比如说开车,但是大部分动汽车原理的人并不多,但是并不影响他去开车。之所以敢开车是因为车比较靠谱。可信赖。
但是因为我们现在的AI不可解释且不稳定(stability),不可靠,也就是在不同的环境下它的性能performance可能会发生非常大的一个变化,所以导致我们没法信任当前的人工智能。这也是我们当前的一个困境。一方面我们没办法理解人工智能,另一方面我们又没办法信赖人工智能的技术。这就是我们看到的人工智能在投资等方面很火爆,但是真正的落到上述的大的场景中的时候,会面临一个很大的可解释性和稳定性方面的困境。
主要是关联/相关是机器学习的一个最基础的单元,而当前的关联是有很大问题的,但是关联本身并不是很可靠的一个统计的量。
首先关联本身就不可解释,
tylervigen.com
上图是某个州的结婚率和人们从渔船上掉下来的溺亡率的两个曲线,竟然从去线上看较为相关,有点能拟合的趋势。当然你可以很牵强的解释由于婚姻不幸福而跳河自杀。。。。。。
把上述的情况推而广之 ,我们可以想象在大数据的环境下面,其实任意的两个趋势性的变量都会产生关联;如上图的两个八竿子打不着的趋势性变量,就是因为他们是趋势性的变量,所以导致他们图像产生了某种关联。
比如A,B两个趋势变量的图像,在某段区间内都是趋势增或都是趋势减,那么他们都是正相关。如果一个增时另一个减则是负相关。所以我们可以看到只要是两个趋势变量,那么就一定会产生相关性。那如何解释内在没有相关关系,而只是他们本身是趋势变量的这两个变量之间的相关性呢?所以从这个意义上来讲我们可以想象,如果一个模型是有大量的不可解释的关联所构造出来的一个模型,那么我们怎么能够保证这个模型的可解释性呢?其实这种情况下是没有根据的。
所以,我们看到的大量的很多关于可解释性的模型的研究,其实有很多可以看作是在打补丁,也就是说在大量的不可解释的量里面,去找到了可解释的那一部分做了一些解释,但是fundamental其实却没办法去解决模型的可解释性问题;这是一个相关性本身导致的模型的不可解释性。
第二方面,即便是相关性本事也不是stable的,比如说下图看到的为何在不同的场景下很难判断图片中的动物是否是一只狗呢?就是因为大量的训练数据里面绝大部分的狗都是在草地上,所以草地和狗的标签是会产生一定的关联的,而这个关联在你给它换一个环境后,可能就不会有关联了。
第二方面,即便是相关性本身也不是stable的,比如说下图看到的为何在不同的场景下很难判断图片中的动物是否是一只狗呢?就是因为大量的训练数据里面绝大部分的狗都是在草地上,所以草地和狗的标签是会产生一定的关联的,而这个关联在你给它换一个环境后,可能就不会有关联了。
但从训练的角度来说,如果不出现一个草地那么图片中动物是狗的概率就不大,从这个意义上来说,相关性对于未见的环境等,并没有很强的泛化能力。当然上述例子处理草地是一个相关的特征feature外,还有一个强相关的特征是狗的五官的分布位置等,虽然这些也是强相关的特征,但它实际上比草地上的相关性更本质,也即是更有因果意义/性的特征。
换句话说为何能判断一个图片中的动物是狗,是因为有狗的鼻子、耳朵、眼睛等特征,而致使识别为狗的图像;但是如果能在所有的相关特征之中把各个区分开,从而能只依赖于狗本身的五官等自身的特征来预测/判定是否是一只狗的话,那么就可以在环境(待识别的图片背景)不断变化的情况下,依然能够有效识别。所以上面所述的可解释性的问题和稳定性问题都可以从相关性来解决。或者说稳定性和可解释性问题都是相关性所带来的。
那么从这个意义上来讲,我们可能会讨论相关性的问题,但是其实相关性本身并没有问题,而是我们从机器学习的角度上来去用相关性,用的有问题;之所以这么讲是因为相关性本身有3种产生方式,
第1种就是因果,如下图T引起了Y,那么二者之间就有相关性,比如说夏天冰激凌销量会上升,那么夏天和销量的上升肯定是有相关性的。那么这种相关性是可解释的,且是稳定的。
而第2种则是混淆的,比如X同时引发/起了T和Y,那么就会使得T和Y之间也会有一定的相关性。
再比如人年龄的增长,可能致使吸烟和体重增加的概率大。但是吸烟和体重增加之间并没有上面强相关性;是因为age这种混淆变量导致的smoke和weight increase之间产生了虚假关联。而这个虚假关联的变量之间既不稳定,同时也不是可解释的关联的方式。
第3中就是样本选择性偏差,我们之所以会观察到并产生 草地和狗之间的 强关联,是因为我们的样本选择的是有偏差的,因为我们选择了大量的狗都是在草地上,那么会使得草地和狗之间会产生一个关联,而这种关联实际上也是一种虚假关联,也即这种关联本事既不是稳定的,也不是可解释的。所以可以看到数据里面存在的关联实际上有3种产生方式。这3中产生方式里面只有因果关联式可以保证可解释且稳定性的。
但是,我们看今天的机器学习模型并没有试图去区分过不同的相关关系的产生方式,而是把数据里面所有的相关关系全部放在一起使用,而构造了一个黑盒模型,而因为在所有的correlation里面是因为有大量的混淆变量和样本选择偏差这两种所产生的相关方式,而这两种方式本身是一种不稳定性和不可解释性,直接导致了今天模型的不稳定性和不可解释性。这也是我们所认为的根源所在。
那么是否只是通过causality就能直接解决上述问题呢?
我们去度量某个变量T对变量Y是否有因果性的时候 ,我们保持除了T之外的其他变量都不变的情况下,对于T的变化,导致了Y也发生了相应的变化,那么就说T引起了Y。,
如果把上述对因果关系的定义带到学习的过程中去的话,那么会得到如下的情形,