自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MIT 推出編程語言 ,從方程式和手寫代碼上解放工程師

新聞 前端
麻省理工學(xué)院的研究人員最近推出了一種新的概率編程語言 ,這種語言讓研究人員在不需要處理方程式和手動(dòng)編寫高性能代碼的情況下,編寫應(yīng)用人工智能技術(shù)的多個(gè)領(lǐng)域的模型和算法。

本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。

 麻省理工學(xué)院的研究人員最近推出了一種新的概率編程語言 Gen,這種語言讓研究人員在不需要處理方程式和手動(dòng)編寫高性能代碼的情況下,編寫應(yīng)用人工智能技術(shù)的多個(gè)領(lǐng)域的模型和算法。軟件科學(xué)家 Jesus Rodriguez 寫了一篇文章,文章介紹了 Gen 以及其他一些類似的工具,雷鋒網(wǎng) AI 科技評(píng)論將他的文章編譯整理如下。

概率編程語言(PPL)領(lǐng)域正經(jīng)歷著機(jī)器學(xué)習(xí)技術(shù)快速發(fā)展帶來的奇跡般的復(fù)興。在短短的幾年里,PPL 已經(jīng)從一個(gè)模糊的統(tǒng)計(jì)研究領(lǐng)域發(fā)展出十幾個(gè)活躍的開源方案。最近,麻省理工學(xué)院(MIT)的研究人員推出了一種新的概率編程語言 Gen。這種新語言讓研究人員在不需要處理方程式和手動(dòng)編寫高性能代碼的情況下,編寫應(yīng)用人工智能技術(shù)的多個(gè)領(lǐng)域的模型和算法。

PPL 是機(jī)器學(xué)習(xí) pipeline 的常規(guī)組件,但其實(shí)現(xiàn)仍然具有挑戰(zhàn)性。雖然市場上的 PPL 顯著增加,但大多數(shù) PPL 仍局限于研究工作,不適用于實(shí)際的應(yīng)用。在 2015 年谷歌開源 TensorFlow 之前,深度學(xué)習(xí)領(lǐng)域也經(jīng)歷了類似的挑戰(zhàn)。使用 TensorFlow,開發(fā)人員能夠使用一致的框架構(gòu)建復(fù)雜但高效的深度學(xué)習(xí)模型。從某種意義來說,Gen 正在尋找概率規(guī)劃的方法,正如 TensorFlow 為深度學(xué)習(xí)所做的那樣。然而,為了做到這一點(diǎn),Gen 需要在 PPL 的兩個(gè)關(guān)鍵特征上進(jìn)行精細(xì)平衡。

表達(dá)性與效率

現(xiàn)代 PPL 最大的挑戰(zhàn)是在建模表達(dá)性和推理效率之間取得平衡。雖然許多 PPL 在語法上都很豐富,可以用來表示幾乎任何模型,但它們往往支持有限的推理算法,這些算法的收斂速度非常慢。其他 PPL 有豐富的推理算法,但仍然局限于特定的領(lǐng)域,使其不適用于一般的應(yīng)用。

[[271722]]

通用 PPL 應(yīng)能實(shí)現(xiàn)兩個(gè)基本效率向量:

1)推理算法效率:一個(gè)通用的 PPL 應(yīng)該允許開發(fā)人員在不犧牲底層組件性能的情況下創(chuàng)建定制的、高度復(fù)雜的模型。PPL 語法的表達(dá)性越強(qiáng),優(yōu)化過程就越具有挑戰(zhàn)性。

2)實(shí)現(xiàn)效率:通用 PPL 要求系統(tǒng)運(yùn)行超越算法本身的推理算法。實(shí)現(xiàn)效率由存儲(chǔ)算法狀態(tài)的數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)是否利用緩存和增量計(jì)算等因素決定。

Gen

Gen 通過利用一種新的體系結(jié)構(gòu)來解決前面提到的一些挑戰(zhàn),該體系結(jié)構(gòu)改進(jìn)了一些傳統(tǒng)的 PPL 技術(shù)。基于 Julia 編程語言,Gen 引入了一種體系結(jié)構(gòu),該體系結(jié)構(gòu)將模型表示為圖靈完整建模語言中的程序代碼,而不是黑盒,它公開了通過公共接口進(jìn)行推理的功能。這些黑盒稱為生成函數(shù),包括具有以下功能的接口:

1.構(gòu)建模型的工具:Gen 提供多種可交互操作的建模語言,每種語言的靈活性/效率權(quán)衡都不一樣。單個(gè)模型可以組合來自多個(gè)建模語言的代碼。生成函數(shù)利用了非常適合模型和增量計(jì)算的數(shù)據(jù)結(jié)構(gòu)。

2.裁剪推理的工具:Gen 為推理編程提供了一個(gè)高級(jí)庫,僅通過生成函數(shù)與模型交互,它實(shí)現(xiàn)了推理算法模塊的構(gòu)建。

3.評(píng)估:Gen 提供了一個(gè)經(jīng)驗(yàn)?zāi)P停靡栽u(píng)估其在已知推理問題中對(duì)備選方案的性能。

下圖說明了 Gen 的體系結(jié)構(gòu)。可以看到,框架支持差異推理算法,以及基于生成函數(shù)概念的抽象層。

使用 Gen

開始使用 Gen 是很簡單的事情??梢允褂?Julia 軟件包管理器安裝該語言工具。

  1. pkg> add https://github.com/probcomp/Gen 

