過去的十年見證了深度學習(DL)應用數據量的巨大增長。因此,深度神經網絡(DNNs)的訓練時間過長已經成為機器學習(ML)開發者和研究者的瓶頸。例如,在8個P100 gpu上完成90-epoch ImageNet/ResNet-50的訓練需要29個小時。在16個v3 TPU芯片上完成BERT預訓練需要81小時。本文主要研究的是快速準確的ML訓練。盡管生產團隊希望充分利用超級計算機來加速訓練過程,但傳統的優化器無法擴展到數千個處理器。在本論文中,我們設計了一系列基本的優化算法來提高DL系統的并行度。我們的算法為谷歌、英特爾、騰訊、英偉達等最先進的分布式系統提供支持。本文的重點是彌合高性能計算(HPC)和ML之間的差距。
在2017年HPC和ML之間有很大的差距。一方面,我們擁有強大的超級計算機,每秒可以執行2x10^17個浮點運算。另一方面,我們甚至不能充分利用1%的計算能力來訓練一個最先進的機器學習模型。原因是超級計算機需要極高的并行度才能達到其峰值性能。然而,高并行性導致ML優化器的收斂性很差。為了解決這個問題,我和我的合著者提出了LARS優化器、LAMB優化器和CA-SVM框架。這些新方法使ML訓練擴展到數千個處理器而不會失去準確性。在過去的三年里,我們觀察到ResNet-50的訓練時間從29小時下降到67.1秒。事實上,自2017年12月以來,所有最先進的ImageNet訓練速度記錄都是由LARS創造的。LARS在MLPerf v0.6中成為行業指標。此外,即使沒有超級計算機,我們的方法也比現有的求解器要快。如果我們固定訓練預算(例如1個GPU 1小時),我們的優化器可以達到一個更高的精度比最先進的基線。
盡管它在機器學習中有重要的應用,非凸非凹目標的最小-最大優化仍然是難以實現的。不僅沒有已知的一階方法收斂甚至近似局部最小最大點,而且識別它們的計算復雜度也不為人所知。本文給出了非凸非凹目標和線性約束的約束最小-最優優化問題的計算復雜度,以及一階方法的局限性。
當前的深度學習研究以基準評價為主。如果一種方法在專門的測試集上有良好的經驗表現,那么它就被認為是有利的。這種心態無縫地反映在連續學習的重現領域,在這里研究的是持續到達的基準數據集。核心挑戰是如何保護之前獲得的表示,以免由于迭代參數更新而出現災難性地遺忘的情況。然而,各個方法的比較是與現實應用程序隔離的,通常通過監視累積的測試集性能來判斷。封閉世界的假設仍然占主導地位。假設在部署過程中,一個模型保證會遇到來自與用于訓練的相同分布的數據。這帶來了一個巨大的挑戰,因為眾所周知,神經網絡會對未知的實例提供過于自信的錯誤預測,并在數據損壞的情況下崩潰。在這個工作我們認為值得注意的教訓來自開放數據集識別,識別的統計偏差以外的數據觀測數據集,和相鄰的主動學習領域,數據增量查詢等預期的性能收益最大化,這些常常在深度學習的時代被忽略。基于這些遺忘的教訓,我們提出了一個統一的觀點,以搭建持續學習,主動學習和開放集識別在深度神經網絡的橋梁。我們的結果表明,這不僅有利于每個個體范式,而且突出了在一個共同框架中的自然協同作用。我們從經驗上證明了在減輕災難性遺忘、主動學習中查詢數據、選擇任務順序等方面的改進,同時在以前提出的方法失敗的地方展示了強大的開放世界應用。****
機器人研究的一個長期目標是創建能夠從零開始自動學習復雜控制策略的算法。將這種算法應用到機器人上的挑戰之一是表示的選擇。強化學習(RL)算法已經成功地應用于許多不同的機器人任務中,如帶有機器人手臂的cup中的Ball-in-a-Cup任務和各種機器人世界杯機器人足球啟發的領域。然而,RL算法仍然存在訓練時間長、所需訓練數據量大的問題。為狀態空間、行動空間和策略選擇合適的表示可以大大減少所需的訓練時間和所需的訓練數據。
本文主要研究機器人的深度強化學習。具體來說,狀態空間、動作空間和策略表示的選擇如何減少機器人學習任務的訓練時間和樣本復雜度。特別集中注意兩個主要領域: 1)通過張量狀態-動作空間表示 2)多狀態表示的輔助任務學習
第一個領域探索了在環境變化中改進機器人策略遷移的方法。學習策略的成本可能很高,但是如果策略可以在類似的環境中傳輸和重用,那么訓練成本可以平攤。遷移學習是一個被廣泛研究的領域,涉及多種技術。在這篇論文中,我們著重設計一個易于傳輸的表示。我們的方法將狀態空間和動作空間映射為多維張量,設計成當環境中機器人和其他對象的數量變化時保持固定維數。我們還提出了全卷積Q-Network (FCQN)策略表示,這是一種特殊的網絡架構,與張量表示相結合,允許跨環境大小進行零距離傳輸。我們在模擬的單代理和多代理任務上演示了這種方法,靈感來自于RoboCup Small - Size League (SSL)和Atari Breakout的修改版本。我們還表明,在真實世界的傳感器數據和機器人中使用這樣的表示和模擬訓練策略是可能的。
第二個領域考察了一個機器人深度RL狀態表示的優勢如何彌補另一個機器人深度RL狀態表示的劣勢。例如,我們經常想要利用機器人可用的傳感器來學習任務,其中包括像攝像機這樣的高維傳感器。最近的Deep RL算法可以通過圖像進行學習,但是數據的數量對于真實的機器人來說是難以接受的。或者,可以使用任務完成所需的最小集創建狀態。這樣做的好處是:1)減少策略參數的數量,2)刪除不相關的信息。然而,提取這些特征通常會在工程、額外硬件、校準和實驗室之外的脆弱性方面有很大的成本。我們在仿真和現實世界的多個機器人平臺和任務上演示了這一點。我們證明它在模擬的RoboCup小型聯賽(SSL)機器人上工作。我們還演示了這樣的技術允許在真實的硬件上從零開始學習,通過機器人手臂執行一個球在一個杯子的任務。
經典的隨機優化結果通常假設數據的各種屬性的已知值(例如Lipschitz常數、到最優點的距離、平滑性或強凸性常數)。不幸的是,在實踐中,這些值是未知的,因此必須經過長時間的反復試驗才能找到最佳參數。
為了解決這一問題,近年來許多無參數算法已經被開發用于在線優化和在線學習。無參數算法對數據的性質不作任何假設,但收斂速度與最優優化算法一樣快。
這是一項令人興奮的工作,現在已經足夠成熟,可以教授給普通觀眾了。實際上,這些算法還沒有得到機器學習社區的適當介紹,只有少數人完全理解它們。本教程旨在彌補這一差距,介紹使用和設計無參數算法的實踐和理論。我們將介紹該領域的最新進展,包括優化、深度學習和使用內核學習的應用。
在過去的20年里,基因組學、神經科學、經濟學和互聯網服務等許多領域產生了越來越多的大數據集,這些數據集有高維、大樣本,或者兩者兼之。這為我們從數據中檢索和推斷有價值的信息提供了前所未有的機會。同時,也對統計方法和計算算法提出了新的挑戰。一方面,我們希望建立一個合理的模型來捕獲所需的結構,并提高統計估計和推斷的質量。另一方面,面對越來越大的數據集,計算可能成為一個巨大的障礙,以得出有意義的結論。這篇論文站在兩個主題的交叉點,提出了統計方法來捕獲所需的數據結構,并尋求可擴展的方法來優化計算非常大的數據集。我們提出了一種可擴展的靈活框架,用于利用lasso/elastic-net解決大規模稀疏回歸問題; 提出了一種可伸縮的框架,用于在存在多個相關響應和其他細微差別(如缺失值)的情況下解決稀疏縮減秩回歸問題。分別在snpnet和multiSnpnet R包中以PLINK 2.0格式為基因組數據開發了優化的實現。這兩種方法在超大和超高維的英國生物樣本庫研究中得到了驗證,與傳統的預測建模方法相比有了顯著的改進。此外,我們考慮了一類不同的高維問題,異質因果效應的估計。與監督學習的設置不同,這類問題的主要挑戰在于,在歷史數據中,我們從未觀察到硬幣的另一面,因此我們無法獲得處理之間真正差異的基本真相。我們提出適應非參數統計學習方法,特別是梯度增強和多元自適應回歸樣條,以估計處理效果的預測器可用。實現被打包在一個R包causalLearning中。
當對大量的標記數據集合(如ImageNet)進行訓練時,深度神經網絡展示了它們在特殊監督學習任務(如圖像分類)上的卓越表現。然而,創建這樣的大型數據集需要大量的資源、時間和精力。這些資源在很多實際案例中可能無法獲得,限制了許多深度學習方法的采用和應用。為了尋找數據效率更高的深度學習方法,以克服對大型標注數據集的需求,近年來,我們對半監督學習應用于深度神經網絡的研究興趣日益濃厚,通過開發新的方法和采用現有的半監督學習框架進行深度學習設置。在本文中,我們從介紹半監督學習開始,對深度半監督學習進行了全面的概述。然后總結了在深度學習中占主導地位的半監督方法。
【導讀】機器學習和系統芯片互相促進發展,近年來機器學習算法深刻改變了計算硬件資源的發展。最近谷歌發布了強化學習用于芯片布局的論文。在加州理工的《數據驅動算法設計》課程上,GOOGLE兩位研究人員Azalia Mirhoseini & Anna Goldie做了《機器學習在系統和芯片設計》的報告,講述了機器學習芯片設計技術,值得關注。Jeff Dean在Twitter做了推薦。
在過去的十年中,系統和硬件已經改變了機器學習。現在是機器學習改變系統和硬件的時候了。在芯片設計過程中,芯片布局(chip placement)可以說是其中最復雜和耗時的步驟了。芯片設計周期的縮短有助于硬件設備適應機器學習領域的快速發展,那么,機器學習能否助力芯片設計呢?最近,谷歌提出了一種基于強化學習的芯片布局方法。本報告內容包括:
概述
計算機芯片通常分為數十個模塊,每個模塊都是一個單獨的模組,例如內存的子系統、計算單元以及控制邏輯的系統。這些模塊可以通過網表以及宏(內存組件)和標準單元(邏輯門,例如 NAND、NOR 和 XOR)等電路組件圖來描述,而所有這些組件均通過網格連接。
確定芯片如何布局(通常稱為芯片的布局規劃過程)是芯片設計過程中最復雜、最耗時的階段之一,它涉及到將網表放置在芯片的畫布(2D 網格)上,盡可能使得功率、性能和面積(PPA)降至最低,同時還要注意密度和布線擁塞方面的限制。
盡管對此方向進行了數十年的研究,但是行業內專家仍然需要迭代數周的時間才能完成一個滿足多方面設計標準的解決方案。簡單來說,其復雜性來自于幾個主要層面:網表圖的大小(數百萬至數十億個節點)、網表圖放置的網格粒度,以及計算真實目標所產生的過高成本,如果使用行業標準的電子設計自動化工具這個計算過程可能要花費數小時(有時甚至超過一天)。
谷歌研究者將芯片布局看作一個強化學習問題,然后訓練智能體將芯片網表(netlist)的節點放置在芯片畫布(canvas)上。為了使強化學習策略泛化至新的芯片 block,研究者將表征學習置于預測芯片布局質量的監督任務中。通過設計能夠在大量網表及其布局上準確預測獎勵的神經架構,該研究生成輸入網表的豐富特征嵌入。然后利用該架構作為策略和價值網絡的編碼器,實現遷移學習。
該研究旨在最小化芯片設計的 PPA(功耗、性能和面積)。研究者稱,該方法能夠在 6 小時內完成芯片布局設計,布局質量超過或匹配人類設計,而現有的基線方法需要人類專家參與,且往往需要數周時間才能完成。此外,谷歌還表示,該方法可以為谷歌加速器芯片(TPU)生成更優化的芯片放置方案,還適用于任意類型的芯片(ASIC)。 Chip Placement with Deep Reinforcement Learning
博客鏈接://ai.googleblog.com/2020/04/chip-design-with-deep-reinforcement.html
作者:Azalia Mirhoseini、Anna Goldie、Jeff Dean 等 論文鏈接:
摘要:在芯片設計過程中,芯片布局(chip placement)可以說是其中最復雜和耗時的步驟了。芯片設計周期的縮短有助于硬件設備適應機器學習領域的快速發展,那么,機器學習能否助力芯片設計呢?最近,谷歌提出了一種基于強化學習的芯片布局方法。
研究者將芯片布局看作一個強化學習問題,然后訓練智能體將芯片網表(netlist)的節點放置在芯片畫布(canvas)上。為了使強化學習策略泛化至新的芯片 block,研究者將表征學習置于預測芯片布局質量的監督任務中。通過設計能夠在大量網表及其布局上準確預測獎勵的神經架構,該研究生成輸入網表的豐富特征嵌入。然后利用該架構作為策略和價值網絡的編碼器,實現遷移學習。
該研究旨在最小化芯片設計的 PPA(功耗、性能和面積)。研究者稱,該方法能夠在 6 小時內完成芯片布局設計,布局質量超過或匹配人類設計,而現有的基線方法需要人類專家參與,且往往需要數周時間才能完成。
主題: Towards Automatic Machine Learning Pipeline Design
簡介: 數據收集量的迅速增加,使決策的瓶頸迅速從缺乏數據轉向缺乏數據科學家,以幫助分析收集的數據。此外,用于數據分析的新潛在解決方案和方法的發布速度已經超過了人類數據科學家所能遵循的速度。同時,我們注意到數據科學家在分析過程中執行的許多任務都可以自動化。自動機器學習(AutoML)研究和解決方案試圖使部分甚至整個數據分析過程自動化。我們解決了自動化研究中的兩個挑戰: 首先,如何表示適合元學習的ML程序;第二,如何改進自動系統的評估,使之能夠比較各種方法,而不僅僅是預測。為此,我們設計并實現了一個ML程序框架,該框架提供了以標準方式描述ML程序所需的所有組件。該框架是可擴展的,框架的組件之間是解耦的,例如,該框架可以用來描述使用神經網絡的ML程序。我們為執行框架中描述的程序提供參考工具。我們還設計并實現了一個服務,一個元學習數據庫,它存儲由不同的自動化系統生成的執行ML程序的信息。
我們通過測量使用框架與執行直接調用底層庫的ML程序的計算開銷來評估框架。我們注意到框架的ML程序執行時間比不使用該框架的ML程序慢一個數量級,內存使用量是不使用該框架的ML程序的兩倍。 通過比較使用我們的框架的10個不同的AutoML系統,我們展示了我們的框架評估AutoML系統的能力。結果表明,該框架既可以用來描述一組不同的ML程序,又可以用來明確地確定哪個自動化系統生成了最佳的ML程序。在許多情況下,生成的ML程序的性能優于由人類專家編寫的ML程序。