天天看點

蔚來汽車深度學習算法實踐

作者:DataFunTalk

導讀 在裝置健康運維(PHM)領域,往往存在故障樣本少甚至無故障樣本的情況,是以,傳統的機器學習或深度學習算法很難起到良好的效果。本文分享兩種深度學習算法實踐。

今天的介紹會圍繞下面五點展開:

1. NIO Power 業務背景

2. NIO Power 裝置運維解決方案

3. PHM 技術面臨的挑戰

4. PHM 前沿技術

5. 智能運維PHM技術應⽤案例

分享嘉賓|胥明鏡博士 蔚來汽車 進階算法工程師

編輯整理|王吉東 DataFun志願者

出品社群|DataFun

01

NIO Power 業務背景

1. 蔚來汽車能源服務體系

NIO Power 業務團隊的目标是建構全球創新的智能能源服務體系,基于移動網際網路的加電解決方案,擁有廣泛布局的充電換電設施網絡,依托蔚來雲技術,搭建“可充可換可更新”的能源服務體系,為車主提供全場景化的加電服務。

蔚來汽車深度學習算法實踐

2. 裝置運維的挑戰

NIO Power 裝置運維服務主要包括蔚來換電站、蔚來超充樁、7KW 家充樁 2.0、20KW 家用快充樁等裝置;該服務目前面臨諸多挑戰,主要包括:

① 保障裝置無安全隐患。

② 使用者投訴:加電體驗不佳。

③ 因裝置故障導緻的充換電成功率降低。

④ 因裝置故障導緻的停機。

⑤ 運維成本較高。

--

02

NIO Power 裝置運維解決方案

蔚來汽車深度學習算法實踐

公司的 4 類主要充放電裝置(換電站、超充樁、7KW 家充樁、20KW 家用快充樁)都包含大量傳感器,是以将傳感器實時采集的資料統一接入蔚來能源雲進行統一存儲和管理,并引入基于 PHM(故障預測與健康管理)預測性維護技術,通過一系列 AI 算法,例如:GAN(生成對抗網絡)和 Conceptor(概念器網絡),得到裝置的異常檢測情況以及故障診斷情況,并根據該診斷預測結果為裝置提供最優的預測性維護決策方案,并下發相關運維工單,實作:

① 消除裝置安全隐患。

② 減少使用者對于加電體驗不佳方面的投訴。

③ 提升充換電成功率。

④ 減少因裝置故障導緻的停機。

⑤ 降低運維成本。

是以,PHM 技術和算法的引入,有效地幫助公司改善了智能能源服務體系,并形成閉環,進而提升和優化 NIO Power 的服務能力。

--

03

PHM 技術面臨的挑戰

前沿的 PHM 技術都是基于資料驅動的人工智能技術,“資料驅動”依賴大量樣本和标簽來構模組化型,而模型往往都是在理想的場景下建構的,然而真實的場景往往并不理想。

蔚來汽車深度學習算法實踐

從上圖可以看出,真實場景常具備以下特點:

① 故障樣本少。

② 故障樣本标注困難。

由此帶來了該場景下面臨的兩類問題:一類是無監督學習問題,另一類是小樣本學習問題。

--

04

PHM 前沿技術

針對真實場景下面臨的這兩類問題,我們提出了以下幾種 PHM 前沿技術,并應用于 NIO Power 場景下。

1. 基于生成對抗網絡(GAN)的無監督異常檢測

(1)GAN 結構

生成式對抗網絡,于 2014 年提出,是一類基于深度學習的無監督學習技術,主要由生成器和判别器這兩個子網絡構成。

蔚來汽車深度學習算法實踐

上圖中紅色 G 網絡即為生成器網絡,而藍色 D 網絡即為判别器網絡。

