0
本文作者: 伍文靚 | 2019-04-15 20:08 |
早在2016年,《權(quán)力的游戲》第六季播出之前,慕尼黑工業(yè)大學(xué)(TUM)的學(xué)生就開(kāi)發(fā)了一款A(yù)I應(yīng)用程序,來(lái)預(yù)測(cè)劇中人物的存活情況。
近兩年之后,《權(quán)力的游戲》第八季,也就是最后一季,終于在昨天回歸了。再過(guò)六周多一點(diǎn)的時(shí)間,我們就會(huì)知道這部劇在過(guò)去八年中一直朝著一個(gè)目標(biāo)前進(jìn),那就是:很多人會(huì)死。
和這部劇一起歸來(lái)的還有當(dāng)年的學(xué)生團(tuán)隊(duì),他們使用自己設(shè)計(jì)的AI算法,在網(wǎng)上搜索相關(guān)的數(shù)據(jù),并計(jì)算劇中每個(gè)角色的生存幾率。
如果你認(rèn)為機(jī)器學(xué)習(xí)的預(yù)測(cè)只是胡言亂語(yǔ),可別忘了,這群學(xué)生之前創(chuàng)建的算法就成功預(yù)測(cè)了雪諾(Jon Snow)的復(fù)活。
雷鋒網(wǎng)注:【 圖片來(lái)源:PHYS 所有者:GoT-Team 2019 / TUM 】
他們的算法預(yù)測(cè),龍媽(Daenerys Targaryen)最有可能在這個(gè)痛苦的世界中生存下來(lái),存活的幾率為99%。她的國(guó)王之手小惡魔(Tyrion Lannister)的存活率也高達(dá)97%。
Jon Snow是一個(gè)稍微復(fù)雜一點(diǎn)的命題,但是,算法預(yù)測(cè),他在第八季中幸存的機(jī)會(huì)為88%,可以說(shuō)是非常強(qiáng)勁了。
從統(tǒng)計(jì)數(shù)據(jù)上看,Bronn幾乎肯定會(huì)死,預(yù)測(cè)的死亡率為93%;Gregor Clegane的死亡率也高達(dá)80%;三傻(Sansa Stark)出生在臨冬城,而且已經(jīng)結(jié)了婚,她的死亡率為73%;她的小妹妹(同時(shí)也是十足的壞蛋)Arya存活的幾率略高,預(yù)計(jì)的死亡率為47%。
當(dāng)然,這只是算法分析的結(jié)果,所以要對(duì)這一切有所保留。說(shuō)到底,這只不過(guò)是又一個(gè)證明機(jī)器學(xué)習(xí)能力的偉大實(shí)驗(yàn)。
機(jī)器學(xué)習(xí)能夠從過(guò)去的海量案例中學(xué)習(xí),并自動(dòng)編譯關(guān)于案列的統(tǒng)計(jì)數(shù)據(jù),然后對(duì)未來(lái)的事情做出預(yù)測(cè)。
《權(quán)力的游戲》里只有少數(shù)角色死于老年,但大多數(shù)角色都以暴力收?qǐng)?。這不僅讓人深思,劇中的死亡情況是隨機(jī)發(fā)生的,還是只發(fā)生在那些表現(xiàn)出類似特征的人身上?這些特征可能是年齡、血統(tǒng)和性別,也可能是劇中角色所做出的錯(cuò)誤且重大的決定。
該算法試圖分析所有死亡角色的共同特征,然后利用共同特征來(lái)預(yù)測(cè)存活角色的死亡百分比(PLOD)。算法分析的數(shù)據(jù)提取自《冰與火之歌》和《權(quán)力的游戲》的維基百科內(nèi)容,這可能是分析該系列5本書(shū)和8季電視劇中大約2000個(gè)角色的最佳資源。
算法不僅從信息庫(kù)中提取每一個(gè)角色的死亡或存活信息,還提取了描述角色的其他特征。這樣,一個(gè)數(shù)據(jù)集就產(chǎn)生了,它可以用同一個(gè)特性來(lái)描述不同的角色,無(wú)論死亡或存活。下一步就是,找到最能區(qū)分死角色和活角色的特征集。
這個(gè)機(jī)器學(xué)習(xí)模型旨在使用與貝葉斯推理相關(guān)的技術(shù),來(lái)檢驗(yàn)不同特征與角色壽命的關(guān)系,類似于檢驗(yàn)治療和并發(fā)癥對(duì)癌癥患者的影響,或檢驗(yàn)地震事件之間的相關(guān)性。
這個(gè)學(xué)生團(tuán)隊(duì)假設(shè),在一個(gè)角色的一生中,他/她每年都有一定的概率死亡。這個(gè)基本死亡率對(duì)所有角色都是一樣的,但特征不同會(huì)讓死亡概率增加。例如,作為一個(gè)男人可能會(huì)讓死亡風(fēng)險(xiǎn)增加60%。
通過(guò)計(jì)算這些危險(xiǎn)性,機(jī)器可以為任何角色建立一個(gè)生存函數(shù),以此來(lái)判斷,在一段時(shí)間內(nèi),該角色死亡的可能性有多大。
該模型就房子、情人、婚姻、主/次要角色、以及性別等特征進(jìn)行了分析。
除了貝葉斯生存分析,另一種方法是訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)某個(gè)角色在某一年的死亡率。這種方法也會(huì)建立生存函數(shù),但是神經(jīng)網(wǎng)絡(luò)的模式會(huì)比貝葉斯模型更復(fù)雜。神經(jīng)網(wǎng)絡(luò)會(huì)包含更多的“意外”死亡,而貝葉斯模型則認(rèn)為這些死亡是隨機(jī)的異常值。
這個(gè)模型使用了Python的Keras框架。基本上,最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)架構(gòu)之一就是使用前饋技術(shù)。這意味著輸入是一個(gè)任意的實(shí)值維數(shù)向量,然后通過(guò)所謂的“隱藏層”進(jìn)行處理,最終輸出也是一個(gè)數(shù)字向量。
此外,神經(jīng)網(wǎng)絡(luò)由許多參數(shù)組成,這些參數(shù)在訓(xùn)練過(guò)程中會(huì)進(jìn)行調(diào)整。訓(xùn)練是自動(dòng)改變參數(shù)的步驟,使網(wǎng)絡(luò)輸出盡可能接近給定的輸入- 輸出關(guān)系。
如何將與角色相關(guān)的復(fù)雜信息轉(zhuǎn)換為向量,是目前要考慮的重中之重。有些信息是標(biāo)量,例如角色介紹在維基百科中的排名前后。其他信息,例如角色出現(xiàn)的情節(jié),是一組有預(yù)定義的值。
因此,我們可以創(chuàng)建一個(gè)維度與劇集數(shù)量相同的向量,如果角色出現(xiàn)在相應(yīng)的劇集中,則將維度設(shè)置為1.0,否則設(shè)置為0.0。通過(guò)這種方式,不同種類的信息可以轉(zhuǎn)化為向量,而且這些向量會(huì)相加。最后,書(shū)中的數(shù)據(jù)提供了1561個(gè)輸入維度,電視劇中的數(shù)據(jù)提供了411個(gè)輸入維度。
一般來(lái)說(shuō),變老仍然是影響角色死亡的最重要因素,畢竟,年齡越大,經(jīng)歷的危險(xiǎn)就越多。這就是角色的年齡也要被神經(jīng)網(wǎng)絡(luò)采納分析的原因。
因?yàn)樯窠?jīng)網(wǎng)絡(luò)的輸出只是決定“生存百分比”的一個(gè)維度,所以為每個(gè)角色創(chuàng)建90個(gè)不同的輸入向量是有可能實(shí)現(xiàn)的(每一年對(duì)應(yīng)一個(gè)輸入向量)。如果角色到達(dá)設(shè)定的年齡仍然存在,神經(jīng)網(wǎng)絡(luò)將預(yù)測(cè)該輸入向量為1.0,否則為0.0。
此外,這個(gè)神經(jīng)系統(tǒng)還允許預(yù)測(cè)PLOS隨時(shí)間變化:修改角色的輸入年齡很容易,而且修改會(huì)與PLOS中的變化直接相關(guān)。系統(tǒng)預(yù)測(cè)的角色死亡率僅僅針對(duì)《權(quán)利的游戲》第八季。
為了總結(jié)這一點(diǎn),讓我們看一些關(guān)于預(yù)測(cè)和神經(jīng)網(wǎng)絡(luò)的統(tǒng)計(jì)數(shù)據(jù)。
首先,的《冰與火之歌》里共有484個(gè)可用的角色,其中188個(gè)用于訓(xùn)練(即已經(jīng)死亡),其余296個(gè)存活角色則用于預(yù)測(cè)。最后,書(shū)中數(shù)據(jù)的訓(xùn)練準(zhǔn)確率達(dá)到了88.75%,而最終的驗(yàn)證準(zhǔn)確率為89.92%。
同樣,《權(quán)利的游戲》中提取146個(gè)可用角色,82個(gè)用于訓(xùn)練,64個(gè)用于預(yù)測(cè)。電視劇數(shù)據(jù)最終的訓(xùn)練準(zhǔn)確率為79.64%,最終的驗(yàn)證準(zhǔn)確率為85.69%。
雷鋒網(wǎng)注:更多信息請(qǐng)看:https://got.show
雷鋒網(wǎng)注:【封面圖片來(lái)源:網(wǎng)站名PHYS,所有者:GoT-Team 2019 / TUM】
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。