Julia Computing 和MIT 引入可微編程系統連接人工智能和科學計算
科學計算,是使用計算模型來解決科學和工程問題,它近年來從人工智能機器學習技術的迅速發展中獲益良多。現在,研究人員正在探索連接這兩個世界的方法。Julia Computing & MIT的一個研究小組提出,廣泛的科學計算和機器學習領域都需要在其底層結構上支持線性代數。
該團隊引入了一種新的可微編程(∂P)形式的計算基礎結構,它可以計算模型梯度,並將自動微分集成到語言中作為一種一流的特性。程序員可以直接用Julia 編程語言和microProgramming 編寫模型。
該系統幾乎支持所有的編程語言(Python,R,Julia 等),並能構造和編譯高性能代碼,而不需要任何用戶干預或重構來進行計算。這使程序員能夠使用現有的Julia 科學計算包構建深度學習模型,並有效地實現梯度計算。
可微編程是一種編程範式,其中程序可以完全區分。基於提供的數據集,神經網絡自動學習從輸入數據X 到最終操作結果Y (都是整個程序)的映射;或者結合程序員提供的高級代碼,神經網絡作為中間函數來完成整個程序。
Facebook 首席人工智能科學家Yann LeCun 對可微編程的使用發表了評論:
人們現在正在通過組裝參數化功能塊網絡,並通過使用某種形式的基於梯度的優化,從實例中訓練它們,從而構建一種新的軟件。
作為機器學習和科學計算學科共同共享基礎設施的基礎,這種可微的編程系統通過使用相同的技術來區分兩個領域中的程序,允許新的應用程序將各個領域結合起來。研究人員展示了與現有的ML 框架相同的性能,用於深度學習模型(在CPU、GPU 和TPU 上)和增強學習。可微編程也可以擴展到其他科學計算領域,例如神經SDE 和量子機器學習。
論文∂P:在 ARXV 上完成的橋樑機械學習與科學計算的可差異編程系統
Y Combinator 的研究員Michael Nielsen 在推特上表示,他希望這篇新論文是探索這個方向的趨勢的一部分。特斯拉人工智能(Tesla AI)董事Andrej Karpathy 在推特對Nielsen 的說:
我們將堆棧向上移動一點,而不是編寫顯式的、完全定義的程序,而是編寫一個程序的粗略草圖“管道”(由某個θ參數化的管道),如果您有一個可評估的度量,則通過優化來選擇管中的最佳點。
來源:medium