**深度神經網絡(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倍,性能甚至更好。
**深度神經網絡(DNN)在許多領域都提供了最先進的性能,但這一成功是以高計算和內存資源為代價的。**由于DNN推理在邊緣和云系統上都是一種流行的工作負載,因此迫切需要提高其能效。改進的效率使dnn能夠在更大范圍的目標市場中使用,并有助于提高性能,如果今天經常受到功率限制。本文采用軟硬件協同設計的方法,提高了不同硬件平臺上深度神經網絡推理的性能。我首先展示了一些降低DNN運行時成本的軟件優化技術。總的來說,我證明了模型大小可以減少34倍。不同風格的神經網絡壓縮技術的組合可以在縮小內存足跡方面提供成倍的收益。這些技術適用于在內存敏感的邊緣設備上運行DNN推理。利用運行時和依賴數據的特征信息,我開發了一種動態剪枝策略,其性能明顯優于現有的靜態剪枝方法。所提出的動態剪枝不僅減少了模型大小,而且減少了GPU的乘累加操作數量。我還介紹了一種新的量化機制,該機制被調整為適合模型參數的自然分布,這種方法減少了DNN推斷所需的位操作總數。然后,本文專注于使用自定義硬件加速DNN。構建了一個名為Tomato的框架,它在FPGA設備上生成多精度和多算法硬件加速器。軟硬件聯產流程從高層神經網絡描述中部署硬件加速器,利用FPGA器件的硬件可重構性支持靈活的每層量化策略。然后,我證明了自動生成的加速器在延遲和吞吐量方面比最接近的基于FPGA的競爭對手至少高出2到4倍。為ImageNet分類生成的加速器以每秒超過3000幀的速度運行,延遲僅為0.32ms,使其成為延遲關鍵、高吞吐量的云端推理的合適候選。最后,我展示了自動化機器學習技術如何通過硬件感知來改進,以為新興類型的神經網絡和新的學習問題設置產生高效的網絡架構。硬件感知的網絡架構搜索(NAS)能夠發現更節能的網絡架構,并在圖神經網絡等新興神經網絡類型上實現顯著的計算節省。在8個不同的圖數據集上與7個人工和NAS生成的基線相比,所提出的低精度圖網絡架構搜索提高了大小-精度的帕累托前沿。此外,我演示了硬件感知的NAS可以應用于多任務多設備少樣本學習場景。在具有各種硬件平臺和約束的流行的少樣本學習基準中,所提出的方法的性能明顯優于各種NAS和人工基準。在5路1樣本Mini-ImageNet分類任務上,所提方法在減少60%計算量的情況下,比最好的人工基線在準確率上提高了5.21%。
**近年來,深度學習在許多領域得到了快速發展。這些成功啟發了在安全領域使用深度學習。**然而,當深度學習遇到安全性時,至少有兩個主要挑戰。首先,攻擊數據的可用性是個問題。在有限的攻擊數據下構建一個良好的模型是具有挑戰性的。其次,深度學習系統本身容易受到各種攻擊,這在使用深度學習提高計算機系統安全性時帶來了新的問題。為了解決第一個挑戰,本文展示了如何使用深度學習技術來提高有限或沒有攻擊數據的計算機系統的安全性。為了解決第二個挑戰,我們展示了如何保護深度學習系統的安全性和隱私性。 **具體而言,在本文的第一部分中,我們考慮了一個沒有攻擊數據的實際場景,即異常檢測。**本文提出了一種新的方法——重構誤差分布(RED),用于實時異常檢測。本文的關鍵見解是,計算機系統的正常行為可以通過時間深度學習模型捕獲。偏離正常行為表示異常。實驗表明,所提方法可以在電網控制器系統和通用云計算服務器中實時、高精度地檢測攻擊。論文的第二部分主要研究深度學習的安全與隱私保護問題。在機器學習即服務(MLaaS)系統中,可以通過一種精心設計的輸入,即敏感樣本,動態檢查云中的深度學習模型的完整性。在另一個場景中,例如邊緣-云系統中的分布式學習,我們證明了云中的攻擊者可以在攻擊者能力不斷減弱的情況下高保真地重構邊緣設備的輸入數據。本文還提出了一種新的防御方法來應對這些攻擊。 綜上所述,我們希望本文的工作能為利用深度學習提高安全性提供啟發,并有助于提高深度學習系統的安全性。
**隨著大型模型的發展以及數據的爆炸性增長和可用性,深度學習在眾多現實應用中取得了巨大而廣泛的突破。**然而,深度學習模型通常具有過高的計算和內存成本,不適合在移動設備或邊緣設備上進行實際部署。此外,深度學習模型面臨著學習和快速適應的挑戰,從只有幾個例子來解決新的任務。因此,本文提出了學習計算效率高的模型架構的技術和提高少樣本學習能力的方法。**我們從子空間分析方法及其在特征選擇問題中的應用開始。然后將這些方法擴展到深度神經網絡結構學習(deep neural network structural learning, SL)中,目的是減少冗余參數,以獲得能夠保持甚至提高精度的最優降維模型。**還介紹了基于混合剪枝-再生長技術的更高效的SL方法和可以跨更多維度降低模型的更通用的SL方法。除了靜態模型設計之外,本文還提出了動態神經網絡方法,可以在推理過程中根據不同的輸入動態調整模型權重和結構,以控制計算效率并提高表示能力。除了模型效率外,還提出了訓練模型的技術,可以從幾個例子中快速泛化。本文提出一種少樣本架構自適應方法,通過元學習一個任務感知架構控制器,為不同的少樣本任務定制特定于任務的模型結構。與傳統的NAS方法需要對每個新任務進行單獨的搜索成本不同,所提出方法在一次性元訓練成本后,在幾分鐘內從GPU數據集中直接生成特定于任務的模型結構。最后,提出了一種基于語言輔助表示的掩碼圖像預訓練的跨模態自監督學習框架。由此產生的模型產生了高質量的可遷移表示,提高了許多計算機視覺任務的準確性,并對對抗性/分布外樣本表現出強大的魯棒性。所產生的模型適用于結構學習以獲得更大的計算效率,也適用于低資源任務適應以獲得更好的數據效率。
//dataspace.princeton.edu/handle/88435/dsp01p8418r442
機器學習在過去十年取得了重大進展。其最成功的范式是深度神經網絡,由連續表示層組成,其參數通過梯度下降在大規模數據集上進行優化。
深度神經網絡在許多任務上取得了卓越的性能,如物體識別、語言理解和自動駕駛。然而,他們仍然在推理任務中掙扎,這些任務通常需要操作符號并將多個步驟組合起來,例如,求解數學方程或編寫計算機程序。在這篇論文中,我們的目標是彌合這一差距,并教機器以精確、系統、可解釋和魯棒的方式進行推理,以應對現實環境中的模糊性。**本文采用神經符號方法,結合機器學習和符號推理的互補優勢。符號推理具有精確性和系統性。**但它已被限制在可嚴格形式化的領域。相比之下,主要的機器學習方法很靈活,但眾所周知難以解釋,需要大量數據,并且無法在訓練分布之外進行泛化。集成兩種方法的優勢對于構建具有精確和系統泛化能力的靈活推理機至關重要。具體而言,本文從兩個角度研究了神經符號推理。首先,將機器學習應用于與符號推理相關的任務,如自動定理證明(第2章)。其次,將符號推理啟發的歸納偏差引入機器學習模型,以提高其可解釋性、泛化性和數據效率(第3章和第4章)。結果強調了(1)神經符號模型架構,(2)在適當的抽象水平上進行推理,以及(3)明確的、推理的組合表示,如符號證明。 //dataspace.princeton.edu/handle/88435/dsp015q47rr958
深度強化學習的最新進展已經證明了其在解決現實問題方面的巨大潛力。然而,有兩個問題阻礙了強化學習的應用:效率和效果。**本文研究如何通過設計基于深度模型的算法來提高強化學習的效率和效果。****對動力學模型的訪問使算法能夠進行規劃,這是順序決策的關鍵。本文主要圍繞在線強化學習、神經網絡在深度強化學習中的表達能力、離線強化學習和安全強化學習四個主題展開研究。**對于在線強化學習,本文提出了一個具有理論保證的算法框架,利用在學習環境中學習到的策略在真實環境中可以獲得的性能下界。通過實驗驗證了所提方法的有效性。對于深度強化學習中神經網絡的表達能力,證明了在某些情況下,基于模型的方法比無模型的方法需要更少的表示能力來近似接近最優的策略,并根據經驗表明,這在模擬機器人環境中可能是一個問題,基于模型的規劃器可以幫助。對于離線強化學習,設計了一種算法,使策略能夠保持在提供的專家演示集附近,以減少分布偏移,還進行了實驗,證明了所提出方法在提高模擬環境中機械臂操縱任務成功率的有效性。對于安全強化學習,提出了一種用學到的動力學模型來證明安全狀態的方法,實驗表明,該方法可以在一組簡單但具有挑戰性的任務中學習一個不錯的策略,沒有一次安全違規,而基線算法有數百次安全違規。 //dataspace.princeton.edu/handle/88435/dsp013197xq26c
神經架構搜索(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/
長期以來,隨著數據處理系統的復雜性不斷增加,系統設計者一直在想象能夠根據環境線索進行自我配置和適應的系統(如數據庫、調度程序)。在這種情況下,強化學習(RL)方法從一開始就吸引了系統開發人員。他們承諾從原始反饋信號中獲取復雜的決策策略。盡管RL方法在概念上很流行,但在現實世界的數據處理系統中卻很少見到。最近,由于利用大型神經網絡(深度強化學習)取得了引人注目的成功,RL受到了爆炸性增長的關注。新興的機器學習框架和強大的硬件加速器催生了大量新的潛在應用。在本文中,我首先提出,為了高效地設計和執行深度RL算法,需要新穎的軟件抽象來適應通信密集和快速進化算法的獨特計算模式。我提出了一種將邏輯算法構造與本地和分布式執行語義解耦的體系結構。我將進一步介紹RLgraph,這是我對這個體系結構的概念驗證實現。在RLgraph中,算法開發人員可以通過組合邏輯組件構建高級數據流圖來探索新的設計。此數據流圖獨立于特定的后端框架或執行概念,只在以后通過分階段構建過程映射到執行語義。RLgraph支持高性能算法實現,同時保持快速原型的靈活性。
//www.repository.cam.ac.uk/handle/1810/304385
其次,我研究了系統本身中RL應用程序稀缺的原因。我認為,由于缺乏用于任務模型設計的工具來彌合系統和算法之間的差距,以及缺乏評估模型能力的共同標準,應用RL的進展受到了阻礙。在本文中,我介紹了應用RL中第一個用于增量模型設計的工具——Wield。Wield 提供了一小組原語,將系統接口和特定于部署的配置從表示中分離出來。運用的核心是一種新的指導性實驗協議,稱為漸進隨機化,它幫助從業者逐步評估非確定性的不同維度。我演示了如何使用和漸進的隨機化可以用來再現和評估之前的工作,并指導新RL應用程序的實現。
一些相互競爭的擔憂是,深度學習在“邊緣”設備上的計算機視覺應用緩慢。邊緣設備僅為設備上的算法提供有限的資源,從而限制了功耗、內存和存儲使用。例如,移動電話、自動駕駛汽車和虛擬現實耳機都需要高精度和低延遲,這兩個目標會爭奪資源。
為了解決這個西西弗式的任務,現代方法花費了大量的計算來設計解決方案,超過了數千個小時或數年的GPU計算來設計一個單一的神經網絡。更不用說,在單一的一組資源約束下,這些工作只最大化了一個性能指標——準確性。如果資源約束的集合改變了怎么辦?如果額外的性能指標出現在前面,比如可解釋性或泛化?設計高效神經網絡的現代方法由于目標過于單一和狹隘而需要過多的計算而受到限制。
本文直接解決了現代方法的瓶頸,通過高效設計高效的深度神經網絡實現了最先進的性能。這些改進不僅減少了計算量或提高了精度;相反,我們的方法提高了性能,減少了計算需求,盡管增加了搜索空間大小的數量級。我們還展示了被錯過的機會,表現指標超越了準確性,重新設計任務,使準確性、可解釋性和泛化共同提高,這是傳統智慧不可能實現的,這表明,可解釋性和準確性參與了零和游戲。
這篇的論文最終提出了一組模型,為生產就緒的模型設置了新的靈活性和性能標準:這些模型是最先進的,精確的,可解釋的,可概括的,并且可以在CPU時間內配置任何資源約束。