在 Gen 中編寫生成函數(shù)和編寫帶有幾個(gè)擴(kuò)展名的 julian 函數(shù)一樣簡單。

  1. @gen function foo(prob::Float64) 
  2.  z1 = @trace(bernoulli(prob), :a) 
  3.  z2 = @trace(bernoulli(prob), :b) 
  4.  return z1 || z2 
  5. end 

Gen 還包含一個(gè)可視化框架,可以用來繪制推理模型并評(píng)估其效率。

  1. # Start a visualization server on port 8000  
  2. server = VizServer(8000)  
  3. # Initialize a visualization with some parameters  
  4. viz = Viz(server, joinpath(@__DIR__"vue/dist"),  
  5. Dict("xs" => xs, "ys" => ys, "num" => length(xs), "xlim" => [minimum(xs), maximum(xs)], "ylim" => [minimum(ys), maximum(ys)])) # Open the visualization in a browser  
  6. openInBrowser(viz) 

類似工具推薦

Gen 并不是唯一一種試圖解決可編程推理挑戰(zhàn)的語言。近年來,PPL 有了許多強(qiáng)大的替代方案:

  • Edward 

Edward 是一種用 Python 編寫的圖靈完全概率編程語言(PPL)。Edward 最初是由 Google Brain 團(tuán)隊(duì)支持的,但現(xiàn)在有了很多的貢獻(xiàn)者。Edward 的原始研究論文發(fā)表于 2017 年 3 月,自那時(shí)起,Stack 在機(jī)器學(xué)習(xí)社區(qū)內(nèi)得到了廣泛的采用。Edward 融合了三個(gè)領(lǐng)域:貝葉斯統(tǒng)計(jì)和機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、概率編程。該庫與 Keras 和 TensorFlow 等深入學(xué)習(xí)框架無縫集成。

  • Pyro 

Pyro 是 Uber 人工智能實(shí)驗(yàn)室發(fā)布的一種深層概率編程語言(PPL)。Pyro 建立在 PyTorch 之上,基于四個(gè)基本原則:

  1. 通用:Pyro 是一個(gè)通用的 PPL,它可以表示任何可計(jì)算的概率分布。怎樣表示?從具有迭代和遞歸(任意 Python 代碼)的通用語言開始,然后添加隨機(jī)抽樣、觀察和推理。

  2. 可擴(kuò)展:Pyro 可以擴(kuò)展到大型數(shù)據(jù)集,手寫代碼的開銷很小。如何做到?通過建立現(xiàn)代黑盒優(yōu)化技術(shù),利用小批量的數(shù)據(jù)進(jìn)行近似推理。

  3. 最?。篜yro 靈活且可維護(hù)。如何做到?Pyro 是用一個(gè)強(qiáng)大的、可組合的抽象內(nèi)核實(shí)現(xiàn)的。在可能的情況下,可以使用 PyTorch 和其他庫。

  4. 靈活:Pyro 的目標(biāo)是在你需要的時(shí)候?qū)崿F(xiàn)自動(dòng)化和控制。如何做到?Pyro 使用高級(jí)抽象來表示生成和推理模型,同時(shí)允許研究人員輕松自定義推理。

  • Infer.Net

微軟最近開放了一個(gè)為.NET 開發(fā)者簡化概率編程的框架。微軟研究院從 2004 年開始致力于 Infer.net,但直到最近,隨著深度學(xué)習(xí)的出現(xiàn),該框架才真正流行起來。Infer.net 的強(qiáng)大優(yōu)勢,使得它成為開發(fā)人員冒險(xiǎn)進(jìn)入深度 PPL 領(lǐng)域的有力選擇。

Gen 是 PPL 中最新但也是最有趣的一個(gè)添加項(xiàng)。統(tǒng)計(jì)與深度學(xué)習(xí)相結(jié)合是人工智能未來發(fā)展的關(guān)鍵要素。像 Gen 這樣的嘗試正努力試圖使 PPL 通用化,就像 TensorFlow 對(duì)深度學(xué)習(xí)所做的那樣。

責(zé)任編輯:張燕妮 來源: 雷鋒網(wǎng)
相關(guān)推薦

2016-09-19 08:57:48

2011-09-21 17:26:54

2017-05-12 13:58:30

2015-02-06 10:41:43

云許可軟件即服務(wù)IaaS

2015-01-16 10:07:18

云計(jì)算云存儲(chǔ)數(shù)據(jù)擴(kuò)展

2010-03-10 10:22:48

服務(wù)器芯片

2019-03-18 10:35:15

人工智能機(jī)器學(xué)習(xí)前端

2024-04-29 13:05:00

AI自動(dòng)駕駛

2015-11-12 09:19:19

O2O創(chuàng)業(yè)死亡

2021-03-05 08:00:00

Web開發(fā)工具

2016-06-16 10:52:25

IBM

2013-07-16 10:08:51

MIT編程語言

2023-07-04 13:42:00

代碼訓(xùn)練

2020-04-01 11:01:57

工程師技術(shù)裁員

2020-04-01 15:04:54

代碼數(shù)學(xué)符號(hào)程序

2025-04-16 15:28:01

AI物理神經(jīng)網(wǎng)絡(luò)

2024-10-24 23:40:34

2023-03-26 12:32:33

ChatGPT機(jī)器人微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)