生成器網絡輸入随機數分布(如高斯分布),輸出使用者指定的特定分布;從樣本的角度來看,将 100 個從随機數分布中抽樣得到的資料輸入給 G 網絡,G 網絡會将這 100 個樣本映射到與真實資料一樣的空間中,形成分布 G(z),并利用判别器網絡得到 G(z) 與真實資料 X 這兩種分布的差異,随後優化 G 網絡直至 G(z) 分布接近真實資料 X 分布。G 網絡會輸出這 100 個資料并形成一種特定的分布 G(z)。

判别器網絡的核心是建構了 G(z) 分布與真實資料 x 分布的近似 Jensen-Shanon 散度,以此來衡量生成的分布與真實的分布的差異。近似 Jensen-Shanon 散度通過标準的基于二項交叉熵的二分類網絡來實作,判别器網絡輸出是個從 0 到 1 的連續值。如果輸出為 1,則認為輸入樣本 X 來源于真實的分布;如果輸出為 0,則認為輸入樣本 X 是假的,是仿造的。

在 GAN 網絡的訓練形式上,生成器生成的樣本嘗試與真實樣本的分布接近,而判别器嘗試區分出生成的樣本為假的,以此為生成器提供更準确的 Jensen-Shanon 散度值的梯度,可以讓生成器朝着更優的方向疊代。最終這兩種形成了對抗關系,生成器“拼命”生成假資料,判别器“拼命”對輸入資料進行真假區分。GAN 網絡最終将達到一種均衡的狀态:生成得到的資料分布 G(z) 剛好完整覆寫所有的真實樣本 X 的分布。

(2)GAN 損失函數

從數學的角度了解 GAN 網絡,可以從損失函數了解。損失函數可使用價值函數 V(G,D),通過常見的 minmax 優化,同時優化 G 網絡和 D 網絡的參數;對于給定的 G 網絡,優化目标就是最小化價值函數,如下公式所示:

蔚來汽車深度學習算法實踐

公式中 JSD 為該損失函數最核心的優化項,是兩種分布間差異性的一種度量方式。從公式中可以看出,該優化的本質就是最小化 X 和 G(z) 之間的分布差異;分布差異越小,說明 G 網絡訓練得越成功。

(3)Auto-Encoder aided GAN for Anomaly Detection (AE-GAN)

基于 GAN 網絡,引入 Auto-Encoder 實作裝置運作資料的異常檢測。

蔚來汽車深度學習算法實踐

具體實作方式是:

第一步,搭建 GAN 模型并訓練得到一個 G 網絡,該網絡剛好重構了裝置運作資料的分布。

第二步,丢棄 GAN 網絡中的 D 網絡部分,固定 G 網絡參數并在 G 網絡之前引入Encoder網絡;這樣,Encoder 網絡和 G 網絡組合形成一套标準的 Auto-Encoder 網絡,該網絡的損失函數為重構誤差。

這樣,我們通過優化 Auto-Encoder 網絡,即可完成異常檢測,其背後的原理是:不管輸入樣本如何,通過 Auto-Encoder 網絡輸出的樣本都會處于正常樣本區間範圍内。是以,如果輸入樣本為正常樣本,則生成樣本和原樣本同處于相同區間内,是以重構誤差會很小甚至接近 0;而如果輸入樣本為異常樣本,生成樣本仍在正常樣本區間範圍内,這樣會導緻重構誤差較大;是以,通過重構誤差可以判斷樣本是否正常。

第三步,通過一小批正常樣本來獲得一系列重構誤差分數,并以其最大值作為異常檢測的重構誤差門檻值。

這一原理已經被完整論述在論文中,該論文于 2022 年發表在 IEEE in Transactions on Intelligent Transportation Systems 上,論文資訊如下:

M. Xu, P. Baraldi, X. Lu and E. Zio, "Generative Adversarial Networks With AdaBoost Ensemble Learning for Anomaly Detection in High-Speed Train Automatic Doors," IEEE in Transactions on Intelligent Transportation Systems, 2022.

2. 基于無監督 RNN(Conceptor)的小樣本故障診斷

我們用到的第二類技術是一種無監督 RNN(命名為概念器網絡:Conceptor)的小樣本故障診斷技術。

