谷歌重磅開源新技術:5行代碼打造無限寬神經網絡模型

2020-12-12 量子位

魚羊 假裝發自 凹非寺量子位 報導 | 公眾號 QbitAI

只要網絡足夠寬,深度學習動態就能大大簡化,並且更易於理解。

最近的許多研究結果表明,無限寬度的DNN會收斂成一類更為簡單的模型,稱為高斯過程(Gaussian processes)。

於是,複雜的現象可以被歸結為簡單的線性代數方程,以了解AI到底是怎樣工作的。

所謂的無限寬度(infinite width),指的是完全連接層中的隱藏單元數,或卷積層中的通道數量有無窮多。

但是,問題來了:推導有限網絡的無限寬度限制需要大量的數學知識,並且必須針對不同研究的體系結構分別進行計算。對工程技術水平的要求也很高。

谷歌最新開源的Neural Tangents,旨在解決這個問題,讓研究人員能夠輕鬆建立、訓練無限寬神經網絡。

甚至只需要5行代碼,就能夠打造一個無限寬神經網絡模型。

這一研究成果已經中了ICLR 2020。戳進文末Colab連結,即可在線試玩。

開箱即用,5行代碼打造無限寬神經網絡模型

Neural Tangents 是一個高級神經網絡 API,可用於指定複雜、分層的神經網絡,在 CPU/GPU/TPU 上開箱即用。

該庫用 JAX編寫,既可以構建有限寬度神經網絡,亦可輕鬆創建和訓練無限寬度神經網絡。

有什麼用呢?舉個例子,你需要訓練一個完全連接神經網絡。通常,神經網絡是隨機初始化的,然後採用梯度下降進行訓練。

研究人員通過對一組神經網絡中不同成員的預測取均值,來提升模型的性能。另外,每個成員預測中的方差可以用來估計不確定性。

如此一來,就需要大量的計算預算。

但當神經網絡變得無限寬時,網絡集合就可以用高斯過程來描述,其均值和方差可以在整個訓練過程中進行計算。

而使用 Neural Tangents ,僅需5行代碼,就能完成對無限寬網絡集合的構造和訓練。

from neural_tangents import predict, staxinit_fn, apply_fn, kernel_fn = stax.serial( stax.Dense(2048, W_std=1.5, b_std=0.05), stax.Erf(), stax.Dense(2048, W_std=1.5, b_std=0.05), stax.Erf(), stax.Dense(1, W_std=1.5, b_std=0.05))y_mean, y_var = predict.gp_inference(kernel_fn, x_train, y_train, x_test, 『ntk』, diag_reg=1e-4, compute_cov=True)

上圖中,左圖為訓練過程中輸出(f)隨輸入數據(x)的變化;右圖為訓練過程中的不確定性訓練、測試損失。

將有限神經網絡的集合訓練和相同體系結構的無限寬度神經網絡集合進行比較,研究人員發現,使用無限寬模型的精確推理,與使用梯度下降訓練整體模型的結果之間,具有良好的一致性。

這說明了無限寬神經網絡捕捉訓練動態的能力。

不僅如此,常規神經網絡可以解決的問題,Neural Tangents 構建的網絡亦不在話下。

研究人員在 CIFAR-10 數據集的圖像識別任務上比較了 3 種不同架構的無限寬神經網絡。

可以看到,無限寬網絡模擬有限神經網絡,遵循相似的性能層次結構,其全連接網絡的性能比卷積網絡差,而卷積網絡的性能又比寬殘餘網絡差。

但是,與常規訓練不同,這些模型的學習動力在封閉形式下是易於控制的,也就是說,可以用前所未有的視角去觀察其行為。

對於深入理解機器學習機制來說,該研究也提供了一種新思路。谷歌表示,這將有助於「打開機器學習的黑匣子」。

傳送門

論文地址:https://arxiv.org/abs/1912.02803

谷歌博客:https://ai.googleblog.com/2020/03/fast-and-easy-infinitely-wide-networks.html

GitHub地址:https://github.com/google/neural-tangents

Colab地址:https://colab.research.google.com/github/google/neural-tangents/blob/master/notebooks/neural_tangents_cookbook.ipynb

— 完 —

