從風暴英雄感悟波音空難:人機協作還是人機大戰?
文 | superkai
一個刁鑽的角度,從暴雪遊戲風暴英雄來看波音737MAX8空難事件,你會恍然大悟,更能挖掘出諸多關於人工智慧潛在的安全隱患問題。
3月10日,一架衣索比亞航空公司的波音737 MAX 8客機墜毀,機上157人全部罹難。而在5個月前,2018年10月29日,已有一架載有189名乘客和機組人員的印尼獅子航空公司同型號客機墜毀。
由於兩者的相似性,中國民航局第一時間要求國內航空公司停飛波音737 MAX 8,隨後各國紛紛跟進。在衣索比亞航空墜毀的客機殘骸中找到的線索,還有衛星網捕捉到的客機飛行軌跡,均表明事故與印尼獅航失事客機存在類似問題,本來不願停飛波音737 MAX 8的美國態度突然轉變,也加入了停飛波音737 MAX系列客機的行列。
可靠的推測是,波音737 MAX 8客機的飛行控制系統出了問題。具體可能為防止飛機失速的機動特性增強系統MCAS(Maneuvering Characteristics Augmentation System)因感測器故障誤以為飛機失速自動接管飛機強制飛機向下俯衝,導致慘劇發生。
關於事故原因,大家關注的問題是,MCAS系統的許可權很高,如果沒有被關閉,能直接控制飛機,因感測器故障執行錯誤的操作時會跟人工操縱作對爭奪對飛機的控制權,從而展開“人機大戰”,最終導致機毀人亡。
智慧系統如何會跟人類爭奪控制權,發生“人機大戰”,有人可能會有疑問,有一個方法可以親身體會到“人機大戰”這種憋屈,那就是去玩暴雪的遊戲風暴英雄。
在暴雪公司的MOBA遊戲風暴英雄中,有一個合作模式,可以讓玩家跟由電腦控制的敵方隊伍對戰。在這個模式還可以選擇電腦隊友,組建一支玩家跟由電腦控制的隊友混搭的隊伍遊戲。另外,遊戲進行中如有玩家掉線或因其它原因離開遊戲,本來由玩家控制的英雄便會換成由電腦來控制,以保證遊戲繼續進行。
由AI控制角色是遊戲不可或缺的一個重要功能。那麼,玩家跟由電腦控制的隊友混搭的隊伍的“人機協作”如何呢?其實也有“人機協作”變“人機大戰”的慘劇發生。
風暴英雄今年重建開發團隊之後對遊戲釋出了一個升級補丁,其中的一項升級依說明就是對AI的優化,實際結果卻是“負優化”,本來之前遊戲中AI的行為尚可,出了新補丁之後AI一下子變得非常“弱智”,行為不可理喻。之後暴雪對AI進行了一些修復,但至今仍未回到AI崩壞之前的水平。
我們已經習慣了Windows系統不斷升級不斷出新漏洞不斷打補丁,但始終會有新問題出現。波音公司也即將對MCAS系統進行升級,但願能徹底解決客機的安全問題,畢竟一旦出問題很可能會關係到飛機上一百多人的生命安全。
由於飛機的設計問題,波音新增了一個MCAS系統,這個系統正是兩起空難的根源。為什麼會出現這樣的問題,在暴雪的遊戲風暴英雄中可以得到解答。
①人工智慧必然越來越要求更多許可權,越來越自作聰明
在遊戲風暴英雄中,玩家可以通過快捷鍵向由電腦控制的隊友下達各種指示。在早期版本中,玩家是叫電腦隊友幹什麼電腦隊友就幹什麼。但是隨著版本更新,電腦隊友變得越來越不聽話,經常無視玩家的指示自行其是。
畢竟我們想要的是機器人而不是木頭人,木頭人是主人叫做什麼就做什麼技術成分不高,設計者想要的是更智慧的機器人。
在一方面,這種改變看似是進步的。比如說,早期版本,玩家命令電腦隊友攻擊野怪,所有電腦隊友無論距離多遠、正在做什麼事都會趕過來,有時這種行為是一種不合理的耗費。而在現在的版本,玩家命令電腦隊友攻擊野怪,電腦隊友未必會響應玩家的命令,如果相隔太遠,或者正在做什麼AI認為更重要的事,AI會對玩家的命令不理不睬。
但在另一方面,這種改變同時帶來了新的問題。比如說,現在玩家想將所有電腦隊友都叫來一起打野怪中的首領,但很難湊齊人,總有AI不願意聽話,繼續做自以為更恰當的事情。
AI認定地圖機制的優先順序高於打野怪,一旦地圖機制出現,AI便會放棄打野怪的任務趕去事件發生地點,就算野怪已經被打剩一絲血儘可以打完野怪再趕去,這種情況下無論玩家怎樣再下命令讓AI打野怪AI也不會聽你的,就算玩家明知現在這樣的陣容搶地圖機制肯定搶不過AI還是會試圖趕去事件發生地點。諸如此類,有很多肯定錯誤的行動,AI堅持要去做,而拒不服從玩家正確的指令。
人工智慧設計者總是試圖設計出比人類更聰明的人工智慧,給人工智慧行動的優先順序比人工控制更高。這樣會帶來很多問題。
想想看,家裡請來一個保姆是怎樣的情形?如果不是鐘點工,你得給保姆家門鑰匙,也就是系統許可權。你不在家的時候,家裡發生什麼事,你總不能要求保姆先打電話向你請示過才去做吧,你得給保姆一定的自主權。
再進一步,你的保姆常常會覺得自己比你更懂怎樣做家務,就算是你花錢請保姆來幹活的,保姆也未必每一件事都聽你的。有時候保姆會違揹你的意志自以為是地做事情,讓你很抓狂。
就是這樣的,人工智慧設計者並不信任人類,認為人類是有缺陷的,人工智慧應該能比人類做得更好。人工智慧設計者給予人工智慧比人類更高的許可權優先順序。這是一切問題的根源。
波音空難事件也是這樣。波音公司更信任他們的自動控制系統,給予了自動控制系統比人類更高優先順序的控制權限。
別忘了,人類才是人工智慧的領導者,人工智慧歸根到底是服務於人類的。人類更喜歡自己來做決定,將生死大權抓在自己手上,這樣,出了事故也能將責任歸咎於某一個人身上,而非冰冷的機器。人工智慧的設計原則,應該是人類優先才對。
②統一的人工智慧系統比多個分散獨立的人工智慧系統更好控制
在遭遇複雜的情況下,這時很難找到一種絕對正確的處理方法。就像行軍打仗,沒有絕對可行的制勝之道。就像玩風暴英雄,也沒有穩贏的打法。或者就像帶小孩,特別是什麼事都能幹出來的熊孩子,一樣沒有絕對正確的方法。很多時候唯有隨機應變,因地制宜。而且每一種處理方法各有利弊,需要權衡。
跟人一樣,人工智慧做決策永遠不斷會有新的平衡問題出現,尤其是複雜的機器、系統,遇到複雜的情況。平衡搞不好,就會顧此失彼。
觸發器滿足條件立即觸發是原罪。波音737 MAX 8客機的MCAS系統有一個缺陷,就是隻要有一個感測器的資料出現異常便馬上進行處理做出操作。而空客類似的保護系統需要兩個或三個感測器同時報警,以防誤報情況發生。
在複雜的情況下,需要綜合各方面資料,才能作出恰當的處理。但是,無論在什麼領域中的應用,在程式設計上,程式設計師通常都是設計成設定好觸發器之後一旦滿足條件立即觸發操作,這樣的程式簡單直接,但有致命的硬傷。
當有某個觸發器接收到的資料有錯誤時,程式馬上作出的錯誤操作,有可能是無法挽回的致命錯誤。譬如波音空難。
另外,通常情況下,程式中會有多個觸發器,當有多個任務同時進行,同時觸發多個觸發器作出操作時,就會彼此矛盾。
暴雪遊戲風暴英雄中AI的行為便是明眼可見很好的例子。在遊戲中,經常會看到電腦控制的英雄傻乎乎地原地打轉。這是為什麼?
就是因為上面所說的,多個任務同時進行同時觸發多個觸發器作出操作造成彼此矛盾。AI接收到A事件打算趕往A地點,而同時又接收到B事件打算趕往B地點,兩個觸發器不斷觸發彼此矛盾的操作,AI並不會作出唯一的選擇,而是就只會在兩個選擇中不斷迴圈,結果什麼都做不了。
直至某一個事件結束,AI終於不用作出選擇了,這時才會去做另一事件,如A事件結束AI就做B事件,或B事件結束AI去做A事件。
就好像,小明的爸爸叫小明掃地,小明的媽媽叫小明去買醬油,傻乎乎的小明準備掃地時突然想到要買醬油就趕緊跑出家門,但出了家門又猛然想起要掃地緊忙又跑回家裡,回到家門又想起要買醬油……如此如此,這般這般,陷入了無限的死迴圈。直至媽媽把掃地這活幹完了,小明不用掃地了,這才安心出門去買醬油;或者爸爸把醬油買了,小明就老老實實地在家掃地了。
同時進行的事件總有輕重。比如說,小明想在家掃地,但這時突然發生地震,得趕緊跑出家門逃命。在AI程式設計上常常會見到這樣的低階錯誤:地震發生後小明馬上跑出家門,但一離開家小明又想到要掃地於是又回去了,剛一進家門又意識到地震了得趕緊跑出去逃命啊,於是小明就在家門口不斷進進出出,無限迴圈下去,結果被地震震死了……
在風暴英雄遊戲中這種情況可不少。當核心被攻擊時,在外面的AI死活就是不回城救援,結果核心被爆遊戲也就輸了。其實AI並不是完全沒有意識到要回去,而是當AI想要回城的時候,同時又有別的事件發生,打斷了AI的回城,AI又去做別的事情了,這就是典型的撿芝麻丟西瓜。
AI並不是堅決不回城,而是在猶猶豫豫中始終無法作出回城的決心。
不恰當的AI程式設計,很容易陷入撿芝麻丟西瓜、撿西瓜丟芝麻這樣不斷的死迴圈中。需要有一個決策的大腦,綜合各項情況作出恰當的抉擇。
從另一方面來看,也就是必然需要一個統一的人工智慧系統,而非多個分散獨立的人工智慧系統。
波音737 MAX 8客機的一個癥結所在,就在於MCAS系統是獨立於自動駕駛系統之外的。由於感測器的資料出現錯誤,MCAS系統將機頭往下壓,就算距離地面只有一米了還死不悔改。
如果MCAS系統是從屬於主自動駕駛系統的,自動駕駛系統可以綜合飛機各項資料分析,找到某項資料跟另一項資料存在的矛盾,處理方面的策略穩妥一些,就不會死腦筋一味向下俯衝導致墜機慘劇發生了。
③人工智慧如何正確理解人類的意圖是一個永遠的難題
複雜的機器,完全由人工操縱是不可能的。人機協作是必需的。在人機協作中,必然要求人工智慧正確理解人類的真實意圖。
比如說,飛機在飛行過程中,正面有一個障礙物體出現,這時飛機可以向上飛繞開,也可以向下、向左或向右,這些選擇都可以,但如果駕駛員想向上閃避,而人工智慧想向下閃避,兩者造成了衝突,什麼都幹不了,眼睜睜看著飛機撞上去造成慘劇發生,這是不行的。
機師想拉昇飛機,MCAS系統卻想將飛機往下壓,這樣的事故不應發生。
在實際應用中,應該給予人類操縱者最高的許可權,人工智慧的地位不能凌駕於人類之上越權操作。人工智慧畢竟不是真人,要想人工智慧絕對正確地理解人類的意圖是不可能的,解決方法就是人類擁有最高領導權。
也可以這樣理解,你家的保姆不可能完全明白你的需求,你家的最高許可權得在你手裡,你不準保姆做的事保姆可不能擅自行動,可否明白?
人機協作的過程中,如果人工智慧不能正確理解人類的意圖,兩者之間的配合出現問題,有時還不如完全由人工智慧控制的效果。
這在風暴英雄中得到了很好的印證。在合作模式中,玩家選擇電腦隊友組建一支玩家跟由電腦控制的隊友混搭的隊伍跟由完全電腦控制的敵方隊伍對戰時,會遭遇很多這樣的問題。
比如說,地圖機制發生時,如果電腦控制的敵方隊伍先一步到達事件地點,己方的AI很可能就死活不願前往事件地點了。這種詭異的現象,究竟是因何導致?
是這樣的,電腦隊友並不能確定玩家是否前往事件地點,事件地點已經有了對面5個AI了,己方4個AI各自一盤算,4個AI是打不過5個AI的,就放棄前往事件地點了。
己方4個AI是有著各自的獨立靈魂的,常常有的AI試圖前往事件地點,而有的AI已經放棄前往事件地點,兵力無法集結,寡不敵眾,於是乎當然幹不過對面5個AI啦,打的話只能是一個個去送死。而對面5個AI,因為是完全由AI控制的角色,卻能達成一致,統一向事件地點運動,在團戰中獲利。
還有這樣的情況,縱然玩家儘快或提前趕到事件地點,跟己方4個AI匯合,這時對面5個AI趕到,團戰開始,玩家為了躲技能往後閃避了一下,己方4個AI馬上自作聰明以為玩家要撤退了,都跟著往後逃跑了,於是乎,團戰崩盤了。
可以看到,玩家要想在搶地圖機制時搶贏對面5個AI,須要在地圖機制發生之前提早抵達事件地點,或者在地圖機制發生時比對面5個AI提前一步來到事件地點,同時別忘了發指令命令電腦隊友前往事件地點,在接戰時儘量不要為了躲技能往後閃避,這樣才有贏面。
所以說,一定要有一個統一的人工智慧系統,不能是多個分散獨立的人工智慧系統,波音737 MAX 8客機獨立於自動駕駛系統的MCAS系統就是禍根。人工智慧永遠不可能正確理解人類的真實意圖,在人機協作的過程中,人類需要享有絕對的最高控制權,人類才是領導者。
更多精彩內容,關注鈦媒體微訊號(ID:taimeiti),或者下載鈦媒體App