(1)無監督 RNN

蔚來汽車深度學習算法實踐

首先介紹該技術的背景——無監督 RNN。無監督 RNN 和普通 RNN 相比,最特别的一點在于該網絡輸入層神經元的連接配接權重和隐藏層的連接配接權重是随機初始化,并且在整個訓練和推理的過程中是固定不變的。這就意味着,我們不需要對輸入層和隐藏層的權重參數進行訓練;是以,相比于普通 RNN 網絡,我們可以将隐藏層神經元設定得非常大,這樣網絡的記憶周期和記憶容量會很大,對輸入的時間序列的記憶周期會更長久。這種特殊的無監督 RNN 的隐藏層神經元通常被稱為 Reservoir。

① Reservoir State Update

狀态更新方式和标準 RNN 更新方式相同。

② Long-term temporal dependencies representation by Conceptor

蔚來汽車深度學習算法實踐

基于這種無監督 RNN 開發一種無監督的表征學習方式,具體來說,輸入可變長度的多元時間序列,經過 Reservoir 得到每個時間步的 RNN 隐藏神經元狀态;使用 Conceptor 方法(上圖淺藍色方框所示),得到一個 N×N 次元的概念矩陣。用線性代數的方式去了解,該矩陣的含義是:在處理時間序列的時候,對于每個時間步,将時間序列信号投射到 N 維空間(N 對應隐藏神經元的尺度);

如果有 ti 個時間步長,則該 N 維空間内的這 ti 個點形成點雲;這樣的點雲橢球體可被解構成 N 個互相正交的方向,并得到每個方向上的特征向量和特征值。

而 Conceptor 的作用就是捕捉特征值和特征向量,并對特征值進行歸一化;對于這 N 個特征向量,可了解成是在時間序列中捕捉到的 N 種性質(如周期性、趨勢性、波動性等複雜時間序列特征),即隐式特征的提取;而所有被提取到的特征資訊均被保留到這個 N 維矩陣中(即 Conceptor 矩陣,上圖右側深藍色方框部分)。

③ Similarity measure of time series with variable length

根據矩陣的基本特性,将兩個時間序列的 Conceptor 矩陣相減,并提取 Frobenius 範數,即得到兩個時間序列的 Conceptor 距離;這個标量可用來表征兩個時間序列的差異性。

(2)基于 Conceptor 的小樣本故障診斷

基于 Conceptor 的上述特性,可用來進行小樣本故障診斷分析。

蔚來汽車深度學習算法實踐

假如存在少量的實際故障樣本(比如隻有不到 10 個故障樣本),将對應的時間序列全部輸入到 Conceptor 網絡中,聚合形成相應的概念矩陣,作為該類别故障模式的抽象表征;同樣,正常的樣本也會聚合成一個正常的概念矩陣。在測試的時候,對輸入的時間序列用相同的方法提取對應的概念矩陣,并分别與正常樣本和異常樣本的概念矩陣進行對比分析,計算對應的概念差異。如果輸入樣本和某一特定故障模式的概念矩陣相似度很高,則可認為該樣本屬于該種故障模式。

這一方法也被完整論述在下述論文中:

Mingjing Xu, Piero Baraldi, Zhe Yang, Enrico Zio, A two-stage estimation method based on Conceptors-aided unsupervised clustering and convolutional neural network classification for the estimation of the degradation level of industrial equipment, Expert Systems with Applications, Volume 213, Part B, 2023, 118962.

--

05

智能運維PHM技術應用案例

1. 換電站電池倉鍊條松動監測

(1)背景

換電站電池倉的鍊條配合電池倉提升機,将入倉的電池提升至充電倉進行充電。鍊條如果有故障會發生松動甚至斷裂的情況,進而在運送至充電倉的過程中會導緻卡倉、無法入倉。此外,如果鍊條斷裂将導緻電池墜落,進而引發電池損壞甚至火災事故的發生。

