多變量時間序列的異常檢測是許多領域的一個重要問題。系統的日益復雜和數據量的爆炸性增長使其自動化變得至關重要。基于深度學習的方法在檢測方面顯示出良好的效果,但由于其長時間的訓練和有限的魯棒性,并不能滿足工業需求。為了滿足工業需求,本論文提出了一種新的無監督方法,用于多變量時間序列的異常檢測,稱為USAD,基于自動編碼器架構和對抗性訓練。該方法符合工業界對魯棒性和訓練速度的要求,同時在檢測方面達到了最先進的性能。然而,深度神經網絡方法在從數據中提取特征的能力方面受到限制,因為它們只依賴局部信息。因此,為了提高這些方法的性能,本論文提出了一種引入非局部信息的特征工程策略。這一策略在不增加訓練時間的情況下提高了基于神經網絡的方法的性能。鑒于近年來深度學習方法在多變量時間序列異常檢測中的良好表現,研究人員在他們的基準中忽略了所有其他方法,導致所提出的方法的復雜性在目前的出版物中爆炸性增長。這種缺乏與文獻中更常規的方法的比較,不允許斷言基準中報告的進展不是虛幻的,這種不斷增加的復雜性是必要的。為了解決這個問題,本論文提出對多變量時間序列中的16種異常檢測方法進行比較,這些方法分為三類。傳統方法、機器學習方法和基于深度神經網絡的方法。本研究表明,沒有證據表明深度神經網絡是解決這一問題的必要條件。
關鍵詞:異常檢測,時間序列,多變量,深度學習,非監督性
由于數據的大量產生,時間序列及其分析正變得越來越重要。時間序列被用于大量的領域,如工業控制系統[2]、金融[3]和醫療保健[4]。
時間序列分析包括從按時間順序排列的點中提取信息,即時間序列,它可以有多種用途。最常見的是觀察一個變量的歷史,以便進行預測。這涉及到根據以前觀察到的變量值來預測其未來值。另一個常見的目的是發現時間序列之間的關聯性。這允許了解系統中不同變量之間的相互作用。許多其他目標解釋了時間序列分析的普及,如尋找趨勢、周期、季節性變化或檢測異常行為。
檢測意外行為或不符合預期行為的模式是一門活躍的研究學科,稱為時間序列中的異常檢測[5]。異常檢測是一個重要的領域。它包括檢測罕見的事件,或者更普遍的,與大多數數據不同的反常的觀察。這些罕見事件可以是各種類型的,它們存在于多個不同的領域(欺詐性金融交易、醫療問題或網絡入侵)。檢測這些罕見事件是許多領域的一個主要問題。例如,到2020年,檢測銀行交易欺詐可以為全球節省320億美元[6]。因此,對于行業來說,能夠檢測其系統中的異常情況是至關重要的。
本論文關注異常檢測這一關鍵任務。具體來說,它專注于時間序列異常檢測方法的一個子集,即無監督檢測。與監督檢測不同,無監督檢測方法不需要與數據樣本相關的標簽。這樣做的目的是為了檢測與以前觀察到的數據不同的行為[7]。最后,本論文關注多變量時間序列,因為它是最通用的背景,因為單變量時間序列只是2.1.1節中介紹的m=1的多變量背景的一個特例。
在過去的十年中,人們對深度神經網絡(DNNs)的熱情越來越高[8],這要歸功于它們在潛在的大體積和大維度的復雜數據中推斷高階相關的能力[9, 10]。時間序列中的異常檢測也沒有逃過這一趨勢。基于DNN的方法旨在學習多變量時間序列的深度潛在表征,以推斷出一個變量模型,然后用于對未見數據的異常分級。越來越多地使用DNN架構的理由在于,需要學習多變量數據的時間演化中潛在的復雜數據模式。因此,出現了許多方法,主要是基于遞歸神經網絡來捕捉時間信息[11, 12, 13]。然而,這些方法以犧牲其訓練速度為代價獲得良好的結果。事實上,這些方法都沒有在其性能標準中考慮到訓練時間。這就是為什么有必要開發在異常檢測方面具有與技術水平相當的性能的方法,同時偏重于允許快速和節能的訓練的架構。
與任何機器學習方法一樣,深度學習方法的性能與提取的特征的質量相關[14]。增強時間序列數據的特征工程通常是通過將外部但相關的信息作為一個額外的變量帶到時間序列中來完成。然而,這需要關于測量過程的領域知識。機器學習方法的另一個策略是在時間序列上創建局部特征,如移動平均線或局部最大和最小值。這兩種策略,由于是手工操作,效率不高,耗時長,而且需要很高的領域知識專長[15]。從理論上講,鑒于DNN已被證明具有自動學習局部特征的能力,從而解決了更多傳統統計和機器學習方法的局限性,DNN已成為一種有希望的替代方案。盡管它們具有學習這種局部特征的能力,但事實證明,特征工程可以加速和提高DNN的學習性能[16],DNN學習的特征的一個內在限制是它們只依賴局部信息。然而,目前文獻中還沒有成熟的方法來解決時間序列的這個問題。
由于DNN在多個領域表現出良好的性能[9, 10, 17, 18],近年來,基于DNN的多變量時間序列異常檢測方法蓬勃發展(表1.1)。然而,這些工作已經遠離了與更傳統的方法,即機器學習[19]和傳統/統計方法(如[1, 2, 13])的比較,同時提出了方法上的進步和基于DNN方法的改進性能。這種趨勢鼓勵社區開發更復雜的模型,以提高基于DNN的方法的性能,但沒有任何理論或經驗證據表明這些模型優于文獻中更成熟的方法體系。
基于DNN的模型訓練起來很復雜,涉及大量的參數估計,需要大量的訓練樣本和計算資源。此外,隨著更大的模型不斷被開發,它們的復雜性也在不斷增加。相反,傳統的模型更簡單、更輕便、更容易解釋,而且往往更能適應現實世界應用的限制。因此,關鍵是要確定基于DNN的方法所帶來的復雜性是否是為獲得性能而付出的必要代價,或者近年來報告的進展是虛幻的[20],應該優先使用傳統方法。由于缺乏涵蓋所有方法系列的一般性比較,無法回答這個問題,阻礙了基于DNN的方法在實際應用中的轉化和使用。目前,文獻中還沒有關于這種特性的完整基準。
表1.1: 2018年至2021年同行評議的基于深度學習的多變量時間序列異常檢測方法
本論文是CIFRE(Convention Industrielle de Formation par la Recherche)的論文,是Orange和EURECOM的合作。Orange是一家法國電信公司。它在全球擁有近2.7億客戶。因此,本論文的貢獻和開發的方法是為了融入Orange的工業環境中。本論文的所有貢獻如下。
一種快速而穩定的方法,稱為多變量時間序列的無監督異常檢測(USAD),基于對抗性訓練的自動編碼器。其自動編碼器結構使其能夠進行無監督學習。使用對抗性訓練和它的結構使它能夠在提供快速訓練的同時隔離異常現象。
在使用DNN進行異常檢測的情況下,一種新的特征工程策略來增強時間序列數據。其目標是雙重的。首先,將單變量時間序列轉化為多變量時間序列以提高DNN的性能。第二,使用一種特征工程策略,將非本地信息引入時間序列,這是DNN無法學習的。這是通過使用一個叫做Matrix-Profile的數據結構作為一個通用的非瑣碎特征來實現的。矩陣文件允許提取與時間序列的子序列之間的相似性相對應的非本地特征。與每個單獨的方法相比,性能顯示該方法在不增加計算時間的情況下實現了更好的性能。
對包括USAD在內的16種傳統的、基于機器學習的和基于深度神經網絡的方法在五個開放的真實世界數據集上的異常檢測性能的研究。對這16種方法中每一種的性能分析和比較表明,沒有哪一種方法的性能優于其他方法。當數據集包含上下文異常或數據集較大時,深層神經網絡似乎表現得更好,而傳統技術在數據集較小時表現得更好。因此,不可能說深度神經網絡優于以前的方法,社區應該重新將這三類方法納入多變量時間序列基準的異常檢測中。
本節對以下各章的內容進行了總結:
第二章主要分為兩部分。第一部分介紹了時間序列和它們的特征。第二部分專門討論時間序列中的異常檢測,并介紹了分為三個主要類別的方法的技術現狀。傳統的、機器學習的和深度學習的方法。
第三章介紹了一種由不良訓練的自動編碼器架構組成的多變量時間序列的無監督異常檢測方法,并展示了該方法在五個真實世界的開放數據集以及Orange的專有數據上的性能。
第四章介紹了一種特征工程策略,通過引入非局部信息將單變量時間序列轉化為多變量時間序列,并表明這種策略解決了深度神經網絡的局限性,并證明了這種組合在不增加計算時間的情況下優于每種方法。
第五章質疑是否需要主要基于深度神經網絡的更復雜的方法來進行多變量時間序列的異常檢測,并提出對屬于第二章中提出的三類的16種方法進行研究。性能分析表明,這三類方法中沒有一種方法優于其他方法。并討論了基于深度神經網絡的方法在多變量時間序列異常檢測基準中可能出現的性能錯覺。
最后,第六章總結了這項工作的主要貢獻,并提出了對這項研究可能繼續進行的一些想法。
本論文是在已發表文章的基礎上進行的研究。本論文中出現的部分內容曾在以下論文中發表過:
Julien Audibert, Pietro Michiardi, Frédéric Guyard, Sébastien Marti, and Maria A. Zuluaga. USAD:多變量時間序列上的非監督性異常檢測。在第26屆ACM SIGKDD知識發現與數據挖掘國際會議(KDD '20)論文集中。
Julien Audibert, Frédéric Guyard, Sébastien Marti, and Maria A. Zuluaga. 從單變量到多變量的時間序列異常檢測與非本地信息。在ECML PKDD 2021的第六屆高級分析和時態數據學習研討會上。
Julien Audibert, Pietro Michiardi, Frédéric Guyard, Sébastien Marti, and Maria A. Zuluaga. 論深度神經網絡對多變量時間序列異常檢測的好處,正在模式識別2021年評審中。
本論文開發的部分方法參加了KDDCUP2021的 "多數據集時間序列異常檢測 "挑戰賽。參與的方法在565名參賽者中獲得了第16名。
如何對不同設置下的序列數據建模是一個跨許多領域的重要機器學習問題,包括對時間序列數據、自然語言文本和事件流的預測。不同字段中的順序數據通常具有不同的特征。例如,自然語言文本可以被視為一個離散變量的序列,而傳感器網絡信號可以被視為一個連續向量空間中的多變量序列。為了在各種各樣的現實世界領域中開發成功的神經網絡模型,我們需要根據數據和問題的性質定制架構和算法。本文設計了新穎高效的神經網絡解決方案,用于序列建模和應用。具體來說,這些貢獻可以分為四部分。
第一部分重點研究了多變量序列數據中變量之間的相關性,如多傳感器的時間序列,并提出了新的算法,即深度可分圖卷積網絡(DSGC)(第二章)[60]和分解遞歸神經網絡(FRNN)(第三章)[63],以利用相關模式,提高預測精度。
第二部分側重于將人類先驗知識用于時序數據依賴模式的時間建模。具體地說,我們提出了一種新的方法,命名為長期和短期時間序列網絡(LSTNet)(第4章)[59],它被證明是特別有效的捕獲各種周期模式在不同的應用。
第三部分著重于序列分類任務中Transformers 的高效算法。具體來說,通過識別常用的Transformer架構中的計算冗余,并提出一種新的替代方案,即漏斗Transformers (第5章)[27],我們實現了更好的計算與精度之間的權衡。
第四部分側重于事件之間時間關系的建模/預測,其中的主要挑戰是從稀疏標記的數據中有效學習。我們通過結合高級數據增強、半監督學習和人類先驗知識的引入來應對這一挑戰(第6章)。因此,我們大大提高了這項任務的最先進性能。
時間序列數據在現實世界的應用中無處不在。這些數據產生了不同但密切相關的學習任務(例如,時間序列分類、回歸或預測)。與更傳統的橫斷面設置相比,這些任務往往沒有被完全正規化。因此,不同的任務可能被混同在同一個名稱下,算法經常被應用于錯誤的任務,而性能估計可能是不可靠的。在實踐中,像scikit-learn這樣的軟件框架已經成為數據科學的基本工具。然而,大多數現有的框架都集中在橫斷面數據上。據我們所知,對于時間性數據,還沒有類似的框架存在。此外,盡管這些框架很重要,但它們的設計原則卻從未被充分理解。相反,討論往往集中在使用和功能上,而幾乎完全忽略了設計。
為了解決這些問題,我們在本論文中開發了(i)學習任務的正式分類法,(ii)ML工具箱的新設計原則和(iii)一個新的統一的時間序列ML框架。該框架已經在一個名為sktime的開源Python包中實現。設計原則來自于現有的最先進的工具箱和經典的軟件設計實踐,使用了領域驅動的方法和一個新的科學類型系統。我們表明,這些原則不僅可以解釋現有框架的關鍵方面,還可以指導像sktime這樣的新框架的開發。最后,我們用sktime重現并擴展了M4比賽,這是一項主要的預測基準比較研究。復制比賽使我們能夠驗證已發布的結果并說明sktime的有效性。擴展比賽使我們能夠探索以前沒有研究過的ML模型的潛力。我們發現,在M4數據的一個子集上,用sktime實現的簡單ML模型可以與手工制作的M4贏家模型的最先進性能相媲美。
時間序列數據在科學、商業和工業應用中無處不在。一個時間序列由一個有索引的數值序列組成,通常是在一段時間內反復觀察所研究的一些現象。時間序列出現在許多應用中。例如,金融市場的價格變動、工業過程中的傳感器讀數(如化學反應器中的溫度或壓力)、病人的醫療記錄(如血壓和心率)以及顧客的購物記錄。
時間序列的一個內在特征是,通常情況下,觀察值在統計上依賴于以前的觀察值。直觀地說,在過去觀察到某些數值后,在未來觀察到某些數值的可能性更大。時間序列分析是一套涉及分析這種依賴性的技術。分析時間序列在現實世界的應用中是非常重要的。它使我們能夠更好地理解產生觀察數據的基本過程,并對其進行預測。最終,時間序列分析可以指導我們的決策,改善現實世界應用的結果。
機器學習為數據分析和預測提供了一套密切相關的技術。雖然機器學習傳統上側重于非時間性的截面數據,但近年來已經開發了許多技術來對時間序列數據進行預測。在整個論文中,我們將這些技術稱為 "機器學習",或簡稱為 "ML",當應用于時間序列時,稱為 "帶時間序列的ML"。
時間序列的ML是一個高度跨學科的領域。技術在不同的學科中使用和發展,通常是重疊的,包括計量經濟學、金融學、醫學、工程學和自然與社會科學等等。正因為如此,類似的問題和技術經常在不同的背景下出現。與更傳統的、橫斷面的ML設置相比,對于常見的時間序列問題,即我們所說的 "學習任務",似乎沒有既定的 "共識"定義。同時,在時間數據背景下,會出現各種密切相關但不同的任務。例如,預測,最常見的任務之一,一般來說,指的是根據過去的數據進行時間上的前瞻性預測的問題。但是,根據不同的背景,預測可能有不同的含義:它可能涉及一個或多個時間序列,序列可能是相關的或獨立的,而且我們想要預測的未來時間段可能有也可能沒有數據。這些對于現實世界的應用來說是微妙但重要的區別。雖然僅僅是預測就會產生模棱兩可的問題表述,但在時間數據背景下還會出現許多學習任務,包括時間序列分類、時間序列回歸和注釋等等。因此,不同的問題之間的關系并不總是那么明顯,或者一個問題的解決方案如何應用于另一個問題。了解這些問題可能采取的不同形式,對于理解我們如何使用ML技術來解決這些問題至關重要。在時間背景中出現的常見數據形式是什么?什么是常見學習問題的種類?它們是如何關聯的?以及我們如何以數學上的精確方式來定義這些問題?
本論文的第一個目標就是要解決這些問題。我們通過開發時間序列數據和關鍵學習任務的正式描述和分類法來實現這一目標。該分類法集中于預測性的時間序列任務,特別是(確定性的)點預測任務,包括預測以及時間序列分類和回歸,將非預測性任務(如時間序列聚類)和概率性任務(如分布性預測)留給未來的工作。請注意,在整個論文中,我們關注的是學習關聯而不是識別因果關系。
本論文的第二個目標是為多個時間序列學習任務設計一個統一的軟件框架。在實踐中,ML應用通常涉及一些步驟:從業者首先指定、訓練和選擇一個合適的模型,然后驗證和部署它。為了評估這樣的工作流程,從業人員編寫了軟件代碼,通常結合了現有軟件包的功能。這些軟件包被稱為 "工具箱",提供預制的代碼片斷,使編寫應用程序代碼的速度更快。從業人員不需要從頭開始構建每一個軟件,而是可以簡單地把預制的代碼片斷放在一起。另一方面,"框架 "是一種特殊的工具箱。框架不僅提供可重復使用的功能,而且還提供整體結構。它們在一個給定的應用領域中捕捉常見的軟件設計決策,并將其提煉成模板,從業者只需復制和填寫即可。這就減少了從業人員必須做出的決定數量,使他們能夠專注于應用程序的細節。這樣一來,從業人員不僅可以更快地編寫軟件,而且應用程序也會有一個類似的結構。它們將更一致,更可重復使用,更容易維護。
近年來,框架已經成為現代數據科學的重要基礎設施。它們在很大程度上決定了實踐中的可能性。它們已經成為從業者的主要工具和科學、商業和工業應用的核心組件。流行的例子包括Python中的scikit-learn[205],Java中的Weka[101],Julia中的MLJ[31],以及R中的mlr3[151]或caret[148]。橫斷面數據包括對多個獨立實例的觀察,這些觀察來自于一個時間點上的不同種類的測量(例如,不同病人入院時的醫療診斷)。橫斷面數據的基本假設,即觀測值代表獨立樣本,通常被時間序列數據所違反。這就是為什么橫斷面框架傾向于將時間序列視為范圍之外的原因(例如,見Buitinck等人[46])。請注意,雖然人們仍然可以將截面技術應用于時間序列,但這通常會給標準的數據科學工作流程帶來相當大的復雜性,并且需要格外小心以避免錯誤。盡管時間序列數據無處不在,但據我們所知,目前還沒有一個與截面技術相媲美的框架用于時間序列的ML。本論文的第二個目標是開發這樣一個框架。
正如我們所見,時間序列數據可以產生許多學習任務,包括預測、分類和注釋。這些任務描述了不同的學習問題,但它們也是密切相關的。這種關系可以用 "還原(Reduction)"來理解[24]。還原是一種技術,利用一個任務的算法來解決另一個任務。正如我們將看到的,還原是時間序列分析的核心。在時間序列領域,許多還原方法是可能的,許多現有的最先進的解決方案都使用了還原。
還原方法將一個時間序列任務重塑為一個相關的截面任務,這樣我們就可以使用任何一個更成熟的截面算法來解決原來的時間序列任務。例如,一個預測任務可以在數據的先驗滑動窗口轉換的幫助下通過截面回歸來解決[34]。同樣,一個時間序列的分類任務可以通過首先從每個時間序列中提取特征來重新構建成一個橫斷面分類任務[87]。
然而,盡管還原方法很重要,但并沒有一個統一的框架用于多種學習任務,這將使從業者能夠輕松地將一種任務的算法應用于另一種。與此相反,目前的時間序列分析的軟件生態系統是相對分散的。雖然有各種專門的工具箱為特定的模型系列或學習任務提供豐富的接口,但大多數工具箱都是相互不兼容的,并且缺乏與更多基礎性的橫斷面框架的整合。對于實踐者來說,這使得他們很難結合不同工具箱的功能,也很難充分利用還原關系。對于開發者來說,這使得他們很難建立和整合新的方法,而不必重新實現其他地方已有的大量功能。因此,總的來說,時間序列分析的工具箱能力仍然有限。為了解決這些問題,我們建議開發一個統一的框架,支持多種學習任務和它們之間的還原方法。
建議的框架已經在sktime中實現,這是一個免費的開源軟件包。sktime的目的是建立一個完善的框架,使目前的生態系統作為一個整體更加可用和可互操作。雖然我們的目標受眾有基本的編程能力,但我們的目標是在Python中提供一個實用和一致的ML框架,以便在一個非ML專家可以使用的編程環境中指定、訓練和驗證時間序列算法,并在各種科學應用中可重復使用。因此,重點是提供一個模塊化和原則性的面向對象的應用編程接口(API)。我們利用了專門為科學計算設計的增強型交互式Python解釋器[206],而不是花力氣創建一個命令行界面,更不用說圖形用戶界面(GUI)。我們專注于適合單機內存的中等規模的數據。對于更大的數據集,我們打算整合現有的工具,以便在多臺機器上進行更可擴展的分布式計算(例如Dask[219])。
當前版本的sktime專注于常見的預測性任務,如時間序列分類、回歸和預測。然而,該設計很容易擴展到其他任務。在未來的工作中,我們希望增加對非預測性任務的支持,如時間序列聚類和注釋。
從上述內容中,區分ML應用和研究中的兩個基本問題將是有幫助的。我們稱它們為 "從業者的問題 "和 "開發者的問題"。實踐者的問題是要解決手頭的特定ML問題。例如,預測一個化學過程的溫度或從病人的心率預測疾病的類型。為了解決這些問題,從業者編寫應用程序代碼。另一方面,開發者的問題是開發工具箱,幫助從業者更有效地解決他們各自的問題。現有的大部分ML研究都集中在算法開發和為特定的從業者的問題找到更好的解決方案。相比之下,本論文的大部分內容關注的是為開發者的問題找到更好的解決方案。
一個工具箱的有效性和適用性關鍵取決于它的設計。工具箱的設計--和任何軟件設計一樣--是很難的。我們必須確定從業者工作流程中的關鍵對象,在適當的粒度水平上為它們找到抽象,將它們轉化為具有明確接口的類和函數,明確它們之間的層次和關系,并在一個可重用的軟件包中實現它們。例如,ML背景下的關鍵對象是學習算法和數據容器。工具箱的設計就是為這些對象尋找抽象,這樣從業者就可以在不同的數據集上重復使用算法,而不需要改變很多代碼。
雖然開發者問題的重要性已經得到了認可(例如,見Sonnenburg等人[238]),但到目前為止,針對其挑戰的研究仍然很少。特別是,很少有論文研究工具箱設計的原則。相反,討論往往集中在交流設計的 "什么 "上(如軟件功能或使用方法),而幾乎完全忽略了 "為什么"。例如,工具箱的開發者在介紹他們的工作時,常常認同一套設計原則,然而這些原則通常仍然過于模糊,無法解釋具體的設計決策(例如,見Buitinck等人[46])。雖然實際的軟件往往包含了大量的設計思想,但我們并不知道有任何文獻描述了ML框架的可概括的設計原則。為了解決這些問題,本論文的第三個目標是得出ML工具箱的關鍵軟件設計原則。
我們認為,分析 "為什么 "對于將成功的設計從一個領域推廣到新的領域(例如,從截面數據領域到時間序列)至關重要。正如我們將看到的,我們的原則不能僅僅解釋現有工具箱的關鍵方面,還可以指導新框架的發展--包括sktime,我們提出的用于時間序列的ML框架。最終,我們希望我們的研究能夠啟發其他關于ML工具箱的基本設計原則的研究。
我們的軟件設計方法主要屬于 "領域驅動的設計"[78]。領域驅動設計的中心思想是,軟件的結構和語言應該與感興趣的領域中的關鍵概念緊密對應。每個軟件都與它的目標用戶的某些活動或興趣有關。用戶應用軟件的那個主題領域就是領域。因此,工具箱設計的第一步是為我們感興趣的領域開發一個概念模型,即ML理論或方法論,特別是針對時間序列的ML。
第二步是將概念模型映射到軟件上。經典軟件設計的語料庫提供了一個相關的想法、有用的形式主義和將概念轉化為軟件的最佳實踐的自然來源。雖然很多東西可以直接從現有的軟件設計實踐中轉移過來,但是ML有一個實質性的方面與經典領域不同:算法、界面和工作流與數學和統計理論密切相關--在某種程度上,數學對象不僅是方法論的核心,也是其表示、工作流規范和用戶互動的關鍵元素。我們認為,工具箱設計的進步需要ML理論的進步,包括概念分析和數學形式主義方面。然而,在關于軟件設計的科學討論中,ML理論在很大程度上仍然缺席。這種情況帶來了獨特的挑戰。如何識別、描述和激勵ML工具箱的設計方案?我們如何能在ML領域找到精辟的抽象?我們如何將這些抽象概念形式化,使之與基礎數學概念相聯系,同時又能在軟件中實現?從現有的工具箱中可以得出哪些可概括的設計原則來指導新工具箱的設計?雖然這些問題更普遍地涉及ML工具箱的設計,但也有一些針對時間序列領域的問題需要回答。在有時間序列的ML領域,有哪些不同類型的算法?這些算法的界面應該是什么樣子的?不同的算法是如何相互作用和相互聯系的?
我們試圖通過概念建模、形式化的數學統計、新的設計原則和適用的先進設計模式的結合來解決這些問題。我們將首先回顧軟件設計的關鍵概念,重點是面向對象的編程,這是ML軟件的主要范式。然后,我們提出了一個簡單而強大的想法,即 "科學類型"--一個新的類型系統,它捕捉了關鍵ML概念的數據科學目的。簡而言之,科學類型是一種結構化的數據類型,同時具有該類型的所有元素必須滿足的關鍵數學或統計屬性。科學類型將使我們能夠以一種在數學上精確和在軟件上容易實現的方式來描述關鍵概念。例如,我們可以說一個 "管道 "由一個 "特征提取器 "和一個 "監督學習器 "組成,以某種形式放在一起。我們相信,有關的類型可以被精確化,從而可以利用它們進行設計考慮,而不僅僅是沒有實際內容的模糊隱喻。通過科學的類型,我們能夠推導出一套新穎的針對ML的軟件設計原則。正如我們將看到的,這些原則不僅可以解釋現有工具箱的核心內容,還可以指導新工具箱的開發,如sktime。
在開發了一個統一的時間序列ML框架后,本論文的第四個也是最后一個目標是通過復制和擴展一個主要的預測基準比較研究,即M4競賽[182]來說明其有效性。
基準比較研究對ML研究至關重要,因為它們允許我們系統地評估新算法,并將其與現有的基線和最先進的解決方案進行比較。因此,這些研究的可重復性對科學進步至關重要[40, 128, 178]。工具箱,如sktime,具有原則性和模塊化的界面,使我們能夠輕松地復制現有算法的結果,并對新算法進行實驗。
特別是,復制M4競賽將使我們能夠驗證已發表的結果,用參考實現測試我們的框架,并說明其有效性和適用性。擴展M4競賽將使我們能夠實現和評估以前沒有研究過的算法,并研究簡單的、基于還原的ML算法是否能夠與贏得M4競賽的定制算法的最先進性能相匹配。為此,我們使用sktime重新實現了比賽中的關鍵算法,并增加了在sktime中容易實現的基于減少的模型。據我們所知,這是第一個獨立于已發布代碼的M4競賽的完整復制品。正如我們將看到的,我們不僅能夠在sktime提供的單一框架內重新實現比賽,而且還能夠建立簡單的ML模型,在M4數據集的重要子集上與獲勝模型的性能相當。
綜上所述,本論文所涉及的研究問題可以按照其概念性、方法性和應用性分為三組問題。
第一組問題是概念性的。在時間序列數據背景下,有哪些不同類型的數據形式和學習問題?我們如何以一種數學上的精確方式將這些問題形式化?它們之間有什么聯系?這些問題在本論文的第一部分通過開發一個正式的學習任務分類法來解決。
第二組問題是方法論性質的。我們怎樣才能識別、描述和激勵ML工具箱的設計方案?我們如何能在ML領域找到精準的抽象?我們如何將這些抽象概念形式化,使之與基礎數學概念相聯系,同時又能在軟件中輕松實現?從現有的工具箱中可以得出哪些可歸納和可重復使用的設計原則和模式來指導新工具箱的設計?這些問題將在第二部分討論。對這些問題的回答在很大程度上需要對ML工具箱設計進行新的研究。我們希望在這篇論文中提供一些答案,從現有的最先進的工具箱和經典軟件設計的最佳實踐中得出關鍵設計原則。雖然這些問題更普遍地涉及到工具箱的設計,但本論文也涉及到一個統一的時間序列的ML框架的具體設計。在這個領域有哪些不同類型的算法?這些算法類型的界面應該是什么樣子的?不同的算法類型是如何相互作用和聯系的?此外,我們還討論了與為時間序列的ML創建一個新的統一框架的理由有關的問題。已經存在哪些相關的軟件?現有軟件生態系統的局限性是什么?為時間序列的ML開發一個統一的框架的原因是什么?雖然存在幾個用于時間序列的ML的工具箱,但據我們所知,我們是第一個提供一個由我們的學習任務分類和設計原則支持的統一框架。
最后一組問題是應用性質的。我們如何使用統一的框架來指定新的ML算法?考慮到一個統一的時間序列ML框架,我們能否找到簡單的ML算法來匹配最先進的預測算法的性能?這些問題將在第三部分通過重現和擴展M4競賽來解決,M4競賽是預測研究中關鍵的比較基準研究之一。
本論文的研究貢獻可以概括為以下幾點。
1.將時間序列學習問題形式化為學習任務,并為時間序列學習任務制定了正式的分類法,重點是常見的(確定性的)點預測任務,如時間序列分類、回歸和預測,以及它們之間的還原關系。
2.受現有的最先進的工具箱和經典軟件設計的最佳實踐的啟發,為ML工具箱開發、形式化和激勵一套新穎的、可重復使用的設計原則,該原則基于科學類型系統的理念,將軟件的實現與基礎的數學和統計概念聯系起來。
3.回顧現有的時間序列分析軟件,討論當前工具箱功能的局限性,重點是Python的開源生態系統。
4.設計并實現了第一個用于時間序列的ML的統一框架,目的是在Python中提供一個原則性和模塊化的面向對象的應用編程接口(API),用于指定、訓練和驗證中等規模數據的時間序列算法。這個統一的框架已經在一個名為sktime的開源項目中實現。
5.M4預測競賽的再現和擴展,這是預測算法預測性能的主要基準比較研究之一,重點是使用sktime來評估和比較簡單的基于還原的ML算法。據我們所知,這是在一個獨立于已發布代碼的單一框架內第一次完整地再現M4競賽。
本論文有三部分結構,包括概念、方法和應用部分。
在第一部分,我們為時間序列的ML領域建立了概念模型,包括時間序列學習任務的分類。在第二章中,我們首先回顧了關鍵的ML概念和傳統的橫斷面監督學習環境,這將作為我們在整個論文中進行比較的參考。然后在第三章制定了時間序列學習任務的正式分類法。
第二部分是方法論。我們首先推導出ML工具箱的一般軟件設計原則,然后用這些原則來開發用sktime實現的時間序列ML的統一框架的具體設計。我們在第四章開始介紹ML工具箱設計背景下的軟件設計的基本概念。第5章介紹了科學類型的概念,并推導出了可以通用的設計原則。第7章回顧了開源的Python時間序列生態系統,并討論了目前的局限性和建立一個統一的時間序列分析框架的理由。第八章激勵并描述了sktime的設計和實現,結合了第一部分的概念模型和第二部分的軟件設計原則。
第三部分也是最后一部分是應用。在第九章中,我們使用sktime來評估和比較用于預測的簡單ML算法,通過重現和擴展M4預測比賽,驗證已發表的結果,對照參考實現測試所實現功能的正確性,并說明sktime的有效性和適用性。
第十章最后討論了本論文的局限性和未來研究的方向第十章最后討論了本論文的局限性和未來研究的方向。
由于從不同渠道獲得的數據具有固有的異質性,學習多模態數據的表示仍然是一個具有挑戰性的問題,在測試時,既要有信息又要對缺失的模態具有魯棒性。為了解決這個問題,我們提出了一種新的幾何多模態對比(GMC)表示學習方法,包括兩個主要組成部分: i) 一個由模態特定基編碼器組成的兩層架構,允許處理任意數量的模態到固定維的中間表示,以及一個共享的投影頭,將中間表示映射到一個潛在的表示空間; Ii) 多模態對比損失函數,鼓勵學習表征的幾何對齊。我們通過實驗證明,GMC表示在三個不同的學習問題(包括預測和強化學習任務)上具有豐富的語義,并在缺少模態信息的情況下實現了最先進的性能。
工業廠房設計面臨的重大挑戰之一是確保項目執行期間產生的大量設計數據集的完整性。這項工作的動機是分享一些個人經驗,在項目期間由于自動化程度不夠,影響了交付物的質量,造成了數據完整性問題。因此,該項目尋求自動化解決方案,以檢測工業設計數據中異常值的形式。本項目提出了幾種新的方法,基于隱馬爾可夫模型(HMM)和被稱為基于邊際GRNN(MB-GRNN)改進的通用回歸神經網絡,以及將計算時間降到最低的優化技術。HMM被用于驗證使用自學方法的加工廠標簽號。實驗數據的結果表明,HMM的性能與一個定制的設計規則檢查算法相當。工業設計中部件的選擇涉及設置特定的設計參數,這些參數通常必須位于被稱為 "設計余量 "的允許范圍內。MBGRNN有能力直接從設計數據中估計這些允許的余量,并通過將估計余量之外的數據點識別為離群值來指出因設計參數的無效選擇而導致的潛在設計錯誤。極端允許邊際的邊界是通過使用拉伸因子(第二個內核加權因子)的迭代應用來 "拉伸 "GRNN的上、下表面來確定的。該方法在數據云周圍創建了一個對變量不敏感的帶子,與正態回歸函數相互聯系,提供了上、下限的邊緣邊界。然后,這些邊界可以用來確定異常值,并在設計期間預測設計參數的允許值范圍。這種方法與Parzen-Windows和另一種基于接近的方法進行了比較。MB-GRNN還得益于一種修改過的算法,該算法使用聚類、K-近鄰的組合來估計平滑參數,并打算作為決策支持系統來實施,以檢查工業設計數據的質量,幫助最小化設計和實施成本。預計這項研究工作中提出的無監督技術將受益于工業設計過程中不斷增加的自動化。
無人駕駛飛行器 (UAV) 在過去十年中受到無人機硬件和監管框架的快速創新推動,被設想用于為未來社會多種服務應用。從下一代無線網絡的角度來看,無人機不僅有望充當被動蜂窩連接用戶的角色,而且還可以作為無人機輔助網絡的一部分,作為連接的主動推動者。用例范圍從貨物的“最后一英里”交付、客運、基礎設施檢查、環境監測和測量到智能農業的推動者。它們快速靈活的部署使它們在地面通信基礎設施不堪重負或被破壞的情況下特別有用,例如在自然災害和搜救情況下。在擴展永久性網絡基礎設施不可行或經濟上不可行的偏遠地區,無人機可以為目前沒有移動互聯網的世界一半人口提供移動互聯網接入。
圖 1.1 無人機提供通信服務和支撐固定基礎設施的應用示例。
圖 1.2 無人機分類。
無人機在所有潛在應用場景中的決定性優勢是它們的移動性。為了充分利用它們的能力,靈活高效的路徑規劃方法是必要的。本論文的重點是探索機器學習 (ML),特別是強化學習 (RL),作為解決無人機移動管理挑戰的一類有前途的解決方案。隨著近年來RL與神經網絡相結合的研究進展,deep RL是為數不多的能夠直接解決通信場景下無人機控制與部署復雜任務的框架之一,因為這些問題通常是NP-hard優化問題,且受到非凸性的嚴重影響。此外,深度 RL 提供了以直接方式平衡無人機輔助網絡的多個目標的可能性,它在先驗或模型信息的可用性方面非常靈活,而深度 RL 推理在計算上是高效的。
中小型無人機路徑規劃的一個關鍵限制是它們的最大活動任務時間受到機載電池能量密度的限制。當用作向地面用戶提供數據服務的空中基站 (BS) 時,自主無人機需要共同優化其飛行時間和系統的通信性能目標。論文的第一部分探討了使用深度 Q 學習來控制空中 BS,該 BS 從地面用戶那里收集數據,同時集成專用著陸點,無人機可以在著陸點著陸,從而在繼續為用戶服務的同時在其軌跡上節省能源。深度 Q 學習允許無人機在沒有任何關于環境或任務的明確信息的情況下找到有效的軌跡。
圖 3.1 空中 BS 移動決策是根據無人機的當前狀態做出的,即位置和電池電量。 UAV 完全不知道環境的先驗知識,即不知道著陸點(LS)的存在或位置、用戶位置、信道模型或最終 UAV 著陸位置。雖然 LS 提供了節能的可能性,但 UAV BS 可能不得不為某些用戶犧牲一些 QoS。
雖然 RL 范式為解決無人機輔助網絡中的優化問題提供了許多優勢,但仍然存在一些實際挑戰,尤其是在無人機可以學習的訓練數據需求的背景下。在現實世界中收集訓練數據是一個昂貴且耗時的過程,而在傳統的 RL 方法中,如果任務參數發生變化,則需要重復冗長的訓練過程,例如無人機的電池容量。在本論文中,我們通過提出一種深度 RL 算法來解決這個問題,該算法將訓練擴展到來自分布式物聯網 (IoT) 設備的無人機數據收集任務的隨機實例,如果任務參數發生變化,則無需重新訓練。與傳統方法相比,結果是一個復雜得多的問題,因為需要同時找到數千個任務實例的解決方案。這可以通過利用任務密集城市環境的智能處理地圖信息來實現。我們將此設置擴展到協作多無人機案例,其中出現機群協作的額外挑戰,以及大型、復雜和現實的城市環境挑戰。
圖 4.7 同一智能體適應設備數量和設備位置差異以及飛行時間限制的圖示,顯示了曼哈頓場景中已使用和可用的飛行時間以及收集和可用的總數據。
圖 5.8 軌跡圖說明傳播條件的變化對已經訓練好的智能體的影響。圖 5.8a 顯示了在智能體訓練時使用路徑損耗指數的原始行為。圖 5.8b 顯示了相同智能體在其他情況不變的情況下,路徑損耗指數略低。
論文的以下部分探討了無人機輔助通信和機器人技術,這是兩個通常不相交的研究界。 RL 范式的固有靈活性為提出可在多個無人機路徑規劃實例中工作的解決方案提供了機會,例如物聯網數據收集和覆蓋路徑規劃 (CPP),這是一個經典的機器人問題。最后,在本文的最后一部分,研究了基于模型輔助學習框架的另一種解決RL算法訓練數據需求挑戰的方法。在這種方法中,UAV首先學習真實環境的模型,然后利用學習的模型生成模擬訓練數據,大大減少了對昂貴的真實世界數據的需求。
近年來,深度學習已經將自己定位為機器學習最有前途的方向之一。然而,深度神經網絡在不確定性估計、模型選擇、先驗知識的整合等方面存在許多不足。幸運的是,所有這些問題都可以在貝葉斯深度學習框架內克服,使用貝葉斯神經網絡、變分自編碼器或深度神經網絡高斯過程等模型。不幸的是,這需要使用近似推理過程和先驗分布的規范。在這篇論文中,我們展示了這些模型中先驗規范不僅僅是一個麻煩,而是一個寶貴的機會,可以將領域知識和歸納偏見加入到學習算法中,從而提升全新應用的性能。為此,我們對相關文獻進行了全面的回顧,并進一步貢獻了不同的原創研究成果。
具體地說,我們證明了變分自編碼器中的高斯過程先驗可以改進時間序列的表示學習,并允許對缺失數據進行有效的插補,同時還可以提供校準的不確定性估計。我們還表明,通過使用變分高斯-馬爾可夫過程,這是可能的,在沒有顯著的額外計算成本。此外,我們表明,在變分自編碼器中使用自組織映射作為結構歸納偏差,可以提高學習表示的可解釋性,并使有效的潛在聚類。這些聚類表示可以作為潛在時間序列模型的輸入,從而準確地預測未來的狀態。在貝葉斯神經網絡中,我們證明了常用的各向同性高斯先驗不僅會導致次優性能,而且在某些情況下還會產生所謂的冷后驗效應,即經過緩和的后驗比真正的貝葉斯后驗表現更好。相反,我們提出了具有重尾性和空間相關性的備選先驗,可以提高性能,緩解冷后驗效應。最后,當沒有先驗知識可用時,我們表明先驗分布可以在元學習環境中從相關任務中學習。在深度神經網絡高斯過程的情況下,我們表明元學習的均值函數和核函數的先驗改進預測性能和不確定性估計。
我們希望本文將為貝葉斯深度學習框架奠定基礎,在該框架中,先驗分布的選擇將被視為建模任務的關鍵部分,手工設計和元學習的先驗將在任務之間自由共享,以實現貝葉斯深度學習。
//www.research-collection.ethz.ch/handle/20.500.11850/523269
隨著數據驅動的機器學習研究的發展,各種各樣的預測問題得到了解決。探索如何利用機器學習,特別是深度學習方法來分析醫療數據已經變得至關重要。現有方法的一個主要局限性是專注于網格數據; 然而,生理記錄的結構通常是不規則的和無序的,這使得很難把它們作為一個矩陣來概念化。因此,圖神經網絡通過利用生物系統中的隱式信息,利用邊緣連接的交互節點吸引了大量的關注,這些邊的權重可以是時間關聯或解剖連接。在本綜述中,我們全面回顧了不同類型的圖架構及其在醫療保健中的應用。我們以系統的方式概述了這些方法,并按照它們的應用領域組織起來,包括功能連接、解剖結構和基于電的分析。我們還概述了現有技術的局限性,并討論了未來研究的潛在方向。
//www.zhuanzhi.ai/paper/93391ccf2368809646650183224eee1c
引言
醫學診斷是指一個人可以確定哪種疾病或狀況可以解釋病人的癥狀的過程。疾病診斷所需的信息來自患者的病史和各種醫學測試,這些測試通過診斷成像數據獲取患者的功能和解剖結構,如功能磁共振成像(fMRI)、磁共振成像(MRI)、計算機斷層掃描(CT)、超聲(美國)和X射線; 其他診斷工具包括腦電圖(EEG)。然而,考慮到通常耗時的診斷過程容易產生主觀解釋和觀察者間的變異,臨床專家已經開始從計算機輔助干預中獲益。自動化在醫療保健服務和醫生有限的情況下也有好處。自動化正在努力提高醫療保健系統的質量和降低成本[1]。通過將特征工程任務合并到學習任務[2]中,深度學習提供了一個解決這些需求的有效途徑。有幾篇綜述論文分析了傳統機器學習和深度學習方法在醫學異常和解剖結構檢測和分割、運動障礙和序列數據分析、計算機輔助檢測和計算機輔助診斷方面的好處。
圖網絡屬于一個新興領域,它也在許多技術領域產生了巨大的影響。來自化學、生物學、遺傳學和醫療保健等學科的許多信息并不適合基于矢量的表示,而是需要復雜的數據結構。圖本質上捕獲實體之間的關系,因此在這些應用中可能非常有用,可以對變量之間的關系信息進行編碼。例如,在醫療保健領域,可以通過在醫生的決策過程[7]中將疾病或癥狀與主題關聯起來,或為乳腺癌分析[8]建立RNA序列模型來構建知識圖譜。因此,特別將圖神經網絡(GNN)推廣為非結構(無序)和結構(有序)場景。然而,盡管基于圖的表示在醫學領域的使用越來越普遍,但與傳統的深度學習方法相比,此類方法仍然稀缺,而且它們解決許多具有挑戰性的醫學問題的潛力尚未完全實現。
關于GNNs的深度學習領域迅速增長,其受歡迎程度也反映在最近對圖形表示及其應用的大量綜述中。現有綜述全面概述了非歐氏數據深度學習、圖深度學習框架和現有技術的分類[9],[14];或者介紹包括生物學和信號處理領域[15]-[18]的一般應用。盡管一些論文使用深度學習技術概述了醫學圖像分析,并引入了GNN的概念來評估神經疾病[19],據我們所知,目前還沒有系統介紹和討論GNN在非結構化醫學數據中的當前應用。
在本文中,我們致力于提供一個多圖神經網絡(GNN)模型在醫療診斷和分析方面的全面回顧。我們試圖解釋為什么GNN在這個領域值得研究的根本原因,并強調了新興的醫療分析挑戰,GNN可以很好地解決。圖神經網絡在醫學信號處理和分析中的應用尚處于起步階段。在本文中,我們提出了一項綜述,將圖神經網絡應用于醫療診斷任務,并提出了該領域的最新方法和趨勢的現狀。
我們確定了傳統深度學習在應用于醫學信號分析時面臨的一些挑戰,并強調了了圖神經網絡在克服這些挑戰方面的貢獻。
我們介紹并討論了為醫療診斷提出的各種圖框架及其具體應用。我們涵蓋使用圖網絡與深度學習技術相結合的生物醫學成像應用的工作。
我們總結了當前基于圖的深度學習所面臨的挑戰,并基于目前觀察到的趨勢和局限性提出了醫學健康領域未來的發展方向。
圖是連接數據網絡結構的一種常用表示形式。圖數據可以在廣泛的應用領域中找到,如社會系統、生態系統、生物網絡、知識圖譜和信息系統。隨著人工智能技術的不斷滲透發展,圖學習(即對圖進行機器學習)越來越受到研究者和實踐者的關注。圖學習對許多任務都非常有效,如分類,鏈接預測和匹配。圖學習方法通常是利用機器學習算法提取圖的相關特征。在這個綜述中,我們提出了一個關于圖學習最全面的概述。特別關注四類現有的圖學習方法,包括圖信號處理、矩陣分解、隨機游走和深度學習。分別回顧了這些類別下的主要模型和算法。我們研究了諸如文本、圖像、科學、知識圖譜和組合優化等領域的圖學習應用。此外,我們還討論了該領域幾個有前景的研究方向。
真實的智能系統通常依賴于機器學習算法處理各種類型的數據。盡管圖數據無處不在,但由于其固有的復雜性,給機器學習帶來了前所未有的挑戰。與文本、音頻和圖像不同,圖數據嵌入在一個不規則的領域,使得現有機器學習算法的一些基本操作不適用。許多圖學習模型和算法已經被開發出來解決這些挑戰。本文系統地綜述了目前最先進的圖學習方法及其潛在的應用。這篇論文有多種用途。首先,它作為不同領域(如社會計算、信息檢索、計算機視覺、生物信息學、經濟學和電子商務)的研究人員和從業者提供圖學習的快速參考。其次,它提供了對該領域的開放研究領域的見解。第三,它的目的是激發新的研究思路和更多的興趣在圖學習。
圖,又稱網絡,可以從現實世界中豐富的實體之間的各種關系中提取。一些常見的圖表已經被廣泛用于表達不同的關系,如社會網絡、生物網絡、專利網絡、交通網絡、引文網絡和通信網絡[1]-[3]。圖通常由兩個集合定義,即頂點集和邊集。頂點表示圖形中的實體,而邊表示這些實體之間的關系。由于圖學習在數據挖掘、知識發現等領域的廣泛應用,引起了人們的廣泛關注。由于圖利用了頂點[4],[5]之間的本質和相關關系,在捕獲復雜關系方面,圖學習方法變得越來越流行。例如,在微博網絡中,通過檢測信息級聯,可以跟蹤謠言的傳播軌跡。在生物網絡中,通過推測蛋白質的相互作用可以發現治療疑難疾病的新方法。在交通網絡中,通過分析不同時間戳[6]的共現現象,可以預測人類的移動模式。對這些網絡的有效分析很大程度上取決于網絡的表示方式。
一般來說,圖學習是指對圖進行機器學習。圖學習方法將圖的特征映射到嵌入空間中具有相同維數的特征向量。圖學習模型或算法直接將圖數據轉換為圖學習體系結構的輸出,而不將圖投影到低維空間。由于深度學習技術可以將圖數據編碼并表示為向量,所以大多數圖學習方法都是基于或從深度學習技術推廣而來的。圖學習的輸出向量在連續空間中。圖學習的目標是提取圖的期望特征。因此,圖的表示可以很容易地用于下游任務,如節點分類和鏈接預測,而無需顯式的嵌入過程。因此,圖學習是一種更強大、更有意義的圖分析技術。
在這篇綜述論文中,我們試圖以全面的方式檢驗圖機器學習方法。如圖1所示,我們關注現有以下四類方法:基于圖信號處理(GSP)的方法、基于矩陣分解的方法、基于隨機游走的方法和基于深度學習的方法。大致來說,GSP處理圖的采樣和恢復,并從數據中學習拓撲結構。矩陣分解可分為圖拉普拉斯矩陣分解和頂點接近矩陣分解。基于隨機游動的方法包括基于結構的隨機游動、基于結構和節點信息的隨機游動、異構網絡中的隨機游動和時變網絡中的隨機游動。基于深度學習的方法包括圖卷積網絡、圖注意力網絡、圖自編碼器、圖生成網絡和圖時空網絡。基本上,這些方法/技術的模型架構是不同的。本文對目前最先進的圖學習技術進行了廣泛的回顧。
傳統上,研究人員采用鄰接矩陣來表示一個圖,它只能捕捉相鄰兩個頂點之間的關系。然而,許多復雜和不規則的結構不能被這種簡單的表示捕獲。當我們分析大規模網絡時,傳統的方法在計算上是昂貴的,并且很難在現實應用中實現。因此,有效地表示這些網絡是解決[4]的首要問題。近年來提出的網絡表示學習(NRL)可以學習低維表示[7]-[9]的網絡頂點潛在特征。當新的表示被學習后,可以使用以前的機器學習方法來分析圖數據,并發現數據中隱藏的關系。
當復雜網絡被嵌入到一個潛在的、低維的空間中時,結構信息和頂點屬性可以被保留[4]。因此,網絡的頂點可以用低維向量表示。在以往的機器學習方法中,這些向量可以看作是輸入的特征。圖學習方法為新的表示空間中的圖分析鋪平了道路,許多圖分析任務,如鏈接預測、推薦和分類,都可以有效地解決[10],[11]。網絡的圖形化表現方式揭示了社會生活的各個方面,如交流模式、社區結構和信息擴散[12],[13]。根據頂點、邊和子圖的屬性,可以將圖學習任務分為基于頂點、基于邊和基于子圖三類。圖中頂點之間的關系可以用于分類、風險識別、聚類和社區檢測[14]。通過判斷圖中兩個頂點之間的邊的存在,我們可以進行推薦和知識推理。基于子圖[15]的分類,該圖可用于聚合物分類、三維可視化分類等。對于GSP,設計合適的圖形采樣方法以保持原始圖形的特征,從而有效地恢復原始圖形[16]具有重要意義。在存在不完整數據[17]的情況下,可以使用圖恢復方法構造原始圖。然后利用圖學習從圖數據中學習拓撲結構。綜上所述,利用圖學習可以解決傳統的圖分析方法[18]難以解決的以下挑戰。
【導讀】牛津大學的博士生Oana-Maria Camburu撰寫了畢業論文《解釋神經網絡 (Explaining Deep Neural Networks)》,系統性介紹了深度神經網絡可解釋性方面的工作,值得關注。
作者介紹:
Oana-Maria Camburu,來自羅馬尼亞,目前是牛津大學的博士生,主修機器學習、人工智能等方向。
Explaining Deep Neural Networks
深度神經網絡在計算機視覺、自然語言處理和語音識別等不同領域取得了革命性的成功,因此越來越受歡迎。然而,這些模型的決策過程通常是無法向用戶解釋的。在各種領域,如醫療保健、金融或法律,了解人工智能系統所做決策背后的原因至關重要。因此,最近研究了幾個解釋神經模型的方向。
在這篇論文中,我研究了解釋深層神經網絡的兩個主要方向。第一個方向由基于特征的事后解釋方法組成,也就是說,這些方法旨在解釋一個已經訓練過的固定模型(事后解釋),并提供輸入特征方面的解釋,例如文本標記和圖像的超級像素(基于特征的)。第二個方向由生成自然語言解釋的自解釋神經模型組成,也就是說,模型有一個內置模塊,為模型的預測生成解釋。在這些方面的貢獻如下:
首先,我揭示了僅使用輸入特征來解釋即使是微不足道的模型也存在一定的困難。我表明,盡管有明顯的隱含假設,即解釋方法應該尋找一種特定的基于真實值特征的解釋,但對于預測通常有不止一種這樣的解釋。我還展示了兩類流行的解釋方法,它們針對的是不同類型的事實基礎解釋,但沒有明確地提及它。此外,我還指出,有時這兩種解釋都不足以提供一個實例上決策過程的完整視圖。
其次,我還介紹了一個框架,用于自動驗證基于特征的事后解釋方法對模型的決策過程的準確性。這個框架依賴于一種特定類型的模型的使用,這種模型有望提供對其決策過程的洞察。我分析了這種方法的潛在局限性,并介紹了減輕這些局限性的方法。引入的驗證框架是通用的,可以在不同的任務和域上實例化,以提供現成的完整性測試,這些測試可用于測試基于特性的后特殊解釋方法。我在一個情緒分析任務上實例化了這個框架,并提供了完備性測試s1,在此基礎上我展示了三種流行的解釋方法的性能。
第三,為了探索為預測生成自然語言解釋的自解釋神經模型的發展方向,我在有影響力的斯坦福自然語言推斷(SNLI)數據集之上收集了一個巨大的數據集,數據集約為570K人類編寫的自然語言解釋。我把這個解釋擴充數據集稱為e-SNLI。我做了一系列的實驗來研究神經模型在測試時產生正確的自然語言解釋的能力,以及在訓練時提供自然語言解釋的好處。
第四,我指出,目前那些為自己的預測生成自然語言解釋的自解釋模型,可能會產生不一致的解釋,比如“圖像中有一只狗。”以及“同一幅圖片中沒有狗”。不一致的解釋要么表明解釋沒有忠實地描述模型的決策過程,要么表明模型學習了一個有缺陷的決策過程。我將介紹一個簡單而有效的對抗性框架,用于在生成不一致的自然語言解釋時檢查模型的完整性。此外,作為框架的一部分,我解決了使用精確目標序列的對抗性攻擊的問題,這是一個以前在序列到序列攻擊中沒有解決的場景,它對于自然語言處理中的其他任務很有用。我將這個框架應用到e-SNLI上的一個最新的神經模型上,并表明這個模型會產生大量的不一致性。
這項工作為獲得更穩健的神經模型以及對預測的可靠解釋鋪平了道路。
題目:
Mining Anomalies using Static and Dynamic Graphs
簡介:
在許多情況下,例如安全性,醫療保健,財務和網絡,異常檢測,即稀有或異常模式是一個緊迫的問題。審查欺詐和網絡入侵攻擊之類的異常編碼可疑,欺詐或惡意行為,不僅影響人們做出次優的決策,而且穩定地削弱了他們對業務的信任。這樣,檢測正在進行的異常并警告即將發生的異常的算法對企業和最終用戶都具有很大的影響。本文通過開發可利用連接性和時間信息來檢測異常行為或事件的原理化,可擴展算法,來考慮異常檢測問題。這些方法對于大型動態復雜數據集很有用,這些數據集具有很強的關系和時間特性,多個實體相互交互,并且會隨著時間而發展。如今,此類數據集是在多種多樣的環境中生成的,其示例范圍從電子商務日志到在線社交網絡再到物聯網。 論文的前半部分著重于圖形中的異常檢測,在這些圖中,只有靜態連接信息是已知的。給定一個圖和一些標記的頂點,我們如何推斷其余頂點的標記?例如,我們如何從一小組手動標記的誠實和偽造帳戶中發現Amazon或Facebook上的所有偽造用戶帳戶?與現有文獻相比,我們的工作利用了現實世界圖中的三個關鍵屬性,即頂點和邊類型的異質性,偏度分布和高階結構,可以產生更準確的頂點標記。所提出的算法具有封閉形式的解決方案,嚴格的收斂性保證,可以使用稀疏矩陣運算有效地實現,并且可以隨圖形大小線性縮放。 本文的后半部分著重于從連接結構隨時間變化的數據中挖掘異常。在許多情況下,尤其是與安全和衛生保健有關的情況,新發現或預期的異常的價值在于當下,而不是不久的將來。因此,給定一個隨時間變化的圖表(顯式圖或隱式圖),我們如何才能近乎實時地檢測異常或事件,甚至可能在它們發生之前提早發出警報?我們的算法可以通過僅存儲到目前為止所看到的圖形的簡短摘要并且不需要監督,就可以實時檢測異常圖形的足跡,例如密集子圖的突然出現或消失以及橋邊。我們還展示了如何以在線方式從時間序列數據推斷狀態轉換圖,并使用它來提前警告用戶標記的異常,例如不利的醫療條件。在整個論文中,著重強調的算法不僅(a)在實踐中有效,而且(b)高效,可以在幾秒鐘內在普通筆記本電腦上處理數百萬條邊緣,并且(c)有原則可以進行嚴格的推理,從而為推理,檢測或利用數據相關的見解提供理論上的保證。我們證明了我們的算法在從社交網絡和電子商務到安全和醫療保健的一系列應用中的功效。