博弈论与数据科学

博弈论最早由计算机之父冯·诺伊曼提出,而后在经济学领域发扬光大,自1994年诺贝尔经济学奖授予3位博弈论专家之后,1996年、2001年、2005年、2007年、2012年、2014年共七届诺贝尔经济学奖都与博弈论有关。近几年来,随着数据科学的发展,博弈论的思想和理论也逐渐开始应用到数据科学中。

非合作博弈-生成对抗网络

生成对抗网络(GAN)由生成网络(Generative Models)和判别网络(Discriminative Models)组成,判别网络判断输入的特征是真实的还是假的,即是数据集中真实存在的数据还是由生成模型生成的数据。判别网络可以使用各种常用的分类器如SVM、深度神经网络等来构建。生成网络目的是学习数据特征的分布,从而生成尽可能和原始数据相似的数据以迷惑判别网络。生成网络可以使用常用的生成模型如限制玻尔兹曼机、隐马尔科夫网络、变分自编码器来构建。比如上图的例子中,真实的数据集是人脸的图像,生成网络致力于学习人脸数据的分布特点从而生成尽可能真实的人脸图片,判别网络接受样本集和生成网络的输出的图片并判断哪些图片是真实的哪些图片是假的。

因此可以将GAN的生成网络和判别网络看成非合作博弈中的两个玩家,每个玩家需要最小化另一个玩家活动导致的可能的损失才能赢得游戏,理论已证明该模型的纳什均衡存在。使用Minimax算法优化模型,即:

对抗生成网络在图片生成、图像降噪和超分辨率等问题上都已经被证明有很好的效果,近几年来有大量的GAN变体被提出,如WGAN,LSGAM,DRAGAN 等。

随机博弈-强化学习

随机博弈理论最早由Lloyd Shapely在1953年提出,它同时考虑了随时间变化的合作博弈和非合作博弈。在游戏的每个阶段,存在有限个状态,每个时间点游戏处于这些状态中的一个,同时存在有限个策略,玩家可以根据当前的状态选择一个策略,每个玩家的收益由状态和选择的策略共同决定,每阶段玩家的总收益等于每步收益的折扣和。

强化学习(RL)的基本思想是构建一个或多个主体(Agent),主体通过与环境不断的交互并获得反馈,学习在特定的状态下给出最佳的策略。如下图只有一个主体的情况,在特定的状态下(State),Agent采取一个行动(Action),环境 (Environment) 对Agent的这个行动给予一定的反馈(Reward),Agent根据收到的反馈调整策略。

可以看到强化学习的思想与随机博弈天然的契合。在文章Coordinating Many Agents in Stochastic Games中,作者尝试将随机博弈理论应用到多个主体(Multi-agent)的强化学习中,通过将Agent分组,每个组由一个更高级的Agent来监督,组与组之间相互独立,从而减少了完全独立的Agent的数量,权衡了在大量Agent的模型中满足随机博弈使用条件和模型的高效性,成功的将随机博弈理论应用到多Agent多状态的强化学习中。

进化博弈-Multiagent RL

进化博弈考虑一个系统的演化过程,最终系统收敛到最健壮的状态。一个典型的例子是甲虫体态大小博弈,如下图所示,假设甲虫的体态大小决定了在每次食物竞争中的收益,小甲虫与小甲虫竞争单次分别可获得5的收益,大甲虫与小甲虫竞争大甲虫可获得8的收益,而小甲虫仅能获得1的收益,两只大甲虫竞争分别只能获得3的收益。如果从简单非合作博弈的角度来考虑,最优的策略将是所有甲虫同时演化到小甲虫。但是考虑到基因突变,一旦出现一只大甲虫,那么这只大甲虫将迅速在种群中占据优势地位,基因得到更多的传播,大甲虫数量将快速增加,最终整个种群中都将全部成为大甲虫。因此这个系统的进化博弈的结果应该是所有甲虫都是大甲虫,而不是最优的所有甲虫都是小甲虫。

同样是在Multi-agent的强化学习中,由于之前的强化学习的理论不能保证Multi-agent系统收敛到最优值,文章Evolutionary game theory and multi-agent reinforcement learning中,作者将Multi-agent系统中的每个Agent视为种群中的一个个体,个体之间会发生交叉学习(Cross learning),理论研究证明在合理的时间内,交叉学习会收敛到非对称的、时间连续的复制动力学(Replicator dynamics),从而提供了一种全新的看待RL中Q-learning的角度。

总结

数据科学的发展越来越快,面临的挑战也越来越多,更加复杂的问题、更强大的安全性能、更快的算法要求都是亟待的问题,博弈论为这些问题的解决提供了新的思路和新的视角。学科的交叉碰撞会产生怎样的火花,让我们拭目以待。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181121B1Q5UW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券