抽象知識深植根于許多基于計算機的應用中。人工智能(AI)的一個重要研究領域是從數據中自動推導知識。機器學習提供了相應的算法。其中一個研究領域是生物啟發學習算法的開發。各自的機器學習方法都是基于神經學概念,因此它們可以系統地從數據中獲取知識并存儲它。一種可以歸類為深度學習模型的機器學習算法被稱為深度神經網絡(DNNs)。DNN由多層排列的多個人工神經元組成,通過反向傳播算法進行訓練。這些深度學習方法在從高維數據推斷和存儲復雜知識方面表現出驚人的能力。
然而,DNN會受到一個問題的影響,即無法將新知識添加到現有的知識庫中。不斷積累知識的能力是促進進化的重要因素,因此是發展強大人工智能的先決條件。所謂的“災難性遺忘”(CF)效應導致DNN在對新數據分布進行幾次訓練迭代后,立即失去已經派生的知識。只有用過去和新數據的聯合數據分布進行昂貴的再訓練,才能抽象出整個新知識集。為了抵消這種影響,各種旨在緩解甚至解決CF問題的技術已經并且仍在開發中。這些已發表的CF回避研究通常暗示他們的方法對各種持續學習任務的有效性。
本文的研究背景是基于深度學習方法的持續機器學習。第一部分是面向實際應用的評估協議的開發,該協議可以用于研究不同的機器學習模型對協同效應的抑制。在第二部分,綜合研究表明,在面向應用的需求下,所研究的模型都不能表現出令人滿意的持續學習效果。第三部分提出了一種新的深度學習模型——深度卷積高斯混合模型(deep Convolutional Gaussian Mixture Models, DCGMMs)。DCGMMs建立在無監督高斯混合模型(GMMs)的基礎上。gmm不能被認為是深度學習方法,它必須在訓練前以數據驅動的方式進行初始化。這些方面限制了gmm在持續學習場景中的使用。本文提出的訓練過程使使用隨機梯度下降(SGD)(應用于dnn)來訓練GMMs成為可能。集成退火方案解決了數據驅動的初始化問題,這是GMM訓練的先決條件。實驗證明,新的訓練方法在不迭代其缺點的情況下,可以得到與傳統方法相當的結果。另一個創新是GMM以層的形式排列,這類似于DNN。將GMM轉換為層使其能夠與現有層類型相結合,從而構建深層體系結構,從而可以用較少的資源派生出更復雜的知識。
在本工作的最后一部分,研究DCGMM模型的持續學習能力。為此,提出一種稱為高斯混合重放(GMR)的重放方法。GMR利用DCGMM的功能來描述數據樣本的生成和重現。與現有CF回避模型的比較表明,在面向應用的條件下,GMR可以取得類似的持續學習效果。總之,所提出的工作表明,確定的面向應用的需求仍然是“應用”持續學習研究方法的開放問題。此外,新的深度學習模型為許多其他研究領域提供了一個有趣的起點。
**深度神經網絡(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倍,性能甚至更好。
**隨著大型模型的發展以及數據的爆炸性增長和可用性,深度學習在眾多現實應用中取得了巨大而廣泛的突破。**然而,深度學習模型通常具有過高的計算和內存成本,不適合在移動設備或邊緣設備上進行實際部署。此外,深度學習模型面臨著學習和快速適應的挑戰,從只有幾個例子來解決新的任務。因此,本文提出了學習計算效率高的模型架構的技術和提高少樣本學習能力的方法。**我們從子空間分析方法及其在特征選擇問題中的應用開始。然后將這些方法擴展到深度神經網絡結構學習(deep neural network structural learning, SL)中,目的是減少冗余參數,以獲得能夠保持甚至提高精度的最優降維模型。**還介紹了基于混合剪枝-再生長技術的更高效的SL方法和可以跨更多維度降低模型的更通用的SL方法。除了靜態模型設計之外,本文還提出了動態神經網絡方法,可以在推理過程中根據不同的輸入動態調整模型權重和結構,以控制計算效率并提高表示能力。除了模型效率外,還提出了訓練模型的技術,可以從幾個例子中快速泛化。本文提出一種少樣本架構自適應方法,通過元學習一個任務感知架構控制器,為不同的少樣本任務定制特定于任務的模型結構。與傳統的NAS方法需要對每個新任務進行單獨的搜索成本不同,所提出方法在一次性元訓練成本后,在幾分鐘內從GPU數據集中直接生成特定于任務的模型結構。最后,提出了一種基于語言輔助表示的掩碼圖像預訓練的跨模態自監督學習框架。由此產生的模型產生了高質量的可遷移表示,提高了許多計算機視覺任務的準確性,并對對抗性/分布外樣本表現出強大的魯棒性。所產生的模型適用于結構學習以獲得更大的計算效率,也適用于低資源任務適應以獲得更好的數據效率。
//dataspace.princeton.edu/handle/88435/dsp01p8418r442
為了應對現實世界的動態變化,智能體需要在其生命周期中增量地獲取、更新、積累和利用知識。這種能力被稱為持續學習,為人工智能系統自適應發展提供了基礎。
在一般意義上,持續學習明顯受到災難性遺忘的限制,學習新任務通常會導致舊任務的性能急劇下降。除此之外,近年來出現了越來越多的進展,在很大程度上擴展了持續學習的理解和應用。人們對這一方向日益增長和廣泛的興趣表明了它的現實意義和復雜性。本文對持續學習進行了全面的調研,試圖在基本設置、理論基礎、代表性方法和實際應用之間建立聯系。基于現有的理論和實證結果,將持續學習的一般目標總結為:在資源效率的背景下,確保適當的穩定性-可塑性權衡,以及充分的任務內/任務間泛化能力。提供了最先進的和詳細的分類法,廣泛分析了有代表性的策略如何解決持續學習,以及它們如何適應各種應用中的特定挑戰。通過對持續學習當前趨勢、跨方向前景和與神經科學的跨學科聯系的深入討論,相信這種整體的視角可以極大地促進該領域和其他領域的后續探索。
1. 引言
學習是智能系統適應環境的基礎。為了應對外界的變化,進化使人類和其他生物具有很強的適應性,能夠不斷地獲取、更新、積累和利用知識[148]、[227]、[322]。自然,我們期望人工智能(AI)系統以類似的方式適應。這激發了持續學習的研究,其中典型的設置是逐一學習一系列內容,并表現得就像同時觀察到的一樣(圖1,a)。這些內容可以是新技能、舊技能的新示例、不同的環境、不同的背景等,并包含特定的現實挑戰[322],[413]。由于內容是在一生中逐步提供的,因此在許多文獻中,持續學習也被稱為增量學習或終身學習,但沒有嚴格的區分[70],[227]。
與傳統的基于靜態數據分布的機器學習模型不同,持續學習的特點是從動態數據分布中學習。**一個主要的挑戰被稱為災難性遺忘[291],[292],對新分布的適應通常會導致捕獲舊分布的能力大大降低。**這種困境是學習可塑性和記憶穩定性權衡的一個方面:前者過多會干擾后者,反之亦然。除了簡單地平衡這兩方面的“比例”外,持續學習的理想解決方案應該獲得強大的泛化能力,以適應任務內部和任務之間的分布差異(圖1,b)。作為一個樸素的基線,重新訓練所有舊的訓練樣本(如果允許)可以輕松解決上述挑戰,但會產生巨大的計算和存儲開銷(以及潛在的隱私問題)。事實上,持續學習的主要目的是確保模型更新的資源效率,最好接近只學習新的訓練樣本。
**許多努力致力于解決上述挑戰,可以在概念上分為五組(圖1,c):**參考舊模型添加正則化項(基于正則化的方法);逼近和恢復舊數據分布(基于回放的方法);顯式操作優化程序(基于優化的方法);學習魯棒和良好泛化的表示(基于表示的方法);以及使用正確設計的體系結構構建任務自適應參數(基于體系結構的方法)。該分類法擴展了常用分類法的最新進展,并為每個類別提供了細化的子方向。總結了這些方法是如何實現所提出的一般目標的,并對其理論基礎和典型實現進行了廣泛的分析。特別是,這些方法是緊密聯系的,例如正則化和重放最終糾正優化中的梯度方向,并且具有高度的協同性,例如,重放的效果可以通過從舊模型中提取知識來提高。 現實應用對持續學習提出了特殊的挑戰,可以分為場景復雜性和任務特異性。對于前者,例如,在訓練和測試中可能缺少任務oracle(即執行哪個任務),訓練樣本可能是小批量甚至一次引入的。由于數據標記的成本和稀缺性,持續學習需要在少樣本、半監督甚至無監督的場景中有效。對于后者,雖然目前的進展主要集中在視覺分類,但其他視覺領域(如目標檢測、語義分割和圖像生成)以及其他相關領域(如強化學習(RL)、自然語言處理(NLP)和倫理考慮)正在受到越來越多的關注,其機遇和挑戰。
**考慮到持續學習的興趣顯著增長,我們相信這項最新和全面的調研可以為后續的工作提供一個整體的視角。**盡管有一些關于持續學習的早期調研,覆蓋面相對較廣[70],[322],但近年來的重要進展并未被納入其中。相比之下,最新的調研通常只整理持續學習的局部方面,關于其生物學基礎[148],[156],[186],[227],視覺分類的專門設置[85],[283],[289],[346],以及NLP[37],[206]或RL[214]中的擴展。據我們所知,這是第一個系統總結持續學習的最新進展的調研。基于這些優勢,我們就當前趨勢、跨方向前景(如擴散模型、大規模預訓練、視覺轉換器、具體AI、神經壓縮等)以及與神經科學的跨學科聯系,深入討論了持續學習。
主要貢獻包括:
(1) 對持續學習進行了最新而全面的綜述,以連接理論、方法和應用的進步;
(2) 根據現有的理論和實證結果,總結了持續學習的一般目標,并對具有代表性的策略進行了詳細的分類; (3) 將現實應用的特殊挑戰分為場景復雜性和任務特殊性,并廣泛分析了持續學習策略如何適應這些挑戰; (4)深入探討了當前研究趨勢和發展方向,以期為相關領域后續工作提供參考。 本文的組織如下: 在第2節中,我們介紹了持續學習的設置,包括其基本公式,典型場景和評估指標。在第3節中,我們總結了一些針對其一般目標的持續學習的理論努力。在第4節中,我們對具有代表性的策略進行了最新的和詳細的分類,分析了它們的動機和典型的實現。在第5節和第6節中,我們描述了這些策略如何適應場景復雜性和任務特異性的現實挑戰。在第7節中,我們提供了當前趨勢的討論,交叉方向的前景和神經科學的跨學科聯系。
在本節中,我們詳細介紹了代表性持續學習方法的分類(參見圖3和圖1,c),并廣泛分析了它們的主要動機、典型實現和經驗屬性。
Regularization-based 方法
該方向的特點是添加顯式正則項來平衡新舊任務,這通常需要存儲舊模型的凍結副本以供參考(見圖4)。根據正則化的目標,這類方法可以分為兩類。
Replay-based 方法
將近似和恢復舊數據分布的方法分組到這個方向(見圖5)。根據回放的內容,這些方法可以進一步分為三個子方向,每個子方向都有自己的挑戰。
Optimization-based 方法
持續學習不僅可以通過向損失函數添加額外的項(例如正則化和重放)來實現,還可以通過顯式地設計和操作優化程序來實現。
Representation-based 方法
將創建和利用持續學習表示優勢的方法歸為這一類。除了早期通過元訓練[185]獲得稀疏表示的工作外,最近的工作試圖結合自監督學習(SSL)[125]、[281]、[335]和大規模預訓練[295]、[380]、[456]的優勢,以改進初始化和持續學習中的表示。請注意,這兩種策略密切相關,因為預訓練數據通常數量巨大且沒有明確的標簽,而SSL本身的性能主要通過對(一系列)下游任務進行微調來評估。下面,我們將討論具有代表性的子方向。
Architecture-based 方法
上述策略主要集中在學習所有具有共享參數集的增量任務(即單個模型和一個參數空間),這是導致任務間干擾的主要原因。相反,構造特定于任務的參數可以顯式地解決這個問題。以往的工作通常根據網絡體系結構是否固定,將該方向分為參數隔離和動態體系結構。本文專注于實現特定任務參數的方式,將上述概念擴展到參數分配、模型分解和模塊化網絡(圖8)。
在過去的十年里,深度學習取得了巨大的成功,但在權值更新和訓練樣本數量方面,實際有用的深度模型的訓練仍然非常低效。為了解決這些問題的一個方面,本文研究了持續學習設置,該模型利用一系列的任務,利用之前的知識來快速學習新任務。持續學習的主要挑戰是,在為新任務更新模型時,避免模型災難性地忘記之前的信息。
//ora.ox.ac.uk/objects/uuid:7a3e5c33-864f-4cfe-8b80-e85cbf651946
為此,本文首先提出了一種持續學習算法,通過正則化兩個連續任務的條件似然之間的kl -散度來保留之前的知識。結果表明,這種正則化對網絡權值施加了二次懲罰,該懲罰基于上一個任務的最小曲率。其次,本文提出了一種更有效的持續學習算法,利用對過去任務的情景記憶作為約束,這樣當對新任務進行權重更新時,情景記憶的損失不會增加。結果表明,使用情景記憶約束目標比正則化網絡參數更有效。此外,為了提高學習新任務的速度,提出了使用組合任務描述符的聯合嵌入模型,大大提高了正向遷移。基于情景記憶的持續學習目標通過直接在損失函數中使用記憶來簡化。盡管它傾向于記憶出現在微小情景記憶中的數據,結果算法顯示出比使用記憶作為約束的算法更好的泛化。分析認為,這種驚人的概化是由于新任務數據帶來的正則化效應。然后利用該算法對合成數據和真實數據進行持續學習。為此,提出了一種方法,通過優化重放緩沖區上的事后遺忘損失,為每個任務生成合成數據點。設計了一個嵌套的持續學習優化目標,有效地利用這些綜合點來減少基于記憶的持續學習方法的遺忘。最后,本文提出了一種持續學習算法,在不重疊的特征子空間中學習不同的任務。通過保持不同任務的子空間相互正交來最小化重疊,可以減少這些任務表示之間的干擾。
半導體制造在很大程度上依賴于其個別工藝的精度和準確性,以滿足器件的要求。如果不加檢查,這些過程的變化會導致最終產品的性能和產量下降。雖然對這些變化的分析和控制已經使用了幾十年,但機器學習最近的發展引入了各種各樣的新方法,這些方法可能被用于更好地建模、監控和控制這些過程。這些方法提供了比傳統過程控制方法更強大、可擴展和準確的可能性。雖然許多機器學習方法很有前途,但半導體制造的獨特方面給許多機器學習方法帶來了挑戰。特別是,半導體制造的高成本往往導致數據有限的場景,因為收集大量數據可能是不可行的昂貴。由于這一局限性,我們研究了在各種半導體制造設置中概率方法的使用。與其他機器學習方法相比,這些方法通常不太容易過擬合,但仍然足夠靈活,可以為復雜系統建模。具體地說,我們在四個不同的案例研究中研究了概率機器學習方法的應用。
//dspace.mit.edu/handle/1721.1/143184
首先,我們研究虛擬計量系統,有兩個目標。我們的第一個目標是定義一個虛擬計量框架,使我們能夠更好地理解這些系統中常見的誤差來源。該框架涉及配方、腔室、傳感器和晶圓片變量,并納入兩種常見的誤差來源:可觀測誤差和概念漂移。我們的第二個目標是使用這個框架來開發我們自己的建模方法,這種方法非常適合于存在這些錯誤的建模系統。我們的解決方案是一個貝葉斯方法,類似于傳統的卡爾曼濾波器;然而,它模擬了兩個變量之間的關系,而不是一個未知的系統狀態。然后,我們研究了優化離子注入系統劑量均勻性的概率方法。改善劑量均勻性的常用方法是通過調整晶圓上的注入時間來補償光束的變化。在這里,我們學習這些變化,然后解出一組補償時間。我們的方法由兩個組件組成,一個建模組件和一個優化組件。該建模組件類似于我們用于建模虛擬計量系統的概率方法,但也結合了針對離子注入設置的先驗信念。然后,優化組件使用我們的正向模型,在給定工具和工藝的物理約束條件下改善劑量均勻性。我們將此方法與之前的現有行業調優方法進行比較,可以看到在調優時間、流程吞吐量和調優成功方面的顯著改進。
接下來,我們研究了概率異常檢測方法,我們使用它來檢測發生的過程故障。這些方法使用過程傳感器信息來確定當前過程是否正常運行。我們采用核密度估計方法估計正常工作條件下傳感器信號的概率分布;然后使用這些分布來確定一個過程在名義上運行的可能性。結果表明,該方法優于許多傳統的過程控制方法,包括統計過程控制、一類支持向量機以及基于變分自動編碼器的異常檢測方法。最后,我們研究了使用貝葉斯優化和高斯過程模型來改善濺射沉積過程的厚度均勻性。本文中,我們使用高斯過程來模擬濺射沉積過程中的厚度均勻性作為腔體配置和配方參數的函數。該模型采用迭代的方式來尋找滿足期望均勻性要求的參數。我們的建模技術優于許多標準回歸方法,包括多項式模型、多元樣條、梯度增強回歸樹和許多不同的深度學習架構。
雖然這四個案例研究都考慮了半導體制造中概率方法的獨特應用,兩個關鍵主題貫穿始終。首先,我們發現,與許多替代方法相比,這些概率方法在數據有限的情況下更不容易過擬合。先驗和觀測噪聲估計所提供的固有正則化是這些方法成功的關鍵。第二,整合過程或領域特定知識對于用有限的數據進行訓練至關重要。理解底層系統,相應地構造方法,并進行小的逼近,將復雜的原始問題簡化為更簡單的形式,從而能夠有效地應用概率機器學習方法。
機器學習 (ML) 是人工智能 (AI) 的一個分支,它從數據中學習以識別模式、做出預測或做出決策,而人工干預最少。所有的機器學習技術都以數據為輸入,針對不同的任務,即分類、回歸、聚類、降維和排序等。
受益于海量數據和高計算資源,機器學習應用在我們的日常生活中變得無處不在。這些應用程序將人們從重復和復雜的工作中解放出來,并允許他們輕松獲取有用的信息。例如,人臉識別系統可以幫助人類進行識別和授權。搜索引擎通過索引、搜索和匹配來收集和組織與給定查詢相關的信息。導航應用程序為自動駕駛汽車推薦到達目的地的最佳路徑。
計算機視覺 (CV) 研究計算機如何獲取、處理、分析和理解數字圖像。 ML 的進步促進了 CV 的發展,尤其是圖像分類任務。深度學習(DL)是一種強大的機器學習技術。它允許設計可以自動識別圖像視覺內容的深度神經網絡(DNN)。從數千張動物、地點、人、植物等圖像中學習,DNN 能夠以高可信度檢測未知圖像包含的內容。
在過去的幾十年中,DNN 在圖像分類領域迅速發展。卷積神經網絡 (CNN) [LBBH98] 獲得有用的語義視覺特征。典型的深度 CNN 具有許多層和復雜的架構,例如 AlexNet [KSH12]、Inception [SVI+16]、ResNet [HZRS16a]、DenseNet [HLVDMW17] 等。這些是少數著名的 DL 或 DNN 示例。這些網絡從圖像的高維表示空間計算梯度,以找到如何分離類別。最近的 DNN 模型以高置信度實現了分類、檢測和分割任務。 DNN 模型在 ImageNet [RDS+15](一個具有挑戰性和現實性的數據集)上的性能接近于人類。
DNN 的性能通常與其深度有關:網絡越深,性能越好。然而,由于大量層的深度堆疊以獲得語義視覺特征,DNN 的高復雜性導致訓練困難。這可能是由于反向傳播期間梯度消失,稱為梯度消失問題。存在許多 DNN 原始架構的變體,試圖規避此類問題。這包括來自 ResNet [HZRS16a] 和Transformer [VSP+17] 的剩余單元。在訓練過程中跳過層的剩余單元有效地簡化了網絡,加快了訓練過程并提供了探索更大的特征空間。然而,它也使 ResNet 更容易受到擾動。 Transformer [VSP+17] 使用自我注意的概念,幫助網絡專注于重要特征。總體而言,DNN 的所有這些進步都增強了分類等任務的性能。 DL 不僅成功地處理了大量圖像數據,而且還設法處理包含噪聲、遮擋或其他視覺偽影的圖像。
2013 年,研究人員發現,對圖像進行輕微修改會導致分類器做出錯誤的預測 [SZS+13]。令人驚訝的是,這些修改幅度很小,人眼幾乎察覺不到。這一發現揭示了 DNN 的脆弱性
對抗性現象廣泛影響 ML。這會影響不同的媒體,例如圖像[SZS+13、GSS14、TPG+17]、音頻[CW18、YS18、YLCS18]和文本[RDHC19、ZSAL20、ASE+18]。此外,攻擊者不僅會生成保存為數字數據的對抗性樣本,例如圖像,在計算機中,但也可以在物理世界中創建對抗性樣本,例如對抗性補丁 [TVRG19]。這些是打印的圖片和 3D 對象 [KGB16, SBBR16],由相機等視覺傳感器捕獲,并影響使用它們的 ML 應用程序。
對抗性擾動是一種無形的擾動,它會誤導 DNN 將擾動的輸入分類為不正確的類別。例如,通過對抗性擾動,可以使分類器將貓分類為狗,如圖 1.1 所示。此外,對抗性現象在分類器之間轉移。利用 DNN 的某個漏洞的攻擊可能會欺騙其他 DNN,無論他們使用什么架構或訓練集。
圖 1.1 – 此圖片來自 Nicholas Carlini 的攻擊機器學習演講:關于神經網絡的安全性和隱私。它通過對抗性擾動顯示貓的圖像被歸類為狗。
將一個視覺內容修改為另一個是一個大問題 [EEF+18, TVRG19, TRC19a, YLDT18, GSS14]。攻擊者的目標是欺騙分類器做出不適當決策,可以方便地進行對抗性擾動。這是令人不安和危險的,尤其是當網絡決策危及生命時。例如,將特定形狀和顏色的小紙片放在一些路標上會阻止它們被識別 [BMR+17]。穿著具有特定紋理的徽章裝飾的布會使人對旨在檢測行人存在的算法不可見 [XZL+20]。考慮到所有這些潛在風險,了解對抗樣本的基本問題以確保算法公平、正確地處理內容至關重要。對抗性機器學習的典型研究任務包括攻擊和防御。研究人員研究這兩項任務是為了 i) 做出實際貢獻和 ii) 理解這一現象。
攻擊旨在對目標 DNN 產生對抗性擾動。他們將不可見性和錯誤分類形式化為優化問題。攻擊的難度取決于攻擊者是否知道網絡的架構。基本情況是攻擊者可以訪問網絡的架構和參數,即白盒環境。他們受益于這些信息來制造對抗性擾動。
在不知道架構和參數的情況下攻擊網絡,即黑盒設置,是一個更復雜的情況。可遷移性意味著對抗樣本在不同的網絡和不同的機器學習模型[GSS14,TPG+17]中泛化得非常好。這表明為欺騙局部分類器而生成的對抗樣本也有一定的概率欺騙未知分類器。它提供了一種在黑盒環境中攻擊 DNN 的工具。
即使約束很嚴格,現有的攻擊也會成功地產生對抗性擾動。這些非同尋常的對抗性擾動表現出對抗性現象的不同特性和 DNN 的脆弱性。令人驚訝的是,例如,單像素攻擊 [SVS19] 通過僅修改輸入圖像的一個像素來改變網絡的預測。通用擾動 [MFFF17, HD18] 表明,一個特定的擾動足以導致給定數據集中的每張圖像都被錯誤分類。
防御旨在提高 DNN 針對對抗性攻擊的魯棒性。他們要么添加一個額外的組件來幫助網絡抵御對抗性攻擊,要么提高網絡的內在魯棒性。
引入額外組件的防御保持網絡不變。對圖像應用預處理是該類別中的一種特殊防御方法。他們將對抗性擾動視為一種特殊類型的噪聲,并嘗試通過轉換 [MC17, GRCvdM17, STL+19] 將其去除。將對抗樣本視為惡意數據的人使用檢測器來識別對抗樣本并拒絕或糾正它們 [XEQ17, LLS+18]。這些防御很簡單的,很容易適應給定的網絡,但是,在白盒環境下通常很容易受到攻擊 [ACW18]。
提高內在魯棒性的防御嘗試改進訓練方法 [GSS14, MMS+17]、增強架構 [PMW+16] 或高級損失函數 [HXSS15, MMS+17, TKP+17]。對抗性訓練 [GSS14, MMS+17] 作為該類別的典型防御,通過將對抗性樣本作為訓練數據的一部分來改進訓練方法。這種防御背后的假設是,DNN 的脆弱性是由于訓練數據的不足造成的。這些防御措施在魯棒性和準確性方面都表現不錯,但是通常很復雜,因為它們需要從頭開始訓練網絡。
在本論文中,我們試圖理解對抗性現象。我們探討了如何生成對抗樣本以及如何保護它們。通過對對抗性 ML 的多個方面的分析,我們發現要研究的關鍵要素包括:
速度。速度對于對抗性攻擊和防御都很重要。盡管耗時的過程(例如優化創建對抗性擾動和訓練 DNN 模型)會產生高質量的結果,但如果需要很長時間來生成對抗性樣本、驗證輸入或構建魯棒的模型是不可行的。
不可見性。失真的大小被廣泛用于估計擾動的不可見性,但它并不等同于不可見性。不可見性表明從神經學和心理學的角度來看,人類無法察覺這種擾動。在計算機科學中衡量不可見性仍然是一個懸而未決的問題。
失真。作為衡量不可見性質量的替代計劃,許多攻擊估計了失真的程度。當幅度很小時,人類幾乎不會感知到擾動。失真的大小對防御也很重要。通常,對具有較大失真的對抗性擾動的防御對對抗性影響更為穩健。它是對抗性攻擊和防御的重要指標。
可轉移性。可轉移性描述了為欺騙目標網絡而生成的對抗性樣本成功欺騙其他網絡的可能性。可轉移性對于黑盒環境下的攻擊至關重要,即攻擊者只能獲取網絡的輸入輸出。
我們的工作受到速度、失真和不可見性的概念的啟發。我們測試了對抗性擾動的可轉移性。為了提高對抗性擾動的質量,我們在兩個方向上工作,即產生不可見的對抗性擾動和有效地創建低幅度的對抗性擾動。為了防御攻擊,我們提出了一種輕量級算法,該算法在魯棒性和準確性方面都取得了不錯的表現。我們強調速度和性能。
為了讓讀者更好地理解,我們首先在第 2 章中概述了 DL 中的對抗性上下文。這包括 1)理解我們的工作所需的 ML 和 DNN 的最低知識,2)對抗性問題的基本定義和3) 對現有相關工作的高級審查,包括產生對抗性擾動和增強對抗攻擊的魯棒性。
成功攻擊率和失真幅度是衡量對抗性擾動質量的兩個標準。在第 3 章中,我們介紹了對抗性擾動的標準評估,包括數據集、網絡和評估指標。此外,在第 3.3 節中,我們提出了我們的評估指標,允許在有針對性的失真攻擊和有針對性的成功攻擊之間進行公平比較。
我們研究了兩種執行攻擊的算法,以便了解不可見性(見第 4 章)和創造速度(見第 5 章)。
平滑的對抗性擾動。在第 4 章中,我們研究了不可見性的定義,并將其表述為一個約束函數,以便可以直接將其添加到現有攻擊中。我們推測,當擾動像素與其相鄰像素之間的相似性類似于其原始圖像的相似性圖時,對抗性擾動是不可見的。我們成功地產生了平滑的對抗性擾動,并且令人驚訝地產生了少量的失真。這些平滑的對抗性擾動是肉眼看不到的,即使對抗性樣本被人為放大。
快速、低失真的對抗樣本。為了在不降低對抗樣本質量的情況下加速攻擊,我們利用對抗擾動的具體知識改進了優化算法。在第 5 章中,我們提出了邊界投影(BP)攻擊,它根據當前的解決方案改變搜索方向。當當前解決方案不是對抗性的時,BP 攻擊會沿著梯度方向長搜索,以引導當前解決方案跨越網絡邊界。當當前解決方案是對抗性的時,BP 攻擊沿著邊界搜索以引導當前解決方案以減少失真的幅度。與最先進的攻擊相比,BP 攻擊避免了對僅跟隨梯度引起的振蕩計算的浪費。這為 BP 攻擊贏得了速度。實驗表明,BP攻擊成功地產生了幅度很小但攻擊成功率很高的對抗性擾動。
為了更全面地了解對抗性 ML 問題,我們研究了防御策略。第 6 章介紹了補丁替換防御。
補丁更換。與對抗性擾動相比,DNN 對隨機噪聲的魯棒性更強。為了理解它,我們研究了通過 DNN 的失真幅度(隨機噪聲/對抗性擾動)的轉變。受 DNN 內部隨機噪聲和對抗性擾動的不同行為啟發,我們在第 6 章提出了一種名為補丁更換的反應性防御。補丁替換試圖通過用合法訓練數據中最相似的鄰居替換可疑輸入(圖像/特征)的補丁,來消除推理中的對抗性影響。即使攻擊者知道補丁替換防御,訓練數據的使用也會增加攻擊的復雜性。由于我們不僅考慮圖像,還考慮網絡的中間特征,因此補丁替換比其他基于輸入轉換的防御更為穩健。一個缺點是在訓練時毒化數據集會給補丁替換策略帶來麻煩。這連接到對抗性后門。
最后,我們給出了結論,并在第 7 章提出了一些觀點。簡而言之,我們在理解對抗性 ML 問題方面的貢獻是 i)在另一個視圖中定義不可見性,并提出一種在我們的定義下產生平滑對抗性擾動的方法; ii) 提出一種算法,以高成功率和低失真快速生成對抗樣本; iii),我們成功地提出了一種不復雜的反應式防御,并在不嚴重降低網絡準確性的情況下提高了對攻擊的魯棒性。
圖 5.8 – ImageNet 上針對 InceptionV3 的原始(左)、對抗(頂行)和縮放擾動(下)圖像。這五幅圖像是需要最強失真的 BP 最差的 5 幅圖像,但這些圖像小于所有其他方法所需的失真(紅色表示偽造的圖像不是對抗性的)。擾動被反轉(低為白色;高為彩色,每個通道)并以相同的方式縮放以進行公平比較。
摘要
與批量學習不同的是,在批量學習中所有的訓練數據都是一次性可用的,而持續學習代表了一組方法,這些方法可以積累知識,并使用序列可用的數據連續學習。與人類的學習過程一樣,不斷學習具有學習、融合和積累不同時間步的新知識的能力,被認為具有很高的現實意義。因此,持續學習在各種人工智能任務中得到了研究。本文綜述了計算機視覺中持續學習的最新進展。特別地,這些作品是根據它們的代表性技術進行分組的,包括正則化、知識蒸餾、記憶、生成重放、參數隔離以及上述技術的組合。針對每一類技術,分別介紹了其特點及其在計算機視覺中的應用。在概述的最后,討論了幾個子領域,在這些子領域中,持續的知識積累可能會有幫助,而持續學習還沒有得到很好的研究。
//www.zhuanzhi.ai/paper/a13ad85605ab12d401a6b2e74bc01d8a
引言
人類的學習是一個漸進的過程。在人類的一生中,人類不斷地接受和學習新知識。新知識在發揮自身積累作用的同時,也對原有知識進行補充和修正。相比之下,傳統的機器學習和深度學習范式通常區分知識訓練和知識推理的過程,模型需要在有限的時間內在預先準備好的數據集上完成訓練,然后使用這些數據集進行推理。隨著相機和手機的廣泛普及,每天都有大量新的圖片和視頻被捕捉和分享。這就產生了新的需求,特別是在計算機視覺領域,模型在推理過程中要連續不斷地學習和更新自己,因為從頭開始訓練模型以適應每天新生成的數據是非常耗時和低效的。
由于神經網絡與人腦的結構不同,神經網絡訓練不易從原來的批量學習模式轉變為新的連續學習模式。特別是存在兩個主要問題。首先,按照序列學習多個類別的數據容易導致災難性遺忘的問題[1,2]。這意味著,在從新類別的數據更新模型參數后,模型在先前學習類別上的性能通常會急劇下降。其次,當按順序從同一類別的新數據中學習時,也會導致概念漂移問題[3,4,5],因為新數據可能會以不可預見的方式改變該類別的數據分布[6]。因此,持續學習的總體任務是解決穩定性-可塑性困境[7,8],這就要求神經網絡在保持學習新知識的能力的同時,防止遺忘之前學習過的知識。
近年來,在計算機視覺的各個子領域中提出了越來越多的持續學習方法,如圖1所示。此外,2020年和2021年還舉辦了若干與計算機視覺中的持續學習有關的比賽[9,10]。因此,本文綜述了計算機視覺中持續學習的最新進展。我們將這一概述的主要貢獻總結如下。(1)系統地綜述了計算機視覺中持續學習的最新進展。(2)介紹了用于不同計算機視覺任務的各種持續學習技術,包括正則化、知識提取、基于記憶、生成重放和參數隔離。(3)討論了計算機視覺中持續學習可能有所幫助但仍未得到充分研究的子領域。
本文的其余部分組織如下。第二節給出了持續學習的定義。第3節介紹了這一領域常用的評估指標。第4節討論了各種類型的持續學習方法及其在計算機視覺中的應用。在第5節中討論了計算機視覺中沒有很好地利用持續學習的子領域。最后,第六部分對全文進行總結。
人工神經網絡在解決特定剛性任務的分類問題時,通過不同訓練階段的廣義學習行為獲取知識。由此產生的網絡類似于一個靜態的知識實體,努力擴展這種知識而不針對最初的任務,從而導致災難性的遺忘。
持續學習將這種范式轉變為可以在不同任務上持續積累知識的網絡,而不需要從頭開始再訓練。我們關注任務增量分類,即任務按順序到達,并由清晰的邊界劃分。我們的主要貢獻包括:
(1) 對持續學習技術的分類和廣泛的概述;
(2) 一個持續學習器穩定性-可塑性權衡的新框架;
(3) 對11種最先進的持續學習方法和4條基準進行綜合實驗比較。
考慮到微型Imagenet和大規模不平衡的非自然主義者以及一系列識別數據集,我們以經驗的方式在三個基準上仔細檢查方法的優缺點。我們研究了模型容量、權重衰減和衰減正則化的影響,以及任務呈現的順序,并從所需內存、計算時間和存儲空間等方面定性比較了各種方法。
//www.zhuanzhi.ai/paper/c90f25024b2c2364ce63299b4dc4677f
引言
近年來,據報道,機器學習模型在個人任務上表現出甚至超過人類水平的表現,如雅達利游戲[1]或物體識別[2]。雖然這些結果令人印象深刻,但它們是在靜態模型無法適應其行為的情況下獲得的。因此,這需要在每次有新數據可用時重新啟動訓練過程。在我們的動態世界中,這種做法對于數據流來說很快就變得難以處理,或者可能由于存儲限制或隱私問題而只能暫時可用。這就需要不斷適應和不斷學習的系統。人類的認知就是這樣一個系統的例證,它具有順序學習概念的傾向。通過觀察例子來重新審視舊的概念可能會發生,但對保存這些知識來說并不是必要的,而且盡管人類可能會逐漸忘記舊的信息,但完全丟失以前的知識很少被證明是[3]。相比之下,人工神經網絡則不能以這種方式學習:在學習新概念時,它們會遭遇對舊概念的災難性遺忘。為了規避這一問題,人工神經網絡的研究主要集中在靜態任務上,通常通過重組數據來確保i.i.d.條件,并通過在多個時期重新訪問訓練數據來大幅提高性能。
持續學習研究從無窮無盡的數據流中學習的問題,其目標是逐步擴展已獲得的知識,并將其用于未來[4]的學習。數據可以來自于變化的輸入域(例如,不同的成像條件),也可以與不同的任務相關聯(例如,細粒度的分類問題)。持續學習也被稱為終身學習[18]0,[18]1,[18]2,[18]3,[18]5,[18]4,順序學習[10],[11],[12]或增量學習[13],[14],[15],[16],[17],[18],[19]。主要的標準是學習過程的順序性質,只有一小部分輸入數據來自一個或幾個任務,一次可用。主要的挑戰是在不發生災難性遺忘的情況下進行學習:當添加新的任務或域時,之前學習的任務或域的性能不會隨著時間的推移而顯著下降。這是神經網絡中一個更普遍的問題[20]的直接結果,即穩定性-可塑性困境,可塑性指的是整合新知識的能力,以及在編碼時保持原有知識的穩定性。這是一個具有挑戰性的問題,不斷學習的進展使得現實世界的應用開始出現[21]、[22]、[23]。
為了集中注意力,我們用兩種方式限制了我們的研究范圍。首先,我們只考慮任務增量設置,其中數據按順序分批到達,一個批對應一個任務,例如要學習的一組新類別。換句話說,我們假設對于一個給定的任務,所有的數據都可以同時用于離線訓練。這使得對所有訓練數據進行多個時期的學習成為可能,反復洗刷以確保i.i.d.的條件。重要的是,無法訪問以前或將來任務的數據。在此設置中優化新任務將導致災難性的遺忘,舊任務的性能將顯著下降,除非采取特殊措施。這些措施在不同情況下的有效性,正是本文所要探討的。此外,任務增量學習將范圍限制為一個多頭配置,每個任務都有一個獨占的輸出層或頭。這與所有任務共享一個頭的更有挑戰性的類增量設置相反。這在學習中引入了額外的干擾,增加了可供選擇的輸出節點的數量。相反,我們假設已知一個給定的樣本屬于哪個任務。
其次,我們只關注分類問題,因為分類可以說是人工神經網絡最既定的任務之一,使用相對簡單、標準和易于理解的網絡體系結構具有良好的性能。第2節對設置進行了更詳細的描述,第7節討論了處理更一般設置的開放問題。
近年來,自然語言處理的研究方法取得了一些突破。這些突破來源于兩個新的建模框架以及在計算和詞匯資源的可用性的改進。在這個研討會小冊子中,我們將回顧這些框架,以一種可以被視為現代自然語言處理開端的方法論開始:詞嵌入。我們將進一步討論將嵌入式集成到端到端可訓練方法中,即卷積神經網絡和遞歸神經網絡。這本小冊子的第二章將討論基于注意力的模型的影響,因為它們是最近大多數最先進的架構的基礎。因此,我們也將在本章中花很大一部分時間討論遷移學習方法在現代自然語言處理中的應用。最后一章將會是一個關于自然語言生成的說明性用例,用于評估最先進的模型的訓練前資源和基準任務/數據集。
//compstat-lmu.github.io/seminar_nlp_ss20/
在過去的幾十年里,人工智能技術的重要性和應用不斷得到關注。在當今時代,它已經與構成人類塑造環境的大部分環境密不可分。因此,商業、研究和開發、信息服務、工程、社會服務和醫學等無數部門已經不可逆轉地受到人工智能能力的影響。人工智能有三個主要領域組成了這項技術:語音識別、計算機視覺和自然語言處理(見Yeung (2020))。在這本書中,我們將仔細研究自然語言處理(NLP)的現代方法。
這本小冊子詳細介紹了用于自然語言處理的現代方法,如深度學習和遷移學習。此外,本研究亦會研究可用于訓練自然語言處理任務的資源,并會展示一個將自然語言處理應用于自然語言生成的用例。
為了分析和理解人類語言,自然語言處理程序需要從單詞和句子中提取信息。由于神經網絡和其他機器學習算法需要數字輸入來進行訓練,因此應用了使用密集向量表示單詞的詞嵌入。這些通常是通過有多個隱藏層的神經網絡學習的,深度神經網絡。為了解決容易的任務,可以應用簡單的結構神經網絡。為了克服這些簡單結構的局限性,采用了遞歸和卷積神經網絡。因此,遞歸神經網絡用于學習不需要預先定義最佳固定維數的序列的模型,卷積神經網絡用于句子分類。第二章簡要介紹了NLP中的深度學習。第三章將介紹現代自然語言處理的基礎和應用。在第四章和第五章中,將解釋和討論遞歸神經網絡和卷積神經網絡及其在自然語言處理中的應用。
遷移學習是每個任務或領域的學習模型的替代選擇。在這里,可以使用相關任務或領域的現有標記數據來訓練模型,并將其應用到感興趣的任務或領域。這種方法的優點是不需要在目標域中進行長時間的訓練,并且可以節省訓練模型的時間,同時仍然可以(在很大程度上)獲得更好的性能。遷移學習中使用的一個概念是注意力,它使解碼器能夠注意到整個輸入序列,或自注意,它允許一個Transformer 模型處理所有輸入單詞,并建模一個句子中所有單詞之間的關系,這使得快速建模一個句子中的長期依賴性成為可能。遷移學習的概念將在小冊子的第6章簡要介紹。第七章將通過ELMo、ULMFiT和GPT模型來描述遷移學習和LSTMs。第八章將詳細闡述注意力和自注意力的概念。第九章將遷移學習與自注意力相結合,介紹了BERT模型、GTP2模型和XLNet模型。
為NLP建模,需要資源。為了找到任務的最佳模型,可以使用基準測試。為了在基準實驗中比較不同的模型,需要諸如精確匹配、Fscore、困惑度或雙語評估替補學習或準確性等指標。小冊子的第十章簡要介紹了自然語言處理的資源及其使用方法。第11章將解釋不同的指標,深入了解基準數據集SQuAD、CoQa、GLUE和SuperGLUE、AQuA-Rat、SNLI和LAMBADA,以及可以找到資源的預訓練模型和數據庫,如“帶代碼的論文”和“大壞的NLP數據庫”。
在小冊子的最后一章中,介紹了生成性NLP處理自然語言生成,從而在人類語言中生成可理解的文本。因此,不同的算法將被描述,聊天機器人和圖像字幕將被展示,以說明應用的可能性。
本文對自然語言處理中各種方法的介紹是接下來討論的基礎。小冊子的各個章節將介紹現代的NLP方法,并提供了一個更詳細的討論,以及各種示例的潛力和限制。
持續學習(CL)是一種特殊的機器學習范式,它的數據分布和學習目標會隨著時間的推移而改變,或者所有的訓練數據和客觀標準都不會立即可用。學習過程的演變是以一系列學習經驗為模型的,其中的目標是能夠在學習過程中一直學習新的技能,而不會忘記之前學過的知識。CL可以看作是一種在線學習,需要進行知識融合,以便從按順序及時呈現的數據流中學習。在學習過程中,不斷學習的目的還在于優化記憶、計算能力和速度。機器學習的一個重要挑戰不是必須找到在現實世界中有效的解決方案,而是找到可以在現實世界中學習的穩定算法。因此,理想的方法是在嵌入的平臺中處理現實世界:自治的代理。持續學習在自主代理或機器人中是有效的,它們將通過時間自主學習外部世界,并逐步發展一套復雜的技能和知識。機器人必須學會通過連續的觀察來適應環境并與之互動。一些最近的方法旨在解決機器人持續學習的問題,但最近關于持續學習的論文只是在模擬或靜態數據集的實驗方法。不幸的是,對這些算法的評估并不能說明它們的解決方案是否有助于在機器人技術的背景下持續學習。這篇論文的目的是回顧持續學習的現有狀態,總結現有的基準和度量標準,并提出一個框架來展示和評估機器人技術和非機器人技術的方法,使這兩個領域之間的轉換更加容易。我們在機器人技術的背景下強調持續學習,以建立各領域之間的聯系并規范方法。
//www.sciencedirect.com/science/article/pii/S07377#sec0001
概要:
機器學習(ML)方法通常從平穩數據分布中隨機采樣的數據流中學習。這通常是有效學習的必要條件。然而,在現實世界中,這種設置相當少見。持續學習(CL)[128]匯集了解決當數據分布隨時間變化時,以及在永無止境的數據流中需要考慮的知識融合的學習問題的工作和方法。因此,CL是處理災難性遺忘[47]的范式[102]。
為了方便起見,我們可以根據經驗將數據流分割成幾個子段,這些子段有時間邊界,我們稱之為任務。然后我們可以觀察在學習一項新任務時所學到或忘記了什么。即使對任務沒有強制約束,任務通常指的是一段特定的時間,其中數據分布可能(但不一定)是平穩的,并且目標函數是常量。就學習目標而言,任務可以是相互獨立的,也可以是相互關聯的,并且取決于設置。
持續學習的一個解決方案是保存所有數據,打亂它,然后回到傳統的機器學習設置。不幸的是,在這種情況下,這并不總是可能的,也不是最佳的。這里有幾個例子,其中持續學習是必要的:
你有一個訓練過的模型,你想用新的數據更新它,但是原來的訓練數據被丟棄了,或者你沒有權利再訪問它。
你想在一系列任務上訓練一個模型,但你不能存儲你的所有數據,或者你沒有計算能力從所有數據中重新訓練模型(例如,在嵌入式平臺中)。
您希望智能代理學習多種策略,但您不知道學習目標何時發生變化,如何變化。
您希望從持續的數據流中學習,這些數據可能會隨著時間而變化,但您不知道如何變化,何時變化。
為了處理這些設置,表示應該通過在線方式學習[87]。隨著數據被丟棄并且生命周期有限,忘記不重要的東西而保留對未來有意義的東西的能力是持續學習的主要目標和重點。
從機器人技術的角度來看,CL是發展機器人技術的機器學習答案[93]。發展機器人技術是一種交叉學科的方法,用于自主設計人工主體的行為和認知能力,直接從兒童自然認知系統中觀察到的發展原則和機制中獲得靈感。
在這種情況下,CL必須包含一個學習累積技能的過程,并能逐步提高所處理任務的復雜性和多樣性。
自主主體在這樣的環境中以開放式的[36]方式學習,但也以持續的方式學習。這種發展方法的關鍵組成部分包括學習自主產生目標和探索環境的能力,開發內在動機[113]和好奇心的計算模型[112]。
我們提出了一個框架來連接持續學習和機器人技術。這個框架也為持續學習提供了機會,以一個有框架的數學公式以清晰和系統的方式呈現方法。
首先,我們介紹了持續學習的背景和歷史。其次,我們的目標是在不斷學習的基礎上理清概念匯。第三,我們將介紹我們的框架作為一種標準的CL方法,以幫助在不同的持續學習領域之間進行轉換,特別是對于機器人技術。第四,我們提供了一組度量標準,它將有助于更好地理解每一類方法的質量和缺點。最后,我們提出了持續學習機器人技術的細節和機會,這使得CL變得如此重要。
對于機器人技術和非機器人技術領域,我們保持了定義、框架、策略和評估的一般性。盡管如此,最后一節,機器人持續學習(第6節)受益于前幾節的內容,以呈現機器人領域持續學習的特殊性。