寶藏!Facebook開源了三個深度學習框架,瞭解一下

全文共3009字,預計學習時長

9分鐘

寶藏!Facebook開源了三個深度學習框架,瞭解一下


你知道嗎?微軟、谷歌、Facebook、亞馬遜、Uber等科技巨頭的研究部門已經成為人工智能(AI)領域開源框架最活躍的貢獻者之一。

他們的貢獻結合了已在內部解決方案中進行了大規模測試的堆棧,以及來自他們的研究實驗室的一些非常先進的思想。雖然世界上最大的技術公司能積極為開源深度學習做出貢獻是令人興奮的,但這讓數據科學家很難跟上該領域的新發展。今天,本文要講一講上個月Facebook人工智能研究(FAIR)開源的三個新版本。


寶藏!Facebook開源了三個深度學習框架,瞭解一下

快速增長的趨勢下,這會產生什麼影響?


FAIR一直是深度學習領域研究和開源框架的定期貢獻者。從PyTorch到ONNX, FAIR團隊為實現深度學習應用程序的簡化做出了不可思議的貢獻。在過去幾周裡,FAIR增加了三個新的系列開源框架。


Polygames


Polygames是一個開源的研究框架,通過自我遊戲的方式來訓練深度學習網絡。Polygames基於著名的“零學習”概念,即允許代理無需進行任何預先設定的訓練,而是通過與環境交互來掌握環境。


乍看之下,Polygames似乎與Alpha Zero或ELF OpenGo等其他遊戲學習框架類似,但FAIR堆棧也有自己的貢獻。對於初學者來說,Polygames支持更廣泛的戰略遊戲列表,如Hex、Havannah、Minishogi、Connect6、Minesweeper、Mastermind、EinStein wurfelt nicht!、Nogo和Othello。他們為研究人員提供了更廣泛的環境來測試深度學習網絡。


此外,Polygames還以一個巧妙的架構擴展了傳統的零學習概念,該架構結合了深度神經網絡和蒙特卡羅樹搜索方法。這種架構允許網絡泛化到更多的任務和環境。Polygames框架的一個意想不到的好處是代理中神經可塑性的創建。Polygames的模型是漸進式的——框架帶有一個用於添加新層和通道或增加內核寬度的腳本——它們能夠進行熱啟動訓練,允許神經網絡隨訓練成長。


從編程模型的角度來看,Polygames提供了一個包含遊戲的庫,以及一個實現遊戲的單文件API。開發人員的經驗是基於PyTorch的,因此易於上手。


FAIR團隊在Polygames上取得了一些里程碑式的成績,包括在Hex19遊戲中擊敗人類頂級玩家。該遊戲由詩人、數學家皮特·海因(Piet Hein)、 約翰·納什(John Nash)和經濟學家於20世紀40年代開發,它挑戰了一些傳統的人類遊戲思維過程。規則很簡單。黑色和白色依次填充一個空單元格。如果把北方和南方連接起來,黑人就贏了;如果把西方和東方連接起來,白人就贏了。餡餅規則使遊戲更加公平:在第二次移動時,第二個玩家可以決定交換顏色。


這款遊戲之所以困難,是因為作為一款連接遊戲,它的獎勵是基於全局而非局部的標準。


在一系列的實驗中,Polygames在Hex遊戲中擊敗了人類中的頂尖玩家。結果如下圖所示,在圖中,人類玩家操縱白色棋子。第一個圖像表示Hex的開局。在遊戲的第二階段,人類(白色)似乎贏了——兩個堅實的組分別連接到東和西,並互相互靠近連接。然而,Polygames能夠扭轉這種局面,創造了一個相當複雜的中心位置。隨著Polygames使用兩個可能的路徑之一,它找到了一個成功的組合並展開了這個位置。


寶藏!Facebook開源了三個深度學習框架,瞭解一下

Polygames已經在GitHub上開源了


PyTorch3D


PyTorch3D是一個用於在3D環境中訓練深度學習網絡的框架。儘管有大量的視覺智能系統需要在現實環境中運行,但在3D環境中訓練這類智能體的工具和框架仍然受到高度限制。PyTorch3D是一個高度模塊化和優化的庫,具有獨特的功能,旨在讓使用PyTorch的3D深度學習更容易。PyTorch3D為快速可微的3D數據提供了一組常用的3D操作符和損失函數,以及一個模塊化可微繪製API,使研究人員能夠立即將這些函數導入當前最先進的深度學習系統。


PyTorch3D利用了最近在3D深度學習方面的幾個最新里程碑,如FAIR的MeshR-CNN,它實現了複雜室內空間圖像的完整3D對象重建。該框架還使用Detectron2,這是一個高度優化的2D識別庫,可以成功將對象理解推向第三維。PyTorch3D處理旋轉和3D轉換的功能也是創建C3DPO的核心,C3DPO是一種使用較少註釋的訓練數據學習圖像和3D形狀之間關聯的新方法。


PyTorch3D的一些關鍵貢獻包括:


· 用於存儲和操作三角形網格的數據結構:PyTorch3D將3D表示存儲在稱為網格 (Meshes) 的數據結構中。這種數據結構使得研究人員很容易快速地將底層的網格數據轉換成不同的視圖,以匹配最有效表示數據的操作符。

· 三角網格上的高效操作:PyTorch3D包含一系列操作,用於優化幾個常用操作符和3D數據的損失函數,支持異構批量輸入。這意味著研究人員和工程師可以在PyTorch3D中導入操作符,以便更快地進行實驗,而不必在每個新項目開始時重新創建或使用操作符。

· 可微分網格渲染器:PyTorch3D包括一個模塊化的可微分渲染器。渲染器由可組合的單元組成,使得用戶能輕鬆擴展渲染器來支持自定義照明或陰影效果。


寶藏!Facebook開源了三個深度學習框架,瞭解一下

PyTorch3D請參見GitHub


HiPlot


探索高維數據是深度學習應用的挑戰之一。HiPlot是一個交互式可視化工具,它幫助人工智能研究人員發現高維數據中的相關性和模式,並使用平行圖和其他圖形方式來表示信息。HiPlot使用一種稱為平行圖的技術,這是一種可視化和過濾高維數據的方便做法。


從功能的角度來看,HiPlot與其他可視化工具相比有以下幾個優勢:


· 交互性:在HiPlot中,平行圖是交互式的,這使得在不同的場景中可視化很容易。例如,你可以專注於沿著一個或多個軸獲取範圍或值,根據另一個軸設置配色方案,重新排序或刪除軸,或提取特定的數據選擇。

· 簡潔性:使用Hiplot只需要幾行代碼。通過帶有“Hiplot”命令的服務器,就可以通過一個給定的URL訪問它,並使用它來可視化、管理和共享實驗。

· 基於種群的訓練可視化:HiPlot提供了一種簡單的方法來可視化XY圖中基於種群的訓練實驗,該圖中,不同數據點之間是有邊緣的。這種可視化在深度學習實驗中非常普遍。


寶藏!Facebook開源了三個深度學習框架,瞭解一下

Hiplot請參見GitHub


在深度學習的幾個領域,Facebook的FAIR團隊還在繼續創新,並積極為開源社區做出貢獻。PyTorch3D、Polygames和HiPlot是FAIR的最新貢獻,旨在實現深度學習應用程序的簡化。


期待未來會有更多的進展!

寶藏!Facebook開源了三個深度學習框架,瞭解一下

我們一起分享AI學習與發展的乾貨


分享到:


相關文章: