日前藉著全球最大的遊戲開發大會GDC17的機會,英偉達宣布推出最新款遊戲用顯示卡GeForce GTX 1080 Ti。新顯示卡採用16納米製程Pascal架構,具備3,584個CUDA核心以及高達11GB的顯存,從紙面參數上新核彈比上一代遊戲/通用運算多用途顯示卡Titan X性能稍強一些,比自己的前輩產品GTX 1080也強了35%。
但在新核彈的喧囂之餘,PingWest關注到了英偉達在遊戲開發方面的更多主張和嘗試。 這家稱自己「All about AI」的運算技術公司,正在快速改變遊戲和AI的關係。
此AI非彼AI。在過去,遊戲AI可以指所有非玩家角色 (NPC),比如劇情中的配角、Boss和商人等,也可以再進一步,泛指所有遊戲的非玩家內容,比如作戰機制和商業系統等等。它是由人設計的。
但英偉達覺得,遊戲產業即將進入一個新的AI時代——用AI來輔助設計和開發遊戲,而且品質並不遜於人工製作。
「簡單來說,過去的AI就是規則和腳本,讓AI照著你的設計行動,再到後來有了決策樹,更先進一些。」英偉達應用深度學習研究部(Applied Deep Learning Research) 副總裁布萊恩·卡坦薩羅稱。但他認為,隨著深度學習技術突飛猛進式發展,AI可以幫助開發者生成音畫素材,甚至劇情、任務等機制性的內容。
過去兩年,英偉達已經帶來了多項基於機器學習和神經網絡的工具,以解決遊戲開發者面臨的棘手難題。舉個例子,大型遊戲的一大特點是畫面精美,但這需要美工畫師和視覺設計師巨大的精力去創作材質。受制於人員和財力,中小開發者往往在視覺質量上打了折扣,更多人選擇了矢量化,甚至更粗糙的視覺風格。
英偉達高級開發技術經理安德魯·艾德斯登展示了一項名叫2Shot的技術,讓開發者更輕鬆地從真實世界中提取材質,應用到遊戲中:只需分別打開和關閉閃光燈,用手機拍攝兩張對象材質的照片,運算機將對它們進行自動處理,幾分鐘後即可生成素材文件。
2Shot極大降低了開發者優化材質的技術門檻,但它仍有很大的提升空間。英偉達在去年又提出了1Shot技術,採用更強大的神經網絡進行運算,只需一張照片就能生成素材,時間也降低到了數秒的時間。2Shot的生成素材質量已經達到了工業級,而1Shot的質量還有待提高,但它們已經證明了機器學習和神經網絡在遊戲開發方面的應用前景。
布萊恩·卡坦薩羅
英偉達還展示了另外兩種技術,分別名為Texture Multiplier和Super-Resolution。
Texture Multiplier(材質複製器)類似於視覺特效人員常用的「材質增生」(texture mutation) 技術,最大的不同是採用了經過了大量訓練的捲積神經網絡(Convolutional Neural Network) 作為生成器,生成的效果高度接近真實,達到了肉眼難以分辨的水平。Texture Multiplier將使得美工人員可以快速製作美觀的大片面積材質,不再給人一種「你這材質複製黏貼的吧!」的感覺……
而Super-Resolution(超分辨率)則聽起來更為科幻。記不記得《神鬼認證5》裡的情節:CIA特工在雅典憲法廣場上尋找伯恩,用模糊的定格畫面,「放大、增強!」(Zoom, enhance),然後就獲得了一張特別清晰的照片,確定了目標?
其實過去根本沒有這種高科技……至少在《神鬼認證5》拍攝期間還沒有,直到最近才有類似的出來。前不久Google的大腦團隊實現了將8×8像素分辨率的,極度粗糙和顆粒化頭像,還原成比較清晰的,達到了32×32分辨率的頭像,而英偉達也在做類似的事情。
該公司研究者採用的具體訓練方法(注意:和其他機構方法類似,可作參考),是先把大量的高清晰度照片「縮小」(downscale)到非常低的清晰度,僅保留非常有限的特徵,同時另外把這個降級過程中損失的特徵保存下來。
採用這種方式處理了大量的高清圖片之後,研究者獲得了海量損失掉的特徵。他們將這些特徵整理合成一個「特徵規律庫」,就像辭典一樣,意圖在於告訴神經網絡:再去「放大」 (upscale) 圖片的時候,按照這個辭典去操作。當然,具體操作起來比這個口頭敘述的流程複雜得多,這個卷積神經網絡模型需要數天的時間才能完成訓練。
在此前的測試中,Google大腦團隊的同類技術能夠成功還原90%被打馬賽克的人臉,算是一個十分驚人的成績。而英偉達則不滿足於低清晰度,希望追求更「感人」的分辨率。艾德斯登告訴 PingWest,該公司已經在實驗室中實現僅花「很快」(數秒)的時間將1K分辨率重組為4K分辨率的高清照片。
這種技術能為遊戲帶來什麼改觀?英偉達期待它能夠在未來,讓遊戲在更小容量的基礎上,顯著提高材質的清晰度和視覺效果。舉個例子:在射擊遊戲中,當玩家舉起狙擊槍,瞄準鏡裡能顯示出更清晰的遠處畫面和材質。
不光是英偉達,Google旗下的英國人工智慧技術公司DeepMind,也在考慮用神經網絡在遊戲上搞點事情——當然如果你有印象的話,過去曾經傳出人工智慧在《打磚塊》、《星際爭霸》、《毀滅戰士》乃至於圍棋上碾壓人類的消息,大多都是DeepMind搞出來的……
該公司在去年訓練了一個名叫WaveNet的人工智慧,讓運算機生成的語音和人類原聲越來越難以區分。WaveNet和過去的串聯式語音合成、參數式語音合成不同,將語音的原始數據(波性文件)細分到了以1毫秒為單位的區間,在每一個區間之間都採用遞歸神經網絡(Recurrent Neural Network) 和卷積神經網絡進行預測學習。
WaveNet的結構演示
最後, DeepMind用Google自家的TTS語音轉文字(目前世界上得分最高的該類技術)數據集進行測試,比Google TTS的得分高了10個百分點——但將Google TTS與人類原聲之間的距離縮短了一半還多。
雖然玩遊戲的時候,基本沒人會特別仔細地聽每一句對白,但不意味著開發者應該在這方便節省。WaveNet將會成為遊戲開發者的福音,「想像一下,當你需要調整劇情的時候,可以用運算機生成配音,不必再花錢請配音演員回來重錄,甚至完全不用配音演員。」卡坦薩羅稱。
你可以到WaveNet的網站上試聽一下效果,跟真人聲音差距真的很小。
好吧,現在AI有了生成聲音、視覺材質等元素的能力,接下來呢?
就在上週,遊戲開發公司Nival宣布了一個振奮人心的消息:他們給2015年發售的在線即時戰略遊戲《閃電戰 3》開發了一個神經網絡決策AI:Boris。
在一則演示影片中,Boris顯示出了「風箏」敵方單位的能力(指吸引敵對目標,帶其到處亂跑以打亂策略的行為);還可以在明顯具有劣勢時消極應戰而非拼死頑抗,以起到保存火力的目的;當戰場中有新的敵人加入,Boris會自動分配部隊火力到不同的目標上,也會根據敵方火力級別,自動指揮士兵坐上砲台,而不是傻站在地上,用步槍拼坦克。
更有趣的是,當雙方對抗佔點時,Boris會選擇性忽視那些擋路的殘血敵軍,優先搶點再等待機會擊殺—— 這一特徵顯示出了Boris AI對不同獎勵(reward)級別的理解,能夠優先追求與全局獲勝關係更大的獎勵。
Nival明確表示Boris沒有使用遊戲內核的任何地方數據,只使用對玩家可見的戰場情況,每幾秒鐘進行一次決策。Boris的更多技術細節暫未公開。
在遊戲開發中應用AI技術,還有很大的想像空間。
去年,OpenAI用《俠盜獵車手5》開發出了一個名叫DeepDrive 的「自動駕駛模擬器」。由於遊戲內部的車輛行駛數據應有盡有,OpenAI發現其實可以用遊戲數據來訓練自動駕駛系統。雖然後來研究者刪除了與該模擬器有關的內容(這裡有一個Twitter上的映片演示,這項技術所屬的專案官網還在),該事件還是令人印象深刻,它賦予了人們審視AI和遊戲之間關係的新視角。
像《俠盜獵車手》這樣的開放世界遊戲,開發公司花費多年時間設計了大量的任務關卡,但最快的玩家不出幾十個小時就能玩完全部的內容,繼而希望獲得更多的內容。然而開發公司要花更多精力在下一款遊戲上,無暇顧及上一代(實際上開發公司R星的做法是用一個相對較小規模的團隊維護遊戲,繼續添加新的在線遊戲模式)——未來,AI會不會獲得生成任務、關卡、劇情的能力,以至於可以獨立完成一個完整的遊戲?
卡坦薩羅認為那樣的未來會很棒,但應該只存在於設想階段,「 我覺得設計關卡和任務最難的地方在於,你怎樣能讓新關卡和任務足夠有趣,這是目前AI還不能取代設計師的地方。你可以讓AI生成對白,生成材質,但將對白、視覺、機制和劇情進行有序、有趣的拼接,它還做不到。我想可能有些幽默只有人懂。但我可以想像AI 未來能夠輔助設計師更快推出新的關卡和任務,那很將令人期待。」
聊到這裡,我倒是有點擔心了。
你說,AI設計的遊戲,會不會把玩家虐成狗?沒準AI早就想在模擬環境裡先感受一下,取代和虐殺人類是一種什麼樣的感覺吧……?
本文授權轉載自:PingWest