相關焦點

  • ICLR 2020 | 神經正切,5行代碼打造無限寬的神經網絡模型
    這些無限寬網絡的一些思路,也被頻繁地擴展到有限的網絡上。 因此,無限寬網絡不僅可以用作研究深度學習的維度,其本身也是非常有用的模型。總之,將有限寬的模型轉換成相應的無限寬網絡的過程可能需要幾個月的時間,並且可能它本身就是研究論文的主題。為了解決這個問題,並加速深度學習的理論進展,谷歌研究者提出了一種新的開源軟體庫「神經正切」(Neural Tangents),允許研究人員像訓練有限寬的神經網絡一樣容易地構建和訓練無限寬的神經網絡。
  • 不到1000行代碼,GitHub 1400星,天才黑客開源深度學習框架tinygrad
    tinygrad 的代碼數量不到 1000 行,目前該項目獲得了 GitHub 1400 星。在深度學習時代,谷歌、Facebook、百度等科技巨頭開源了多款框架來幫助開發者更輕鬆地學習、構建和訓練不同類型的神經網絡。而這些大公司也花費了很大的精力來維護 TensorFlow、PyTorch 這樣龐大的深度學習框架。
  • ...的神經網絡:實習生領銜打造,效果不輸傳統CNN | CVPR 2020 Oral
    去年年底,來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員將這一想法付諸實踐,他們提出了一種只用加法的神經網絡AdderNet(加法器網絡)。一作是華為諾亞方舟實習生,正在北大讀博三。如今,這篇文章已經被CVPR 2020收錄(Oral),官方也在GitHub上開放了原始碼。有興趣的同學不妨前往一試究竟。
  • 天才黑客George Hotz開源了一個小型深度學習框架tinygrad
    tinygrad 的代碼數量不到 1000 行,目前該項目獲得了 GitHub 1400 星。 在深度學習時代,谷歌、Facebook、百度等科技巨頭開源了多款框架來幫助開發者更輕鬆地學習、構建和訓練不同類型的神經網絡。而這些大公司也花費了很大的精力來維護 TensorFlow、PyTorch 這樣龐大的深度學習框架。
  • 重新定義AI基礎設施 用無限算法創造無限價值
    中國科學院院士、中國科學技術協會黨組書記懷進鵬,中國科學院院士、圖靈獎唯一華人得主、曠視學術委員會首席顧問姚期智,中國工程院院士、新一代人工智慧產業技術創新戰略聯盟理事長高文,計算機視覺和圖形學專家、清華大學高等研究院雙聘教授沈向洋等多位重磅嘉賓在線出席並致辭。
  • 谷歌大腦提出AutoML-Zero,只會數學運算就能找到AI算法|開源
    谷歌將這種技術稱之為AutoML-Zero,意為「從零開始的自動機器學習」,已經在GitHub開源,並在Arxiv上提交了論文。而且這一研究還是來自谷歌大腦的Quoc V.Le大神之手。AutoML Zero能發現什麼AutoML是一種實現從數據集到機器學習模型的自動化方法,讓你無需高深專業知識,就能自動部署ML模型。雖說是自動,但現階段的AutoML還要對搜索空間進行很大的限制,這使我們在使用AutoML的時候仍然需要一些專業知識去設計神經網絡的層。
  • 幾行代碼就寫一個神經網絡的TensorFlow框架到底是啥?
    很多年前有一個模型叫「神經網絡」,是通過模擬人腦的學習過程構建的,科學家希望用它進行一些計算和識別,總的來說是一種看起來比較完美的算法,但卻由於當時計算資源很匱乏被打入「冷宮」。雖然很多科學家紛紛轉入了新的領域進行研究,但還是有幾個科學家堅守這個陣地。
  • 谷歌開放GNMT教程:如何使用TensorFlow構建自己的神經機器翻譯系統
    在機器翻譯的眾多方法中,序列到序列(sequence-to-sequence,seq2seq)模型 [1, 2] 近期獲得巨大成功。由於其可以使用深度神經網絡獲取句義,該模型成為谷歌翻譯等多數商業翻譯系統事實上的標準模型。但是,儘管有關 OpenNMT 或 tf-seq2seq 等 seq2seq 模型的資料已經非常豐富,但能夠指導人們快速構建高質量翻譯系統的知識和技能仍然略顯不足。
  • 谷歌又一開源利器Atheris,Python代碼安全掃描工具
    近日谷歌開源了一款Python代碼安全漏洞掃描工具Atheris,希望開發者在漏洞被利用之前能夠用它來發現安全漏洞並修補漏洞。,它支持 Python 代碼的安全掃描,也支持為 CPython 編寫的本機擴展。
  • 破解AI大腦黑盒邁出新一步!谷歌現在更懂機器,還開源了研究工具
    這項研究由谷歌大腦團隊的天才少年Chris Olah領銜完成,題目叫做:The Building Blocks of Interpretability。這項研究,展示了機器如何工作,如何做出一項決定。整體來講,這項研究探討了特徵可視化如何與其他可解釋性技術結合,從而更好地了解神經網絡,包括決策的過程,以及如何影響最終的輸出結果。
  • 讓黑白影像重獲新生:UC Berkeley 提出實時神經網絡著色模型
    選自arXiv作者:Richard Zhang等機器之心編譯參與:李澤南UC Berkeley 的研究人員近日推出了一種利用深度學習對黑白圖像進行實時上色的模型,並開源了相關代碼。該研究的論文將出現在 7 月 30 日在洛杉磯舉行的 SIGGRAPH 2017 計算機圖像和交互技術大會上。
  • 推出圖神經網絡屠榜「必殺技」UniMP
    9月18日,百度正式公布在圖神經網絡領域取得新突破,提出融合標籤傳遞和圖神經網絡的統一模型UniMP(Unified Message Passing),在圖神經網絡權威榜單OGB(Open Graph Benchmark)取得多項榜首,引發業界關注。  Leaderboard for ogbn-products
  • 谷歌正式公布開源作業系統Fuchsia 號召開發者做貢獻
    12月9日,在過去的五年裡,谷歌一直在開發全新的開源作業系統Fuchsia。當地時間周二谷歌宣布,谷歌Fuchsia OS作業系統的開發將更加開放,並號召開發者做出更多貢獻。
  • 代碼開源是什麼意思?NGK代碼開源做安全合規項目
    而比特幣能從無人問津發展到現在的萬億市值,則離不開它自身對代碼的開源。代碼開源可以讓人們清楚的了解項目發展的業務邏輯,從而得到全世界的信任,讓全世界知道其是一個公開透明的真正的區塊鏈打造的系統;也可以讓讓全球所有技術精英加入到代碼的升級中,從而讓項目代碼可以隨著時代進步。代碼開源的意思就是任何人都可以審查、修改和增強原始碼。
  • 74KB圖片也高清,谷歌用神經網絡打造圖像壓縮新算法
    最新的好消息是,谷歌團隊採用了一種GANs與基於神經網絡的壓縮算法相結合的圖像壓縮方式HiFiC,在碼率高度壓縮的情況下,仍能對圖像高保真還原。  GAN(Generative Adversarial Networks,生成式對抗網絡)顧名思義,系統讓兩個神經網絡相互「磨鍊」,一個神經網絡負責生成接近真實的數據,另一個神經網絡負責區分真實數據與生成的數據。  簡單來說,就是一個神經網絡「造假」,另一個神經網絡「打假」,而當系統達到平衡時,生成的數據看起來便會非常接近真實數據,達到「以假亂真」的效果。
  • 圖神經網絡讓預估到達準確率提升50%,谷歌地圖實現新突破
    近日,DeepMind 與谷歌地圖展開合作,利用圖神經網絡等 ML 技術,極大了提升了柏林、東京、雪梨等大城市的實時 ETA 準確率。很多人使用谷歌地圖(Google Maps)獲取精確的交通預測和預估到達時間(Estimated Time of Arrival,ETA)。這是很重要的工具,尤其是當你將途經交通擁堵路段或者需要按時參加重要的會議。
  • Fuchsia 二次發育,正式進入開源開發模式
    Fuchsia 是谷歌四年前就宣布的開源跨端作業系統項目,但之前一直沒有開放社區開發,而是在谷歌內部開發。
  • 谷歌正式公布開源作業系統Fuchsia 號召開發者做出更多貢獻
    12月9日,在過去的五年裡,谷歌一直在開發全新的開源作業系統Fuchsia。當地時間周二谷歌宣布,谷歌Fuchsia OS作業系統的開發將更加開放,並號召開發者做出更多貢獻。自始至今,Fuchsia作業系統就一直是開源的,這意味著任何人都可以查看和下載必要的原始碼來自行豐富作業系統。事實上,去年穀歌悄悄上線了關於Fuchsia OS系統的官方網站Fuchsia.dev,教開發人員如何最好地使用Fuchsia,以及如何開發Fuchsia應用程式。
  • 訓練並行性:微軟谷歌再放大招,開源新框架
    圖源:Stanford微軟和谷歌一直積極致力於開發訓練深度神經網絡的新模型。最近,他們發布了兩個新框架:微軟的PipeDream和谷歌的GPipe。從概念上講,GPipe是一個分布式機器學習庫,它使用同步隨機梯度下降和流水線並行性進行訓練,適用於由多個連續層組成的任何DNN(深度神經網絡)。GPipe在不同的加速器之間劃分模型,並自動將小批量訓練示例拆分為更小的微批量,該模型使GPipe的加速器可以並行運行,從而最大限度提高訓練過程的可擴展性。
  • Facebook等提出實時3D人臉姿態估計新方法,代碼已開源!
    ,第一時間送達來自 Facebook AI 和美國聖母大學的研究者提出了一種 6 自由度的實時 3D 人臉姿態估計技術,可以不依賴人臉檢測和人臉關鍵點定位獨立運行。研究者使用小而快的 ResNet-18 骨幹網絡構建 img2pose 模型,並在 WIDER FACE 訓練集上進行訓練(該數據集包含弱監督標籤和人工標註的真值姿態標籤)。