久久精品无码视频|精产国品色情一二三区在线观看|国产性爱自拍视频|亚洲av韩国av|日韩美女一级AAA大片|少妇无码激情诱惑|日韩AV在线播放有码|一级黄片一级黄片|av上一页亲亲久草av|aaa在线观看国产做爱

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給汪思穎
發(fā)送

0

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

本文作者: 汪思穎 編輯:郭奕欣 2017-11-09 17:42
導(dǎo)語:這個(gè)庫與現(xiàn)有的機(jī)器學(xué)習(xí)庫相比,存在諸多優(yōu)勢(shì)。

雷鋒網(wǎng) AI科技評(píng)論消息,日前,Google Research Blog 推出開源 Python 庫“Tangent”。據(jù)介紹,這個(gè)庫與現(xiàn)有的機(jī)器學(xué)習(xí)庫相比,存在諸多優(yōu)勢(shì),可以大大改善了用戶的使用體驗(yàn)。

雷鋒網(wǎng) AI科技評(píng)論編譯整理如下:

Tangent 是一個(gè)全新的免費(fèi)開源 Python 庫,可以用于自動(dòng)微分。與其他現(xiàn)有的機(jī)器學(xué)習(xí)庫相比,Tangent屬于源到源(source-to-source)系統(tǒng),可以用 Python f 函數(shù)調(diào)用新的 Python 函數(shù),計(jì)算出 f 的梯度。對(duì)用戶來說,這大大改善了梯度計(jì)算的可見性,更易于編輯和調(diào)試。當(dāng)調(diào)試和設(shè)計(jì)機(jī)器學(xué)習(xí)模型時(shí),Tangent 增加了許多新功能:

  • 易于調(diào)試反向傳遞(backward pass)

  • 快速進(jìn)行梯度surgery

  • 前向模式自動(dòng)微分

  • 高效的Hessian-vector product

  • 代碼優(yōu)化

本文概述了Tangent API接口,包括如何使用Tangent 來生成易于解釋、調(diào)試和修改的Python梯度代碼。

在圖像、視頻、音頻和文本機(jī)器學(xué)習(xí)模型中,神經(jīng)網(wǎng)絡(luò)(NNs)的出現(xiàn)帶來了巨大的進(jìn)步。其實(shí)在這些任務(wù)中,訓(xùn)練神經(jīng)網(wǎng)絡(luò)的基本概念已經(jīng)存在30年了,我們通常稱之為反向模式自動(dòng)微分(reverse-mode automatic differentiation)或者反向傳播(backpropagation)。它包括在神經(jīng)網(wǎng)絡(luò)中的兩次傳遞:首先運(yùn)行“前向傳遞(forward pass)”來計(jì)算每個(gè)節(jié)點(diǎn)的輸出值,然后再運(yùn)行“反向傳遞”來計(jì)算一系列的導(dǎo)數(shù),從而確定如何更新權(quán)重,以提高模型的準(zhǔn)確度。

在訓(xùn)練神經(jīng)網(wǎng)絡(luò)、研究新的架構(gòu)的過程中,我們要能正確、高效、輕松地計(jì)算出導(dǎo)數(shù)值。此外,當(dāng)模型還沒訓(xùn)練好或者想要構(gòu)建一些連自己都不太理解的新東西時(shí),也要能夠調(diào)試這些導(dǎo)數(shù)。自動(dòng)微分也稱為“autodiff”,是一種計(jì)算電腦程序?qū)?shù)(數(shù)學(xué)上的函數(shù))的技術(shù),幾乎所有的機(jī)器學(xué)習(xí)庫都會(huì)用到它。

現(xiàn)有的庫通過跟蹤程序的執(zhí)行過程來實(shí)現(xiàn)自動(dòng)微分(如 TF Eager, PyTorch 和 Autograd),或者通過構(gòu)建動(dòng)態(tài)數(shù)據(jù)流圖來進(jìn)行微分(如 TensorFlow)。與此相反, Tangent 可以通過 Python 源代碼提前自動(dòng)微分,還可以生成Python源代碼作為輸出。

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

