预测《权游》角色生死,AI算法魔力何在?

栏目: 编程工具 · 发布时间: 5年前

内容简介:早在2016年,《权力的游戏》第六季播出之前,慕尼黑工业大学(TUM)的学生就开发了一款AI应用程序,来预测剧中人物的存活情况。近两年之后,《权力的游戏》第八季,也就是最后一季,终于在昨天回归了。再过六周多一点的时间,我们就会知道这部剧在过去八年中一直朝着一个目标前进,那就是:很多人会死。和这部剧一起归来的还有当年的学生团队,他们使用自己设计的AI算法,在网上搜索相关的数据,并计算剧中每个角色的生存几率。

AI“决定”角色生死

早在2016年,《权力的游戏》第六季播出之前,慕尼黑工业大学(TUM)的学生就开发了一款AI应用程序,来预测剧中人物的存活情况。

近两年之后,《权力的游戏》第八季,也就是最后一季,终于在昨天回归了。再过六周多一点的时间,我们就会知道这部剧在过去八年中一直朝着一个目标前进,那就是:很多人会死。

和这部剧一起归来的还有当年的学生团队,他们使用自己设计的AI算法,在网上搜索相关的数据,并计算剧中每个角色的生存几率。

如果你认为机器学习的预测只是胡言乱语,可别忘了,这群学生之前创建的算法就成功预测了雪诺(Jon Snow)的复活。

预测《权游》角色生死,AI算法魔力何在?

雷锋网注:【 图片来源: PHYS 所有者:GoT-Team 2019 / TUM 】

他们的算法预测,龙妈(Daenerys Targaryen)最有可能在这个痛苦的世界中生存下来,存活的几率为99%。她的国王之手小恶魔(Tyrion Lannister)的存活率也高达97%。

Jon Snow是一个稍微复杂一点的命题,但是,算法预测,他在第八季中幸存的机会为88%,可以说是非常强劲了。

从统计数据上看,Bronn几乎肯定会死,预测的死亡率为93%;Gregor Clegane的死亡率也高达80%;三傻(Sansa Stark)出生在临冬城,而且已经结了婚,她的死亡率为73%;她的小妹妹(同时也是十足的坏蛋)Arya存活的几率略高,预计的死亡率为47%。

当然,这只是算法分析的结果,所以要对这一切有所保留。说到底,这只不过是又一个证明机器学习能力的伟大实验。

算法“魔力”何在?

机器学习能够从过去的海量案例中学习,并自动编译关于案列的统计数据,然后对未来的事情做出预测。

《权力的游戏》里只有少数角色死于老年,但大多数角色都以暴力收场。这不仅让人深思,剧中的死亡情况是随机发生的,还是只发生在那些表现出类似特征的人身上?这些特征可能是年龄、血统和性别,也可能是剧中角色所做出的错误且重大的决定。

该算法试图分析所有死亡角色的共同特征,然后利用共同特征来预测存活角色的死亡百分比(PLOD)。算法分析的数据提取自《冰与火之歌》和《权力的游戏》的维基百科内容,这可能是分析该系列5本书和8季电视剧中大约2000个角色的最佳资源。

算法不仅从信息库中提取每一个角色的死亡或存活信息,还提取了描述角色的其他特征。这样,一个数据集就产生了,它可以用同一个特性来描述不同的角色,无论死亡或存活。下一步就是,找到最能区分死角色和活角色的特征集。

贝叶斯生存分析

这个机器学习模型旨在使用与贝叶斯推理相关的技术,来检验不同特征与角色寿命的关系,类似于检验治疗和并发症对癌症患者的影响,或检验地震事件之间的相关性。

这个学生团队假设,在一个角色的一生中,他/她每年都有一定的概率死亡。这个基本死亡率对所有角色都是一样的,但特征不同会让死亡概率增加。例如,作为一个男人可能会让死亡风险增加60%。

通过计算这些危险性,机器可以为任何角色建立一个生存函数,以此来判断,在一段时间内,该角色死亡的可能性有多大。

该模型就房子、情人、婚姻、主/次要角色、以及性别等特征进行了分析。

神经网络

除了贝叶斯生存分析,另一种方法是训练神经网络来预测某个角色在某一年的死亡率。这种方法也会建立生存函数,但是神经网络的模式会比贝叶斯模型更复杂。神经网络会包含更多的“意外”死亡,而贝叶斯模型则认为这些死亡是随机的异常值。

这个模型使用了 Python 的Keras框架。基本上,最简单的神经网络架构之一就是使用前馈技术。这意味着输入是一个任意的实值维数向量,然后通过所谓的“隐藏层”进行处理,最终输出也是一个数字向量。

此外,神经网络由许多参数组成,这些参数在训练过程中会进行调整。训练是自动改变参数的步骤,使网络输出尽可能接近给定的输入- 输出关系。

如何将与角色相关的复杂信息转换为向量,是目前要考虑的重中之重。有些信息是标量,例如角色介绍在维基百科中的排名前后。其他信息,例如角色出现的情节,是一组有预定义的值。

因此,我们可以创建一个维度与剧集数量相同的向量,如果角色出现在相应的剧集中,则将维度设置为1.0,否则设置为0.0。通过这种方式,不同种类的信息可以转化为向量,而且这些向量会相加。最后,书中的数据提供了1561个输入维度,电视剧中的数据提供了411个输入维度。

一般来说,变老仍然是影响角色死亡的最重要因素,毕竟,年龄越大,经历的危险就越多。这就是角色的年龄也要被神经网络采纳分析的原因。

因为神经网络的输出只是决定“生存百分比”的一个维度,所以为每个角色创建90个不同的输入向量是有可能实现的(每一年对应一个输入向量)。如果角色到达设定的年龄仍然存在,神经网络将预测该输入向量为1.0,否则为0.0。

此外,这个神经系统还允许预测PLOS随时间变化:修改角色的输入年龄很容易,而且修改会与PLOS中的变化直接相关。系统预测的角色死亡率仅仅针对《权利的游戏》第八季。

为了总结这一点,让我们看一些关于预测和神经网络的统计数据。

首先,的《冰与火之歌》里共有484个可用的角色,其中188个用于训练(即已经死亡),其余296个存活角色则用于预测。最后,书中数据的训练准确率达到了88.75%,而最终的验证准确率为89.92%。

同样,《权利的游戏》中提取146个可用角色,82个用于训练,64个用于预测。电视剧数据最终的训练准确率为79.64%,最终的验证准确率为85.69%。

雷锋网注:更多信息请看: https://got.show

雷锋网 (公众号:雷锋网) 注:【封面图片来源:网站名 PHYS ,所有者:GoT-Team 2019 / TUM】

雷锋网版权文章,未经授权禁止转载。详情见 转载须知


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript语言精粹

JavaScript语言精粹

道格拉斯•克罗克福德 (Douglas Crockford) / 赵泽欣、鄢学鹍 / 电子工业出版社 / 2012-9-1 / 49.00元

JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax 的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。Douglas Crockford 在本书中剥开了JavaScript 沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript 子集,让你看......一起来看看 《JavaScript语言精粹》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器