近年來,預訓練模型(PTMs)的出現將自然語言處理(NLP)帶入了一個新的時代。在這項綜述中,我們提供了一個全面的PTMs調研。首先簡要介紹了語言表示學習及其研究進展。然后,我們根據四種觀點對現有的PTMs進行了系統的分類。接下來,我們將描述如何將PTMs的知識應用于下游任務。最后,我們概述了未來PTMs研究的一些潛在方向。本調查旨在為理解、使用和開發各種NLP任務的PTMs提供實際指導。
1. 概述
隨著深度學習的發展,各種神經網絡被廣泛用于解決自然語言處理(NLP)任務,如卷積神經網絡(convolutional neural networks, CNNs)[75,80,45]、遞歸神經網絡(neural networks, RNNs)[160, 100]、基于圖的神經網絡(graphbased neural network, GNNs)[146, 161, 111]和注意力機制[6,171]等。這些神經模型的優點之一是能夠緩解特征工程問題。非神經NLP方法通常嚴重依賴于離散的手工特征,而神經方法通常使用低維和稠密的向量(又稱分布式表示)隱式地表示語言的語法或語義特征。這些表示是在特定的NLP任務中學習的。因此,神經方法使人們可以很容易地開發各種NLP系統。
盡管神經模型在NLP任務中取得了成功,但與計算機視覺(CV)領域相比,性能改進可能不那么顯著。主要原因是,當前用于大多數監督的NLP任務的數據集相當小(機器翻譯除外)。深度神經網絡通常具有大量的參數,使其對這些小的訓練數據過度擬合,在實際應用中泛化效果不佳。因此,許多NLP任務的早期神經模型相對較淺,通常只包含1 ~ 3個神經層。
最近大量的工作表明,在大型語料庫上的預訓練模型(PTMs)可以學習通用語言表示,這對后續的NLP任務是有益的,可以避免從零開始訓練新模型。隨著計算能力的發展,深層模型(即隨著訓練技能的不斷提高,PTMs的體系結構由淺向深推進。第一代PTM的目標是學習好的詞嵌入。由于下游任務不再需要這些模型本身,它們在計算效率方面通常非常膚淺,如Skip-Gram[116]和GloVe[120]。雖然這些預訓練的嵌入可以捕獲單詞的語義含義,但它們是上下文無關的,不能捕獲文本的高級概念,如語法結構、語義角色、回指等。第二代PTMs主要學習上下文詞嵌入,如CoVe[113]、ELMo[122]、OpenAI GPT[130]、BERT[32]等。這些學習過的編碼器仍然需要在上下文中通過下游任務來表示單詞。此外,還提出了各種預訓練的任務,以學習PTMs的不同目的。
這篇綜述的貢獻可以總結如下:
3.資源豐富。我們在PTMs上收集了豐富的資源,包括開源系統、論文列表等。
綜述的其余部分組織如下。第2節概述了PTMs的背景概念和常用符號。第3節簡要概述了PTMs,并澄清了PTMs的分類。第4節提供了PTMs的擴展。第5節討論如何將PTMs的知識遷移到下游任務。第6節給出了PTMs的相關資源,包括開源系統、論文列表等。第7節介紹了跨各種NLP任務的應用程序集合。第8節討論了當前的挑戰并提出了未來的方向。第9節對本文進行了總結。
2. 背景
2.1 語言表示學習
分布式表示的核心思想是用低維實值向量來描述文本的意義。而向量的每一個維度都沒有對應的意義,而整體則代表一個具體的概念。圖1說明了NLP的通用神經體系結構。詞嵌入有兩種:非上下文嵌入和上下文嵌入。它們之間的區別是,一個詞的嵌入是否根據它出現的上下文動態變化。
2.2 神經上下文編碼器
大部分的神經上下文編碼器可以分為三類:卷積模型、序列模型和基于圖的模型。圖2說明了這些模型的體系結構。
(1) 卷積模型。卷積模型采用單詞在輸入句中的嵌入,通過卷積運算將相鄰詞的局部信息聚合起來,從而獲取單詞的意義[80]。卷積模型通常易于訓練,能夠捕獲局部上下文信息。
(2 )序列模型。序列模型通常采用rns(如LSTM[60]和GRU[21])來捕獲單詞的上下文表示。在實踐中,雙向RNNs被用來收集單詞兩邊的信息,但其性能往往受到長期依賴問題的影響。
(3) 基于圖模型。與上述模型不同的是,基于圖的模型以單詞為節點,學習單詞之間具有預定義語言結構的上下文表示,如句法結構[146,161]或語義關系[111]。
2.3 為什么要預訓練?
隨著深度學習的發展,模型參數的數量迅速增加。需要更大的數據集來充分訓練模型參數并防止過度擬合。然而,對于大多數NLP任務來說,構建大規模的標記數據集是一個巨大的挑戰,因為注釋成本非常昂貴,特別是對于語法和語義相關的任務。
相比之下,大規模的未標記語料庫相對容易構建。為了利用巨大的未標記文本數據,我們可以首先從它們那里學習良好的表示,然后將這些表示用于其他任務。最近的研究表明,借助從大型無注釋語料庫的PTMs中提取的表示,許多NLP任務的性能都有顯著提高。
預訓練的好處可以總結如下:
3. 預訓練語言模型分類
為了明確現有PTMs與NLP之間的關系,我們構建了PTMs的分類法,該分類法從不同的角度對現有PTMs進行了分類: (1) PTMs使用的單詞表示類型,(2) PTMs使用的主干網絡,(3) PTMs使用的預訓練任務類型,(4) 為特定類型的場景或輸入設計的PTMs。圖6顯示了分類以及一些相應的代表性PTMs。
此外,表1詳細區分了一些有代表性的PTMs。
4. 預訓練語言模型擴展
4.1 知識增強的PTMs
PTMs通常從通用的大型文本語料庫中學習通用語言表示,但缺乏領域特定的知識。將來自外部知識庫的領域知識整合到PTM中已被證明是有效的。外部知識范圍從語言學[87,78,123,178],語義[92],常識[48],事實[199,123,101,188,182],到具體領域的知識[54]。
4.2 多模態PTMS 由于PTMs在許多NLP任務上的成功,一些研究集中在獲得PTMs的跨模態版本上。這些模型中的絕大多數是為一般的視覺和語言特征編碼而設計的。這些模型是在一些巨大的跨模態數據語料庫上進行預訓練的,例如帶有口語單詞的視頻或帶有字幕的圖像,結合擴展的預訓練任務來充分利用多模態特征。VideoBERT[152]和CBT[151]是視頻和文本的聯合模型。為了獲得用于預訓練的視覺和語言標記序列,視頻分別由基于cnn的編碼器和現成的語音識別技術進行預處理。在處理后的數據上訓練一個變壓器編碼器,以學習下游任務(如視頻字幕)的視覺語言表示。此外,UniViLM[109]提出引入生成任務來進一步預訓練下游任務中使用的解碼器。
4.3 模型壓縮
應用基準、機器翻譯、問答、情感分析、摘要、命名實體識別
(1) PTMs的上界
目前,PTMs還沒有達到其上限。現有的PTMs大多可以通過更多的訓練步驟和更大的語料庫來進一步完善。
通過增加模型的深度可以進一步提高NLP的技術水平,如Megatron-LM144和Turing-NLG(170億個參數,78個隱藏尺寸為4256和28個注意頭的Transformer層)。
通用型PTM一直是我們學習語言固有的通用知識(甚至是世界知識)的追求,但此類PTM通常需要更深入的體系結構、更大的語料庫和更具挑戰性的訓練前任務,這又進一步導致了更高的訓練成本。然而,訓練大模型也是一個具有挑戰性的問題,需要更復雜、更高效的訓練技術,如分布式訓練、混合精度、梯度積累等。因此,更實際的方向是使用現有的硬件和軟件設計更有效的模型架構、自我監督的訓練前任務、優化器和訓練技能。ELECTRA[22]是這個方向的一個很好的解決方案。
(2) 面向任務的預訓練和模型壓縮
在實踐中,不同的下游任務需要不同的PTMs能力。PTMs與下游任務之間的差異通常表現在兩個方面:模型體系結構和數據分布。較大的差異可能導致PTMs的益處可能不明顯。盡管較大的PTM通常可以帶來更好的性能,但一個實際問題是如何在特殊場景(如低容量設備和低延遲應用程序)中利用這些巨大的PTM。因此,我們可以為下游任務精心設計特定的模型架構和預訓練任務,或者從現有的PTMs中提取部分特定于任務的知識。
此外,我們可以通過使用模型壓縮等技術,用通用的現有PTM來教他們,而不是從頭開始訓練面向任務的ptm(參見4.3節)。雖然在CV[17]中,針對CNNs的模型壓縮已經得到了廣泛的研究,但針對NLP的PTMs的模型壓縮才剛剛開始。Transformer 的全連接結構也使模型壓縮更具挑戰性。
(3) PTMs架構
Transformer已被證明是一種有效的預訓練體系結構。然而,Transformer 的主要限制是它的計算復雜度,它是輸入長度的平方。由于GPU內存的限制,目前大多數PTM不能處理512個標記以上的序列。打破這一限制需要改進Transformer的架構,比如Transformer- xl[27]。因此,為PTMs搜索更有效的模型體系結構對于捕獲更長期的上下文信息非常重要。
深度架構的設計具有挑戰性,我們可以從一些自動化方法中尋求幫助,如神經架構搜索(neural architecture search, NAS)[205]。
(4)超越微調的知識遷移
目前,將PTMs的知識傳遞給下游任務的主要方法是微調,但其缺點是參數效率低下:每個下游任務都有自己的微調參數。一種改進的解決方案是對原有PTMs的參數進行修正,并為特定的任務添加小的可調自適應模塊[149,61]。因此,我們可以使用一個共享的PTM來服務多個下游任務。事實上,從PTMs中挖掘知識可以更加靈活,如特征提取、知識提取[195]、數據擴充[185,84],利用PTMs作為外部知識[125]等。期望有更有效的方法。
(5) PTMs的可解釋性和可靠性
雖然PTM的性能令人印象深刻,但其深層的非線性架構使得決策過程高度不透明。
近年來,可解釋人工智能[4]已經成為人工智能領域的一個研究熱點。與用于圖像的CNN不同,由于Transformer的架構和語言的復雜性,解釋PTMs更加困難。人們做了大量的工作(見3.3節)來分析PTMs中包含的語言和世界知識,這有助于我們以某種程度的透明性理解這些PMTs。然而,許多模型分析工作依賴于注意力機制,注意力對可解釋性的有效性仍存在爭議[66,142]。
此外,隨著PTMs在生產系統中的廣泛應用,PTMs的可靠性也成為一個備受關注的問題。深層神經模型容易受到對抗性樣本的影響,這些例子可能會誤導模型,使其產生一個特定的錯誤預測,而這種預測會受到來自原始輸入的難以察覺的干擾。在CV中,對抗性攻擊和防御被廣泛研究。然而,由于語言的離散性,文本仍然面臨著挑戰。為文本生成對抗性樣本需要具備以下品質:(1)不易被人類法官察覺,但容易被神經模型誤導;(2)語法流利,語義與原輸入一致。Jin等人[71]用對抗性的例子成功地在文本分類和文本蘊涵方面攻擊了經過微調的BERT。Wallace等人[175]定義了通用的對抗觸發器,當將模型連接到任何輸入時,該觸發器可以誘導模型產生特定目的的預測。有些觸發器甚至會導致GPT-2模型生成帶有種族主義色彩的文本。對PTM進行對抗性攻擊的研究有助于我們了解它們的能力,從而充分暴露它們的弱點。Sun等人[155]的研究表明,BERT對拼寫錯誤并不敏感。此外,針對PTMs的對抗防御也很有前途,它提高了PTMs的魯棒性,使其對對抗攻擊免疫。
總的來說,作為許多NLP應用中的關鍵組件,PTMs的可解釋性和可靠性在很多方面還有待進一步的探索,這有助于我們理解PTMs是如何工作的,并為更好的使用和進一步的改進提供指導。
參考文獻:
Akbik et al. [2018] Alan Akbik, Duncan Blythe, and Roland Vollgraf. Contextual string embeddings for sequence labeling. In COLING, pages 1638–1649, 2018.
Alberti et al. [2019] Chris Alberti, Jeffrey Ling, Michael Collins, and David Reitter. Fusion of detected objects in text for visual question answering. In EMNLP-IJCNLP, pages 2131–2140, 2019.
Alsentzer et al. [2019] Emily Alsentzer, John R. Murphy, Willie Boag, Wei-Hung Weng, Di Jin, Tristan Naumann, and Matthew B. A. McDermott. Publicly available clinical BERT embeddings. arXiv preprint arXiv:1904.03323, 2019.
Arrieta et al. [2020] Alejandro Barredo Arrieta, Natalia Díaz-Rodríguez, Javier Del Ser, Adrien Bennetot, Siham Tabik, Alberto Barbado, Salvador García, Sergio Gil-López, Daniel Molina, Richard Benjamins, et al. Explainable artificial intelligence (xai): Concepts, taxonomies, opportunities and challenges toward responsible ai. Information Fusion, 58:82–115, 2020.
Baevski et al. [2019] Alexei Baevski, Sergey Edunov, Yinhan Liu, Luke Zettlemoyer, and Michael Auli.Cloze-driven pretraining of self-attention networks. In Kentaro Inui, Jing Jiang, Vincent Ng, and Xiaojun Wan, editors, EMNLP-IJCNLP, pages 5359–5368, 2019.
【導讀】知識蒸餾是一種典型的模型壓縮和加速方法,在很多應用場景對此有需求。來自悉尼大學的學者發布了《知識蒸餾》的綜述論文,值的關注。
近年來,深度神經網絡在工業和學術界取得了巨大的成功,特別是在視覺識別和神經語言處理方面的應用。深度學習的巨大成功,主要歸功于其巨大的可擴展性,既有大規模的數據樣本,也有數十億的模型參數。然而,在資源有限的設備如移動電話和嵌入式設備上部署這些笨重的深模型也帶來了巨大的挑戰,不僅因為計算量大,而且存儲空間大。為此,開發了各種模型壓縮和加速技術,如剪枝、量化和神經結構搜索。知識蒸餾是一種典型的模型壓縮和加速方法,旨在從大教師模型中學習小學生模型,越來越受到社會的關注。本文從知識分類、訓練方案、知識提取算法以及應用等方面對知識提取進行了綜述。此外,我們簡要回顧了知識提煉的挑戰,并對未來的研究課題提供了一些見解。
概述
在過去的幾年里,深度學習在人工智能領域取得了巨大的成功,包括計算機視覺(Krizhevsky et al., 2012)、強化學習(Silver et al., 2016)和神經語言處理(Devlin et al., 2018)的各種應用。借助最近許多技術,包括殘差連接(He et al., 2016)和批處理歸一化(Ioffe and Szegedy, 2015),我們可以輕松地在強大的GPU或TPU集群上訓練具有數千層的深度模型。例如,只需不到10分鐘就可以在數百萬張圖像的數據集上訓練ResNet模型(Deng et al. , 2009 ; Sun et al. , 2019); 訓練一個強大的BERT模型進行語言理解只需要不到一個半小時 (Devlin et al., 2018; You et al., 2019).。雖然大規模的深度模型帶來了令人難以置信的性能,但其龐大的計算復雜度和海量的存儲需求給實時應用的部署帶來了巨大的挑戰,特別是對于那些資源有限的設備,比如嵌入式人臉識別系統和自動駕駛汽車。
為了開發高效的深度模型,最近的工作通常集中在1)基于深度可分離卷積的高效基本塊,如MobileNets (Howard et al. , 2017 ; Sandler et al. , 2018) 和ShuffleNets (Zhang et al. , 2018a ; Ma et al. , 2018); (2)模型壓縮和加速技術,主要包括以下類別(Cheng et al., 2018)。
參數修剪和共享: 這些方法主要是去除深層神經網絡中不重要的參數,去除的參數對性能影響不大。該類別又分為模型量化(Wu et al., 2016)和二值化(Courbariaux et al., 2015)、參數共享(Han et al., 2015)和結構矩陣(Sindhwani et al., 2015)。
低秩分解: 這些方法通過矩陣/張量分解來探索深度神經網絡參數的冗余性(Denton et al., 2014)。
傳輸/壓縮卷積濾波器: 這些方法通過傳輸/壓縮卷積濾波器來減少不必要的參數(Zhai et al., 2016)。
知識蒸餾(KD): 這些方法通常將知識從一個較大的深度神經網絡提取到一個較小的網絡中(Hinton et al., 2015)。
對模型壓縮和加速的全面回顧超出了本文涵蓋的范圍,而我們關注的是知識蒸餾,這已經得到越來越多的研究社區關注。在實踐中,大型深度模型往往會取得非常好的性能,因為過參數化提高了泛化性能 (Brutzkus and Globerson, 2019; Allen-Zhu et al., 2019; Arora et al., 2018)。知識蒸餾通過在大教師模型的監督下學習小學生模型,從而探究深度模型中參數的冗余性,用于推理(Bucilua et al., 2006; Ba and Caruana, 2014; Hinton et al., 2015; Urban et al., 2016),而知識蒸餾的關鍵問題是如何將知識從大教師模型轉移到小學生模型。一般情況下,知識蒸餾的師生框架如圖1所示。雖然在實踐中取得了巨大的成功,但在理論或經驗上理解知識提煉方法的工作并不多(Cheng et al., 2020; Phuong and Lampert, 2019; Cho and Hariharan, 2019)。具體來說,為了理解知識蒸餾的工作機制,Phuong和Lampert在深度線性分類器的情況下,從理論上證明了學習精餾學生網絡快速收斂的泛化邊界(Phuong和Lampert, 2019)。這一解釋理論上回答了學生學習的內容和速度,并揭示了決定蒸餾成功的因素。蒸餾的成功依賴于數據幾何、蒸餾目標的優化偏差和學生分類器的強單調性。Cheng等人量化了來自深度神經網絡中間層的視覺概念知識,以解釋知識蒸餾(Cheng et al., 2020)。Cho和Hariharan對知識蒸餾的有效性進行了詳細的實證分析(Cho和Hariharan, 2019)。實證分析發現,由于模型容量的差距,較大的模型不一定是更好的老師(Mirzadeh et al., 2019),而精餾會對學生的學習產生不利影響。據我們所知,(Cho and Hariharan, 2019)忽略了對教師和學生之間不同知識、不同蒸餾和相互感情的經驗評價。此外,通過實證分析,從標簽平滑、教師和先驗對最優輸出層幾何形狀的預測置信度等角度探討了對知識蒸餾的理解(Tang et al., 2020)。
模型壓縮的知識蒸餾思想與人類的學習方案非常相似。為此,近年來的知識蒸餾方法不僅擴展到了師生學習(Hinton et al., 2015),還擴展到了相互學習(Zhang et al., 2018b)、自學(Yuan et al., 2019)、輔助教學(Mirzadeh et al., 2019)和終身學習(Zhai et al., 2019)。知識蒸餾的大部分擴展集中于壓縮深度神經網絡,因此輕量級的學生網絡可以很容易地部署在諸如視覺識別、語音識別和自然語言處理(NLP)等應用程序中。此外,知識蒸餾中從一個模型到另一個模型的知識轉移符號也可以擴展到其他任務,如對抗攻擊(Papernot et al., 2016b)、數據增強(Lee et al., 2019a;Gordon和Duh, 2019),數據隱私和安全(Wang等,2019a)。
本文對知識蒸餾的研究進行了綜述。本綜述的主要目的是1) 全面概述知識蒸餾,包括動機的背景,基本符號和公式,以及幾種典型知識,蒸餾和算法; 2) 全面回顧知識蒸餾的最新進展,包括理論、應用和在不同現實場景下的擴展; 3) 從知識遷移的不同角度,包括不同類型的知識、訓練方案、知識提煉算法/結構和應用,闡述知識蒸餾的一些挑戰和見解。本文組織概況如圖2所示。具體地說,本文的其余部分結構如下。第二節給出了知識蒸餾的重要概念和常規模型。知識和蒸餾的種類分別在第3節和第4節中進行了總結。現有的關于知識提煉中的師生結構的研究在第5部分進行了說明。第6節對許多最新的知識蒸餾方法進行了全面的總結和介紹。知識蒸餾的廣泛應用將在第7節的不同方面加以說明。第8節討論了知識蒸餾中具有挑戰性的問題和未來的方向。最后,在第9節給出結論。
【導讀】元學習旨在學會學習,是當下研究熱點之一。最近來自愛丁堡大學的學者發布了關于元學習最新綜述論文《Meta-Learning in Neural Networks: A Survey》,值得關注,詳述了元學習體系,包括定義、方法、應用、挑戰,成為不可缺少的文獻。
近年來,元學習領域,或者說“學會學習的學習”,引起了人們極大的興趣。與傳統的人工智能方法(使用固定的學習算法從頭開始解決給定的任務)不同,元學習的目的是改進學習算法本身,考慮到多次學習的經驗。這個范例提供了一個機會來解決深度學習的許多傳統挑戰,包括數據和計算瓶頸,以及泛化的基本問題。在這項綜述中,我們描述了當代元學習的景觀。我們首先討論元學習的定義,并將其定位于相關領域,如遷移學習、多任務學習和超參數優化。然后,我們提出了一個新的分類法,對元學習方法的空間進行了更全面的細分。我們綜述了元學習的一些有前途的應用和成功案例,包括小樣本學習、強化學習和體系架構搜索。最后,我們討論了突出的挑戰和未來研究的有希望的領域。
概述
現代機器學習模型通常是使用手工設計的固定學習算法,針對特定任務從零開始進行訓練。基于深度學習的方法在許多領域都取得了巨大的成功[1,2,3]。但是有明顯的局限性[4]。例如,成功主要是在可以收集或模擬大量數據的領域,以及在可以使用大量計算資源的領域。這排除了許多數據本質上是稀有或昂貴的[5],或者計算資源不可用的應用程序[6,7]。
元學習提供了另一種范式,機器學習模型可以在多個學習階段獲得經驗——通常覆蓋相關任務的分布——并使用這些經驗來改進未來的學習性能。這種“學會學習”[8]可以帶來各種好處,如數據和計算效率,它更適合人類和動物的學習[9],其中學習策略在一生和進化時間尺度上都得到改善[10,9,11]。機器學習在歷史上是建立在手工設計的特征上的模型,而特征的選擇往往是最終模型性能的決定因素[12,13,14]。深度學習實現了聯合特征和模型學習的承諾[15,16],為許多任務提供了巨大的性能改進[1,3]。神經網絡中的元學習可以看作是集成聯合特征、模型和算法學習的下一步。神經網絡元學習有著悠久的歷史[17,18,8]。然而,它作為推動當代深度學習行業前沿的潛力,導致了最近研究的爆炸性增長。特別是,元學習有可能緩解當代深度學習[4]的許多主要批評,例如,通過提供更好的數據效率,利用先驗知識轉移,以及支持無監督和自主學習。成功的應用領域包括:小樣本圖像識別[19,20]、無監督學習[21]、數據高效[22,23]、自導向[24]強化學習(RL)、超參數優化[25]和神經結構搜索(NAS)[26, 27, 28]。
在文獻中可以找到許多關于元學習的不同觀點。特別是由于不同的社區對這個術語的使用略有不同,所以很難定義它。與我們[29]相關的觀點認為,元學習是管理“沒有免費午餐”定理[30]的工具,并通過搜索最適合給定問題或問題族的算法(歸納偏差)來改進泛化。然而,從廣義上來說,這個定義可以包括遷移、多任務、特征選擇和模型集成學習,這些在今天通常不被認為是元學習。另一個關于元學習[31]的觀點廣泛地涵蓋了基于數據集特性的算法選擇和配置技術,并且很難與自動機器學習(AutoML)[32]區分開來。在這篇論文中,我們關注當代的神經網絡元學習。我們將其理解為算法或歸納偏差搜索,但重點是通過端到端學習明確定義的目標函數(如交叉熵損失、準確性或速度)來實現的。
因此,本文提供了一個獨特的,及時的,最新的調查神經網絡元學習領域的快速增長。相比之下,在這個快速發展的領域,以往的研究已經相當過時,或者關注于數據挖掘[29、33、34、35、36、37、31]、自動[32]的算法選擇,或者元學習的特定應用,如小樣本學習[38]或神經架構搜索[39]。
我們討論元學習方法和應用。特別是,我們首先提供了一個高層次的問題形式化,它可以用來理解和定位最近的工作。然后,我們在元表示、元目標和元優化器方面提供了一種新的方法分類。我們調查了幾個流行和新興的應用領域,包括少鏡頭、強化學習和架構搜索;并對相關的話題如遷移學習、多任務學習和自動學習進行元學習定位。最后,我們討論了尚未解決的挑戰和未來研究的領域。
未來挑戰:
-元泛化 元學習在不同任務之間面臨著泛化的挑戰,這與傳統機器學習中在不同實例之間進行泛化的挑戰類似。
總結
元學習領域最近出現了快速增長的興趣。這帶來了一定程度的混亂,比如它如何與鄰近的字段相關聯,它可以應用到什么地方,以及如何對它進行基準測試。在這次綜述中,我們試圖通過從方法學的角度對這一領域進行徹底的調查來澄清這些問題——我們將其分為元表示、元優化器和元目標的分類;從應用的角度來看。我們希望這項調查將有助于新人和實踐者在這個不斷增長的領域中定位自己,并強調未來研究的機會。
【導讀】現有的機器學習方法在很多場景下需要依賴大量的訓練樣本。但機器學習方法是否可以模仿人類,基于先驗知識等,只基于少量的樣本就可以進行學習。本文介紹34頁小樣本學習綜述《Generalizing from a Few Examples: A Survey on Few-Shot Learning》,包含166篇參考文獻,來自第四范式和香港科技大學習的研究學者。
小樣本學習綜述 Few-shot Learning: A Survey
【摘要】機器學習在數據密集型應用中非常成功,但當數據集很小時,它常常受到阻礙。為了解決這一問題,近年來提出了小樣本學習(FSL)。利用先驗知識,FSL可以快速地泛化到只包含少量有監督信息的樣本的新任務中。在這篇論文中,我們進行了一個徹底的調研,以充分了解FSL。從FSL的正式定義出發,我們將FSL與幾個相關的機器學習問題區分開來。然后指出了FSL的核心問題是經驗風險最小化是不可靠的。基于先驗知識如何處理這一核心問題,我們從三個角度對FSL方法進行了分類: (i) 數據,它使用先驗知識來增加監督經驗;(二) 利用先驗知識縮小假設空間大小的模型;(iii)算法,利用先驗知識在給定的假設空間中改變對最佳假設的搜索。有了這種分類法,我們就可以回顧和討論每個類別的優缺點。在FSL問題的設置、技術、應用和理論方面也提出了有前景的方向,為未來的研究提供了見解。
我們給出了FSL的形式化定義。它可以自然地鏈接到以往文獻中提出的經典機器學習定義。這個定義不僅足夠概括,包括所有現有的FSL -shot Learning: A Survey problems,而且足夠具體,明確了什么是FSL的目標,以及我們如何解決它。這一定義有助于確定未來FSL領域的研究目標。
指出了基于誤差分解的FSL在機器學習中的核心問題。我們發現,正是不可靠的經驗風險最小化使得FSL難以學習。這可以通過滿足或降低學習的樣本復雜度來緩解。理解核心問題有助于根據解決核心問題的方式將不同的工作分類為數據、模型和算法。更重要的是,這為更有組織和系統地改進FSL方法提供了見解。
我們對從FSL誕生到最近發表的文獻進行了廣泛的回顧,并將它們進行了統一的分類。對不同類別的優缺點進行了深入的討論。我們還對每個類別下的見解進行了總結。這對于初學者和有經驗的研究人員都是一個很好的指導方針。
我們在問題設置、技術、應用和理論方面展望了FSL未來的四個發展方向。這些見解都是基于當前FSL發展的不足之處,并有可能在未來進行探索。我們希望這部分能夠提供一些見解,為解決FSL問題做出貢獻,為真正的AI而努力。
與已有的關于小樣本概念學習和經驗學習的FSL相關調相比,我們給出了什么是FSL,為什么FSL很難,以及FSL如何將小樣本監督信息與先驗知識結合起來使學習成為可能的正式定義。我們進行了廣泛的文獻審查的基礎上提出的分類法與詳細討論的利弊,總結和見解。我們還討論了FSL與半監督學習、不平衡學習、遷移學習和元學習等相關話題之間的聯系和區別
【導讀】異構網絡表示學習Heterogeneous Network Representation Learning是當前自數據挖掘以及其他應用的研究熱點,在眾多任務中具有重要的應用。近日,UIUC韓家煒等學者發布了異構網絡表示學習的綜述大全,共15頁pdf115篇參考文獻,從背景知識到當前代表性HNE模型和應用研究挑戰等,是最新可參考絕好的異構網絡表示學習模型的文獻。
由于現實世界中的對象及其交互通常是多模態和多類型的,所以異構網絡被廣泛地用作傳統同構網絡(圖)的一個更強大、更現實和更通用的超類。與此同時,表示學習(representation learning,又稱嵌入)最近得到了深入的研究,并被證明對各種網絡挖掘和分析任務都是有效的。由于已有大量的異構網絡嵌入(HNE)算法,但沒有專門的調研綜述,作為這項工作的第一個貢獻,我們率先提供了一個統一的范式,對各種現有的HNE算法的優點進行系統的分類和分析。此外,現有的HNE算法雖然大多被認為是通用的,但通常是在不同的數據集上進行評估。由于HNE在應用上的天然優勢,這種間接的比較在很大程度上阻礙了任務性能的改善,特別是考慮到從真實世界的應用數據構建異構網絡的各種可能的方法。因此,作為第二項貢獻,我們創建了四個基準數據集,這些數據集具有不同來源的尺度、結構、屬性/標簽可用性等不同屬性,以全面評估HNE算法。作為第三個貢獻,我們對十種流行的HNE算法的實現進行了細致的重構和修改,并創建了友好的接口,并在多個任務和實驗設置上對它們進行了全方位的比較。
1.概述
網絡和圖形構成了一種規范的、普遍存在的交互對象建模范式,已經引起了各個科學領域的重要研究關注[59、30、24、3、89、87]。然而,現實世界的對象和交互通常是多模態和多類型的(例如,作者、論文、場所和出版物網絡中的術語[69,65];基于位置的社交網絡中的用戶、地點、類別和gps坐標[101,91,94];以及生物醫學網絡中的基因、蛋白質、疾病和物種[38,14])。為了捕獲和利用這種節點和鏈路的異構性,異構網絡被提出并廣泛應用于許多真實的網絡挖掘場景中,如基于元路徑的相似度搜索[70、64、92]、節點分類和聚類[18、20、11]、知識庫補全[68、48、103]和推薦[23、106、31]。
與此同時,目前對圖數據的研究主要集中在表示學習(圖數據嵌入)方面,特別是在神經網絡算法的先行者們展示了前所未有的有效而高效的圖數據挖掘的經驗證據之后[25,4,13]。他們的目標是將圖數據(如節點[49、72、26、77、37、28、9、75]、鏈接[107、1、50、96]和子圖[47、93、97、45])轉換為嵌入空間中的低維分布向量,在嵌入空間中保留圖的拓撲信息(如高階鄰近性[5、76、105、34]和結構[55、102、42、17])。這樣的嵌入向量可以被各種下游的機器學習算法直接執行[58,39,10]。
在異構網絡與圖嵌入的交叉點上,異構網絡嵌入(HNE)近年來也得到了較多的研究關注[8、85、108、16、66、67、27、22、90、35、104、57、52、99、7、98、32、83、95、82、41]。由于HNE的應用優勢,許多算法在不同的應用領域分別被開發出來,如搜索和推薦[23,63,6,89]。此外,由于知識庫(KBs)也屬于異構網絡的一般范疇,許多KB嵌入算法可以與HNE算法相比較[81、3、40、68、88、15、48、79、60]。
不幸的是,不同的HNE算法是在學術界和工業界完全不同的社區開發的。無論是在概念上還是在實驗中,都沒有對其進行系統全面的分析。事實上,由于缺乏基準平臺(有現成的數據集和基線),研究人員往往傾向于構建自己的數據集,并重新實現一些最流行的(有時是過時的)比較算法,這使得公平的性能評估和明確的改進屬性變得極其困難。
只需考慮圖1中發布數據小例子。較早的HNE算法如metapath2vec [16])是在作者、論文和場所節點類型為(a)的異構網絡上發展起來的,但是可以像(b)那樣用大量的術語和主題作為附加節點來豐富論文,這使得基于隨機游走的淺嵌入算法效果不佳,而傾向于R-GCN[57]這樣的基于鄰域聚合的深度圖神經網絡。此外,還可以進一步加入術語嵌入等節點屬性和研究領域等標簽,使其只適用于半監督歸納學習算法,這可能會帶來更大的偏差[104、82、33、54]。最后,通常很難清楚地將性能收益歸因于技術新穎性和數據調整之間的關系。
在這項工作中,我們首先制定了一個統一而靈活的數學范式,概括了所有的HNE算法,便于理解每個模型的關鍵優點(第2節)。特別地,基于對現有模型(以及可能的未來模型)進行清晰分類和總結的統一分類,我們提出了網絡平滑度的一般目標函數,并將所有現有的模型重新組織成統一的范式,同時突出其獨特的新穎貢獻(第3節)。我們認為該范式將有助于指導未來新型HNE算法的發展,同時促進它們與現有算法的概念對比。
作為第二個貢獻,我們通過詳盡的數據收集、清理、分析和整理(第4節),特意準備了四個基準的異構網絡數據集,具有規模、結構、屬性/標簽可用性等多種屬性。這些不同的數據集,以及一系列不同的網絡挖掘任務和評估指標,構成了未來HNE算法的系統而全面的基準資源。
作為第三個貢獻,許多現有的HNE算法(包括一些非常流行的算法)要么沒有一個靈活的實現(例如,硬編碼的節點和邊緣類型、固定的元路徑集等),要么不能擴展到更大的網絡(例如,在訓練期間的高內存需求),這給新的研究增加了很多負擔(例如,,在正確的重新實現中需要大量的工程工作)。為此,我們選擇了10種流行的HNE算法,在這些算法中,我們仔細地重構和擴展了原始作者的實現,并為我們準備好的數據集的插件輸入應用了額外的接口(第5節)。基于這些易于使用和有效的實現,我們對算法進行了全面的經驗評估,并報告了它們的基準性能。實證結果在提供了與第3節的概念分析相一致的不同模型的優點的同時,也為我們的基準平臺的使用提供了范例,以供今后對HNE的研究參考。
本文的其余部分組織如下。第2節首先介紹我們提出的通用HNE范式。隨后,第3節對我們調查中的代表性模型進行了概念上的分類和分析。然后,我們在第4節中提供了我們準備好的基準數據集,并進行了深入的分析。在第5節中,我們對10種常用的HNE算法進行了系統而全面的實證研究,對HNE的發展現狀進行了評價。第六部分是對未來HNE平臺使用和研究的展望。
異構網絡示例
算法分類
Proximity-Preserving Methods
如前所述,網絡嵌入的一個基本目標是捕獲網絡拓撲信息。這可以通過在節點之間保留不同類型的鄰近性來實現。在HNE中,有兩類主要的接近性保護方法:基于隨機步法的方法(靈感來自DeepWalk[49])和基于一階/二階接近性的方法(靈感來自LINE[72])。
Message-Passing Methods
網絡中的每個節點都可以將屬性信息表示為特征向量xu。消息傳遞方法的目標是通過聚合來自u鄰居的信息來學習基于xu的節點嵌入eu。在最近的研究中,圖神經網絡(GNNs)[37]被廣泛用于促進這種聚合/消息傳遞過程。
Relation-Learning方法
異類網絡中的每條邊都可以看作是一個三元組(u, l, v),由兩個節點u, v∈v和一個邊緣類型l∈TE(即。,實體和關系,用KG表示)。關系學習方法的目標是學習一個評分函數sl(u, v),該函數對任意三元組求值并輸出一個標量來度量該三元組的可接受性。這種思想在KB嵌入中被廣泛采用。由于已經有關于KB嵌入算法的調查[81],我們在這里只討論最流行的方法,并強調它們與HNE的聯系。
基準
未來方向
在這項工作中,我們對各種現有的HNE算法進行了全面的調研,并提供了基準數據集和基線實現,以方便今后在這方面的研究。盡管HNE已經在各種下游任務中表現出了強大的性能,但它仍處于起步階段,面臨著許多尚未解決的挑戰。為了總結這項工作并啟發未來的研究,我們現在簡要地討論一下當前HNE的局限性和幾個可能值得研究的具體方向。
超越同質性。如式(1)所述,目前的HNE算法主要關注網絡同質性作用。由于最近對同構網絡的研究,研究位置和結構嵌入的組合,探索如何將這種設計原則和范式推廣到HNE將是很有趣的。特別是在異構網絡中,節點的相對位置和結構角色都可以在不同的元路徑或元圖下測量,這自然更具有信息性和多樣性。然而,這樣的考慮也帶來了更困難的計算挑戰。
超越準確性。大多數,如果不是全部,現有的研究主要集中在對不同的下游任務的準確性。進一步研究HNE的效率和可擴展性(用于大規模網絡)、時間適應性(用于動態演化網絡)、魯棒性(用于對抗攻擊)、可解釋性、不確定性、公平性等將是非常有趣的。
超越節點嵌入。圖級和子圖級嵌入在同構網絡上得到了廣泛的研究,但在異構網絡上卻很少有研究。雖然諸如HIN2Vec[22]等現有的工作都在研究元路徑的嵌入以改進節點的嵌入,但是圖和子圖級嵌入在異構網絡環境中的直接應用仍然處于萌芽狀態。
回顧KB嵌入。KB嵌入與其他HNE類型的區別主要在于節點和鏈接類型的數量不同。直接將KB嵌入到異構網絡中不能考慮具有豐富語義的元路徑,而將HNE直接應用到KB中由于元路徑的數量呈指數增長而不現實。然而,研究這兩組方法(以及兩種類型的數據)之間的交集仍然很有趣。例如,我們如何將異構網絡上的元路徑和HNE在KB上嵌入轉換的思想與更多的語義感知轉換結合起來?我們如何設計基于截斷隨機游走的方法來包含高階關系的知識庫嵌入?
異構上下文建模。異構網絡主要模擬不同類型的節點和鏈接。然而,現在的網絡常常與豐富的內容相關聯,這些內容提供了節點、鏈接和子網的上下文。因此,如何通過多模態內容和結構的集成來對多方面環境下的異構交互進行建模可能是一個具有挑戰性但值得研究的領域。
理解局限性。雖然HNE(以及許多神經表示學習模型)已經在各個領域顯示出了強大的性能,但值得了解其潛在的局限性。例如,與傳統的網絡挖掘方法(例如,路徑計數、子圖匹配、非神經或線性傳播)相比,現代HNE算法何時能更好地工作?我們怎樣才能把兩個世界的優點結合起來呢?此外,雖然對同構網絡數據的神經網絡背后的數學機制(如平滑、低通濾波、不變和等變變換)進行了深入的研究,通過統一現有的HNE模型,本工作也旨在激發對HNE的能力和局限性的進一步理論研究。
命名實體識別(NER)的任務是識別提到命名實體的文本范圍,并將它們分類為預定義的類別,如人員、位置、組織等。NER是各種自然語言應用的基礎,如問題回答、文本摘要和機器翻譯。雖然早期的NER系統能夠成功地產生相當高的識別精度,但它們通常需要大量的人力來精心設計規則或特征。近年來,基于連續實值向量表示和通過非線性處理的語義組合的深度學習被應用到NER系統中,產生了最先進的性能。在這篇論文中,我們對現有的深度學習技術進行了全面的回顧。我們首先介紹NER資源,包括標記的NER語料庫和現成的NER工具。然后,我們根據一個分類法沿著三個軸對現有的作品進行了系統的分類:輸入的分布式表示、上下文編碼器和標記解碼器。接下來,我們調查了最近在新的NER問題設置和應用中應用深度學習技術的最有代表性的方法。最后,我們向讀者介紹NER系統所面臨的挑戰,并概述該領域的未來發展方向。
圖神經網絡是解決各種圖學習問題的有效的機器學習模型。盡管它們取得了經驗上的成功,但是GNNs的理論局限性最近已經被揭示出來。因此,人們提出了許多GNN模型來克服這些限制。在這次調查中,我們全面概述了GNNs的表達能力和可證明的強大的GNNs變體。
在過去的幾年里,自然語言處理領域由于深度學習模型的大量使用而得到了發展。這份綜述提供了一個NLP領域的簡要介紹和一個快速的深度學習架構和方法的概述。然后,篩選了大量最近的研究論文,并總結了大量相關的貢獻。NLP研究領域除了計算語言學的一些應用外,還包括幾個核心的語言處理問題。然后討論了目前的技術水平,并對該領域今后的研究提出了建議。