20210914 第47篇

arxiv。org/pdf/2109。05554。pdf

作者:Fahim Tajwar, Ananya Kumar, Sang Michael Xie, Percy Liang

Affiliation: Stanford University

本文屬於 Out-of-distribution (OOD) 檢測領域,這也是本專欄的第一篇。這個方向是比較貼近於應用的方向,其主要想法如下:機器學習中的 SOTA 神經網路在訓練集中訓練完畢後,在測試集上都會有不俗的表現,而這一點的前提是測試集和訓練集是從同一個 latent distribution 中提取出來的,這在機器學習理論中可以說是天經地義的,但是在機器學習實際落地中就完全不是如此,例如超市裡的商品識別,就很容易被使用者的一些另類操作所影響,又例如自動駕駛中,無論我們採集了多少資料,也會遇到資料集中從來沒有出現過的新場景。

因此,我們希望能夠在測試的過程中可以加一個判斷,即該測試樣本是不是從訓練集的若干分佈中提取出來的,我們稱之為 out of distribution detection (OOD detection)。目前為止,已有的 OOD detection 演算法主要有如下幾種:

(1) MSP (Maximum softmax probability) 我們用 training set 訓練出一個 classifier 之後,面對測試集,如果我們的測試樣本很明顯屬於某一個類別,我們可以認定其來自於訓練分佈,相反如果每一個類別都模稜兩可,我們認定其在分佈之外。Softmax:

S_{soft}^i=\frac{\exp(f^i(x)/T)}{\sum_{j=1}^C \exp(f^j(x)/T)}

l_{\infty}

範數,即

S_{MSP}(x)=\max_{j\in[C]}S_{soft}^j(x)

,是用於判別的依據,越小越趨向於 OOD。

(2) ODIN 事先給每一個 input 一個 noise,把每一個

x

pre-process成為

\hat{x}

。再依據這個新的

\hat{x}

來做上述的 maximum softmax probability

(3) Mahalanobis 這是一種十分著名的衡量分佈之間距離的方法,記

\mu_i

為神經網路的倒數第二層輸出(即softmax前的一層)中,屬於第

i

個類別的均值,

\Sigma

則是它們的 covariance。那麼我們計算樣本對各個class的 Mahalanobis 距離取最小值即可。

(4) Pairwise OOD Detection (POD) 這是一種非常直接的方法,即

h(\cdot)

即為上述的神經網路倒數第二層,我們的樣本

x

距離第

i

個class的距離就按照與該class所有訓練集樣本距離的平方平均來計算,最後取最小距離即可。

本文是一篇實驗性質的文章,作者們透過用幾乎所有已知的相關演算法來嘗試各種不同的實驗時,發現沒有任何一種演算法可以完全擊敗其他所有演算法,演算法之間的相對好壞是十分依賴所做的問題本身的。根絕作者們舉的例子,在一個場景中,distance-based演算法獲得100%效果而 MSP則是0%效果,而在另一個場景下,distance-based演算法是35%而MSP則有100%,從而說明了目前為止,OOD detection領域沒有絕對的最好演算法,儘管大家都聲稱自己是SOTA。