神經架構搜索(NAS)是最近提出的一種自動設計網絡架構的方法。NAS不是手動設計網絡架構,而是以數據驅動的方式自動找到最佳架構。盡管NAS取得了令人印象深刻的進展,但在實踐中仍遠未被廣泛采用為架構設計的通用范式。本文旨在開發有原則的NAS方法,可以自動化神經網絡的設計,并盡可能減少人工在架構調優方面的工作。為了實現這一目標,我們專注于開發更好的搜索算法和搜索空間,這兩者對NAS的性能都很重要。
在搜索算法方面,首先提出了一種基于貝葉斯優化(BO)的高效NAS框架;本文提出一種方法來學習網絡體系結構域上的嵌入空間,使得為體系結構域定義一個核函數成為可能,這是將BO應用于NAS的必要組件。提出了一種鄰域感知的NAS公式,以提高NAS發現的體系結構的泛化性。所提出的公式具有足夠的通用性,適用于各種搜索算法,包括基于采樣的算法和基于梯度的算法。
對于搜索空間,本文首先將NAS擴展到發現卷積細胞以外的注意力細胞。本文提出一種時空注意力單元的搜索空間,以注意力操作為主要構建塊。所發現的注意力單元不僅優于人工設計的注意力單元,而且在不同模態、骨干或數據集上表現出很強的泛化能力。基于committee的模型(集合或級聯)是高效模型的一個被忽視的設計空間。從現成的預訓練模型中簡單地構建committee,可以匹配或超過最先進模型的精度,同時大大提高了效率。最后,通過對不同基于激光雷達的三維目標檢測算法的比較,指出了成本控制的重要性。其次,如果允許使用類似的延遲,一個通常被認為已經顯著超過的簡單基線在Waymo開放數據集上的性能幾乎可以與最先進方法的性能相匹配。
//www.ri.cmu.edu/publications/search-algorithms-and-search-spaces-for-neural-architecture-search/
**深度神經網絡(dnn)在人工智能(AI)的廣泛應用中蓬勃發展。深度神經網絡的普遍采用可以歸因于其對不同任務的高度可定制性。**事實上,研究人員已經為不同的應用設計了DNNs的變種,例如,用于視覺識別的卷積神經網絡(CNNs)、用于圖像合成的生成對抗網絡(GANs)、用于時間序列處理的循環神經網絡(RNNs)等。所有這些變體都具有高度不同的網絡拓撲和訓練目標。
//dataspace.princeton.edu/handle/88435/dsp01zk51vm00t
盡管DNNs取得了成功,但人們越來越關注DNNs的效率。當前的DNN資源匱乏,為它們在資源有限的邊緣設備上部署設置了困難的障礙。然而,深度神經網絡應用的廣泛性增加了發現高效的不同變體深度神經網絡的難度。由于這種關鍵的多樣性,很難產生一種通用方法來獲得高效的DNN,并在不同的應用程序中具有令人滿意的性能。
本文通過一個簡單而直觀而有效的概念,解決了不同領域的深度神經網絡高效設計的挑戰:深度神經網絡本身是為不同的學習目標定制的,提高其效率的方法也應該是定制的。有了這個概念,本文提出設計高效CNN、GANs和RNN的方法。本文首先提出了一種CNN壓縮算法——類判別壓縮(CDC),與CNN的類判別訓練目標無縫契合,并在不損失精度的情況下為ImageNet上的ResNet50提供了1.8倍的加速。對CNN壓縮的通道剪枝進行了深入研究。在分類精度目標的驅動下,本文提出一種進化框架,以自動發現優于手動設計的可遷移剪枝函數。本文進一步研究了GAN圖像合成的另一種應用。GAN被訓練成合成真實的內容,從而提出了一種內容感知的GAN壓縮方法,將最先進的模型加速了11倍,而圖像質量損失可以忽略不計。最后,我們將研究擴展到系統設計領域,我們的目標是通過構建高效的RNN數據預取器來緩解內存墻。本文提出一種多架構協同設計策略,將最先進的神經預取器速度提高15倍,性能甚至更好。
機器學習在過去十年取得了重大進展。其最成功的范式是深度神經網絡,由連續表示層組成,其參數通過梯度下降在大規模數據集上進行優化。
深度神經網絡在許多任務上取得了卓越的性能,如物體識別、語言理解和自動駕駛。然而,他們仍然在推理任務中掙扎,這些任務通常需要操作符號并將多個步驟組合起來,例如,求解數學方程或編寫計算機程序。在這篇論文中,我們的目標是彌合這一差距,并教機器以精確、系統、可解釋和魯棒的方式進行推理,以應對現實環境中的模糊性。**本文采用神經符號方法,結合機器學習和符號推理的互補優勢。符號推理具有精確性和系統性。**但它已被限制在可嚴格形式化的領域。相比之下,主要的機器學習方法很靈活,但眾所周知難以解釋,需要大量數據,并且無法在訓練分布之外進行泛化。集成兩種方法的優勢對于構建具有精確和系統泛化能力的靈活推理機至關重要。具體而言,本文從兩個角度研究了神經符號推理。首先,將機器學習應用于與符號推理相關的任務,如自動定理證明(第2章)。其次,將符號推理啟發的歸納偏差引入機器學習模型,以提高其可解釋性、泛化性和數據效率(第3章和第4章)。結果強調了(1)神經符號模型架構,(2)在適當的抽象水平上進行推理,以及(3)明確的、推理的組合表示,如符號證明。 //dataspace.princeton.edu/handle/88435/dsp015q47rr958
過去十年,深度學習在幾個重要應用中取得了巨大成功,但數學理解卻落后于它驚人的經驗成功。經典的機器學習理論不足以解釋深度學習中的各種新現象,并為算法選擇提供指導,很大程度上是由于過于簡化的黑盒觀點忽略了模型與優化算法之間的相互作用。本文提出了一組理論結果,考慮了模型和優化算法之間的相互作用,旨在彌合深度學習的理論和實踐之間的差距,以實現泛化和優化。在優化方面,我們首先通過呈現一個在經驗上工作良好的指數級增長的學習率計劃來說明傳統優化理論和具有標準化層的深度網絡之間的不匹配。本文通過建立其與具有權重衰減的SGD的等價性來解釋這種驚喜,并證明其收斂速度快且對初始化規模不敏感。在此基礎上,我們設計了一種名為SIBERT的BERT變體,它可以被SGD訓練,因此比ADAM等自適應算法更節省內存。最后,提出了第一個可證明的通用場景,根據經驗觀察,梯度下降以非單調的方式減少損失。在泛化方面,本文研究了優化算法的隱式偏差,即盡管存在因模型過參數化而泛化能力差的解,但算法仍返回泛化能力好的解。本文首先給出了一個嚴格的理由,為什么卷積網絡比全連接網絡的樣本效率更高。為經驗觀察提供了理論證明,包括矩陣分解在內的深度線性網絡,是由從小初始化隱偏置到低秩解的梯度下降訓練的。我們還確定了一個條件,即梯度下降與鏡像下降等價,可以用來理解非線性模型的隱式偏差,并恢復幾個先前的結果。進一步表明,當有一定的梯度噪聲或其學習率大于2的損失銳度時,梯度下降對"更平坦"的解決方案有隱性偏差。
由于深度學習在計算機視覺和自然語言處理等各種任務中的顯著能力,它已成為機器學習領域的一個里程碑。神經網絡的結構對性能有顯著影響,因此確定神經網絡的結構非常重要。通常,神經架構設計的方法可以分為兩類。一類是利用搜索方法設計神經結構,目的是自動實現潛在的神經結構。例如,NASNet架構是在使用強化學習算法定義的搜索空間中找到的。另一類是基于領域知識手工設計神經體系結構。大多數實用的體系結構,如ResNet和Transformer都是基于先驗知識提出的。在本文中,我們從以上兩個角度對神經架構設計進行了全面的討論。
首先,我們介紹了一種基于貝葉斯優化的神經結構搜索算法BONAS。在搜索階段,GCN嵌入提取器和貝葉斯sigmoid回歸器構成貝葉斯優化的代理模型,并根據采集函數選擇搜索空間中的候選架構。在查詢階段,我們將它們合并為一個超級網絡,并通過權值共享機制對各個體系結構進行評估。提出的BONAS可以獲得開發與勘探平衡的重要體系結構。
其次,針對著名的Transformer中的自注意力模塊,提出了一種可微架構搜索方法來查找重要的注意力模式。與以往的研究不同,我們發現注意力地圖中的對角線元素可以在不影響性能的情況下被丟棄。為了理解這一觀察結果,我們從普遍近似的角度提供了理論證明。基于所提出的搜索方法,實現了一系列用于高效架構設計的注意力掩碼。
第三,我們試圖從一個統一的框架來理解Transformer中的前饋模塊。具體來說,我們引入了記憶標記的概念,并建立了前饋和自注意力之間的關系。在此基礎上,我們提出了一種新的結構——單注意力,它包含了所有四種類型的注意力連接。在給定相同數量的內存令牌的情況下,與以前的基線相比,Uni-attention實現了更好的性能。
最后,我們研究了整個Transformer體系結構中的過平滑現象。我們通過建立自注意力與圖域之間的關系來進行理論分析。具體而言,我們發現層歸一化在過平滑問題中起著重要作用,并通過經驗驗證了這一點。為了緩解這個問題,我們提出了分層融合體系結構,這樣輸出可以更加多樣化。
摘要
神經網絡(NNs)的準確性已經在廣泛的問題中得到了顯著的提高,通常是通過高度過參數化的模型實現的。盡管這些最先進的模型具有準確性,但它們的龐大規模使其無法部署到許多資源受限的應用程序中,如實時智能醫療保健監測、自動駕駛、音頻分析和語音識別。這就給實現普適深度學習帶來了一個問題,它需要低能耗、高精度的實時推理和有限的計算資源。
要實現能實現實時約束和最佳精度的高效NN,需要1)NN架構設計、2)模型壓縮方法和3)硬件引擎設計的協同優化。以前追求高效深度學習的工作更多地關注于優化代理指標,如內存大小和FLOPs,而硬件規格實際上在決定整體性能方面起著重要作用。此外,由于設計空間非常大,在以往的文獻中,上述三個方面往往是單獨的、經驗的優化,使整個設計過程耗時且次優。
本文首先系統地研究了一種廣泛應用的標準模型壓縮技術——量化方法。我們沒有使用啟發式設計或昂貴的搜索,而是利用Hessian信息來解決混合精度量化問題,我們提出的Hessian- aware量化(HAWQ)方法在不同的網絡和數據集上實現了最先進的性能。我們進一步使整個管道全自動(HAWQV2),并探索了不同任務(QBERT)上量化(ZeroQ)的不同方面。
基于我們的系統量化方法,我們將硬件規格和部署納入設計空間(HAWQV3)。該神經結構被納入協同設計(CoDeNet),并被自動搜索(HAO)。最后,通過引入基于教師的分段蒸餾餾(ETA),提高了HW-SW自動化協同設計管道的整體效率。總之,我們在本文中的工作展示了從傳統的神經網絡設計到硬件感知的高效深度學習的進化步驟。我們相信,這將進一步加速在資源有限的設備和現實應用中部署先進的神經網絡。
引言
隨著最先進的深度學習模型的參數大小和計算量急劇增長,在不同的硬件平臺上高效部署這些模型變得越來越重要。在特定的硬件資源和約束條件下,1) 模型壓縮,2) 神經結構設計/搜索,3) 硬件優化是獲得可行解的主流方法。模型壓縮包括量化、修剪、知識蒸餾和因式分解等方法,其目的是對預先訓練好的模型進行壓縮,包括模型大小和計算量。隨著當前硬件對低精度計算的支持,量化已經成為解決這些挑戰的流行過程。從另一個角度來看,NAS算法試圖尋找一個有效的神經結構,然后從零開始訓練它。相比之下,硬件優化總是在神經結構和模型壓縮方法固定之后進行。盡管有這些優點,但為了充分利用該系統,實現硬件感知的高效深度學習,在本文中我們試圖解決的問題有三個。
首先,我們要注意的是,實現高效深度學習的三個組成部分并不相互正交。如圖1.1所示,特定神經體系結構的性能實際上與模型壓縮方法和硬件規格高度相關。例如,在具有適當配置的FPGA板上,具有4位量化的ResNet50可以比具有8位量化的ResNet50運行得更快。但是在只支持8位整數的GPU上,8位量化ResNet50可以達到與4位ResNet50相同的速度,同時能夠獲得更高的精度。在本文中,我們的目標是實現硬件感知的高效深度學習,我們綜合考慮了這三個方面,并試圖在它們之間的權衡中獲得最佳點。
其次,之前的工作試圖優化代理指標,如模型大小和神經網絡模型的FLOPs,假設這些理論指標與實際有效指標(如延遲、吞吐量和能耗)高度相關。然而,有人指出,代理指標在特定情況下可能具有誤導性。為了避免次優解的出現,本文利用已開發的硬件引擎或模擬器直接優化實際指標。
最后,綜合考慮神經網絡架構、模型壓縮和硬件設計,可以形成一個非常大的搜索空間。以關節空間的一小部分為例,混合精度量化允許神經網絡的每一層選擇特定的量化位寬,這導致位寬配置的搜索空間呈指數級大。考慮到搜索空間的大小,以前的方法通常是啟發式的,這需要領域知識和人工努力,或者是耗時的,這需要強大的計算資源來執行搜索過程。
在本文中,我們通過應用Hessian分析和整數優化等優化方法,以及基于學習的技術,如延遲和精度模擬器,以及塊知識蒸餾,使我們的方法自動化和高效。本文提出的方法能夠在解決上述問題的同時取得良好的性能。例如,通過我們的混合精度量化,我們在各種模型上實現了10倍的壓縮比,只有大約1%的精度下降(請參閱第6章和第7章)。此外,作為我們使用HW-SW聯合設計的一個例子,我們的4位/8位混合精度模型在Pascal VOC上得到67.1 AP50,只有2.9 MB大小,比Tiny-YOLO小21倍,但精度更高10%(如第12章)。
在本文中,我們首先介紹了在第二章中我們用來定義硬件感知的高效深度學習的指標。在第三章中,我們展示了應用硬件感知的高效深度學習的動機。然后我們將我們的工作分為兩行,第一行展示了我們在系統量化方面的進展,第二行描述了我們在圖1.1中自動和共同探索三個設計空間的技術。具體來說,第四章介紹了量化的概念和相關工作,第五章到第八章介紹了我們的工作HAWQ, HAWQV2, Q-BERT, ZeroQ,第九章給出了結論。第十章介紹了軟硬件協同設計的研究方向和已有的研究成果。我們在第11章到第14章展示了我們的作品HAWQV3, CoDeNet, HAO和ETA,并以第15章作為結論。最后,在第16章中,我們回顧了我們工作的重要性,并討論了未來可能的方向。
在這項工作中,我們探索了提高機器學習系統各方面效率的理論和算法。首先,我們研究了在ML中實現高效機器不學習的算法原理。我們提出了兩種無監督學習算法,它們在在線數據刪除方面實現了超過100倍的改進,同時產生了統計質量與標準k-means++基線相當的集群。
其次,我們探索混合維嵌入,這是一種嵌入層架構,其中特定嵌入向量的維數隨其查詢頻率的變化而變化。通過理論分析和系統實驗,我們證明了使用混合維可以大大減少內存使用,同時保持甚至提高預測性能。使用Criteo Kaggle數據集上一半的參數或使用16倍的參數進行點擊率預測,混合維層將精度提高0.1%。他們在GPU上的訓練速度也超過2倍。
最后,我們提出了一種用于ML部署監控的新方法MLDemon。MLDemon集成了未標記數據和少量按需標簽,從而對給定數據流上部署的模型當前的準確性進行實時估計。受預算限制,MLDemon決定何時獲得額外的、可能昂貴的、專家監督標簽來驗證模型。在基準測試中,MLDemon優于之前的方法。我們還提供了理論分析,表明MLDemon對于廣泛的一類分布漂移是極小極大速率最優的。
近年來,transformer和多層感知器(MLP)架構在各種視覺任務中取得了令人印象深刻的成果。然而,如何有效地將這些運算符組合在一起,形成高性能的混合視覺架構仍然是一個挑戰。在這項工作中,我們通過提出一種新的統一架構搜索方法來研究卷積、transformer和MLP的可學習組合。我們的方法包含兩個關鍵設計來實現對高性能網絡的搜索。首先,我們以統一的形式對不同的可搜索運算符進行建模,從而使這些運算符可以用相同的一組配置參數來表征。這樣,整體搜索空間的大小大大降低,總搜索成本變得可以承受。其次,我們提出了上下文感知下采樣模塊(DSMs),以減輕不同類型操作之間的差距。我們提出的DSM能夠更好地適應不同類型運算符的特征,這對于識別高性能混合架構非常重要。最后,我們將可配置算子和DSM集成到一個統一的搜索空間中,并使用基于強化學習的搜索算法進行搜索,以充分探索這些算子的最優組合。為此,我們搜索了一個基線網絡,并將其擴大,得到了一個名為UniNets的模型家族,它比以前的ConvNets和transformer取得了更好的精度和效率。特別地,我們的UniNet-B5在ImageNet上實現了84.9%的top-1準確率,比efficient - net - b7和BoTNet-T7分別減少了44%和55%的失敗。通過在ImageNet-21K上進行預訓練,我們的UniNet-B6達到87.4%,性能優于Swin-L,失敗次數減少51%,參數減少41%。代碼可以在//github.com/Sense-X/UniNet上找到。
現代深度強化學習(RL)算法,盡管處于人工智能能力的最前沿,但通常需要大量的訓練樣本才能達到與人類相當的性能水平。這種嚴重的數據效率低下是深度RL實際應用的主要障礙:在沒有模擬器的情況下,深度RL幾乎不可能應用于任何領域。為了解決這種關鍵數據效率低下的問題,在本論文中,我們致力于設計能夠快速適應新環境的元學習智能體。與標準的強化學習相比,元學習在特定的環境分布上進行學習,從這些環境中采樣特定的任務,并直接優化元學習器,以提高策略改進的速度。通過利用與感興趣任務具有共同子結構的任務分布,元學習器可以調整自己的歸納偏見,使其能夠在測試時快速適應。
本論文的重點是設計元學習算法,利用記憶作為驅動快速適應新環境的主要機制。具有情景間記憶的元學習是一類元學習方法,利用基于特定環境的整個交互歷史的記憶架構來產生策略。因此,在特定任務中驅動策略改進的學習動態被包含在序列模型的計算過程中,本質上把學習算法的設計交給了體系結構。雖然概念簡單,但使用情景間記憶的元學習非常有效,仍然是最先進的方法。我們提出并討論了幾種通過記憶進行元學習的技術。
論文的第一部分集中在“具身”類環境,其中一個主體在一個類似自然世界的環境中有物理表現。我們利用這種高度結構化的環境集來設計具有快速記憶、規劃和狀態推斷能力的整體嵌入式代理體系結構。在論文的第二部分,我們將重點放在沒有強公共子結構的一般環境中應用的方法。首先,我們重新檢查元學習代理與環境的交互模式:提出用一個并行執行框架來取代典型的順序處理交互歷史,其中多個智能體并行地在環境中行動。接下來,我們討論了一個通用的和強大的序列模型的使用片段間存儲器,門控transformer,展示了性能和數據效率的巨大改進。最后,我們開發了一種方法,可以顯著降低(元)強化學習設置中transformer模型的訓練成本和作用延遲,目的是(1)使它們在研究社區中更廣泛地使用,(2)解鎖它們在實時和延遲受限的應用中使用,如機器人。
//www.ml.cmu.edu/research/phd-dissertation-pdfs/eparisot_phd_mld_2021.pdf
今天的計算機視覺擅長于識別現實世界的限定部分:我們的模型似乎能在基準數據集中準確地檢測出像貓、汽車或椅子這樣的物體。然而,部署模型要求它們在開放世界中工作,開放世界包括各種設置中的任意對象。目前的方法在兩個方面都有困難:他們只認識到少數的類別,并且在不同的訓練分布的環境中切換。解決這些挑戰的模型可以作為下游應用的基本構建模塊,包括識別操作、操作對象和繞過障礙進行導航。本論文提出了我們在建立魯棒檢測和跟蹤目標模型的工作,特別是有很少或甚至沒有訓練的樣例。首先,我們將探索傳統模型如何泛化到現實世界,傳統模型只識別一小部分對象類。我們表明,目前的方法是極其敏感的:即使是輸入圖像或測試分布的細微變化,都可能導致精度下降。我們的系統評估顯示,模型——即使是那些訓練很好的對對抗或合成損壞具有魯棒性的模型——經常正確地分類視頻的一幀,但在相鄰的感知相似的幀上卻失敗了。類似的現象甚至適用于由數據集之間的自然變化引起的微小分布變化。最后,我們提出了一種解決對象外觀泛化的極端形式的方法:檢測完全遮擋的對象。接下來,我們探索歸納到大的或無限的詞匯,其中包含罕見的和從未見過的類。由于當前的數據集很大程度上局限于一個小的、封閉的對象集合,我們首先提出了一個大型詞匯基準來衡量檢測和跟蹤的進展。我們展示了當前的評估不足以滿足大型詞匯量基準測試,并提供了適當評估此設置中的進度的替代指標。最后,我們提出了利用封閉世界識別的進展來為任何對象建立精確、通用的檢測器和跟蹤器的方法。
//www.ri.cmu.edu/publications/open-world-object-detection-and-tracking/
深度神經網絡在圖像識別、語言識別和機器翻譯等人工智能任務中取得了巨大進展,很大程度上歸功于優秀的神經網絡結構設計。神經網絡大都由手工設計,需要專業的機器學習知識以及大量的試錯。為此,自動化的神經網絡結構搜索成為研究熱點。神經網絡結構搜索(neural architecture search,NAS)主要由搜索空間、搜索策略與性能評估方法3部分組成。在搜索空間設計上,出于計算量的考慮,通常不會搜索整個網絡結構,而是先將網絡分成幾塊,然后搜索塊中的結構。根據實際情況的不同,可以共享不同塊中的結構,也可以對每個塊單獨搜索不同的結構。在搜索策略上,主流的優化方法包含強化學習、進化算法、貝葉斯優化和基于梯度的優化等。在性能評估上,為了節省計算時間,通常不會將每一個網絡都充分訓練到收斂,而是通過權值共享、早停等方法盡可能減小單個網絡的訓練時間。與手工設計的網絡相比,神經網絡結構搜索得到的深度神經網絡具有更好的性能。在ImageNet分類任務上,與手工設計的MobileNetV2相比,通過神經網絡結構搜索得到的MobileNetV3減少了近30%的計算量,并且top-1分類精度提升了3.2%;在Cityscapes語義分割任務上,與手工設計的DeepLabv3+相比,通過神經網絡結構搜索得到的Auto-DeepLab-L可以在沒有ImageNet預訓練的情況下,達到比DeepLabv3+更高的平均交并比(mean intersection over union,mIOU),同時減小一半以上的計算量。神經網絡結構搜索得到的深度神經網絡通常比手工設計的神經網絡有著更好的表現,是未來神經網絡設計的發展趨勢。
//www.cjig.cn/jig/ch/reader/view_abstract.aspx?file_no=20210202&flag=1