機器學習如何做好分布外異常檢測?Google這篇 NeurIPS 2019 論文提出了方法
- 2019 年 12 月 31 日
- 筆記

編譯 | 翻譯官balala
編輯 | 叢末
對於機器學習而言,區分異常數據或有顯著差異數據至關重要。Google在 NeurIPS 2019 論文中提出並發布了針對基因組序列 OOD 檢測的現實基準數據集,進而提出一種基於似然比的解決方案,可顯著提高 OOD 檢測的準確性。
深度學習科學家要成功部署機器學習系統,需要系統能夠區分出異常數據或與訓練中使用的數據有顯著差異的數據。
由於深度神經網路分類器可能會將以高置信度將分布外(ODD)的輸入分類到分布內的類別中,因此區分異常數據或有顯著差異數據是十分重要的。當我們利用這些預測為現實決策提供依據時,異常數據檢測將尤為重要。
例如,將機器學習模型應用於基於基因組序列的細菌檢測,就是一項具有挑戰性的現實應用。細菌檢測對於敗血症等傳染病的診斷和治療,以及食源性病原體的鑒定都非常關鍵。
近些年來,隨著新細菌種類不斷被發現,雖然基於已知分類訓練的神經網路分類器通過交叉驗證達到了很高的測量準確性,但部署模型仍具有高的挑戰性,因為現實數據在不斷進化發展,並且將不可避免地包含以往訓練數據中從未出現過的基因組(OOD 輸入)。

圖1 :近些年來,隨著新的細菌種類逐漸地被發現。將已知的分類數據輸入基於已知分類數據訓練的分類器能夠達到很高的準確性,這是因為輸入的分類數據是已知的,但它可能將已知分類數據中混合了未知分類數據(如:ODD 數據)的輸入進行錯誤的分類,並且具有很高的置信度。
在 NeurIPS 2019 發表的論文《分布外檢測的似然比》(Likelihood Ratios for Out-of-Distribution Detection)中,Google受到上述新細菌種類檢測這類現實問題的啟發,提出並發布了針對基因組序列 OOD 檢測的現實基準數據集。
- 論文地址:https://arxiv.org/abs/1906.02845
- 實現程式碼 GitHub 地址:https://github.com/google-research/google-research/tree/master/genomics_ood
他們利用基於基因組序列的生成模型測試了 OOD 檢測的現有方法,發現似然值——即輸入來自使用分布不均數據進行估算的分布數據的模型概率——通常是錯誤的。在最近的影像深度生成模型研究工作中,他們也觀察到了這種現象,並通過統計背景影響來解釋這種現象,進而提出一種基於似然比的解決方案,可以顯著地提高 OOD 檢測的準確性。
一、為什麼密度模型無法應用於 OOD 檢測?
為了模擬實際問題並系統地評估不同的方法,他們建立了一個新的細菌數據集,使用的數據來自美國國家生物技術資訊中心(NCBI )對外開放的原核生物目錄基因組序列數據。
為了模擬測序數據,他們將基因組片段化為當前測序技術通常使用的 250 個短序列長度的鹼基對。然後,其將分布內和分布外的數據按發現日期進行分離,以便截止時間之前被發現的細菌種類被定義在分布內,在之後發現的被定義為分布外(OOD) 。
然後,他們基於分布內的基因組序列訓練深度生成模型,通過繪製似然值曲線,檢驗模型辨別輸入的分布內和分布外數據的能力。 OOD 序列似然值的直方圖與分布內序列似然值高度重合,則表明生成模型無法區分在兩個種類之間進行的 OOD 檢測結果。
在影像深度生成模型的早期研究中(相關閱讀參考:https://arxiv.org/abs/1810.09136)也得到了類似的結論。例如,利用 Fashion-MNIST 數據集(由衣服和鞋類的影像組成)訓練 PixelCNN ++ 模型,比來自 MNIST 數據集(包括數字0-9的影像)的 OOD 影像分配了更高的似然值。

圖2 左:分布內和分布外(OOD)基因組序列的似然值直方圖。 似然值未能分辨出分布內和OOD基因組序列。 右:Fashion-MNIST 數據集訓練模型、MNIST 數據集估計的似然值直方圖。 模型在OOD(MNIST)影像上比在分布內影像分配了更高的似然值。
在研究這種失敗模型時,他們觀察到背景統計可能影響了似然值的計算。為了更直觀地理解該現象,假設輸入由兩個部分組成:(1)以背景統計為特徵的背景成分,(2)以指定於分布內數據專用的模式為特徵的語義成分。
例如,可以將 MNIST 影像建模為背景加語義。當人類解讀影像時,可以輕鬆地忽略背景資訊而主要關注語義資訊,例如下圖中的「 /」標記。但是當為影像中的所有像素計算似然值時,計算結果中同時包括了語義像素和背景像素。雖然他們只需使用語義的似然值進行決策,但原始的似然值結果中可能大多數都是背景成分。

圖3 左上:Fashion-MNIST 的示例影像。 左下:MNIST 的示例影像。 右:MNIST 影像中的背景和語義成分。
二、OOD 檢測的似然比
他們提出了一種去除背景影響並專註於語義成分的似然比方法。
首先,受遺傳突變的啟發,他們利用擾動輸入方法訓練背景模型,並通過隨機選擇輸入值的位置,將其替換為另一個具有相等概率的值。為了成像,他們從從256個可能的像素值中隨機選擇輸入值;針對DNA 序列,他們從四個可能的核苷酸(A,T,C或G)中選出輸入值。此過程中,適量的擾動會破壞數據的語義結構,導致只能捕獲到背景。
接著,他們計算完整模型與背景模型之間的似然比,去掉了背景成分,這樣就只保留了語義的似然值。似然比是背景對比得分,即它抓住了語義與背景對比的意義。
為了定性評估似然值與似然比之間的差異,他們繪製了在 Fashion-MNIST 數據集和 MNIST 數據集中每個像素的似然值和似然比值,創建了與影像相同的尺寸的熱圖。
這使他們可以分別直觀地看到哪些像素對於這兩項值的貢獻最大。從對數似然熱圖中可以看到,對於似然值而言,背景像素比語義像素的貢獻更多。
事後看來這並不足為奇,這是由於背景像素主要由一連串零組成,因此很容易被模型學習。
MNIST 和 Fashion-MNIST 熱圖之間的比較則說明了為什麼 MNIST 返回更高的似然值——僅僅是因為它包含了更多的背景像素!相反,似然比的結果更多地集中在語義像素上。

圖4 左:Fashion-MNIST 和 MNIST 數據集的對數似然熱圖。 右:Fashion-MNIST 和 MNIST 數據集的似然比熱圖,具有更高值的像素會具有更淺的陰影。 似然值主要由「背景」像素決定,而似然比則集中在「語義」像素上,因此更適合用於 OOD 檢測。
這種似然比方法修正了背景影響。他們基於 Fashion-MNIST 訓練 PixelCNN ++ 模型,然後在 MNIST 影像數據集進行 OOD 檢測,實驗結果得到了顯著改善,AUROC 評分從 0.089 提高至 0.994 。
當他們將似然比方法應用於基因組基準數據集這一極具挑戰的問題時,對比其它 12 種基準線方法,該方法表現出了最佳性能。
不過他們也表示,儘管該似然比方法在基因組數據集上達到了最先進的性能,但離將模型部署到實際應用中的高準確性要求仍存在一定距離。 他們鼓勵研究人員努力去解決這一重要問題,並改善當前的最新技術。
via:
https://ai.googleblog.com/2019/12/improving-out-of-distribution-detection.html