【導讀】深度神經網絡在很多監督任務都達到了SOTA性能,但是其計算量是個挑戰。來自MIT 教授 Vivienne Sze等學者發布了關于《深度神經網絡的高效處理》著作,本書為深度神經網絡(DNNs)的高效處理提供了關鍵原則和技術的結構化處理。值得關注。
//www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1530
本書為深度神經網絡(DNNs)的高效處理提供了關鍵原則和技術的結構化處理。DNNs目前廣泛應用于許多人工智能(AI)應用,包括計算機視覺、語音識別和機器人技術。雖然DNNs在許多人工智能任務中提供了最好的性能,但它以高計算復雜度為代價。因此,在不犧牲準確性或增加硬件成本的情況下,能夠有效處理深層神經網絡以提高指標(如能源效率、吞吐量和延遲)的技術對于在人工智能系統中廣泛部署DNNs至關重要。
本書中包括了DNN處理的背景知識;設計DNN加速器的硬件架構方法的描述和分類;評價和比較不同設計的關鍵指標;DNN處理的特點是服從硬件/算法的共同設計,以提高能源效率和吞吐量;以及應用新技術的機會。讀者將會發現對該領域的結構化介紹,以及對現有工作中關鍵概念的形式化和組織,從而提供可能激發新想法的見解。
深度神經網絡(DNNs)已經變得非常流行; 然而,它們是以高計算復雜度為代價的。因此,人們對有效處理DNNs產生了極大的興趣。DNN加速的挑戰有三:
目錄內容:
第一部分理解深層神經網絡
第二部分處理DNNs的硬件設計
第三部分,DNN硬件和算法的協同設計
第一個模塊旨在提供DNN領域的總體背景和了解DNN工作負載的特點。
第二部分主要介紹處理DNNs的硬件設計。它根據定制程度(從通用平臺到完全定制硬件)討論各種架構設計決策,以及在將DNN工作負載映射到這些架構時的設計考慮。同時考慮了時間和空間架構。
第三個模塊討論了如何通過算法和硬件的協同設計來提高堆棧的效率,或者通過使用混合信號電路新的存儲器或設備技術來降低堆棧的效率。在修改算法的情況下,必須仔細評估對精度的影響。
Vivienne Sze,來自 MIT 的高效能多媒體系統組(Energy-Efficient Multimedia Systems Group)。她曾就讀于多倫多大學,在 MIT 完成 PhD 學業并獲得電氣工程博士學位,目前在 MIT 任教。Sze 教授的主要研究興趣是高效能算法和移動多媒體設備應用架構。
這本書以一種結構化的、直觀的、友好的方式學習c++編程語言。這本書教授現代c++編程語言、c++標準庫和現代c++標準的基礎知識。不需要以前的編程經驗。
c++是一種不同于其他語言的語言,它的復雜性令人驚訝,但在許多方面都非常優美和優雅。它也是一種不能通過猜測來學習的語言,是一種很容易出錯的語言。為了克服這一點,每個部分都充滿了現實世界中逐漸增加復雜性的例子。面向絕對初學者的現代c++教的不僅僅是用c++ 20編程。它提供了一個可在其上進行構建的堅實的c++基礎。
作者帶您了解c++編程語言、標準庫和c++ 11到c++ 20標準基礎知識。每一章都附有適量的理論和大量的源代碼示例。
您將使用c++ 20個特性和標準,同時還將比較和查看以前的c++版本。您將使用大量相關的源代碼示例來實現此目的。
你將學到什么
這本書是給誰的
【簡介】近些年深度神經網絡幾乎在各個領域都取得了巨大的成功。然而,這些深度模型在尺寸上過于巨大,有幾百萬甚至上億的參數,造成了巨大的計算開銷,致使模型難以部署和落地。除此之外,模型的表現還高度依賴于大量的標注數據。為了使模型得到更加高效的訓練和處理標記數據不足的難題,知識蒸餾(KD)被用來遷移從一個模型到另一個模型學習到的知識。這個過程也經常被描述為student-teacher(S-T)學習框架,并且已經被廣泛應用到模型壓縮和知識遷移中。這篇論文主要介紹了知識蒸餾和student-teacher學習模型。首先,我們對于KD是什么,它是如何工作的提供了一個解釋和描述。然后,我們對近些年知識蒸餾方法的研究進展和典型用于視覺任務的S-T學習框架進行了一個全面的調研。最后,我們討論了知識蒸餾和S-T模型未來的發展方向和研究前景,以及目前這些方法所面臨的開放性挑戰。
介紹
深度神經網絡的成功主要依賴于精心設計的DNN架構。在大規模機器學習任務中,尤其是圖像識別和語音識別任務,大多數基于DNN的模型都是憑借大量的參數來提取特征從而保證模型的泛化能力。這種笨重的模型通常都有非常深和非常寬的特點,需要花費大量的時間進行訓練,而且不可能實時操作。所以,為了加速模型訓練,許多研究人員嘗試著利用預訓練的復雜模型來獲得輕量級的DNN模型,從而使得這些模型可以被部署應用。這是一篇關于知識蒸餾(KD)和student-teacher(S-T)學習模型的論文。一般來講,知識蒸餾被視作一種機制:當只給出小型的訓練集,其中包含相同或不同種類的樣本的時候,這種機制能夠使得人類快速學習新的,復雜的概念。在深度學習中,知識蒸餾是一個有效的方法,目前已經被廣泛的應用在了從一個網絡到另一個網絡的信息轉移上。知識蒸餾主要被應用在模型壓縮和知識遷移這兩個領域,對于模型壓縮,一個較小的學生模型被訓練來模仿一個預先訓練好的較大的模型。盡管知識和任務種類多樣,但是S-T框架是他們的一個相同點,其中提供知識的模型被稱作teacher,學習知識的模型被稱作student。我們對現有的知識蒸餾方法進行了重點分析和分類,其中還伴隨著各種類型的S-T結構的模型壓縮和知識轉移。我們回顧和調查了這一迅速發展的領域,強調了該領域的最新進展。雖然知識蒸餾方法已經應用于視覺智能、語音識別、自然語言處理等各個領域,但本文主要關注的是視覺領域的知識蒸餾方法,所以論文中關于知識蒸餾的大多數闡釋都是基于計算機視覺任務。由于知識蒸餾方法研究最多的領域是模型壓縮,所以我們系統地討論了該領域的技術細節、關鍵性挑戰和發展潛力。同時,重點介紹了在半監督學習、自監督學習等領域的知識遷移方法,重點介紹了以S-T學習框架為基礎的技術。
文章結構
section 2:探討知識蒸餾和S-T學習框架為什么會吸引如此多的關注。 section 3:關于知識蒸餾的理論分析。 section 4-section14:對目前的方法進行分類,并且分析了面臨的挑戰以及該領域的發展前景。 section 15:根據上面的分類結果,我們回答了section 2中提出的問題。 section 16:介紹了知識蒸餾和S-T框架的潛力。 section 17:總結。
這本教科書解釋的概念和技術需要編寫的程序,可以有效地處理大量的數據。面向項目和課堂測試,這本書提出了一些重要的算法,由例子支持,給計算機程序員面臨的問題帶來意義。計算復雜性的概念也被介紹,演示什么可以和不可以被有效地計算,以便程序員可以對他們使用的算法做出明智的判斷。特點:包括介紹性和高級數據結構和算法的主題,與序言順序為那些各自的課程在前言中提供; 提供每個章節的學習目標、復習問題和編程練習,以及大量的說明性例子; 在相關網站上提供可下載的程序和補充文件,以及作者提供的講師資料; 為那些來自不同的語言背景的人呈現Python的初級讀本。
【導讀】機器學習系統:這個規模的設計是一個示例豐富的指南,教你如何在你的機器學習系統中實現反應式設計解決方案,使它們像一個構建良好的web應用一樣可靠。
本文首先介紹了反應性機器學習基礎,然后介紹如何建立一個反應式機器學習系統(收集數據、生成特征、學習模型、評估模型、發布模型),最后介紹如何操作一個機器學習系統。
作者介紹 Jeff Smith使用Scala和Spark構建大規模的機器學習系統。在過去的十年中,他一直在紐約,舊金山和香港的多家初創公司從事數據科學應用的研究。他在博客中談到了構建現實世界機器學習系統的各個方面。
內容大綱 Part 1. 反應性機器學習基礎
Part 2. 建立一個反應式機器學習系統(Building a reactive machine learning system)
Part 3. 操作一個機器學習系統(Operating a machine learning system)
主題: Efficient Processing of Deep Neural Networks: from Algorithms to Hardware Architectures
簡介: 本教程介紹了用于高效處理深度神經網絡(DNN)的方法,這些方法已在許多AI應用程序中使用,包括計算機視覺,語音識別,機器人等。DNN以高計算復雜度為代價,提供了一流的準確性和結果質量。因此,為深度神經網絡設計有效的算法和硬件架構是朝著在人工智能系統(例如,自動駕駛汽車,無人機,機器人,智能手機,可穿戴設備,物聯網等)中廣泛部署DNN邁出的重要一步。在速度,延遲,功耗/能耗和成本方面有嚴格的限制。 在本教程中,我們將簡要概述DNN,討論支持DNN的各種硬件平臺的權衡,包括CPU,GPU,FPGA和ASIC,并重點介紹基準測試/比較指標和評估DNN效率的設計注意事項。然后,我們將從硬件體系結構和網絡算法的角度描述降低DNN計算成本的最新技術。最后,我們還將討論如何將這些技術應用于各種圖像處理和計算機視覺任務。
嘉賓介紹: Vivienne Sze是麻省理工學院電氣工程和計算機科學系的副教授。她的研究興趣包括能量感知信號處理算法,便攜式多媒體應用的低功耗電路和系統設計,包括計算機視覺,深度學習,自主導航和視頻編碼。在加入MIT之前,她是TI研發中心的技術人員,在那里她設計了用于視頻編碼的低功耗算法和體系結構。在高效視頻編碼(HEVC)的開發過程中,她還代表TI參加了ITU-T和ISO / IEC標準機構的JCT-VC委員會,該委員會獲得了黃金時段工程艾美獎。她是《高效視頻編碼(HEVC):算法和體系結構》(Springer,2014年)的合編者,也是即將出版的《深度神經網絡的高效處理》(Morgan&Claypool)的合著者。她是2020年機器學習和系統會議(MLSys)的計劃共同主席,并教授MIT設計高效深度學習系統的專業教育課程。
A Survey of Model Compression and Acceleration for Deep Neural Networks 深度卷積神經網絡(CNNs)最近在許多視覺識別任務中取得了巨大的成功。然而,現有的深度神經網絡模型在計算上是昂貴的和內存密集型的,這阻礙了它們在低內存資源的設備或有嚴格時間延遲要求的應用程序中的部署。因此,在不顯著降低模型性能的情況下,在深度網絡中進行模型壓縮和加速是一種自然的思路。在過去幾年中,這方面取得了巨大的進展。本文綜述了近年來發展起來的壓縮和加速CNNs模型的先進技術。這些技術大致分為四種方案: 參數剪枝和共享、低秩因子分解、傳輸/緊湊卷積過濾器和知識蒸餾。首先介紹參數修剪和共享的方法,然后介紹其他技術。對于每種方案,我們都提供了關于性能、相關應用程序、優點和缺點等方面的詳細分析。然后我們將討論一些最近比較成功的方法,例如,動態容量網絡和隨機深度網絡。然后,我們調查評估矩陣、用于評估模型性能的主要數據集和最近的基準測試工作。最后,對全文進行總結,并對今后的研究方向進行了展望。