因此,你最終能像讀取程序的剩余部分一樣讀取自動(dòng)微分代碼。對(duì)那些既想用 Python 編寫模型,又想在讀取和調(diào)試自動(dòng)微分代碼時(shí)不犧牲速度和靈活性的研究人員和學(xué)生來說,Tangent 非常有用。

在Tangent 中構(gòu)建模型不需要特殊的工具或間接方法,非常易于檢查和調(diào)試。Tangent 基于一個(gè)非常大并且正在增長(zhǎng)的 Python 子集,能支持其他 Python 深度學(xué)習(xí)庫所不具備的自動(dòng)微分特性,性能高效,并能與 TensorFlow 和 NumPy 兼容。

Python代碼自動(dòng)微分

如何自動(dòng)生成Python代碼的導(dǎo)數(shù)? 像 tf.exp 和 tf.log 這些數(shù)學(xué)函數(shù)已經(jīng)含有能幫助我們建立反向傳遞的導(dǎo)數(shù)了,同樣,子程序、條件和循環(huán)等句段也具有反向傳遞版本。Tangent 支持為每個(gè) Python 句法生成導(dǎo)數(shù)代碼,也能調(diào)用許多 NumPy 和 TensorFlow 函數(shù)。

Tangent 具備單一功能 API:

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

下面是一張動(dòng)圖,它描述了調(diào)用 tangent.grad 之后執(zhí)行的操作。

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

可以運(yùn)行如下代碼輸出求導(dǎo)結(jié)果:

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

執(zhí)行命令后,tangent.grad 首先抓取傳來的 Python 函數(shù)源代碼。Tangent 有一個(gè)龐大的 Python 句法求導(dǎo)方法庫,類似于 TensorFlow Eager 函數(shù)。然后,tangent.grad 函數(shù)會(huì)反向走查代碼,查找匹配的反向傳遞方法,并將其添加到導(dǎo)函數(shù)的末尾。這種反序處理過程所用的技術(shù)就叫反向模式自動(dòng)微分(reverse-mode automatic differentiation)。

上面的 df 函數(shù)只適用于標(biāo)量(非數(shù)組)輸入。Tangent 也支持以下功能:

  • 使用 TensorFlow Eager 函數(shù)處理陣列

  • 子程序

  • 控制流

雖然一開始就能利用 TensorFlow Eager,但 Tangent 并沒有與數(shù)值庫相關(guān)聯(lián),我們也很樂意看到 PyTorch 或 MXNet 求導(dǎo)方法的添加請(qǐng)求。

下一步

Tangent現(xiàn)在已經(jīng)在github.com/google/tangent開源了,大家可以點(diǎn)擊下載,按照說明安裝。因?yàn)槿栽趯?shí)驗(yàn)階段,所以難免有一些 bug。如果大家發(fā)現(xiàn)了 bug 并在 GitHub 上說明,我們會(huì)盡快解決。

我們正從 Python 的多個(gè)層面為 Tangent 提供支持(例如閉包、內(nèi)聯(lián)函數(shù)定義、類、更多的 NumPy 和 TensorFlow 函數(shù))。我們還希望在未來添加更高級(jí)的自動(dòng)微分和編譯器功能,比如在內(nèi)存和計(jì)算之間自動(dòng)平衡(Griewank and Walther 2000;Gruslys et al., 2016)、更高效的優(yōu)化、lambda lifting等。

我們希望能將Tangent社群發(fā)展壯大,歡迎大家踴躍提出修補(bǔ)和新特性的方面的需求。

via:Google Research Blog

雷鋒網(wǎng) AI科技評(píng)論編譯整理。 

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

谷歌推出開源 Python 庫“Tangent”,支持前向模式自動(dòng)微分

分享:
相關(guān)文章

編輯

關(guān)注AI學(xué)術(shù),例如論文
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說