是以,需要構模組化型提前檢測鍊條的松動情況,提前杜絕相關安全事故的發生,将風險降到最低。

(2)問題設定

蔚來汽車深度學習算法實踐

和鍊條松動直接相關的變量主要是振動相關信号,然而振動資料的采集和存儲成本較高,是以大多數裝置并未采集振動相關的信号。

在振動資料缺失的情況下,可以通過鍊條驅動電機的扭矩、位置、速度等信号來檢測鍊條的松動情況。

(3)工業機理分析

對比下圖中的鍊條松動資料和鍊條正常資料,可以明顯看出,電池倉鍊條松動會使得扭矩信号發生明顯的周期性波動,并且波動的幅度呈現衰減趨勢。

蔚來汽車深度學習算法實踐

該故障的實際樣本數量很少,少于 20 個樣本;然而這類故障重要性很高,是以對預測模型的準确率和召回率要求非常高。

(4)鍊條松動檢測模型設計

蔚來汽車深度學習算法實踐

① 首先對原始資料進行時間序列分割,對長時間序列提取出勻速過程的扭矩資料;

② 進而進行時間序列分解,僅保留時間序列的波動特征;

③ 進一步對序列進行頻譜分析,最終得到頻譜特征。

然而,發生故障時刻的頻率波段不止一種,并且不同頻段下的振幅服從特定的分布,是以用傳統的方式去識别,準确率較低,會造成較多的誤報警和漏報警。是以,選擇 AE-GAN 模型,更精準地捕捉故障模式下特定的故障分布,最終得到裝置異常分數。

(5)鍊條松動檢測資料與算法互動流程

蔚來汽車深度學習算法實踐

松動檢測資料和算法互動主要包括以下幾層:數倉,資料層,特征層,算法層以及模型層。

其中,特征層主要就是前文所述特征工程所涉及到的算法子產品;本案例中,算法層使用 AE-GAN 算法;基于算法層的異常分數結果,以及特征層中特征表的資料記錄,在模型層中進行進一步判斷和決策;最後輸出工單下發給專員來處理。

基于上述流程,将傳統的專家經驗檢測更新成 AI 算法檢測,準确率提升超過 30%。

2. 超充樁槍頭劣化故障診斷

(1)工業機理分析

首先基于充電槍的充電電流、電壓、溫度等實體信号建立實體模型以得到槍頭的溫升系數實體量,并以此作為特征信号進行進一步的故障診斷。然而這種基于實體的特征工程,通常使用時間滑窗進行特征生成,最終得到一個新的時間序列作為特征結果;這樣的特征序列往往噪聲較大。

以下圖為例,該項目通常選取一周或一月的資料作為時間視窗,得到類似下圖的特征時間序列。圖中可以看出,該序列的噪聲很大,很難直接分辨劣化樣本和正常樣本。

蔚來汽車深度學習算法實踐

此外,實際故障樣本中,劣化槍頭樣本數往往小于 50。

基于以上兩點原因,引入 Conceptor 模型,擺脫人工經驗,通過模型自動捕捉劣化樣本的時間序列特征。

(2)故障診斷流程

蔚來汽車深度學習算法實踐

① 收集故障樣本資料

1)公司共投産數千個超充樁,其中僅數十個超充樁曾更換槍頭。

2)基于槍頭更換記錄比對對應時段的故障樣本資料,作為模型的訓練集。

3)故障資料包含 6 維時間序列,且序列長度不一。

② 模型建構

1)該故障背後蘊含的實體機理較為複雜,是以基于先驗知識、專家經驗以及實體機理進行模組化相對難以實作,且模型難以泛化。

2)而本文提到的 Conceptor 模型方法,基于純資料驅動方法實作,未引入任何先驗實體資訊提取特征,可大大降低模型的複雜度,提升模組化效率。

3)通過 Conceptor 模型方法,将異常時段的多元時序資料輸入模型中,得到對應的概念表征矩陣。

