谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

jopen 7年前發布 | 27K 次閱讀 DeepMind Lab

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

全世界的人工智能(AI)研究人員很快就能使用 DeepMind 的旗艦平臺,來開發能夠自主學習和思考的創新性計算機系統了。

DeepMind 是谷歌 2014 年以 4 億英鎊收購的人工智能部門,目前正在打造一系列能夠自主學習和思考的智能計算機系統。DeepMind 近日宣布,將其 AI 核心平臺“DeepMind Lab”開源,供研究人員和開發者進行實驗和研究。

關注“AI 世代”(tencentAI),回復“DeepMind”,可獲得該論文中文 PDF 版下載。

DeepMind 稱,DeepMind Lab 是一個類似于 3D 游戲的平臺,專為基于智能體(Agent,即虛擬代理)的 AI 研究而定制。

DeepMind 創建于 2010 年,致力于研發 AI 智能體。其所開發的 AI 智能體能夠熟練操控許多街機游戲,如《太空入侵者》(Space Invaders)和《吃豆人》(Pac-Man)等。近期,又在復雜的圍棋比賽中戰勝了世界高手李世石。

對于 DeepMind Lab,DeepMind 聯合創始人謝恩·萊格(Shane Legg)和其他幾名員工在一篇博客文章中稱:“它從自己的視角,通過模擬智能體的眼睛進行觀察。它以豐富的科幻視覺來呈現場景。可用的操作能讓智能體環顧四周,并以 3D 的形式移動。智能體的外形是一個懸浮的球體,它的懸浮和移動是通過激活與期望運動方向相反的推動器來實現。它還擁有一個攝像頭,能觀察其旋轉時的動作。”

“示例任務包括收集水果、走迷宮、穿越危險的通道且要避免從懸崖上墜落、使用發射臺在平臺間移動、玩激光筆、以及快速學習并記住隨機生成的環境。”

DeepMind Lab 將幾個不同的 AI 研究領域整合到一個環境下,以方便研究人員測試 AI 智能體的導航、記憶和 3D 視覺等能力,以及在計劃和策略方面的表現。

DeepMind 在博客中稱:“這里的每個任務都被視為處于前沿的研究問題。我們把它們放在一個平臺上,代表了這個領域的一個重要的新挑戰。”

DeepMind Lab 具有較高的適應性,并且可擴展。它包括一個可編程的關卡生成(level creation)界面,可根據玩游戲的邏輯、拾起物體、特定觀察、關卡重玩、獎勵機制、游戲內消息生成定制化關卡。

DeepMind 稱:“我們相信,它已經對我們在多方面智能(包括自然智能和人工智能)的理解上,產生了重大影響。但是,我們目前的努力還只挖掘出 DeepMind Lab 潛力的一小部分。對于一些目前尚未涉及、但可以在 DeepMind Lab 上有所作為的研究領域,仍有許多重大發現的機遇,如導航、記憶和探索。”

Deepmind 表示,將把 DeepMind Lab 平臺的全部代碼上傳至 Github (一個面向開源及私有軟件項目的托管平臺),供研究人員和開發者進行實驗和研究。

以下為 DeepMind 在公司網站上發布的關于 DeepMind Lab 的學術論文(回復“DeepMind”,可獲得該論文中文 PDF 版下載):

摘要

DeepMind Lab 是一個第一人稱 3D 游戲平臺,專門為研究通用人工智能和機器學習系統而設計。DeepMind Lab 可用于研究自動代理如何在大型、部分可視、視覺多樣化的環境中學會執行復雜任務。DeepMind Lab 有一個簡單靈活的 API,可用于探索創造性的任務設計和全新的 AI 設計,并快速迭代。它由一個快速且被廣泛認可的游戲引擎所驅動,并針對開發者社區的高效利用進行了定制。

介紹

