人類在復雜的模式識別任務中非常出色。然而,他們通常依賴工具——如書籍、谷歌搜索或計算器——來補充他們的先驗知識,以便得出結論。與人類類似,生成性人工智能模型也可以通過訓練,使用工具來訪問實時信息或建議現實世界中的行動。例如,模型可以利用數據庫檢索工具來訪問特定信息,如客戶的購買歷史,從而生成量身定制的購物推薦。或者,基于用戶的查詢,模型可以進行多次API調用,向同事發送電子郵件回復,或代表用戶完成金融交易。為了實現這一點,模型不僅需要訪問一組外部工具,還需要具備規劃和執行任務的能力,且能夠自我指導。這種推理、邏輯與外部信息訪問能力的結合,與生成性人工智能模型相連,引出了“智能體”的概念——即一種超越生成性人工智能模型獨立功能的程序。本文白皮書將更詳細地探討這些及相關方面。
人類在復雜的模式識別任務中非常出色。然而,他們通常依賴工具——如書籍、谷歌搜索或計算器——來補充他們的先驗知識,以便得出結論。與人類類似,生成性人工智能模型也可以通過訓練,使用工具來訪問實時信息或建議現實世界中的行動。例如,模型可以利用數據庫檢索工具來訪問特定信息,如客戶的購買歷史,從而生成量身定制的購物推薦。或者,基于用戶的查詢,模型可以進行多次API調用,向同事發送電子郵件回復,或代表用戶完成金融交易。為了實現這一點,模型不僅需要訪問一組外部工具,還需要具備規劃和執行任務的能力,且能夠自我指導。這種推理、邏輯與外部信息訪問能力的結合,與生成性人工智能模型相連,引出了“智能體”(Agent)的概念——即一種超越生成性人工智能模型獨立功能的程序。本文白皮書將更詳細地探討這些及相關方面。
人類在復雜的模式識別任務中非常出色。然而,他們通常依賴工具——如書籍、谷歌搜索或計算器——來補充他們的先驗知識,以便得出結論。與人類類似,生成性人工智能模型也可以通過訓練,使用工具來訪問實時信息或建議現實世界中的行動。例如,模型可以利用數據庫檢索工具來訪問特定信息,如客戶的購買歷史,從而生成量身定制的購物推薦。或者,基于用戶的查詢,模型可以進行多次API調用,向同事發送電子郵件回復,或代表用戶完成金融交易。為了實現這一點,模型不僅需要訪問一組外部工具,還需要具備規劃和執行任務的能力,且能夠自我指導。這種推理、邏輯與外部信息訪問能力的結合,與生成性人工智能模型相連,引出了“智能體”的概念——即一種超越生成性人工智能模型獨立功能的程序。本文白皮書將更詳細地探討這些及相關方面。
基于變換器架構的大型模型在人工智能中扮演著越來越重要的角色,特別是在自然語言處理(NLP)和計算機視覺(CV)領域內。模型壓縮方法減少了它們的內存和計算成本,這是在實際設備上實現變換器模型的必要步驟。鑒于變換器的獨特架構,特別是交替注意力機制和前饋神經網絡(FFN)模塊,需要特定的壓縮技術。這些壓縮方法的效率也非常重要,因為通常不現實在整個訓練數據集上重新訓練大型模型。本綜述提供了近期壓縮方法的全面回顧,特別關注它們在變換器模型上的應用。壓縮方法主要分為剪枝、量化、知識蒸餾和高效架構設計四個類別。在每個類別中,我們討論了CV和NLP任務的壓縮方法,強調共同的基本原則。最后,我們深入探討了各種壓縮方法之間的關系,并討論了該領域的進一步方向。
深度神經網絡已成為眾多人工智能應用中不可或缺的部分,其架構涵蓋了多種形式,如多層感知機(MLP)、卷積神經網絡(CNN)、循環神經網絡(RNN)、長短期記憶網絡(LSTM)、變換器(Transformers)等。近來,基于變換器的模型已成為各個領域的主流選擇,包括自然語言處理(NLP)和計算機視覺(CV)領域。考慮到它們強大的擴展能力,大多數擁有超過數十億參數的大型模型都是基于變換器架構的,這些模型被視為通用人工智能(AGI)的基礎元素。盡管大型模型展示了顯著的能力,但它們極大的規模對實際開發提出了挑戰。例如,GPT-3模型有1750億參數,大約需要350GB的內存模型存儲空間(float16)。巨大的參數量及其相關的計算開銷要求設備具有極高的內存和計算能力。直接部署這樣的模型將會產生巨大的資源成本,并顯著增加二氧化碳排放。此外,在像手機這樣的邊緣設備上,由于存儲和計算資源有限,這些模型的開發變得不切實際。
模型壓縮是一種有效的策略,用于減輕與變換器模型相關的開發成本。這種方法基于減少冗余的原則,包括多種類別,如剪枝、量化、知識蒸餾、高效架構設計等。網絡剪枝直接移除冗余組件,如塊、注意力頭、FFN層或個別參數。通過采用不同的剪枝粒度和剪枝標準,可以派生出多種子模型。量化通過使用較低位表示模型權重和中間特征來減少開發成本。例如,將全精度模型(float32)量化為8位整數時,內存成本可以減少四分之一。根據計算過程,它可以分為訓練后量化(PTQ)或量化感知訓練(QAT),其中前者只需要有限的訓練成本,對大型模型更有效。知識蒸餾作為一種訓練策略,將知識從大模型(教師)轉移到小模型(學生)。學生通過模擬模型的輸出和中間特征來模仿教師的行為。值得注意的是,對于像GPT-4這樣的高級模型,僅通過APIs訪問,它們生成的指示和解釋也可以指導學生模型的學習。除了從預定義的大型模型獲得模型外,一些方法通過直接減少注意力模塊或FFN模塊的計算復雜性來產生高效的架構。結合不同的方法可以實現極端壓縮。例如,Han等人結合了網絡剪枝、量化和哈夫曼編碼,在傳統的VGGNet上實現了令人印象深刻的49倍壓縮率。關于變換器模型,它們的壓縮策略展示出獨特的特點。與CNN或RNN等其他架構不同,變換器具有獨特的設計,包括替代的注意力和FFN模塊。前者通過計算不同令牌上的注意力圖來捕獲全局信息,而后者分別從每個令牌提取信息。這種特定的架構可以激發針對最優壓縮率的定制壓縮策略。此外,對于這樣的大型模型,壓縮方法的效率尤為重要。由于大型模型的高計算成本,通常無法負擔在原始訓練集上重新訓練整個模型。一些訓練效率高的方法,如訓練后壓縮更受青睞。
在這項綜述中,我們旨在全面調查如何壓縮這些變換器模型(圖1),并且根據量化、知識蒸餾、剪枝、高效架構設計等將方法進行分類。在每個類別中,我們分別調查了NLP和CV領域的壓縮方法。表1總結了主要的壓縮類別,并列出了適合大型變換器模型的代表性方法。盡管NLP和CV通常被視為非常不同的領域,我們觀察到它們的模型壓縮方法實際上共享相似的原則。最后,我們討論了不同壓縮方法之間的關系,并提出了一些未來的研究方向。本文的其余部分組織如下。第2節介紹變換器的基本概念。繼此之后,第3節對保持架構的壓縮方法進行了深入討論,包括量化和知識蒸餾——這些技術保持了模型的架構。第4節進一步探討了保持架構的壓縮,包括剪枝和高效架構設計。第5節探索了額外的變換器壓縮方法。最后,第6節總結了壓縮方法并討論了未來的研究方向。架構保留型壓縮量化是在各種設備上部署變換器的關鍵步驟,尤其是對于設計了專用于低精度算術運算的GPU和NPU。1)訓練后量化(PTQ)[21],[41],[22],[42],[43],[44],[45],主要集中在使用少量未標記的校準數據優化權重和激活的量化參數,一些最新方法還探索了權重量化的自適應舍入。(2) 量化感知訓練(QAT)[46],[47],[48],[49],[50],[51],[23],[52],[53],[54],[55],[56],將量化節點插入網絡并使用完整的訓練數據進行訓練,其中所有的權重和量化參數都一起優化。在本節中,我們系統地介紹了基于變換器的視覺模型和大型語言模型的模型量化研究,如圖2所示。
知識蒸餾(KD)旨在通過壓縮[83],[84],[85]或轉移[87],[88],[86]來自教師網絡的知識來訓練學生網絡。在本文中,我們主要關注旨在實現一個緊湊的學生模型的蒸餾方法,同時保持與笨重的教師模型相比滿意的性能。學生模型通常具有更窄、更淺的架構,使它們更適合在資源有限的系統上部署。
神經網絡剪枝長期以來被認為是一種有效的方法,用于縮小模型大小和加速模型推理。剪枝方法的分類可能相當復雜,包括剪枝和模型訓練的順序、結構規范,以及確定被剪枝參數的方式[133]。然而,在本綜述的范圍內,將源模型限定為針對自然語言處理[134],[4]或視覺識別[12],[26],[135],[136]的預訓練大型變換器,提出了幾種特定的技術類別需要被討論(見圖5)。
結論
在這項綜述中,我們系統地調查了變換器模型的壓縮方法。與傳統模型的壓縮方法相比,壓縮變換器模型時有獨特的考慮因素。與如CNN或RNN等其他架構不同,變換器擁有獨特的架構設計,包括替代的注意力和FFN模塊,這要求專門定制的壓縮方法以獲得最佳壓縮率。此外,這些大型模型的壓縮方法效率尤其關鍵。某些模型壓縮技術需要大量的計算資源,對于如此龐大的模型可能是難以承受的。這項綜述旨在涵蓋與變換器相關的大多數近期工作,并為它們的壓縮制定一個全面的路線圖。隨后,我們深入探討了各種方法之間的相互聯系,解決后續挑戰,并概述了未來研究的方向。
不同壓縮方法之間的關系。不同的壓縮方法可以一起使用,以獲得極其高效的架構。一個傳統的序列是首先定義一個具有高效操作的新架構。然后移除冗余組件(例如,注意力頭,層)以獲得更小的模型。對于實際硬件實現,將權重或激活量化到較低位是必不可少的。所需位數的選擇不僅取決于錯誤的容忍度,還取決于硬件設計。作為一個例子,Int8計算在Nvidia A00上高效優化,但在較老的Tesla P100上缺乏支持。蒸餾通常作為一種訓練策略,在剪枝和量化的微調階段都適用。為了追求極高的壓縮率,探索如何結合不同的壓縮策略是有前景的。盡管在CNN這樣的傳統模型上已經被廣泛探索,但變換器模型具有更復雜的架構和更高的計算成本。通過聯合搜索找到合適的組合策略是具有挑戰性的。
訓練高效的壓縮策略。與壓縮傳統模型相比,更加強調壓縮方法的計算成本。大型變換器目前在使用大量計算資源的大型數據集上進行訓練。例如,Llama2在幾個月內使用數千個GPU在2萬億令牌上進行訓練。在預訓練期間,尤其當原始數據通常無法訪問時,使用可比的計算資源進行微調是不切實際的。因此,在訓練后應用高效的壓縮方法變得更加可行。最初為傳統小模型開發的一系列工作已廣泛研究了訓練后量化,這些方法已無縫過渡到變換器。僅用幾個GPU小時,一些最新的工作GPTQ、SmoothQuant已將FP16模型量化到Int8,而不會造成顯著性能損失。然而,對于較低位(例如,4位),量化模型仍然遭受顯著的性能下降。值得注意的是,極低位模型,如二進制變換器,在傳統小模型中已被廣泛探索,但在大模型的背景下仍然相對未被探索。
對于剪枝,訓練后的挑戰與剪枝粒度密切相關。雖然非結構化稀疏性可以實現高壓縮率并且最小化微調需求,但類似策略難以轉移到結構性剪枝。直接移除整個注意力頭或層將導致模型架構的顯著改變和準確率的顯著降低。如何識別有效權重以及如何有效恢復性能都是洞見方向。識別有效權重和恢復表示能力的高效策略是解決這些挑戰的關鍵研究方向。
超越變換器的高效架構。在現實世界應用中,變換器架構的輸入上下文可以擴展到極長長度,包括NLP中的序列文本(例如,數十萬詞的書)或CV中的高分辨率圖像。原生注意力機制對輸入序列長度的復雜度呈二次方增長,對于長序列輸入構成了顯著的計算挑戰。許多研究通過減輕注意力的計算成本來解決這個問題,采用了稀疏注意力、局部注意力等技術。然而,這些注意力壓縮策略通常會妥協表示能力,導致性能降低。如RWKV和RetNet等新興架構采用類似RNN的遞歸輸出生成,有效地將計算復雜度降低到O(N)。這一發展為進一步探索更高效模型提供了希望。對于計算機視覺任務,即使是不帶注意力模塊的純MLP架構也能達到SOTA性能。超越廣泛使用的變換器架構,通過仔細研究它們的效率、泛化能力和擴展能力,探索新的高效架構是有前景的。
黑盒機器學習模型現在在高風險設置中經常被使用,如醫學診斷,這要求不確定性量化以避免模型的重大失敗。共形預測(又名共形推理)是一種用戶友好的范式,用于為這類模型的預測創建統計上嚴謹的不確定性集/區間。關鍵是,這些集合在無分布的意義上是有效的:即使沒有分布假設或模型假設,它們也具有明確的、非漸近的保證。人們可以使用任何預先訓練的模型(如神經網絡)進行共形預測,以產生保證以用戶指定的概率(如90%)包含真實值的集合。它易于理解、易于使用,并且通用,自然適用于計算機視覺、自然語言處理、深度強化學習等領域中出現的問題。
這種動手介紹旨在為讀者提供共形預測及相關無分布不確定性量化技術的工作理解,所有這些都包含在一個自包含的文檔中。我們引導讀者通過共形預測的實際理論和實例,并描述其在涉及結構化輸出、分布轉移、時間序列、異常值、放棄模型等復雜機器學習任務中的擴展。整個過程中,有許多解釋性插圖、實例和Python代碼樣本。每個代碼樣本都附有一個Jupyter筆記本,實現了對真實數據示例的方法;通過遵循代碼腳注,可以輕松訪問和運行這些筆記本。
基礎模型如ChatGPT和GPT-4由于其新興的能力,如少量提示、多步推理、指令跟隨和模型校準,在學術界和工業界都受到了極大的關注。這樣的能力過去只能通過特別設計的模型獲得,例如使用知識圖譜的模型,但現在可以通過基礎模型在更大的規模上實現。
隨著基礎模型的能力的增加,它們的大小也以遠遠超過摩爾定律的速度增長。例如,2018年發布的BERT大型模型是一個334M參數模型。而2022年發布的Pathways Language Model (PaLM)是一個540B參數模型,這在短短4年內增加了超過三個數量級。基礎模型的訓練需要大量的計算能力。例如,使用多個A100芯片的單一最先進的GPU機器訓練BERT模型可能需要幾天,而在大型多實例GPU集群上訓練GPT-3模型可能需要幾個月的時間來完成估計的3*10^23 flops。
本教程提供了對支持新AI芯片的基礎模型訓練和推理的最新進展的概述。它回顧了建模方面的進展,重點是Transformer架構,并介紹了支持訓練和服務基礎模型的系統架構。這包括編程語言框架如PyTorch和TensorFlow、圖編譯器、3D并行性,以及像GPU H100、TPU和Trainium這樣的加速器。最后,該教程介紹了我們使用不同系統訓練基礎模型的經驗。
1.1 從模型到比特
1.1.1 算法概覽。 我們涵蓋了廣泛使用的深度學習(DL)架構,包括遞歸和卷積神經網絡,以及穩定的擴散模型和Transformer架構(例如,僅編碼器、僅解碼器、編碼器-解碼器和多模態模型)。我們概述了常見的訓練和推理任務,如預訓練、微調、推理和評估。我們介紹了高級建模技術,如不同的注意機制、訓練目標及其實現細節。 1.1.2 系統概覽。 有效地訓練大規模的基礎模型需要在所有層面上都有強大的系統支持。在前端,我們需要在DL框架中適當地表示模型和分布式處理策略。在中端,模型執行需要廣泛的性能優化,如圖重寫、內核融合、內核優化、計算和通信重疊等。在后端,模型將在某種硬件上運行,該硬件按照某種網絡拓撲連接。在這個環節中,我們將概述每一層中出現的挑戰。
1.2 使用模型并行化訓練基礎模型
在這一節中,我們將討論用于跨多臺機器訓練擁有數十億參數的模型的現代分布式訓練技術,包括完全分片數據并行(FSDP)[16, 15]、Deepspeed Zero [11, 10]、張量并行化[4, 7, 14]和流水線并行化[3, 6]。這些技術在使大型神經網絡的訓練成為可能方面起到了關鍵的作用。我們將研究和比較與特定模型架構緊密集成的方法的局限性,以及依賴于底層ML框架快速演變的內部接口的技術。最后,我們將介紹可以用來使用這些技術訓練模型的開源庫。
1.3 案例研究
在四個案例研究中,我們將介紹不同基礎模型的特點以及在新興AI加速器上運行它們時出現的挑戰。我們將介紹包括BERT[2]、RoBERTa[5]和DistilBERT[13]在內的“BERT系列”模型、GPT2[8]和GPT-3[1]、文本到文本轉移變換器(T5)[9]和穩定擴散[12]。在對每種架構簡要介紹之后,我們將分享我們在不同加速器上訓練這些模型的經驗。我們將以對有興趣在新興AI芯片上訓練或評估模型的實踐者的實際建議和注意事項來結束本教程。
講者:
Jun (Luke) Huan 是AWS AI實驗室的首席科學家。煥博士的研究領域是AI和數據科學。他已經發表了超過160篇的同行評審的文章并指導了11名博士學生完成學業。在加入AWS之前,他在百度研究院工作,并曾創建了一個AI初創公司StylingAI Inc。在進入工業界之前,他在堪薩斯大學的EECS部門擔任教授。煥博士還在美國的NSF工作過,負責其大數據項目。 Yida Wang 是亞馬遜的AWS AI團隊的首席科學家。他的研究領域包括系統、高性能計算和大數據分析。他目前專注于深度學習系統的研究,特別是編譯和優化深度學習模型。 Youngsuk Park 是AWS AI實驗室的高級應用科學家。他的研究興趣集中在機器學習、基礎模型、優化和決策制定等方面。在加入AWS之前,他在Stanford University完成了電氣工程的碩士和博士學位。 Aashiq Muhamed 在AWS AI實驗室工作,專注于優化深度學習系統。在加入AWS AI實驗室之前,他在Amazon Search工作,并在Stanford University進行研究生學習。 Rahul Solanki 在亞馬遜的AWS Neuron團隊工作。他目前的工作重點是構建可以高效地在AI加速器上進行深度學習模型訓練和推理的框架和工具。他從Georgia Institute of Technology獲得了碩士學位。 Christian Bock 是AWS AI實驗室的應用科學家。他的研究興趣主要集中在語言模型的可解釋性以及其在各個領域的應用上。他在ETH Zurich完成了博士學位。
機器學習是關于基于數據學習、推理和行動的。這是通過構建計算機程序來完成的,這些程序處理數據,提取有用的信息,對未知屬性進行預測,并建議采取行動或做出決定。將數據分析轉化為機器學習的原因是,這個過程是自動化的,計算機程序是從數據中學習的。這意味著使用通用的計算機程序,這些程序根據觀察到的所謂的訓練數據自動調整程序的設置,以適應應用程序特定的情況。因此,可以說機器學習是一種示例編程方式。機器學習的美妙之處在于數據表示的是非常任意的,我們可以設計出適用于不同領域的廣泛實際應用的通用方法。我們通過下面的一系列例子來說明這一點。 本書旨在傳達監督式機器學習的精神,而不要求讀者具備該領域的任何經驗。我們的重點是基礎數學和實踐方面。這本書是教科書;它不是參考工作或編程手冊。因此,它只包含仔細(但全面)選擇的有監督機器學習方法,而沒有編程代碼。到目前為止,已經有許多編寫良好、文檔齊全的代碼包可用。我們堅信,只要讀者對數學及其方法的內部工作有很好的理解,就能將本書與他/她最喜歡的編程語言中的代碼包聯系起來。 本書從統計學的角度出發,從統計特性的角度來討論方法。因此,它需要一些統計學和概率論的知識,以及微積分和線性代數。我們希望從頭到尾閱讀本書,能讓讀者成為機器學習工程師和/或在該主題中進行進一步研究的良好起點。這本書是這樣寫的,可以連續讀。然而,本書還有多種可能的閱讀路徑,根據讀者的興趣有更多的選擇。圖1 - 6說明了這兩章之間的主要依賴關系。特別是,第2章、第3章和第4章討論了最基本的主題。我們建議讀者在閱讀后續章節(第5章至第9章)之前,先閱讀這些章節。第10章將超越機器學習的監督式設置,第11章將重點放在設計一個成功的機器學習解決方案的一些更實際的方面,與前幾章相比技術性較低。最后,第12章(由David Sumpter撰寫)討論了現代機器學習中的一些倫理問題。
隨著深度學習方法多年來取得了巨大的成功,對這些模型的理解還沒有跟上模型的發展。可解釋機器學習是致力于理解復雜機器學習模型的主要研究領域之一。雖然提出解釋的例子越來越多,但對解釋的評估一直是一個懸而未決的問題。在解釋的開發階段,涉及人類的評估是昂貴的。為了解決解釋設計過程中涉及到人的困難,本文旨在定義客觀標準,允許人們在沒有人的情況下衡量一些好的屬性解釋和相對于客觀標準可取的設計解釋。
在本文中,我們討論了使可解釋AI方法的評估更加客觀的不同標準,其中我們的方法主要可以分為三個方面:(a)忠實導向(b)理論驅動的(c)應用驅動的。面向忠實度的度量通常與模型的解釋應該忠實地“解釋”模型這一核心概念相關聯。理論動機的客觀標準通常具有“當模型和數據滿足某種性質時,解釋應滿足相應的性質”的形式。應用驅動的客觀標準定量模擬解釋如何在沒有人類的情況下幫助某些應用。我們為不同類型的解釋設計客觀標準,并使用這些客觀標準來指導新的解釋的設計。最后,通過一些人體研究來驗證這些新解釋的設計。
//chihkuanyeh.github.io/ 谷歌Brain的研究科學家。在CMU讀博期間,研究興趣集中在通過更客觀的解釋(可能是功能評價或理論性質)來理解和解釋機器學習模型。最近,對用更少(但更有效)的數據構建更好的大尺度模型感興趣,并通過模型解釋獲得的理解來改進模型。
**引言
可解釋人工智能(XAI)領域關注的是解釋機器學習模型的任務,隨著現代機器學習模型復雜性的增長,這一領域受到了越來越多的關注。解釋機器學習模型復雜的內部工作原理的需求也顯著增加,特別是當機器學習模型被應用于高風險決策時,包括金融、法律、醫療、社會應用和自動駕駛。在這些應用中,對高風險決策的解釋有助于理解和調試模型,增強用戶對模型的信任,明確模型的責任,并與模型就人- ai協作進行溝通。例如,使用人工智能幫助診斷的醫生將通過了解人工智能如何預測來決定是否信任它,從而受益。在社交應用中,理解模型為什么會做出某些決定來檢驗算法是否公平也很關鍵。此外,《通用數據保護條例》聲稱,數據保護當局有權解釋算法的輸出[123]。
解釋機器學習模型的一個關鍵困難是術語“解釋”或“可解釋性”沒有明確定義。目前的大多數解釋都解釋了復雜模型的某些類型的“屬性”,這些屬性可以被人類消化。一些常見的屬性包括但不限于模型使用的最顯著的數據輸入特征,模型使用的最顯著的訓練數據,模型使用的最顯著的人類可理解的概念,以及如何改變數據點的特征來改變模型的預測。然而,有許多不同的解釋和相互矛盾的哲學。例如,給定一個圖像分類器,圖像分類器的關鍵像素可能被認為是對某些用戶的一個很好的解釋,因為它闡明了模型如何進行預測,但也可能被認為是不可解釋的,因為最顯著的特征可能不足以推斷模型的推理原理。可以進行用戶研究和訪談,并要求用戶在給定的一組不同的解釋中選擇最具解釋性的算法,這與公正性的度量啟發有關[27,75]。然而,要求人類選擇最容易解釋的解釋也有其缺陷。眾所周知,人類存在認知偏差,解釋似乎是可以解釋的,但與模型無關。最近的研究甚至表明,許多關鍵的解釋彼此不一致,用戶可以根據個人喜好來決定使用哪種解釋[92]。如何選擇一個復雜機器學習模型的正確“屬性”來解釋?
衡量解釋有效性的另一種方法可能是評估解釋在應用中與人類一起的有用性,這是許多最近的研究提出的。Doshi-Velez和Kim[39]、Murdoch等人[116]提出要評估涉及人類用戶的現實應用中的解釋,并測試解釋如何在現實應用中幫助用戶。類似地,Chen等人。[25]鼓勵可解釋的機器學習問題與目標用例更緊密地聯系起來,并建議考慮基于真實任務的模擬版本的模擬。雖然這種評價是基于實際的應用,但利用這種類型的評價可能代價高昂,特別是在解釋的發展階段,因為這種評價往往需要真正的人參與。因此,合理的基于功能的評估對于設計/選擇要使用的解釋可能是有用的,而應用程序驅動的評估可以用于驗證設計/選擇的解釋可以在真實的應用程序或模擬用例中幫助人類。我們將這類基于功能的評估稱為客觀標準,主要是因為它在評估階段不需要實際的人員參與。
在本文中,我們主要考慮三類客觀標準(基于功能的評價):(1)以忠實度為動機的客觀標準,其動機是解釋對模型的描述能力如何;(2)以應用為動機的客觀標準,其動機是解釋在現實應用中如何被使用;(3)以理論為動機的公理標準,其動機是通過解釋的某些理論特性來幫助解釋的設計。下面,我們將更深入地討論這三類客觀標準。
一類基于功能的評價是基于解釋對給定模型的忠實程度,也被稱為解釋的忠實度或描述準確性[116]。解釋的忠實度是至關重要的,因為“忠實度”通常很難用人類來衡量——人類可能更喜歡那些在視覺上有吸引力但與要解釋的模型無關的解釋。客觀標準的一種形式是基于“解釋是否解釋了這個模型?”這個問題。這些評估的核心思想是確定一個忠實的解釋應該滿足的屬性,并在模型-解釋對上執行測試,以驗證屬性是否滿足。Murdoch等人[116]也將其稱為描述性準確性,因為它衡量了解釋解釋模型的準確性。例如,許多解釋是局部鄰域內的線性近似,而忠實度度量度量解釋在局部鄰域內近似模型的程度。Adebayo等人[2]的一個流行例子是為解釋設計一個完整性檢查,即隨機改變模型權重也應該改變結果解釋。令人驚訝的是,并不是所有的解釋都令人信服地通過了這個理性檢查,這可能意味著一些解釋不忠實于模型。
應用驅動客觀標準
另一種形式的客觀標準是基于與解釋相關的應用,特別是那些不需要人工參與或可以自動模擬的應用。例如,尋找有害的訓練例是基于例解釋的一個關鍵應用,而基于例解釋的某些評估涉及到根據解釋刪除有害的訓練例,并對模型進行再訓練,并衡量新模型的性能。由于在這種應用中不需要人工參與,移除和再訓練評估已經成為由現實應用驅動的基于實例的解釋的一個關鍵的客觀標準。
理論動機的客觀標準
基于功能的解釋評估的另一種形式是公理形式的理論性質。公理可以被看作是解釋在特定輸入中應該如何表現的理論約束。如果要解釋的機器學習模型具有某種期望的特性,人們會希望這種期望的特性可以反映在解釋中。這種解釋的約束稱為公理性質。例如,如果機器學習模型在兩個特征上是完全對稱的,并且這兩個特征對于某個給定的輸入具有相同的值,那么這兩個特征對這個輸入的解釋值應該是相同的。這就是被廣泛用于解釋方法的對稱公理。也許將公理融入設計解釋中最常見的工作是Shapley值家族[139],它起源于合作博弈論社區。
本文的目標是開發和定義有意義的客觀標準,并使用這些客觀標準來幫助我們設計不同類型的解釋。由于不同的解釋類型自然會遵循不同的客觀標準,我們旨在為各種解釋類型設計客觀標準,包括特征重要性解釋、特征集解釋、特征交互重要性解釋、示例重要性解釋和基于概念的解釋。
機器學習模型受益于龐大而多樣的訓練數據集。然而,單個組織很難收集足夠多樣化的數據。此外,數據的敏感性和政府法規(如GDPR、HIPPA和CCPA)限制了組織與其他實體共享數據的方式。這迫使擁有敏感數據集的組織開發只在局部最優的模型。聯邦學習(FL)通過實現在不共享敏感數據的情況下開發全局模型,促進了魯棒的機器學習。然而,部署FL系統有兩個廣泛的挑戰:隱私挑戰和訓練/性能相關的挑戰。隱私方面的挑戰涉及到暴露本地客戶數據敏感信息的攻擊。與訓練/性能相關的挑戰包括高溝通成本,跨客戶的數據異構,以及缺乏個性化技術。為了使FL實用、可擴展和有用,必須解決所有這些問題。在這篇論文中,我討論了我為解決這些挑戰而設計的技術,并描述了我為緩解這些挑戰而開發的兩個系統——PrivacyFL(用于FL的隱私保護模擬器)和DynamoFL(用于FL的易于使用的生產級系統)。
經典算法和神經網絡等機器學習系統在日常生活中都很豐富。經典的計算機科學算法適合精確地執行精確定義的任務,例如在一個大圖中找到最短路徑,而神經網絡允許從數據中學習,以預測更復雜的任務,如圖像分類中最可能的答案,這不能簡化為一個精確的算法。為了更好地利用這兩個世界,本文探索了將這兩個概念結合起來,從而得到更健壯、更好的性能、更可解釋、更高效的計算和更高效的數據架構。本文提出了算法監督的概念,使神經網絡能夠從算法中學習或與算法結合。當將算法集成到神經體系結構時,重要的是算法是可微的,這樣的體系結構可以端到端訓練,梯度可以通過算法以有意義的方式傳播回來。為了使算法具有可微性,本文提出了一種通過擾動變量和封閉逼近期望值來連續松弛算法的通用方法,即:,不需要采樣。此外,本文還提出了可微算法,如可微排序網絡、可微呈現器和可微邏輯門網絡。最后,本文提出了用算法學習的其他訓練策略。h微ttps://www.zhuanzhi.ai/paper/8c415ddbac1f3d1c24e4bb5436caf786
Felix Petersen 研究興趣是具有可微算法的機器學習。例如,我已經做了一個使算法可微的通用框架,并且也關注了可微排序和可微渲染。雖然通過傳播分布來使算法可微分非常有趣,但我也喜歡通過神經網絡傳播分布,這可以提高不確定性估計、魯棒性和公平性。 我在康斯坦茨大學的視覺計算小組(Oliver Deussen教授)工作,并與Christian Borgelt, Hilde Kuehne, Mikhail Yurochkin等人合作。
四千年前,埃及人發明了兩個數字相乘的算法,這是[21]算法的最早記錄。1843年,Ada Lovelace發布了第一個算法計算機程序,并設想了計算機在藝術和音樂等方面的現代應用,而當時這樣的計算機甚至還沒有制造出來[22,23]。一個世紀后的1943年,麥卡洛克和皮茨根據對大腦生物過程的觀察,設計了第一個神經網絡的數學模型。近十年來,基于人工神經網絡的方法在研究中受到了廣泛關注。這種復蘇可以歸因于硬件[25]、軟件[26-29]、卷積網絡[30,31]的發展以及深度學習在許多任務(如圖像分類[32,33])上的優勢。 如今,經典算法和神經網絡等機器學習系統在日常生活中都很豐富。雖然經典的計算機科學算法適合精確執行精確的任務,如在一個大圖中找到最短路徑,但神經網絡允許從數據中學習,以預測更復雜的任務(如圖像分類)中最可能的答案,這不能簡化為一個精確的算法。為了達到這兩個世界的最佳效果,在這篇論文中,我們探索了將經典計算機科學算法和神經網絡,或者更一般地說,機器學習相結合。這將導致更魯棒、更好的性能、更可解釋、更高效的計算和更高效的數據架構。文中提出了一種可證明正確的嵌入算法,實現了模型的魯棒性。用一種快速算法代替神經網絡的一部分,降低神經網絡的計算復雜度,可以提高模型的計算性能。此外,在精確度方面,性能可以提高,因為有更小的潛在錯誤,并且領域知識支持網絡。相應地,這些模型也可以更容易解釋,因為算法的輸入通常(根據定義)是可解釋的。最后,由于算法監督是一種典型的弱監督學習,監督水平降低,模型的數據/標簽效率更高。通常,神經網絡使用隨機梯度下降(SGD)或預處理SGD方法進行訓練,如Adam優化器[34]。這些方法基于計算損失函數相對于模型參數的梯度(即導數)。這個梯度表示損失的最陡上升方向。由于最小化損失改進了模型,我們可以(在模型的參數空間中)沿著梯度相反的方向進行優化,即梯度下降。使用反向傳播算法[35]可以有效地計算損失相對于模型參數的導數,在當今的深度學習框架[26,29]中,該算法被實現為向后模式自動微分。 基于梯度的學習要求所有涉及的操作都是可微分的; 然而,許多有趣的操作,如排序算法是不可微的。這是因為像if這樣的條件語句是分段不變的,也就是說,它們的導數為0,除了在真和假之間的轉換(即“跳轉”)之外,它們的導數是未定義的。因此,使用(不可微分)算法進行基于梯度的學習通常是不可能的。因此,在這項工作中,我們專注于通過連續松弛使算法可微。連續松弛的基本思想是在算法中引入一定程度的不確定性,例如,它可以使if語句中的真和假平滑過渡,使算法完全可微。我們注意到,當超越反向傳播時,例如,通過RESGRO損失,如第七章所介紹的,可微性和平滑性不是嚴格必要的,但仍然是可取的。我們還注意到,在這項工作中,將無梯度優化算法與基于梯度的神經網絡學習結合在一起,可微分算法通常優于無梯度方法。
可微算法學習可以分為2個學科: I可微算法,即研究如何通過算法反向傳播并獲得有意義的梯度。I算法監督(Algorithmic Supervision),將算法知識融入到神經網絡模型的訓練中。可微算法學習是機器學習中一個相對較新的領域。具體來說,除了一些個人早期的作品外,可微算法和算法監督領域在2018年取得了進展。我們已經在圖1.1的調查直方圖中可視化了這一點。在這里,我們將所有關于可微算法的相關工作分為應用算法監督的和不應用算法監督的(左)。進一步,我們將它們分類為wrt。他們提出或應用的可微算法。我們注意到,作者在2018年提出并開始了可微算法的研究,即在該領域形成之初。我們還注意到,該領域正在發展,最近才看到對現實問題的直接應用。
本論文共分為8章:各章按時間順序依次展開,具體來說,第2章介紹了3-6章構建的核心思想和方法。第7章介紹了備選的優化方法,因此在很大程度上獨立于第2 - 6章的時間流程,但建議從第2章和第3章中獲取知識,以便深入理解應用程序。 第一章介紹了可微算法學習的核心思想,并涵蓋了重要的相關工作和應用。 第二章詳細介紹了可微算法和算法監督的一般方法。為此,這一章給出了可微算法的一般概述,并可以視為引言的延伸。接下來的章節以本章的思想為基礎,每一章都更深入地討論了一類特定的可微算法。 第三章研究了可微排序和排序方法,重點研究了可微排序網絡。我們首先介紹可微排序方法,并通過仔細的理論分析,得出改進的可微排序算子。 第四章介紹了可微top-k方法,在概念上建立了可微排序和排序方法。特別地,我們引入了可微top-k網絡,這是對top-k算子可微排序網絡的改進。在可微top-k的基礎上,我們提出了top-k分類學習,并在ImageNet分類任務上取得了優異的性能。 第五章介紹了可微呈現。我們介紹了可微渲染的各種方法,并提出了廣義可微渲染器GenDR,它(至少近似地)包含了大多數現有的可微渲染器,還可以推廣到新的可微渲染器。本章附有圖書館。 第六章提出了可微邏輯門網絡,它是邏輯門網絡的一種松弛,因此可以訓練。這允許極快的推理速度,因為由此產生的邏輯門網絡可以在普通硬件上本機執行,因為這種硬件首先在邏輯門上操作。這是一個可微分算法的例子,它可以被訓練,并不一定與算法監督有關。 第七章討論了備選的優化策略。具體來說,它討論了分裂反向傳播,一種基于正則化的通用兩階段優化算法,它允許使用不同于用于優化神經網絡的優化器來優化算法損失。分裂反向傳播還允許將神經網絡本身分裂為多個部分,并可以擴展到多個分裂,然后所有的訓練都可以端到端,即使子部分是用替代優化器訓練的,甚至是不可微的。 在第八章,我們總結了本文的主要貢獻,并討論了未來的研究方向。
在監督模式下訓練的深度模型在各種任務上都取得了顯著的成功。在標記樣本有限的情況下,自監督學習(self-supervised learning, SSL)成為利用大量未標記樣本的新范式。SSL在自然語言和圖像學習任務中已經取得了很好的效果。最近,利用圖神經網絡(GNNs)將這種成功擴展到圖數據的趨勢。
在本綜述論文中,我們提供了使用SSL訓練GNN的不同方法的統一回顧。具體來說,我們將SSL方法分為對比模型和預測模型。
在這兩類中,我們都為方法提供了一個統一的框架,以及這些方法在框架下的每個組件中的不同之處。我們對GNNs SSL方法的統一處理揭示了各種方法的異同,為開發新的方法和算法奠定了基礎。我們還總結了不同的SSL設置和每個設置中使用的相應數據集。為了促進方法開發和實證比較,我們為GNNs中的SSL開發了一個標準化測試床,包括通用基線方法、數據集和評估指標的實現。
//www.zhuanzhi.ai/paper/794d1d27363c4987efd37c67ec710a18
引言
深度模型以一些數據作為輸入,并訓練輸出期望的預測。訓練深度模型的一種常用方法是使用有監督的模式,在這種模式中有足夠的輸入數據和標簽對。
然而,由于需要大量的標簽,監督訓練在許多現實場景中變得不適用,標簽是昂貴的,有限的,甚至是不可用的。
在這種情況下,自監督學習(SSL)支持在未標記數據上訓練深度模型,消除了對過多注釋標簽的需要。當沒有標記數據可用時,SSL可以作為一種從未標記數據本身學習表示的方法。當可用的標記數據數量有限時,來自未標記數據的SSL可以用作預訓練過程,在此過程之后,標記數據被用來為下游任務微調預訓練的深度模型,或者作為輔助訓練任務,有助于任務的執行。
最近,SSL在數據恢復任務中表現出了良好的性能,如圖像超分辨率[1]、圖像去噪[2,3,4]和單細胞分析[5]。它在語言序列[6,7,8]、圖像[9,10,11,12]、帶有序列模型的圖[13,14]等不同數據類型的表示學習方面也取得了顯著進展。這些方法的核心思想是定義前置訓練任務,以捕獲和利用輸入數據的不同維度之間的依賴關系,如空間維度、時間維度或通道維度,具有魯棒性和平滑性。Doersch等人以圖像域為例,Noroozi和Favaro[16],以及[17]等人設計了不同的前置任務來訓練卷積神經網絡(CNNs)從一幅圖像中捕捉不同作物之間的關系。Chen等人的[10]和Grill等人的[18]訓練CNN捕捉圖像的不同增強之間的依賴關系。
根據訓練任務的設計,SSL方法可以分為兩類;即對比模型和預測模型。這兩個類別之間的主要區別是對比模型需要數據-數據對來進行訓練,而預測模型需要數據-標簽對,其中標簽是自生成的,如圖1所示。對比模型通常利用自監督來學習數據表示或對下游任務進行預訓練。有了這些數據-數據對,對比模型就能區分出正面對和負面對。另一方面,預測模型是在監督的方式下訓練的,其中標簽是根據輸入數據的某些屬性或選擇數據的某些部分生成的。預測模型通常由一個編碼器和一個或多個預測頭組成。當應用于表示學習或預訓練方法時,預測模型的預測頭在下游任務中被刪除。
在圖數據分析中,SSL可能非常重要,它可以利用大量未標記的圖,如分子圖[19,20]。隨著圖神經網絡的快速發展[21,22,23,24,25,26,27],圖神經網絡的基本組成[28,29,30,31,32,33]等相關領域[34,35]得到了深入的研究,并取得了長足的進展。相比之下,在GNNs上應用SSL仍然是一個新興領域。由于數據結構的相似性,很多GNN的SSL方法都受到了圖像領域方法的啟發,如DGI[36]和圖自動編碼器[37]。然而,由于圖結構數據的唯一性,在GNN上應用SSL時存在幾個關鍵的挑戰。為了獲得良好的圖表示并進行有效的預訓練,自監督模型可以從圖的節點屬性和結構拓撲中獲取必要的信息。對于對比模型來說,由于自監督學習的GPU內存問題并不是圖形的主要關注點,關鍵的挑戰在于如何獲得良好的圖形視圖以及針對不同模型和數據集的圖形編碼器的選擇。對于預測模型,至關重要的是應該生成什么標簽,以便了解非平凡的表示,以捕獲節點屬性和圖結構中的信息。
為了促進方法論的發展和促進實證比較,我們回顧GNN的SSL方法,并為對比和預測方法提供了統一的觀點。我們對這一問題的統一處理,可以揭示現有方法的異同,啟發新的方法。我們還提供了一個標準化的測試,作為一個方便和靈活的開源平臺,用于進行實證比較。我們將本次綜述論文總結如下:
我們提供關于圖神經網絡SSL方法的徹底和最新的回顧。據我們所知,我們的綜述查首次回顧了關于圖數據的SSL。
我們將GNN現有的對比學習方法與一般框架統一起來。具體來說,我們從互信息的角度統一對比目標。從這個新的觀點來看,不同的對比學習方式可以看作是進行三種轉換來獲得觀點。我們回顧了理論和實證研究,并提供見解來指導框架中每個組成部分的選擇。
我們將SSL方法與自生成標簽進行分類和統一,作為預測學習方法,并通過不同的標簽獲取方式來闡明它們之間的聯系和區別。
我們總結了常用的SSL任務設置以及不同設置下常用的各類數據集,為未來方法的發展奠定了基礎。
我們開發了一個用于在GNN上應用SSL的標準化測試平臺,包括通用基準方法和基準的實現,為未來的方法提供了方便和靈活的定制。
少樣本學習(FSL)在機器學習領域具有重要意義和挑戰性。成功地從很少的樣本中學習和歸納的能力是區分人工智能和人類智能的一個明顯的界限,因為人類可以很容易地從一個或幾個例子中建立他們對新穎性的認知,而機器學習算法通常需要數百或數千個監督樣本來保證泛化能力。盡管FSL的悠久歷史可以追溯到21世紀初,近年來隨著深度學習技術的蓬勃發展也引起了廣泛關注,但迄今為止,有關FSL的調研或評論還很少。在此背景下,我們廣泛回顧了2000年至2019年FSL的200多篇論文,為FSL提供了及時而全面的調研。在本綜述中,我們回顧了FSL的發展歷史和目前的進展,原則上將FSL方法分為基于生成模型和基于判別模型的兩大類,并特別強調了基于元學習的FSL方法。我們還總結了FSL中最近出現的幾個擴展主題,并回顧了這些主題的最新進展。此外,我們重點介紹了FSL在計算機視覺、自然語言處理、音頻和語音、強化學習和機器人、數據分析等領域的重要應用。最后,我們對調查進行了總結,并對未來的發展趨勢進行了討論,希望對后續研究提供指導和見解。
地址:
//www.zhuanzhi.ai/paper/ffc99a53aeb6629e21b9a42db76b9dd1
概述:
人類智能的一個令人印象深刻的特點是能夠從一個或幾個例子中迅速建立對新概念的認知。許多認知和心理學證據[184,224,371]表明,人類可以通過很少的圖像[23]識別視覺物體,甚至兒童也可以通過一次偶見就記住一個新單詞[35,51]。雖然從很少的樣本中支持人類學習和歸納能力的確切原因仍是一個深刻的謎,但一些神經生物學研究[285,29,157]認為,人類顯著的學習能力得益于人腦中的前額葉皮層(PFC)和工作記憶,特別是PFC特有的神經生物學機制與大腦中存儲的以往經驗之間的相互作用。相比之下,最先進的機器學習算法都需要大量數據,尤其是最廣為人知的深度學習[186],它將人工智能推向了一個新的高潮。深度學習作為機器學習發展的重要里程碑,在視覺[172,319,120]、語言[231,318]、語言[127]、游戲[308]、人口學[97]、醫學[74]、植物病理學[100]、動物學[252]等廣泛的研究領域都取得了顯著的成就。一般來說,深度學習的成功可以歸結為三個關鍵因素:強大的計算資源(如GPU)、復雜的神經網絡(如CNN[172]、LSTM[129])和大規模數據集(如ImageNet[287]、Pascal-VOC[75])。然而,在現實的應用場景中,比如在醫學、軍事、金融等領域,由于隱私、安全、數據標注成本高等因素,我們無法獲得足夠的標簽訓練樣本。因此,使學習系統能夠有效地從很少的樣本中進行學習和歸納,成為幾乎所有機器學習研究人員所期待的藍圖。
從高層次上看,研究少樣本學習的理論和現實意義主要來自三個方面。首先,FSL方法不依賴于大規模的訓練樣本,從而避免了在某些特定應用中數據準備的高昂成本。第二,FSL可以縮小人類智能和人工智能之間的差距,是發展通用人工智能的必要之旅[191]。第三,FSL可以實現一個新興任務的低成本和快速的模型部署,而這個任務只有幾個暫時可用的樣本,這有利于闡明任務早期的潛在規律。
少數樣本學習(FSL),又稱小樣本學習、少樣本學習或一次性學習,可以追溯到21世紀初。盡管該研究已有近20年的歷史,在理論和應用層面上都具有重要意義,但到目前為止,相關的調查和綜述還很少。在本文中,我們廣泛調查了從21世紀頭十年到2019年幾乎所有與FSL相關的科學論文,以詳細闡述一個系統的FSL調研。我們必須強調,這里討論的FSL與zero-shot learning (ZSL)正交[346],這是機器學習的另一個熱門話題。ZSL的設置需要與概念相關的側面信息來支持跨概念的知識遷移,這與FSL有很大的不同。據我們所知,到目前為止,只有兩份與fsl相關的預先打印的綜述倫恩[305,349]。與他們相比,本次綜述的新穎之處和貢獻主要來自五個方面:
(1) 我們對2000年至2019年的200多篇與FSL相關的論文進行了更全面、更及時的綜述,涵蓋了從最早的凝固模型[233]到最新的元學習方法的所有FSL方法。詳盡的闡述有助于把握FSL的整個發展過程,構建完整的FSL知識體系。
(2) 根據FSL問題的建模原則,我們提供了一種可理解的層次分類法,將現有的FSL方法分為基于生成模型的方法和基于判別模型的方法。在每個類中,我們根據可一般化的屬性進一步進行更詳細的分類。
(3) 我們強調當前主流目前的方法,例如,基于目前的元學習方法,和分類成五大類,他們希望通過元學習策略學習學習,包括Learn-to-Measure Learn-to-Finetune, Learn-to-Parameterize,學會調整和Learn-to-Remember。此外,本調查還揭示了各種基于元學習的FSL方法之間潛在的發展關系。
(4) 總結了最近在普通FSL之外出現的幾個外延研究課題,并回顧了這些課題的最新進展。這些主題包括半監督FSL、無監督FSL、跨域FSL、廣義FSL和多模態FSL,它們具有挑戰性,同時也為許多現實機器學習問題的解決賦予了突出的現實意義。這些擴展主題在以前的綜述中很少涉及。
(5) 我們廣泛總結了現有FSL在計算機視覺、自然語言處理、音頻和語音、增強學習和機器人、數據分析等各個領域的應用,以及目前FSL在基準測試中的表現,旨在為后續研究提供一本手冊,這是之前綜述中沒有涉及到的。
本文的其余部分組織如下。在第2節中,我們給出了一個概述,包括FSL的發展歷史、我們稍后將使用的符號和定義,以及現有FSL方法的分類建議。第3節和第4節分別詳細討論了基于生成模型的方法和基于判別模型的方法。然后,第5節總結了FSL中出現的幾個擴展主題。在第6節中,我們廣泛地研究了FSL在各個領域的應用以及FSL的基準性能。在第8節中,我們以對未來方向的討論來結束這次綜述。