a)假如輸入 50 個故障樣本,則會得到 50 個概念表征矩陣;

b)将這 50 個矩陣進行均值聚合,并乘以故障模式的表征矩陣重心,得到該故障模式下的表征矩陣;

c)模型測試階段,對輸入測試資料計算概念矩陣,将其與故障模式的表征矩陣進行對比,進而得到異常分數。

③ 模型預警

1)基于模型結果,根據提前劃分的 3 個不同等級的報警規則,按照不同的劣化程度進行判斷,最終實作分級預警。

基于上述流程,将傳統的機理模型檢測方法更新成機理模型結合 AI 算法檢測方法,可将模型誤報警率減少至原來的 1/5。

--

06

問答環節

Q1:在 AE-GAN 模型中,如何區分正常樣本和異常樣本?

A1:對于訓練好的 AE-GAN 模型,輸入一個樣本到 Auto-Encoder 中,得到樣本的重構誤差即異常分數;如果該分數小于指定門檻值,則認為該樣本正常,反之則為異常樣本。這一方法的使用前提是,訓練資料全部為正常樣本資料。

Q2:GAN 網絡訓練時候,使用的是小樣本故障資料和正常資料的混合資料嗎?兩種資料如何平衡?

A2:GAN 網絡訓練時,要麼使用正常資料,要麼使用某種特定模式下的異常資料,不會使用混合資料進行訓練,是以不會出現樣本不均衡這類問題。如果實際資料中兩類資料樣本懸殊,一般會針對正常樣本訓練出一個 GAN 網絡 1,再針對某種固定模式異常樣本訓練出 GAN 網絡 2,并基于這兩種網絡的重構誤差對測試樣本進行最終判斷。

Q3:GAN 訓練中會出現模式崩潰嗎?

A3:模式崩潰是 GAN 模型訓練中遇到的最核心的問題。首先要了解模式崩潰,其次要關注 GAN 訓練的核心任務。

模式崩潰,是生成器生成得到的資料聚焦于某個特定區域;出現這樣情況的原因是 GAN網絡中損失函數定義的忽略。GAN 網絡訓練過程中,通常将 G 網絡的損失和 D 網絡的損失分開計算,而常常忽略兩個網絡的聯合損失函數(即公式中的 JSD 損失)。如果出現訓練模式崩潰情況,往往 JSD 損失并未收斂;是以,在訓練過程中将 JSD 損失進行可視化,可有效避免模式崩潰情況發生。這也是近期很多改進版的 GAN 模型能夠脫穎而出産生較好效果的原因;此外,在标準 GAN 網絡中引入特定 trick,也可以達到類似的效果。

Q4:RNN 隐藏層随機固定的優勢是什麼?

A4:對于正負樣本懸殊的場景,如果使用常用的 LSTM、RNN、GRNN 等模型,往往會面臨損失函數不收斂的問題;是以這類問題的處理思路,往往是從無監督學習出發,随機固定主網絡隐藏層的 weight,并使用特定方法對生成的概念矩陣的特征分量進行正則化處理;雖然 weight 參數是随機的,但是得到的表征分量可以反映出時間序列隐藏的特性,足以對小樣本場景加以區分,以上是 RNN 隐藏層随機固定的優勢。

Q5:介紹下 Conceptor 模型的網絡形态。

A5:該模型如下圖所示。

蔚來汽車深度學習算法實踐

其中,Reservior 部分和普通 RNN 網絡基本相同,唯一的不同是 Win 和 W 是随機設定的(注意隻随機生成一次);後續對每個時間步長下的神經元隐藏狀态進行計算和更新,并得到對應的概念矩陣。以上是 Conceptor 的完整版形态。

Q6:AE-GAN 中的 Encoder 網絡的訓練過程是怎樣的?輸入和輸出分别是什麼?

A6:下圖是 Encoder 網絡的訓練過程。

蔚來汽車深度學習算法實踐