通用智能(GI)衡量一個智能體(agent,即虛擬代理)在各種環境下實現目標的能力。當前在自然世界中已知的唯一通用智能的例子就是動物。動物在基于物理和感官的條件下,通過演化、發育、學習產生了智能。而人類和其他動物的智能在很大程度上可能是因為所處環境的多樣性所導致的結果,沒有這種環境,智能可能無法產生。其中一個選擇就是直接研究物理世界中的機器人的具體化智能(EI),但這方面的研究通常會遇到一些因素的阻礙,如時間過得太慢,相關的硬件成本太高。另一個選擇就是研究逼真的虛擬世界,這樣上述兩個阻力都能得到解決。

之前,創建逼真的虛擬世界以作為 AI 研究平臺的工作受到了巨大的工程(engineering)量的阻礙。這一次,為解決該問題,我們推出了 DeepMind Lab。DeepMind Lab 是一個第一人稱 3D 游戲平臺,建立在游戲開發商 id software 公司的《雷神之錘3:競技場》(Quake III:Arena)游戲引擎之上。

它以豐富的科幻視覺來呈現場景。可用的操作能讓智能體環顧四周,并以 3D 的形式移動。示例任務包括收集水果、走迷宮、穿越危險的通道且要避免從懸崖上墜落、使用發射臺在平臺間移動、玩激光筆、以及快速學習并記住隨機生成的環境。DeepMind Lab 已經成為 DeepMind 內部的一個主要研究平臺。例如,它被用于開發強化學習的異步方法、無監督的輔助工作,以及學習導航等。

人們可能會將 DeepMind Lab 與其他游戲 AI 研究平臺(強調“像素到行動”的自主學習智能體)相比較。例如,DeepMind 之前使用的“街機學習環境”(Arcade Learning Environment)既不是 3D,也不是第一人稱。而在 3D AI 研究平臺中,DeepMind Lab 不僅能與 VizDoom 和 Minecraft 等平臺相提并論,還擁有比這些平臺更強大的功能。例如,DeepMind Lab 擁有更豐富的視覺效果和更自然的物理效果。

DeepMind Lab 的人工通用智能(AGI)研究主要強調原始像素輸入(raw pixel inputs)、第一人稱視角、運動控制、導航、規劃、策略、時間,完全自主的智能體必須通過探索周圍環境自主學習要執行什么任務。所有這些因素都使得學習變得非常困難。這里的每個任務都被視為處于前沿的研究問題。我們把它們放在一個平臺上,代表了這個領域的一個重要的新挑戰。

DeepMind Lab 研究平臺

DeepMind Lab 建立在游戲開發商 id software 公司的《雷神之錘3:競技場》(Quake III:Arena)游戲引擎之上。DeepMind Lab 還包含一些工具,主要來自 q3map2(GtkRadiant,關卡編輯器)和 bspc (bspc,關卡編輯器),用于關卡生成(level generation)。機器人(bot)腳本基于 OpenArena 項目(《雷神之錘3:競技場》的開源內容包)代碼。

針對機器學習定制

我們創建了一套定制化資產,讓 DeepMind Lab 別具風格,與眾不同。

它尤其專注于豐富的視覺效果,針對機器學習而定制。

經過強化的 API 建立在游戲引擎之上,提供具有復雜觀察能力、能承受一系列動作的智能體(agent)。

與平臺的互動采取“鎖步”(lock-stepped,前鎖、后鎖或旁鎖等)方式。根據用戶制定的幀率,引擎每次向前走一步(虛擬模擬。如果需要,可以通過重復動作向前走多步)。這樣,在提供一個觀察之后,游戲就會暫停,直至智能體給出下一步動作命令。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖1:提供給代理的觀察。在我們的實驗中,獎勵和像素足以用來訓練一個智能體,而深度和速度信息可用于進一步的分析。

觀察

每一步,引擎都會提供基于獎勵和像素的觀察,而速度信息是可選的。

1. 獎勵信號的標量值,也就是每一關(游戲)的分數。

2. 平臺提供對原始像素(由游戲引擎從玩家的第一人稱視角而提供)的訪問,格式為 RGB 像素。當然也有 RGBD 格式,后者提供了像素的深度信息。

3. 對于特定的研究應用,智能體的平移和角速度信息會提供更多幫助。 這些信息將作為兩個獨立的 3D 矢量形式存在。

動作

