摘要: 電力系統預測主要包括負荷預測、出力預測以及健康狀態預測等。通過負荷預測,可以優化電力生產規劃,從而更好地實現電能的精細化分配;通過出力預測,可以有效提升新能源電力消納能力,實現電能的充分及合理利用;通過電力設備健康狀態預測,可以及時發現設備運行隱患,從而進一步保障電力系統平穩安全運行。深度學習憑借其卓越的特征分析和預測能力,被廣泛應用于電力系統運行及維護。本文首先歸納介紹了電力系統預測深度學習模型的特點、適用場景;其次,梳理了深度學習在面向民用及工業場景負荷預測、光伏及風電出力預測、機械及非機械設備健康狀態預測中的應用前沿;最后,對深度學習在電力系統預測中所面臨的關鍵問題、發展趨勢進行了總結和展望。
//115.25.60.6/article/doi/10.13374/j.issn2095-9389.2021.12.21.006
現代電力系統結構日益復雜,規模不斷擴大, 若僅僅依靠傳統的物理建模方法,難以充分應對 運行分析需求[1] . 結合多源數據,深度學習已廣泛 應用于電力系統預測. 通過采集運維數據、設備 數據等電力系統各環節基礎數據,結合深度學習 技術,可以較好地擬合影響電力系統后續運行狀 態各因素之間的非線性關系[2] ,建立預測模型,實 現電力系統預測,如負荷預測[3] 和出力預測[4] 等. 本文著重對目前研究較多的幾種預測,包括電力 系統負荷預測、新能源出力預測和電力設備健康 狀態預測的應用情況進行歸納和梳理. 針對不同 的應用場景,電力系統負荷預測分為面向民用場 景的負荷預測和面向工業場景的負荷預測;針對 不同的預測對象,出力預測分為光伏出力預測和 風電出力預測;針對不同的設備種類,健康狀態預 測分為機械類設備健康狀態預測和非機械設備健 康狀態預測.
時間序列一般是指對某種事物發展變化過程進行觀測并按照一定頻率采集得出的一組隨機變量。時間序列預測的任務就是從眾多數據中挖掘出其蘊含的核心規律并且依據已知的因素對未來的數據做出準確的估計。由于大量物聯網數據采集設備的接入、多維數據的爆炸增長和對預測精度的要求愈發苛刻,導致經典的參數模型以及傳統機器學習算法難以滿足預測任務的高效率和高精度需求。**近年來,以卷積神經網絡、循環神經網絡和 Transformer 模型為代表的深度學習算法在時間序列預測任務中取得了豐碩的成果。**為進一步促進時間序列預測技術的發展,綜述了時間序列數據的常見特性、數據集和模型的評價指標,并以時間和算法架構為研究主線,實驗對比分析了各預測算法的特點、優勢和局限;著重介紹對比了多個基于 Transformer 模型的時間序列預測方法;最后結合深度學習應用于時間序列預測任務存在的問題與挑戰對未來該方向的研究趨勢進行了展望。
//fcst.ceaj.org/CN/10.3778/j.issn.1673-9418.2211108
隨著社會中物聯網傳感器的廣泛接入,幾乎所 有科學領域都在以不可估量的速度產生大量的時 間序列數據。傳統參數模型和機器學習算法已難以 高效準確地處理時間序列數據,因此采用深度學習 算法從時間序列中挖掘有用信息已成為眾多學者 關注的焦點。 分類聚類[1-4]、異常檢測[5-7]、事件預測[8-10]、時 間序列預測[11-14]是時間序列數據的四個重點研究方 向。已有的時序預測綜述文章,概括了經典的參數模型以及傳統機器學習算法的相關內容,但缺少對Transformer 類算法最新成果的介紹和在各行業常用數據集的實驗對比分析。余下內容將以深度學習的視角重點分析闡述有關時間序列預測方向的內容,并在多種 GPU 環境下對不同數據集采用多個評價指標進行實驗對比分析。基于深度學習的時間序列預測算法發展脈絡如圖1 所示:
時間序列預測是時間序列任務中最常見和最 重要的應用,通過挖掘時間序列潛在規律,去進行 類推或者延展用于解決在現實生活中面臨的諸多 問題,包括噪聲消除[15]、股票行情分析[16-17]、電力 負荷預測[18]、交通路況預測[19-20]、流感疫情預警[21] 等。 當時間序列預測任務提供的原始數據僅為目 標數據的歷史數據時,為單變量時間序列預測,當 提供的原始數據包含多種隨機變量時,為多變量時 間序列預測。 時間序列預測任務根據所預測的時間跨度長短,可劃分為四類,具體如圖2 所示:
文章余下部分主要介紹基于深度學習的時間 序列預測算法研究,其中第二節介紹時間序列數據 特性,第三節介紹了時間序列預測任務的常用數據 集和評價指標,第四節介紹了深度學習的研究進展 及在時間序列預測領域的應用,第五節展望未來深 度學習在時序預測領域的研究方向。
**1 時間序列數據的特性 **
時間序列預測是對前 t -1個時刻的歷史數據學 習分析,來估計出指定未來時間段的數據值。時間 序列數據由于其各變量間固有的潛在聯系,常表現 出一種或多種特性,為對時序預測有更全面的認 識,本節將對這些常見特性進行詳細介紹。 **(1)海量性:**隨著物聯網傳感器設備的升級,測 量頻率的提高,測量維度的增加,時間序列數據爆 炸性增長,高維度的時間序列數據占據主流[22]。在 數據集層面進行有效的預處理工作,是高質量完成 時間序列預測任務的關鍵。 **(2)趨勢性:**當前時刻數據往往與前一段時刻數 據有著密切的聯系,該特點暗示了時間序列數據受 其他因素影響通常有一定的變化規律,時間序列可能在長時間里展現出一種平穩上升或平穩下降或保持水平的趨勢。 **(3)周期性:**時間序列中數據受外界因素影響,在長時間內呈現出起起落落的交替變化[23],例如,漲潮退潮,一周內潮水高度不符合趨勢性變化,并不是朝著某一方向的近似直線的平穩運動。 **(4)波動性:**隨著長時間的推移和外部多因素影響,時間序列的方差和均值也可能會發生系統的變化,在一定程度上影響時間序列預測的準確度。 **(5)平穩性:**時間序列數據個別為隨機變動,在不同時間上呈統計規律,在方差與均值上保持相對穩定。 **(6)對稱性:**若某段時間周期內,原始的時間序列和其反轉時間序列的距離控制在一定的閾值以內,曲線基本對齊,即認定該段時間序列具有對稱性[24],例如港口大型運輸車往復作業,起重機抬臂和降臂工作等。
2. 基于深度學習的時間序列預測方法
基于深度學習的時間序列預測方法 最初預測任務數據量小,淺層神經網絡訓練速 度快,但隨著數據量的增加和準確度要求的不斷提 高,淺層神經網絡已經遠不能滿足任務需求。近年 來,深度學習引起了各領域研究者的廣泛關注,深 度學習方法在時間序列預測任務中與傳統算法相 比表現出了更強勁的性能,得到了長遠發展和普遍 應用。 深度神經網絡與淺層神經網絡相比有更好的 線性和非線性特征提取能力,能夠挖掘出淺層神經 網絡容易忽略的規律,最終滿足高精度的預測任務 要求[30]。本節余下部分將介紹可用于解決時間序列 預測問題的三大類深度學習模型。 **3.1 卷積神經網絡 **
3.1.1 卷積神經網絡 卷積神經網絡(Convolutional Neural Networks, CNN)是一類以卷積和池化操作為核心的深層前饋 神經網絡,在設計之初,其用于解決計算機視覺領 域的圖片識別問題[31-32]。 卷積神經網絡做時間序列預測的原理是利用 卷積核的能力,可以感受歷史數據中一段時間的變 化情況,根據這段歷史數據的變化情況做出預測。 池化操作可以保留關鍵信息,減少信息的冗余,卷 積神經網絡可以有效減少以往算法提取特征的人力資源消耗,同時避免了人為誤差的產生。卷積神經網絡所需的樣本輸入量巨大,多用于預測具備空間特性的數據集,其網絡結構一般有五層,具體結構如圖 4 所示:
從表 1 中可以看出模型在樣本量巨大的多變量 數據集上處理短期預測任務時,Kmeans-CNN 采用 先聚類分類再由模型訓練的思路取得了比較理想 的預測效果,后續也有不少研究人員在解決時序預 測問題時進行類似處理。引入了擴展卷積和殘差連 接等架構元素的 TCN 能保有更長的有效歷史信息, 同樣達到了不錯的預測效果,而且其網絡較為簡單 清晰。 目前,CNNs 的預測精度與循環神經網絡等其 他網絡結構相比已不占優勢,難以單獨處理步長較 長的時序預測問題,但常作為一個功能強大的模塊 接入其他先進算法模型中用于預測任務。
3.2 循環神經網絡RNNs 循環神經網絡類算法自提出就一直是解決時間序列預測任務的重要方法,常常作為一個模塊嵌入到其他算法中來獲得更好的預測效果,在2017 年以前一直作為解決時間序列數據預測問題的主力模型,得到廣泛應用。主要循環神經網絡類算法實驗性能對比和總體分析如表3 和表4所示:
表 3 可以看出,GRU 和 LSTM 在性能上相當, 但都受限于只能從一個方向上學習訓練,在預測精 度 上 要 低 于 可 以 從 兩 個 方 向 上 獲 取 信 息 的 Bi-LSTM 模型。Bi-LSTM 在解決短期時序預測任務 時的優勢包括所需的樣本數量少,擬合速度快,預 測精度高,如今依然有眾多學者研究使用。 循環神經網絡類方法可以捕獲并利用長期和 短期的時間依賴關系來進行預測,但在長序列時間 序列預測任務中表現不好,并且 RNNS 多為串行計 算,導致訓練過程中對內存的消耗極大,而且梯度 消失和梯度爆炸問題始終沒有得到徹底解決。
**3.3 Transformer 類模型 **介紹 Transformer 模型之前先要介紹一下注意力機 制,人類眼睛的視角廣闊,但局限于視覺資源,往往重 點關注視線中的特定部分,注意力機制就是以此為靈感 提出,重點關注數據中的更有價值的部分[48-49]。 Transformer 所采用的自注意力機制所解決的 情況是:神經網絡的輸入是很多大小不一的向量, 不同時刻的向量往往存在著某種潛在聯系,實際訓 練的時候無法充分捕捉輸入之間的潛在聯系而導致模型訓練結果較差。
Transformer 類算法如今廣泛用于人工智能領域的各項任務,在Transformer 基礎上構建模型可以打破以往算法的能力瓶頸,可以同時具備良好的捕捉短期和長期依賴的能力,有效解決長序列預測難題,并且可以并行處理。上述算法性能對比和總體分析如表 6 和表 7 所示:
從表 6可以看出 Transformer類算法為避免過擬 合需要大量數據來進行自身的訓練,在中期和長期 預測任務上都有著不錯的性能表現。 目前,部分 Transformer 類算法在保留編碼器- 解碼器架構的同時,開始重新審視注意力機制的作 用,因為在錯綜復雜的長序列預測任務中自注意力 機制可能不可靠。Informer 等在降低復雜度的同時 選擇犧牲了一部分的有效信息,Conformer 使用局 部注意力與全局的 GRU 進行功能互補。 Pyraformer 在相對較低的配置下依然表現出不 錯的性能,一定程度上緩解了 Transformer 類算法設 備要求高的問題,適合在欠發達地區普及使用。
3.4 總結
文章在對時間序列數據、經典時間序列參數模 型和算法評價指標簡單介紹后,系統總結了基于深 度 學 習 的 時 間 序 列 預 測 算 法 , 其 中 以 基 于 Transformer 的模型為主,深入分析了 Transformer 類算法的網絡架構優缺點,在注意力機制被提出以 來,時間序列預測任務發展進入快車道取得了令人 矚目的成果。下面列出了時間序列預測領域的重點 問題和進一步的研究方向,以促進時間序列預測算 法的研究和完善。 **(1) 采用隨機自然啟發優化算法優化深度學習 模型的多個超參數。**深度學習算法愈發復雜,需要 處理的超參數越來越多,超參數的選擇往往決定著 算法能不能突破局部最優陷阱達到全局最優。隨機 自然啟發優化算法靈感來自群體智能的各種現象、 為動物的自然行為、物理定律以及進化定律。優化 算法首先基于問題的約束隨機生成一定數量的可解解,然后利用算法的各階段重復尋找全局最優解,在限制范圍內尋找最優的超參數以提升模型預測能力。因此,采用隨機自然啟發優化算法用于模型最優超參數尋找,將成為未來研究熱點之一。 **(2) 研究適合時間間隔不規則的小數據集的網絡架構。**現有 Transformer 模型架構復雜,參數多,在周期性好的數據集上表現出優越的性能,但在數據量小,時間間隔不規則的數據集中表現不理想。Transformer 類模型為在小數據上的過擬合問題值得進一步思考和解決。處理時間間隔不規則的數據集時,在模型架構中引入重采樣、插值、濾波或其他方法是處理時間序列數據和任務特征的新思路,會是未來一個新的研究方向。 **(3) 引 入 圖 神經網絡(graph neural network,GNN)用于多變量時序預測建模。**由于多變量時序預測任務的潛在變量相關性十分復雜,且在現實世界中的數據相關性是變化的,導致準確多變量預測具有挑戰性。最近不少學者采用時間多項式圖神經網絡將動態變量相關性表示為動態矩陣多項式,可以更好地理解時空動態和潛在的偶然性,在短期和長期多變量時序預測上都達到了先進的水平。因此GNN 對多變量時序預測的強大建模能力值得進一步研究。 **(4) 研究同時支持精確形狀和時間動態的可微損失函數作為評價指標。**在時間序列預測領域中已經使用了許多測量度量,并且基于歐氏距離的點誤差損失函數,例如MSE,被廣泛用于處理時間序列數據,但是其逐點映射,對形狀和時間延后失真不 具有不變性。損失函數不僅要最小化預測和目標時 間序列之間的差距還應該考慮整個輸出序列和基本 事實之間的相關性,從而幫助模型生成更及時、更 穩健和更準確的預測,而不是僅僅逐點優化模型。 如果損失函數能在曲線形狀和時間感知上對模型進 行評價能更有利于訓練出高效準確的時間序列預測 模型。
在人工智能迅速發展的今天,深度神經網絡廣泛應用于各個研究領域并取得了巨大的成功,但也同樣面 臨著諸多挑戰.首先,為了解決復雜的問題和提高模型的訓練效果,模型的網絡結構逐漸被設計得深而復雜,難以 適應移動計算發展對低資源、低功耗的需求.知識蒸餾最初作為一種從大型教師模型向淺層學生模型遷移知識、提 升性能的學習范式被用于模型壓縮.然而隨著知識蒸餾的發展,其教師學生的架構作為一種特殊的遷移學習方 式,演化出了豐富多樣的變體和架構,并被逐漸擴展到各種深度學習任務和場景中,包括計算機視覺、自然語言處 理、推薦系統等等.另外,通過神經網絡模型之間遷移知識的學習方式,可以聯結跨模態或跨域的學習任務,避免知 識遺忘;還能實現模型和數據的分離,達到保護隱私數據的目的.知識蒸餾在人工智能各個領域發揮著越來越重要 的作用,是解決很多實際問題的一種通用手段.本文將近些年來知識蒸餾的主要研究成果進行梳理并加以總結,分析該領域所面臨的挑戰,詳細闡述知識蒸餾的學習框架,從多種分類角度對知識蒸餾的相關工作進行對比和分析, 介紹了主要的應用場景,在最后對未來的發展趨勢提出了見解.
隨著深度神經網絡的崛起和演化,深度學習在 計算機視覺、自然語言處理、推薦系統等 各個人工智能的相關領域中已經取得了重大突破. 但是,深度學習在實際應用過程中的也存在著一些 巨大的挑戰.首先,為了應對錯綜復雜的學習任務, 深度學習的網絡模型往往會被設計得深而復雜:比 如早期的LeNet模型只有5層,發展到目前的通用 的ResNet系列模型已經有152層;伴隨著模型的 復雜化,模型的參數也在逐漸加重.早期的模型參數 量通常只有幾萬,而目前的模型參數動輒幾百萬.這 些模型的訓練和部署都需要消耗大量的計算資源, 且模型很難直接應用在目前較為流行的嵌入式設備 和移動設備中.其次,深度學習應用最成功的領域是 監督學習,其在很多任務上的表現幾乎已經超越了 人類的表現.但是,監督學習需要依賴大量的人工標 簽;而要實現大規模的標簽任務是非常困難的事情, 一方面是數據集的獲取,在現實場景中的一些數據 集往往很難直接獲取.比如,在醫療行業需要保護患 者的隱私數據,因而數據集通常是不對外開放的.另 一方面,大量的用戶數據主要集中在各個行業的頭 部公司的手中,一些中小型公司無法積累足夠多的 真實用戶數據,因此模型的效果往往是不理想的;此 外,標注過程中本身就需要耗費很大的人力、物力、 財力,這將極大限制人工智能在各個行業中的發展 和應用.最后,從產業發展的角度來看,工業化將逐 漸過渡到智能化,邊緣計算逐漸興起預示著AI將 逐漸與小型化智能化的設備深度融合,這也要求模 型更加的便捷、高效、輕量以適應這些設備的部署. 針對深度學習目前在行業中現狀中的不足, Hinton等人于2015首次提出了知識蒸餾(Knowledge Distillation,KD)[10],利用復雜的深層網絡模型向淺 層的小型網絡模型遷移知識.這種學習模型的優勢在于它能夠重用現有的模型資源,并將其中蘊含的 信息用于指導新的訓練階段;在跨領域應用中還改 變了以往任務或場景變化都需要重新制作數據集和 訓練模型的困境,極大地節省了深度神經網絡訓練 和應用的成本.通過知識蒸餾不僅能夠實現跨領域 和跨模態數據之間的聯合學習還能將模型和知識 表示進行分離,從而在訓練過程中將教師模型作為 “黑盒”處理,可以避免直接暴露敏感數據,達到隱私 保護效果.
知識蒸餾作為一種新興的、通用的模型壓縮和 遷移學習架構,在最近幾年展現出蓬勃的活力,其發 展歷程也大致經歷了初創期,發展期和繁榮期.在初 創期,知識蒸餾從輸出層逐漸過渡到中間層,這時期 知識的形式相對簡單,較為代表性的中間層特征蒸 餾的方法為Hints.到了發展期,知識的形式逐 漸豐富、多元,不再局限于單一的節點,這一時期較 為代表性的蒸餾方法有AT、FT.在2019年前 后,知識蒸餾逐漸吸引了深度學習各個領域研究人 員的目光,使其應用得到了廣泛拓展,比如在模型應 用上逐漸結合了跨模態、跨領域、持續學習、隱私保護等;在和其他領域交叉過程 中又逐漸結合了對抗學習、強化學習、元 學習、自動機器學習、自監督學習等. 如下圖1為知識蒸餾的發展歷程和各個時期較為代 表性的工作.
知識蒸餾雖然有了較為廣闊的發展,但是在其 發展過程和實際應用中也同樣面臨著這一些挑戰;知識蒸餾的挑戰主要可以分為實際應用中面臨的挑 戰和模型本身理論上的挑戰.應用中的挑戰主要有 模型問題、成本問題;而理論上面存在的主要挑戰也 是目前深度學習普遍存在的一些挑戰,包括模型的 不可解釋性等: 模型問題.在實際工業應用中針對不同的任務 教師模型多樣,而如果教師和學生模型不匹配,可能 會使學生模型無法模仿深層大容量的教師模型,即 大模型往往不能成為更好的老師.因此,應用中需要 考慮深層模型和淺層模型之間的容量差距,選擇相 匹配的教師學生模型. 成本問題.模型訓練過程對超參數較為敏感以及 對損失函數依賴較大,而相關原因很難用原理去解 釋,需要大量的實驗,因而模型的試錯成本相對較高. 可解釋性不足.關于知識蒸餾的原理解釋主要 是從輸出層標簽平滑正則化、數據增強等角度出發, 而關于其他層的方法原理解釋相對不足;目前,雖然 關于泛化邊界的研究也在興起,但是并不能全面解 釋知識的泛化問題,還需要有更進一步的探究,才能 保證理論的完備性.
目前,知識蒸餾已經成為一個熱門的研究課題, 關于知識蒸餾的論文和研究成果非常豐富.各種新 方法、新任務、新場景下的研究紛繁復雜,使得初學 者難以窺其全貌.當前已有兩篇關于知識蒸餾的綜 述,均發表于2021年.相較于前者,本文在 分類上作了進一步細化,如在知識形式上,本文關注 到了參數知識及蒸餾中常見的中間層的同構和異構 問題;雖然該文獻中也提及了基于圖的算法,但是本 文以為基于圖形式構建的知識表示是一種新興的、 獨立的、特殊的知識形式,單獨歸為一類更為合理. 相較于后者[40]本文在結構分類上更加宏觀,以知識 形式、學習方式和學習目的為主要內容將知識蒸餾 的基礎解析清楚,而后在此基礎之上對其交叉領域 和主要應用進行展開.本文的主要貢獻可總結如下:(1)結構較為完善,分類更加細化.對于知識的 分類,本文是依據知識蒸餾的發展脈絡對其進行歸 類并細化,增加了中間層知識、參數知識、圖表示知 識,完整地涵蓋了目前知識的全部形式.在文章的結 構上,既保證了分類的綜合性,又避免了過多分類造 成的雜糅,更為宏觀. (2)對比詳細,便于掌握.本文以表格的方式對 同的方法之間的優缺點、適用場景等進行詳細的總 結對比,以及對比了不同知識形式蒸餾的形式化方 法,使得讀者能夠快速準確地區分其中的不同點.(3)內容完整,覆蓋全面.本文遵循了主題式分 類原則不僅分析了單篇文獻,還分析相關領域中知 識蒸餾的重要研究.除此之外,本文以獨立章節對知 識蒸餾的學習目的,原理和解釋,發展趨勢等方面做 了較為全面的闡釋. 本文接下來將從知識蒸餾的整體框架從發,并 對其各個分類進行詳細的闡述,使得讀者能夠從宏 觀上對知識蒸餾有更全面的了解,以便更好地開展 相關領域的學習與研究.本文將按照以下結構組織:第2節首先介紹知識蒸餾的理論基礎及分類;第3~6節分別按照知識傳遞形式、學習方式、學習 目的、交叉領域的順序,從4個不同角度對知識蒸餾 的相關工作進行分類和對比,并分析不同研究方向 面臨的機遇和挑戰;第7節列舉知識蒸餾在計算機 視覺、自然語言處理、推薦系統等領域的一些應用性 成果;第8節對知識蒸餾的原理和可解釋性方面的 工作進行梳理;最后,對知識蒸餾在深度學習場景 下的未來發展趨勢提出一些見解,并進行全文總結.
理論基礎及分類**
知識蒸餾本質上屬于遷移學習的范疇,其主要 思路是將已訓練完善的模型作為教師模型,通過控 制“溫度”從模型的輸出結果中“蒸餾”出“知識”用于 學生模型的訓練,并希望輕量級的學生模型能夠學 到教師模型的“知識”,達到和教師模型相同的表現. 這里的“知識”狹義上的解釋是教師模型的輸出中 包含了某種相似性,這種相似性能夠被用遷移并輔 助其他模型的訓練,文獻[10]稱之為“暗知識”;廣義 上的解釋是教師模型能夠被利用的一切知識形式, 如特征、參數、模塊等等.而“蒸餾”是指通過某些 方法(如控制參數),能夠放大這種知識的相似性,并 使其顯現的過程;由于這一操作類似于化學實驗中 “蒸餾”的操作,因而被形象地稱為“知識蒸餾”.
如圖3是知識蒸餾模型的整體結構.其由一個 多層的教師模型和學生模型組成,教師模型主要負 責向學生模型傳遞知識,這里的“知識”包括了標簽 知識、中間層知識、參數知識、結構化知識、圖表示知 識.在知識的遷移過程中,通過在線或離線等不同的 學習方式將“知識”從教師網絡轉移到了學生網絡. 為了便于讀者快速學習和對比其中的差異,作者將 不同知識傳遞形式下的蒸餾方法的形式化表示及其 相關解釋整理為表1所示結果.此外,本文對知識蒸 餾相關研究進行了總結,主要從知識傳遞形式、學習 的方式、學習的目的、交叉領域、主要應用等方面對 其進行分類,其分類框架如圖4所示,具體內容將在 后續的文章中展開.
知識傳遞形式
知識蒸餾方法的核心在于“知識”的設計、提取和 遷移方式的選擇,通常不同類型的知識來源于網絡模 型不同組件或位置的輸出.根據知識在教師學生模型 之間傳遞的形式可以將其歸類為標簽知識、中間層知 識、參數知識、結構化知識和圖表示知識.標簽知識一 般指在模型最后輸出的logits概率分布中的軟化目標 信息;中間層知識一般是在網絡中間層輸出的特征圖 中表達的高層次信息;參數知識是訓練好的教師模型 中存儲的參數信息;結構化知識通常是考慮多個樣本 之間或單個樣本上下文的相互關系;圖表示知識一般 是將特征向量映射至圖結構來表示其中的關系,以滿 足非結構化數據表示的學習需求.本節主要對蒸餾知 識的5類傳遞形式加以介紹,理清主流的知識蒸餾基礎 方法,后面介紹的各類蒸餾方法或具體應用都是以此 為基礎.相關的優缺點和實驗對比,見表2~表4所示.
學習方式
類似于人類教師和學生間的學習模式,神經網 絡的知識蒸餾學習方式也有著多種模式.其中,學生 模型基于預訓練好的、參數固定的教師模型進行蒸 餾學習被稱為離線蒸餾.相應 地,教師和學生模型同時參與訓練和參數更新的模 式則稱為在線蒸餾.如果學生 模型不依賴于外在模型而是利用自身信息進行蒸餾 學習,則被稱為自蒸餾學習,如圖7 所示.一般而言,蒸餾框架都是由一個教師模型和一 個學生模型組成,而有多個模型參與的蒸餾稱為多模型蒸餾;目前,大部分 蒸餾框架都是默認源訓練數據集可用的,但最近的 很多研究在不使用任何已知數據集的情況下實現 蒸餾,這類統稱為零樣本蒸餾(又稱為無數據蒸餾,).特別地,出于一些 隱私保護等目的,教師模型可以享有一些特權信息而 學生模型無法訪問,在這種約束下,形成特權蒸餾 學習.接下來,將分別介紹不同蒸餾學習方式的代表性工作.
主要應用
**計算機視覺 **
計算機視覺一直是人工智能的研究熱點領域之 一.近年來,知識蒸餾被廣泛應用于各種視覺任務達 到模型壓縮、遷移學習和隱私保護等目標.雖然知識 蒸餾的應用十分廣泛,但是由于各個研究方向的熱 度不同,所以相關研究的論文數量也會有很大的差異.本文重點引用了知識蒸餾在視覺上的熱點方向, 并列舉相關論文的方法供讀者查閱學習,而對于其 他一些方向可能存在取舍.目前,應用知識蒸餾的視 覺研究主要集中在視覺檢測和視覺分類上.視覺檢 測主要有目標檢測、人臉識別、行人檢測、姿勢檢測;而視覺分類的研究熱點主要是語義分割,如表5所 示.另外,視覺中還有一些其他應用比如視頻分 類[105]、深度估計和光流/場景流估計[169]等等.
**自然語言處理 **
自然語言處理(NaturalLanguageProcess, NLP)的發展非常迅速,從RNN、LSTM、ELMo再 到如今非常熱門的BERT,其模型結構逐漸變的非 常的深而復雜,需要耗費大量的資源和時間.這樣的 模型幾乎無法直接部署.因而,獲得輕量級、高效、有 效的語言模型顯得極為迫切.于是,知識蒸餾在 NLP領域也得到了極大的重視.目前,結合知識蒸 餾較為廣泛的NLP任務主要有機器翻譯(Neural MachineTranslation,NMT),問答系統(Question AnswerSystem,QAS)等領域.如表6,本節列舉了 知識蒸餾結合神經機器翻譯和問答系統的代表性的 研究工作.另外,BERT模型在近些年被廣泛應用于 NLP的各個領域,其重要性不言而喻,因此,我們在 表6中一并列舉并在下面對其作詳細介紹.
BERT模型是近年來自然語言中,應用最廣泛的 工具之一,它是由雙向編碼器表示的Transformer模 型組成.由于其強大的編碼表示能力,目前在自然語 言的各個任務中被廣泛應用.但是,BERT模型結構 非常復雜,參數量巨大,很難直接應用于模型的訓 練.目前的應用主要采用的預訓練加微調的方法,因 此,對BERT模型的壓縮顯得尤為必要.目前,這方 面的研究已經吸引的很多研究者的關注.提出的方法 主要有剪枝、量化、蒸餾、參數共享、權重分解.但是, 量化對模型的提升效果有限,權重分解和參數共 享等工作相對較少.因此,主要工作集中在剪枝和 蒸餾.此處將主要介紹表中列舉的較為經典的幾種 模型.首先,知識蒸餾結合BERT較早的方法是 DistilledBiLSTM[221]于2019年提出,其主要思想是 將BERTlarge蒸餾到了單層的BiLSTM中,其效果 接近EMLO,其將速度提升15倍的同時使模型的參 數量減少100倍.后來的研究方法逐漸豐富,如 BERTPKD[222]主要從教師的中間層提取豐富的知 識,避免在蒸餾最后一層擬合過快的現象.Distill BERT[223]在預訓練階段進行蒸餾,能夠將模型尺寸減 小40%,同時能將速度能提升60%,并且保留教師模 型97%的語言理解能力,其效果好于BERTPKD. TinyBERT[224]提出的框架,分別在預訓練和微調階 段蒸餾教師模型,得到了速度提升9.4倍但參數量 減少7.5倍的4層BERT,其效果可以達到教師模 型的96.8%.同樣,用這種方法訓出的6層模型的 性能超過了BERTPKD和DistillBERT,甚至接近BERTbase的性能.上述介紹的幾種模型都利用了 層次剪枝結合蒸餾的操作.MobileBERT[225]則主要 通過削減每層的維度,在保留24層的情況下,可以 減少4.3倍的參數同時提升4倍速度.在GLUE上 也只比BERTbase低了0.6個點,效果好于Tiny BERT和DistillBERT.此外,MobileBERT與Tiny BERT還有一點不同,就是在預訓練階段蒸餾之后, 直接在推測缺乏MobileBERT有一點不同,就是在 預訓練階段蒸餾之后,直接在MobileBERT上用任 務數據微調,而不需要再進行微調階段的蒸餾,更加 便捷.
綜上,BERT壓縮在近些年的發展還是較為顯 著的.這些方法對后BERT時代出現的大型預訓練 模型的如GPT系列等單向或雙向Transformer模 型的壓縮具有很大借鑒意義.
推薦系統
近些年,推薦系統(RecommenderSystems,RS) 被廣泛應用于電商、短視頻、音樂等系統中,對各個 行業的發展起到了很大的促進作用.推薦系統通 過分析用戶的行為,從而得出用戶的偏好,為用戶 推薦個性化的服務.因此,推薦系統在相關行業中 具有很高的商業價值.深度學習應用于推薦系統 同樣面臨著模型復雜度和效率的問題.但是,目前 關于推薦系統和知識蒸餾的工作還相對較少.本文 在表7中整理了目前收集到的相關文獻,可供研究 人員參考.
總結
近年來,知識蒸餾逐漸成為研究熱點而目前絕 大多數優秀的論文都是以英文形式存在,關于系統 性介紹知識蒸餾的中文文獻相對缺失;并且知識蒸 餾發展過程中融入了多個人工智能領域,相關文獻 紛繁復雜,不易于研究人員對該領域的快速、全面地 了解.鑒于此,本文對知識蒸餾的相關文獻進行了分 類整理和對比,并以中文形式對知識蒸餾領域的研 究進展進行了廣泛而全面的介紹.首先介紹了知識 蒸餾的背景和整體框架.然后分別按照知識傳遞的 形式、學習方式、學習目的、交叉領域的結合對知識 蒸餾的相關工作進行了分類介紹和對比,分析了各 類方法的優缺點和面臨的挑戰,并對研究趨勢提出 了見解.本文還從計算機視覺、自然語言處理和推薦 系統等方面概述了知識蒸餾在不同任務和場景的具 體應用,對知識蒸餾原理和可解釋性的研究進行了 探討.最后,從4個主要方面闡述了對知識蒸餾未來 發展趨勢的分析. 知識蒸餾通過教師學生的結構為深度神經網 絡提供了一種新的學習范式,實現了信息在異構或 同構的不同模型之間的傳遞.不僅能夠幫助壓縮模 型和提升性能,還可以聯結跨域、跨模態的知識,同 時避免隱私數據的直接訪問,在深度學習背景下的 多種人工智能研究領域具有廣泛的應用價值和研究 意義.目前,有關知識蒸餾的中文綜述性文章還比較 缺失.希望本文對知識蒸餾未來的研究提供有力的 借鑒和參考.
摘要:城市軌道交通系統主要由弓/網系統、軌道線路、車輛、車站等組成, 傳統的人工巡檢等方法檢測效率低、勞動強度大、自動化和智能化程度不高, 給城市軌道交通的運營保障和進一步健康發展帶來了巨大的挑戰.機器視覺作為一種重要的檢測手段, 在城市軌道交通系統狀態檢測領域得到了廣泛的應用.鑒于此, 針對機器視覺在城市軌道交通系統安全狀態檢測中的研究和應用進行綜述.首先, 簡要介紹城市軌道交通的基本概念和快速發展所面臨的挑戰與機遇.然后, 詳細介紹機器視覺技術在城市軌道交通各子系統安全狀態檢測中的研究與應用情況; 針對弓/網系統狀態檢測問題, 分別重點介紹機器視覺在受電弓磨耗檢測、受電弓包絡線等其他病害檢測、接觸網幾何參數檢測、接觸網磨耗檢測以及接觸網懸掛病害檢測中的國內外研究現狀; 在軌道線路安全狀態檢測方面, 分別介紹機器視覺在扣件安全狀態檢測和鋼軌表面病害檢測中的應用與研究現狀; 從不同檢測項點角度詳細介紹機器視覺在車輛狀態檢測中的應用與研究進展; 梳理和總結機器視覺在車站電扶梯安全監控和站臺安全監控的異常行為檢測中的具體應用和研究; 并重點介紹機器視覺在軌道交通司機行為監測中的具體應用和背景技術.最后, 對機器視覺技術應用于城市軌道交通系統狀態檢測領域的未來進行展望.
深度神經網絡已經徹底改變了電力系統中的許多機器學習任務,從模式識別到信號處理。這些任務中的數據通常以歐幾里得域表示。然而,在電力系統中有越來越多的應用,其中的數據收集自非歐幾里得域,并表示為具有高維特征和節點間相互依賴的圖結構數據。圖結構數據的復雜性給現有的歐幾里得域深度神經網絡帶來了重大挑戰。近年來,在電力系統圖結構數據的深度神經網絡擴展方面出現了許多研究。本文對電力系統中的圖神經網絡(GNNs)進行了綜述。總結了幾種經典的GNNs結構范式 (圖卷積網絡、圖遞歸神經網絡、圖注意力網絡、圖生成網絡、時空圖卷積網絡以及混合形式的GNNs),并詳細綜述了其在電力系統故障診斷、功率預測、能流計算和數據生成等方面的關鍵應用。此外,還討論了GNN在電力系統中應用的主要問題和一些研究趨勢。