首先會訓練一個标準 GAN,在此基礎上固定 G 網絡中隐藏層的參數;然後在 G 網絡前插入一個 Encoder 網絡,将兩個網絡連接配接形成 Auto-Encoder 網絡。Auto-Encoder 網絡的輸入是原始的資料樣本,輸出是重構的資料樣本;AE-GAN 網絡通過建構重構樣本進而對異常資料進行識别。

Q7:文中所述兩種方法,是否有論文及相關開源代碼?

A7:論文詳見文章正文相關章節,代碼暫未開源。

Q8:圖像領域可以使用 AE-GAN 進行異常檢測嗎?

A8:可以使用。不過圖像領域相比普通的信号,其次元更高,資料分布更複雜,訓練所需資料量更大。是以,如果用來作圖像分類,且資料樣本較少,模型效果會打折扣;如果用作異常檢測,效果還是不錯的。

Q9:異常檢測的評價名額如何?誤報和漏報,以及兩者一并評價。

A9:評價名額最直覺的就是誤報率和漏報率,更科學的名額包括查全率、查準率、F-score 等。

Q10:如何比對故障樣本特征?

A10:如果沒有更直接、更快捷的方法得到故障特征,一般采用純資料驅動的方法進行故障樣本特征挖掘,一般是建構深度學習網絡去學習故障樣本關鍵特征,并被表征為概念矩陣。

Q11:PHM 算法如何進行模型選型?

A11:對于少量樣本,一般使用無監督 RNN 方法勝場概念矩陣來表征資料特征;如果對于異常檢測問題,存在大量正常樣本,則可使用 AE-GAN 網絡來實作。

Q12:如何通過 RNN 輸出的兩類概念矩陣來識别異常?

A12:RNN 輸出的概念矩陣,可以了解成輸入的時間序列中所有特征的集合;由于相同狀态下資料的特征是相似的,是以将該狀态下所有樣本的概念矩陣作均值聚合,即抽象出該類狀态下的概念中心矩陣;對于未知狀态的輸入時間序列,通過計算其概念矩陣并和概念中心矩陣進行比較,相似度最高的概念中心矩陣即為輸入資料對應的類别。

Q13:AE-GAN 網絡中,異常門檻值如何設定?

A13:完成網絡訓練後,使用小批量正常樣本資料進行重構誤差的計算,取其中最大值作為門檻值。

Q14:AE-GAN 網絡中的異常門檻值會更新嗎?

A14:一般情況下不會更新,但是如果原始資料分布發生變化(如運作工況發生變化),則可能需要重新訓練門檻值,甚至可能将遷移學習相關方法引入 GAN 網絡中,對門檻值進行微調。

Q15:GAN 是如何訓練時間序列的?

A15:GAN 一般不是訓練原始的時間序列,而是訓練基于原始時間序列提取出的特征。

Q16:AE-GAN 和傳統 GAN 相比,引入 GAN 的作用是什麼?可獲得那些提升?

A16:傳統 GAN 也經常用來進行異常檢測。AE-GAN 對 GAN 的原理剖析更加深入,是以也能最大程度地避免模式坍塌等問題;而 Auto-Encoder 的引入,可確定異常檢測的原理被準确無誤地執行,進而減少誤報率。

Q17:充電樁的時序資料,是否會出現節假日整體擡升的情況?如何避免誤判?

A17:故障診斷模型劃分很多層級,模型層的結果僅為決策層的依據而并非最終結果,一般會結合其他業務邏輯輔助判斷。

Q18:模型上線後,無監督異常檢測的應用效果如何評估?

A18:一般基于異常檢測的結果,會指定技術專員到現場真實場景中進行确認。

Q19:是否使用文中提到的兩種方法,針對換電站中電池進行異常檢測的嘗試?

A19:正在進行相關的嘗試。

Q20:時序資料如何統一長度?用 0 填充會導緻梯度不下降嗎?

A20:文中提到的 Conceptor 模型可以處理任意長度的時間序列,是以無需填充 0,同時也避免了參數“訓練”過程,是以可以規避這類問題。