智能體可提供多種模擬動作來控制運動(向前/向后、向左/向右開炮、蹲、跳)、觀看(上/下、左/右)和標記(激光標記關卡),見圖2。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖2:動作空間包括 3D 運動和兩軸觀察

示例關卡

圖 7 和 8 展示了智能體的第一人稱視角截屏。關卡可分為四類:

1. 基于靜態地圖的簡單的水果收集關卡。這些關卡的任務就是收集蘋果和瓜類,但要避開檸檬。

2. 基于靜態地圖布局的導航關卡。這些關卡的任務是測試智能體在迷宮中尋找出路的能力。

3. 程序生成的導航關卡,需要探索由程序隨機生成的新迷宮。這些關卡旨在考驗智能體探索新環境的能力。

4. 激光標記關卡,需要智能體使用像激光一樣的科幻工具來標記由游戲內置 AI 所控制的機器人(bot)。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖3:靜態迷宮關卡的“自上而下”視圖。

技術細節

最初的游戲引擎使用C語言編寫,以確保其兼容性(引擎未來變化),只會在必要時做出修改。而 DeepMind Lab 提供一套簡單的 C API,并提供了 Python (編程語言)的動態關聯(binding)。

該平臺包含一個廣泛的關卡 API,使用 Lua 編寫,可用于定制關卡。這種方法使該平臺變得高度靈活,只需要對原始游戲引擎進行最低限度的修改。

DeepMind Lab 支持 Linux,并在多個主要分發平臺上進行了測試。

面向智能體和人類的 API

DeepMind Lab 可以窗口形式運行,但也支持非窗口環境,如遠程終端。渲染使用 OpenGL,既可以使用 GPU 渲染,也可以使用軟件渲染工具。

一個 DeepMind Lab 范例是,使用用戶設定啟動項目,如關卡名稱、屏幕分辨率和幀率。項目啟動后,使用簡單的 RL 類型 API 與環境互動,見圖4。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖4: Python API 示例

關卡生成

DeepMind Lab 關卡使用的是《雷神之錘3:競技場》的關卡。它們被打包到:pk3 文件(ZIP 文件)中,包含許多組件, 如關卡幾何圖形、導航信息和紋理(貼圖)等。

DeepMind Lab 包含一些工具,可通過:map 文件生成地圖。手動編輯自然費力費時,但可以使用許多免費的編輯器,如 GtkRadiant。除了內置和用戶提供的關卡,DeepMind Lab 還提供“文本關卡”(Text Level),即一些簡單、人類可讀的文本文件,用來指定墻壁、重生點(游戲中玩家重生的地點)和其他游戲機制,見圖5。圖 6 就是一個生成后的關卡渲染圖。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖5:文本關卡示例,‘*’代表“墻壁”,‘P’是一個“重生點”, ‘H’和‘I’代表“門”。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

圖6:圖 5 中的“文本關卡”所代表的關卡渲染圖。

對于基于 Lua 的關卡 API,每一個關卡都可以根據玩游戲的邏輯、拾起物體、特定觀察、關卡重玩、獎勵機制、游戲內消息等進行定制。

效果和性能

下圖中的表 1 和 2 展示了 DeepMind Lab 內置的兩個典型關卡、在不同分辨率下的表現。表中所列出的幀率是通過連接到一個智能體(正通過 Python API 執行任意動作)后計算出的。

計算環境為:Linux 臺式機,基于英特爾 6 核 3.50GHz 至強處理器和 NVIDIA Quadro K600 GPU。

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

表1: 幀率(幀/秒),nav_maze_static_01 關卡(即前文所述的四類關卡中的第二類:基于靜態地圖布局的導航關卡)

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

表2: 幀率(幀/秒),lt_space_bounce_hard 關卡(即前文所述的四類關卡中的第四類:激光標記關卡)

總結:

DeepMind Lab 可以對擁有豐富科幻視覺的 3D 環境進行研究,它能推動創新性任務的開發。我們還能通過 DeepMind Lab 建立一系列廣泛的環境、任務和智能測試。將來,我們也期待開發者社區能推出更多的應用。(編譯/譚燃)

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

谷歌DeepMind Lab開源,全部信息都在這了(附中文版論文)

來自: 騰訊科技

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!