斯隆奖得主方飞:当深度学习和博弈论相结合,能解决哪些社会问题?
算法与社会福祉的冲突是天然存在的吗?| 图源:pixabay.com
但是,算法与社会福祉的冲突是天然存在的吗?
卡耐基梅隆大学(cmu)助理教授方飞认为,找对研究方向,算法也能够帮助解决一些社会性的问题。她的工作,就是将博弈论、人工智能与现实问题相结合,解决现实中的复杂问题,比如保护轮渡免受恐怖分子袭击,防止盗猎者在保护区内伤害动物,将即将过期的食物分给需要的人等等。
方飞的工作扎实、稳重,在领域内赢得了不少赞誉。2020年,她入选ieee“ai十大潜力人物”;2021年获得ijcai(国际人工智能联合会议)计算机与思想奖;2022年2月,她获得斯隆研究奖,一个奖励职业生涯早期杰出年轻学者的奖项。
方飞现在cmu计算机科学学院软件研究所任职。她认为,一些情况下,企业通过算法在最大化社会总收益时也能得到较高的利润。而相比于人工智能的其他强应用性领域,ai向善还是一片“蓝海”。她希望有更多研究者能加入这个领域,为提升整体社会福利作出贡献。
她说,进入这个领域最重要的,是要有发现问题的眼睛。
以下是《知识分子》和方飞的对话,行文有删减。
撰文 | 王一苇
责编 | 陈晓雪
● ● ●
知识分子:博弈论是1944年的时候冯·诺依曼和奥斯卡·摩根斯特恩提出的,跟人工智能结合的博弈论研究是什么时候、怎么发展起来的?
方飞:一开始,博弈论主要在经济领域里面(发展),诺贝尔经济学奖得主经常是研究博弈论的。由于计算机的发展,大家很感兴趣在博弈论里什么样的问题是可计算的,或是能有效地计算出结果的,就会去研究不同的激励形式和不同的均衡,看什么样的均衡概念在什么样的博弈中是有效的算法,什么样的问题是np hard——比较难解的。有了预测,就开始处理计算上的挑战。
安全博弈相关的进展是在2006年,tuomas sandholm和vincent conitzer两个大牛在economics and computation(经济学与计算)会议上发了一篇论文 [1],说在斯坦伯格均衡当中,在比较简单的问题上,是可以有多项式时间的算法可解的,但是当这个问题延伸到有一方博弈参与者的支付函数或在博弈中的收益有多种可能、类型未知时,这个问题就不可解。
在这之后,我的导师milind tambe是最先把博弈论应用到安全领域的。他研究的是在一个具体的问题里可不可以应用斯坦伯格博弈(stackelberg game,指存在两方的完全信息动态博弈,双方都是根据对方可能的策略来选择自己的策略)去分析。
比如,我们想保护洛杉矶的机场。在保护机场的问题里,有保护者也有攻击者。机场的巡护人员,也就是防御的这一方,每天都要进行巡逻。那么作为攻击者,可能会花很长的时间去观察巡逻人员的巡逻有什么样的规律,是不是每个周一都在一号航站楼巡逻,每个周二都在二号航站楼巡逻之类的,然后根据观察到的这些规律去找巡逻方案里相对的弱点,避免被巡逻人员抓到。他们会有各种各样的攻击,比如说有人会把手枪、步枪等各种各样的武器带进机场。
巡逻人员一方面会在进入机场的多个路口设检查站,另一方面在各个航站楼里面用警犬巡逻,但是因为检查站的数量以及警犬的数量都不够多,所以需要去决定每天去什么样的地方做什么。
因为有这样的不对称关系,他们把这个问题建模成一个斯坦伯格博弈:巡逻者这一方是领导者,先去选择一个巡逻策略;而攻击者那方是跟随者,观察领导者的策略以后,再去回应,选择更好的攻击方式回应现有的巡逻方案。
在这个基础上,他们又开发了一系列的模型和算法来去研究这个领域,慢慢成为了最开始的一波安全博弈项目。
我加入tambe的研究组以后,开始应用更多的机器学习手段。我们开始研究移动的目标,比如轮渡是不是也可以用类似的模型建模,以及能不能找到快速的算法来去求解最好的巡逻方式。
美国的海防在各个渡口都有巡逻。在纽约,巡逻人员其中一部分任务就是要保护曼哈顿岛到史丹顿岛的轮渡。这个问题里,轮渡就是移动的目标,而巡逻人员也驾着小船在不停移动,我们想要做的事情就是用博弈论建模,并且去构建一个算法,找到最佳的路线选择。
最开始的模型主要就是两方的斯坦伯格博弈,后来也有研究多方的。前两年的一些保护动物相关的工作里,保护区的人跟我们说,有时候会有居民告诉他们,听说盗猎者去哪里盗猎了或者是将要去哪里盗猎。当时现有的模型都没有办法去考虑这样的因素,我们就建立新的模型来考虑多于两个博弈者的问题。
知识分子:听上去这个领域实用性非常强。那么博弈论跟ai结合,想要完成的科学目标是什么?
方飞:在我看来,它的科学目标就是希望能够去找到更有效的、更快速的算法来解决更复杂或更实际的博弈。博弈论是理论框架,而ai或深度学习是工具,在这个框架下去求解数学问题。整个计算博弈论领域,大家都在做的事情就是希望有更好更快的算法,能够去求解更复杂的博弈。
很多时候,计算和博弈论结合无法找到快速的解。
一种情况是这个博弈太复杂了,没有办法用数学规划求解,因为如果用数据规划去求解的话,需要几百万的电量、几百万的限制条件,如果真的在机器上算,光去求解,这个机器的内存就爆掉了。这样的情况下,我们可以通过深度学习的方式,找到这个大问题里面一个较优的解,或者说比较靠近均衡的策略。
第二种情况,有时候在博弈问题里需要考虑人的行为。最传统的博弈论假设所有的人都是理性人,但后来提出,并不是所有人都是完全理性的,这时候就要去理解人的行为模式。机器学习可以帮助我们,通过人以往的行为数据来给人的行为建模,在这样的模型下去再去找博弈中其他博弈方的解。
第三种情况是逆向博弈论(inversive game theory)。一般的博弈论的问题是说,我告诉你博弈是这几个人在进行,在不同的情况下,每个人的收益会是多少,然后问你对于这样一个博弈问题,均衡策略应该是什么。逆向博弈论就是反过来,我能够观察到大家在博弈中采取什么样的行动,问能不能去找到每个人的收益函数是什么。
在这样一个问题里,有很多观察数据来描述每个人的行为和他采取的行动,我们要去从行动里逆推收益函数,这个时候机器学习也可以帮助我们。
我提的这三个是我自己做过的,都是把机器学习作为工具来解决博弈论里面的问题。还有其他结合博弈论和深度学习的方式。
反过来,也可以用博弈论去解决机器学习里面的很多问题。一个例子是卡耐基梅隆大学招学生,最初一轮筛选中,每个人把申请资料交过来,大家来看。事实上除了人做判断以外,学校有一个算法来判断这个学生是不是值得考虑的,防止有一些被人漏掉。这两条线是完全独立地在做判断,就是说只要人或者机器认为这个学生应该值得被考虑,那么就会进入下一轮。
可以想象,在这样的情况下,如果学生知道你是用什么样的方式来进行筛选,他们可能会去想办法改变自己的一些行为或者分数,根据算法去调整自己的行为。在这样的情况下,我们其实可以用博弈论去分析(如何解决这个问题)。
知识分子:博弈论和机器学习的结合可以解决哪些类型的社会问题?你一般是怎么去找到这些现实社会中的问题和痛点的?
方飞:我们帮美国海防设计巡逻路线,帮动物保护组织设计护林员的巡护路线。前者是安全性问题,后者与环境的可持续发展相关。还有移动性(mobility)相关的问题,比如交通运输等,我们也在研究中。
有一部分是各种各样因素的巧合叠加,另一部分其实是因为我们之前做过的一些东西,延展到了类似的或是相关的问题。
比如说我博一的时候做了保护轮渡的工作。我们讲演、发了paper之后,去跟不同的人交谈,有人就提到,你们这个问题听起来跟动物保护护林员的巡逻问题挺类似的,有没有考虑过把你们的算法应用到那个问题上。这给了我们动力,去跟相关的专家去交谈,了解实际的问题。
我来cmu之后,我们还做一个新的系列工作,是食物救助。我一开始不知道匹兹堡有这样一个非营利组织,是有一次在我们学校会议室里面正好遇到了这个组织的ceo,互发了名片。我去查了一下他们的组织在干什么,发现特别有意思。后来我自己也去给他们做志愿者,又去跟他们交流,跟他们说我们做了很多ai相关的工作,希望看看我们的技术有什么能够应用到这个问题里面,能够帮助你们平台发展得更好。
从这样的讨论开始,慢慢的就有了越来越多真正的工作,我们现在在这个方向上已经发了三四篇paper,(算法)也在他们的系统里面已经用上了,这也是我特别高兴的。
食物救助分两个部分,第一个部分是匹配donor和receiver,就是食物捐助者和食物接受者;第二个部分是匹配志愿者去运送食物。比如我当时去做志愿者,cmu的一个咖啡厅有剩下的蛋糕,他们想捐给附近的单身母亲救助站,就在手机app上说我们需要志愿者来把食物从cmu的咖啡厅送到救助站去,我一看很高兴,就在我楼上,就赶紧接了这个单,把食物送过去了。
我们主要研究的是平台和志愿者之间怎么匹配的问题,或者说怎么能够帮助平台更好的找到能够来运送食物的志愿者,怎样让志愿者在这个过程中获得更好的体验。在这个问题里,我们的目标就是能够不要发太多的的通知,因为如果每来一个单就给所有的志愿者发通知的话(会很打扰)。我们希望不要发太多的通知,但是又能够提升接单率和缩短时间。
新的推荐机制上线以后,总的接单率上升了,平均接单时间减少了。这个问题其实跟打车软件有一点像,也是有一个派单的过程,但是很不一样的是,这是一个纯志愿者的非营利性平台,给打车软件做的定价策略是完全不能用的。
知识分子:寻找凯发k8一触即发的解决方案的过程中,你觉得最困难的事情是什么?
方飞:是找问题。找能够利用人工智能、真的产生价值的问题。
像食物救助这个问题,我一开始做完志愿者之后,觉得整个系统里面有太多可以改进的点了。我当时写了一个很长的邮件给他们ceo,说根据我的经验,一二三四这几个方面都可以改进,然后我们的人工智能可以在每个方面做点什么。我提的建议是,你们给志愿者的指导信息太模糊了,需要通过一些智能的方式提供更清楚的指导,比如应该去找谁跟谁对接,在什么地方跟别人见面之类的,另外可以让一个志愿者送多个单。
后来我去跑到他们办公室里面去跟他们聊,他们就说你提的问题都很有意思,但不是我们真正关心的点。对于他们的组织来说,需要看的是更大的方面,他们真正的痛点是,怎么能够让更多的志愿者来参与,让食物不被浪费,能够及时地送到该送的人手里面。
所以要不断地跟他们讨论,我的学生也去他们那边实习了两天,帮他们去做派单的工作,体验一下从内部的角度来看派单的过程是什么样子。在不断的讨论中,最后才慢慢找到了一个对他们来说是非常关心的,对于我们来说是人工智能真的可以发挥作用的问题。在我看来这可能是最花时间的一个步骤。
另一个我觉得特别有挑战的就是,怎么能够让他们真的去用你做的这个东西。可能他把数据给你了,然后你做的这个东西看起来挺有趣的,发了论文了,但是他觉得,我没有能力去把你这个算法真的实现在系统里面,我们太忙了,有其他的事情要做,这个东西可能不是他们的最高优先级。如果说是一个纯商业的问题,这个工具可以给你的利润提高10个点,他们可能就很积极地去做了,但是公益组织不是这样的,他们有其他方面的考虑。怎么能够说服他们去做实际的测试和应用,在我们看来也非是常难的一个点。
我们的经验就是,首先要充分尊重他们的意愿,积极地跟他们沟通;其次是尽量减少他们需要付出的成本,包括时间成本、人力成本以及可能的金钱成本。我们在进行实际测试的时候,最好是把能干的活都干了,他们可能只需要花几个小时来跟我们开个会,讨论一下方案,然后批准一下我们上线前的测试是过关了的,就可以上线。这样的话他们就更愿意去做这样的测试。
知识分子:你们的项目好像现在还是偏公益的居多一些,是考虑到研究本身的性质,还是你觉得这是最大化效益的工作?
方飞:我们并没有排斥商业化的项目,但是我个人非常希望能够帮助解决一些社会性的问题。我开玩笑说我们在做高级志愿者,帮助一些政府组织或工业公益组织更好地向社会提供更高质量的服务。
这些问题是对社会来说是非常重要的,它可能并不一定能够直接产生商业利益,但是这些都是影响很多人的问题,但是又没有很多人去做。也可以理解,现在人工智能这么火,可以想象去业界的话能赚很多钱,那么当你有这个能力的时候,可能很多人选择了去赚钱。也许很多人是对这件事感兴趣的,但是真正投入去做的人没有那么多。我也希望我们能够一方面自己去做一些工作,另一方面也能够让更多的人去参与这样的工作。
我在学校里教ai for social good(人工智能向善)的课,也是希望能培养更多的学生去接触这样的问题,解决这样的问题。
知识分子:你刚刚也说了,找问题是一个难点。你怎么看这个领域未来的发展,未来它还能够应用在更多的领域、更多的问题上吗?
方飞:我觉得有很多值得做的问题。我过去三年都在做aaai(人工智能促进协会)的ai for social impact special track(ai社会影响力专刊)的co-chair(联合主席),我们每年也都收到不少的论文,能看到很多人对这个感兴趣,也不断地在做这方面的工作。
未来还是有很多可以做的问题的,比如像联合国的17个可持续发展的目标,我们现在的工作可能只涉及到其中的四个目标,其实还有很多其他目标,中间可能也涉及到许多值得去做的问题。
知识分子:很多企业用ai算法提升效率,但也受到一些诟病。外卖企业里,骑手因为这些算法的规定,或者企业本身的策略,福利是在不断下降的。你对相关的ai应用有哪些观察,在企业责任或者用ai算法来改善的方面,有哪些能做的事情吗?
方飞:公司肯定要追求利润的,这肯定是他们的主要目标。那么除了利润之外,博弈论或者机制设计里面经常会谈到一个 social welfare,社会福利,所有人的收益之和。
在外卖平台或打车平台,平台的收益加上骑手或者是司机以及等餐的人、想要打车的人,所有人的收益之和是需要关注的一个目标函数。我们之前做优步等打车平台的定价策略的研究的时候,就是把目标设为了最大化社会收益。怎么计算社会收益?比如对于乘客来说,他很想去这个地方,他愿意花100块钱去,然后他付了50块钱,那么他的收益就是100-50。
我们很难去跟商业公司说,你们不要关注利润了,来关注社会总收益,这是非常困难的。但是我们看到的是,什么样的情况下,大家会更关注除了利润以外的目标。
一个是监管,比如保险公司,可能一开始的时候,当没有足够的监管的时候,保险公司的定价策略会是有非常有偏见的,当一些事情被爆出来之后监管介入,监管可能就要求你保险的定价策略更公平。那么在这样的情况下,这些公司就会更考虑除了利润以外的社会总收益,比如公平性的问题。
另一个是,一些情况下,我们可以去向这些公司证明,在你们的问题里,其实最大化社会收总收益是跟最大化总利润是差别非常小的。如果你去最大化社会总收益,也能够获得比较大的收益,可能不一定是最大化,但是也比较接近,但它能够在社会总福利方面有一个更大的提升。我们研究打车平台的时候做过分析,在一定的假设之下,最大化社会总收益时也能够得到比较高的利润。
知识分子:在ai研究里,数据是基础,但是也经常会遇到一些数据不准确或者偏见的情况,你的研究会遇到类似的问题吗?怎么去解决这些问题?
方飞:会。拿动物保护的情况来说,我们收集的数据就有很多的问题。比如说现有的数据都是护林员们之前非常辛苦地去巡逻,收集来的。但是他们并不是覆盖了所有的区域,可能某些区域去的比较多,另一些区域去的比较少,这就导致去的比较多的区域,可能有更多的数据,而且这个地方到底盗猎有多高发,是比较准确的,能有一个相对比较准确的估计;但是对那些去的比较少的地方,即使他们说我去了,我没有找到猎套,并不意味着那个地方从来没有发生过盗猎,可能只是因为他们去的少,去的时候正好没发现猎套。
而且如果看总体的数据量,他们去过的所有地方里面找到猎套的点肯定是少的,还是有更多的时候他们在路上走,什么也没有发现。这也说明数据中的不平衡,也是我们在设计机器学习算法来学习盗猎者的行为模型的时候需要去处理的挑战。
我们尝试了各种各样的办法,像最初的一版算法里面,我们把整个保护区分成多个地块,如果这个地块它的数据量比较大,可以用稍微复杂一点的机器学习算法;如果这个地块数据量不够,我们就把数据量不够的那些地块所有的数据全部结合起来,然后去找一个对于数据量要求没有那么高的机器学习算法,比如决策树之类的方法去预测。这是一开始的想法。
后来我们又做了很多其他的尝试,比如在黄泥河保护区(位于吉林省),我们给当地的护林员发过问卷,问他们在我们划分出来的整个保护区的多个区域里,每个区域的总体盗猎风险是高还是低,根据他们的回答,我们去额外采样一些新的数据点放到我们的数据集里面,这一方面能够帮助我们增加更多的数据,另一方面也可以纠正这些护林员本身的偏见。
知识分子:最近有一种说法是,ai已经走进了一个死胡同,只适合处理一些存在低风险、存在完美答案的问题。你怎么看这个说法?
方飞:一方面,咱们要承认现在人工智能还是没有那么高级的,是真的没有那么厉害。但是我觉得还是有很多可以做的。
一个是高风险的问题。相对来讲,在高风险问题上,人工智能是辅助人类进行决策的,并不是想要代替人类进行决策,我们知道决策是高风险的决策,我们做的事情是希望能够给决策者提供更多信息及更多的可选方案。
现在有很多人在做可解释性的人工智能,一定程度上是想要解决在高风险场景应用ai的问题。
其中一个方向是,最后我不要一个神经网络,我需要的是一个决策树,是能够画出来、人能够直接看得懂的,一个基于规则的分类器。可能它的表现没有深度学习那么好,但还是可以有比较好的表现。在我去训练决策树的过程中,可能还是需要深度学习的,只是最后呈现的是一个决策树,这样的话人至少能够看得懂。
还有一些其他路线,比如说我预测或做决策还是用深度学习的模型,但是我去跟人用自然语言解释它在做出这样的预测和决策时,是哪一些特征起到了关键的作用,使得它最后做出了这样的预测或者决策。
还有其他各种各样的方向。我们自己也在做一些,希望能够把人工智能里面的一些黑盒子给打开,让相关的决策者能真正地理解ai在做什么,至少可以去检查和验证人工智能找到的这些东西到底有用还是没用,再决定要不要使用它。
当然另外一方面,我觉得ai for social good还没有到瓶颈期,还有很多问题值得去做,所以也希望更多的人能够关注这个方面的研究,能够更愿意去做一些这方面的研究。
当你说很多问题已经被解决的时候,可能是图像分类、医疗图像识别这样的问题。这些问题做的人可能已经很多了,做了很久了,已经到了一个非常不错但是再进一步就很困难的地方。但是我觉得ai for social good这块还是蓝海的状态,因为相对图像处理语音处理或者自然语言处理,这里没有一个规范的数据集或一个特定的问题,大家要不断去开发越来越好、越来越新的算法,要去了解不同的问题,这个问题里面有什么是ai能够去帮助解决的,什么样的方法是最合适去解决的,最后怎么做系统性的测试,推动落地。除了算法设计以外,还有很多其他的工作需要做。
知识分子:在未来2年内或者5年内有什么想做的方向,或者要进行的工作吗?
方飞:现在我希望能够深挖的领域还是动物保护、食物救助和交通运输相关的一些问题。
正在进行中的,一个是我们正在跟世界自然基金会(wwf)合作动物保护相关的新工作。我们想帮助他们自动收集新闻报道和政府报告,找到跟自然保护区和动物保护相关的文章,然后把这些文章整理成可视化的、可以去直接查看和分析的形式,这样能够节省他们的时间。他们现在是靠人力在做这些事。
这个工作已经开始实地测试了,已经在wwf内部的系统里面用上了,我们在不断收集反馈,改进工作。这个问题其实没有涉及到博弈的问题,涉及到很多自然语言处理的东西。
食物救助那块,我们还是希望能够把现有的算法落地,然后去探寻新的问题。
我们还有一些正在进行中的工作是跟网络安全相关的,这个问题里面很明显有博弈。我们之前做过一些博弈论的模型和算法,现在还是想导出更好的、更贴近实际的模型,更好的算法。我们也希望我们做的东西更接近被实际使用的阶段。
知识分子:我有一个可能不是很切实际的想法,想到国内最近的疫情,在打疫苗上大家也是有很多的犹豫。你的工作有可能解决鼓励大家打疫苗的问题吗?
方飞:如果已经有一些奖励机制,我们也许可以去分析这个机制,或许可以更精细化地奖励,让最后的效果更好,这是有可能的一个方向。
知识分子:对于想要来学博弈论跟深度学习结合的方向的学生,你会有给他们什么样的建议呢?
方飞:一个是基础还是要打的。本科阶段如果有能够接触到博弈论相关的课程,以及深度学习、多智能体相关的课程,还是建议去学习一下,尤其是如果有一些课程的项目,或是自己比较感兴趣的项目可以去做的话,有时候做项目的过程是能帮助你更好地理解你学到的东西的。这个项目甚至不一定说你最后要发论文,可能就是去做一些对你来说感兴趣的、有探索性的工作。
知识分子:最后想问一下,你获得斯隆奖有什么感想吗?
方飞:我也是真的没有想到,因为我之前申请过一次,没有拿到。今年又申请,我其实并没有抱很高期望,后来拿到也觉得非常荣幸。因为它不只是给计算机领域的,它是给很多领域的学者,所以好像得到的关注度比较高。
除了我自己获奖这件事让我很惊喜以外,另外一个我觉得挺惊喜的,是今年获奖者的名单里面有很多的华人或者华裔,还有很多的女生,这个可能是之前我没有看到的,说明我们(华裔)在北美做得挺好的。