Q21:GAN 會出現過拟合的情況嗎?

A21:如果僅僅用于異常檢測領域,其實越“過拟合”則模型表現會越好。此外,由于 GAN 模型的 G 網絡在訓練過程中存在較大的随機性,是以一般不會發生過拟合的情況。

Q22:訓練 GAN 模型,使用訓練資料的數量級,一般設定為多少會達到較好的效果?

A22:這類問題一般取決于神經網絡的規模,隐藏神經元的次元等。一般來講,對于 2 層神經網絡、每層 100 個神經元這種規模的模型,訓練資料的體量需要比隐藏層次元大 1-2 個數量級,才能達到較好的效果,同時還需要使用一些 trick 來避免模式坍塌的發生。

Q23:Conceptor 模型中的最小單元隐匿參數固定,是基于專家經驗設定嗎?和普通 RNN 相比,偏差如何?故障分析的标簽量是多少?如何做到業務價值量化?

A23:目前上線的很多 Conceptor 模型都使用相同的一套經驗參數,沒有進行進一步調參;根據實踐經驗來看,相關參數設定從 10 到 100,對結果的影響差異很小,唯一的差别在于計算成本。如果故障資料的樣本量較小而希望結果更精準,則可将參數設定成128、256 甚至更高,相應地,計算成本也會更高。故障分析的标簽量,一般在 1 到 10 之間。業務價值量化,一般用誤報警和漏報警來衡量,因為誤報警和漏報警可以直接折算成定量的業務價值影響。

Q24:如何确定故障開始時間,以及查準率查全率?

A24:可以采用 Conceptor 方法,利用時間增長視窗形成多個概念矩陣;并對概念矩陣進行譜聚類,進而确定故障發生時間。詳見 Conceptor 章節相關論文。

Q25:大量的正常資料是不是取值相同?這樣模型會不會重複學習相同的樣本?

A25:在真實的場景下,由于裝置存在不同的運作工況,正常的資料往往也是千差萬别的。

Q26:什麼特征的故障适用 GAN,什麼特征的故障适用 RNN?

A26:這兩種模型的具體使用場景很難進行明确的劃分;一般來說,GAN 更擅長解決資料分布特殊、很難用分類網絡來刻畫的這類問題,而無監督 RNN 更适合處理小樣本問題。

Q27:“人員違規行為檢測”這類特殊場景,能否使用本文提到的模型?

A27:對于領域特定場景,如能引入領域特定知識提取高階特征,則一般是可以的;如果僅僅使用圖像進行檢測,如果圖像樣本量很大,且能夠表征正常行為,則可将問題轉化為 CV 領域細分場景檢測,可以使用本文提到的模型加以檢測。

Q28:Conceptor Distance 是相似度判斷嗎?是否是帶參數學習的?

A28:是無參數的。

Q29:每種故障都要訓練一個模型嗎?

A29:要看具體的場景,包括模型的需求、故障的樣本量以及分布的複雜性等。如果兩種故障的時序波箱相似性很高,一般無需單獨訓練模型,隻需要建構多分類模型确定分類邊界即可;而兩種故障模式的資料形态差異很大,則可借助 GAN 模型進行更精準的識别。

Q30:模型訓練時間和訓練成本如何?

A30:Conceptor 模型的訓練成本很小,可用來提取特征;GAN 模型訓練時間相對更長一些,不過對于常見的結構化的表格資料,訓練時間也不會太長。

Q31:模型訓練時,正常樣本的訓練集是什麼樣的?時序滑窗切片時,每個時序子集的時間個數有最小個數建議嗎?

A31:兩種模型本身對正負樣本的數量都沒有要求;考慮到模型訓練時間,一般近選取上千個具有代表性的樣本進行訓練。時序子集的時間個數一般沒有最小個數建議。

Q32:RNN 網絡得到的特征矩陣次元大概是多少?

A32:特征矩陣的次元和隐藏神經元的個數直接相關,如果 N 個隐藏神經元,則特征矩陣的次元為 N×N。考慮到模型的複雜度以及計算效率,一般不會将 N 設得太大,常用的設定值為 32。

Q33:為什麼不使用 GAN 中的判别器作為分類器?判别器隻學習正常資料,對異常資料會被劃分到虛假資料範疇。這個方法的缺點是什麼?

A33:根據 GAN 的原理,D 網絡用來區分正常樣本和僞造樣本;而僞造樣本如果訓練成“完全體”狀态,會非常接近正常樣本,造成正常樣本和異常樣本之間難以區分;而 AE-GAN 網絡假定正常樣本和異常樣本具備一定的區分性,這是使用 AE-GAN 的理論基礎。

Q34:小樣本學習的模型如何保證泛化能力?

A34:模型的泛化能力,需要基于一個先驗假設:所有同類型的故障,其資料分布也是相似的。如果同類故障資料分布差異較大,則一般需要對故障類别進行進一步的細分,才能保證模型的泛化能力。

Q35:輸入資料需要如何進行資料預處理?

A35:對于文中提到的兩個模型,資料隻需進行歸一化即可。

Q36:GAN 和孤立森林、AE 等傳統的無監督方向對比如何?

A36:GAN 通過理論的完備性,更完善地描繪正常樣本資料的分布情況,由此建構出更完整的決策邊界。而普通的 AE、孤立森林以及 One Class SVM 等方法不具備理論上的完備性,無法建構更完整的決策邊界。

Q37:如果判别器在後期幾乎無法判别正常樣本和僞造樣本,那麼 GAN 部分的意義就不大了,此時 AE-GAN 會退化成 AE 嗎?

A37:如果判别器确實無法識别正常樣本和僞造樣本,從側面可以說明生成器的訓練是很成功的;而在異常檢測階段,隻用到生成器而沒有用到判别器。GAN 網絡中生成器的意義重大,是以 AE-GAN 不會退化成 AE,可将其了解成 AE 的更新版,是正則化的 AE。

Q38:有嘗試使用 Transformer 替代 RNN 嗎?

A38:在小樣本、可解釋性要求高的場景下,還沒有過這樣的嘗試,後期可能會進行相關嘗試。

Q39:AE-GAN 和 VAE 的差別是什麼?

A39:VAE 也是異常檢測常用的方法,VAE 在隐藏層使用了先驗高斯分布,并對先驗高斯分布改變形狀進而拟合真實資料,使得兩個分布等價;然而 VAE 使用的損失函數是 KL 散度而不是 JSD 散度,而 KL 散度是不對稱的,是以在複雜樣例中可能效果不佳。

Q40:實驗中信号特征會有資料噪聲嚴重或缺失的情況出現嗎?有哪些較好的特征清洗的方法?

A40:文中的充電槍案例,就是噪聲嚴重的案例。一些基于時間序列的分解方法可以将時間序列中的周期項、趨勢項、噪聲項等分解出來;特征缺失,可用資料不全的方法進行處理。

Q41:在訓練中可以增加 APA 這類增強政策嗎?

A41:以 GAN 為例,主要是通過增加噪聲的方式進行樣本增強,沒有使用到 APA 增強政策。

Q42:在 4.1.(3) 的第二步中,如果正常範圍跨越區間很大,假如有 3 個樣本 1、2、3,其中樣本 1、2 為正常樣本,樣本 3 為異常樣本;樣本 1 和樣本 2 位于正常範圍的兩邊,而樣本 3 位于樣本 1 旁邊不遠處但是已經超出正常範圍,那麼會不會出現樣本 1 和 2 之間的重構誤差大于樣本 1 和 3 的情況?

A42:這篇分享提供的參考文獻中,包含了很多極端的例子,例如你舉出的例子是典型的 two-gaussian ball 的例子。AE-GAN 可以解決這類問題。

今天的分享就到這裡,謝謝大家。

蔚來汽車深度學習算法實踐

繼續閱讀