深度學習模型評估指標
一個深度學習模型在各類任務中的表現都需要定量的指標進行評估,才能夠進行橫向的對比比較,包含了分類、回歸、質量評估、生成模型中常用的指標。
1 分類評測指標
圖像分類是計算機視覺中最基礎的一個任務,也是幾乎所有的基准模型進行比較的任務,從最開始比較簡單的10分類的灰度圖像手寫數字識別mnist,到后來更大一點的10分類的cifar10和100分類的cifar100,到后來的imagenet,圖像分類任務伴隨着數據庫的增長,一步一步提升到了今天的水平。現在在Imagenet這樣的超過1000萬圖像,2萬類的數據集中,計算機的圖像分類水准已經超過了人類。
圖像分類,顧名思義就是一個模式分類問題,它的目標是將不同的圖像,划分到不同的類別,實現最小的分類誤差,這里只考慮單標簽分類問題,即每一個圖片都有唯一的類別。
對於單個標簽分類的問題,評價指標主要有Accuracy,Precision,Recall,F-score,PR曲線,ROC和AUC。
在計算這些指標之前,先計算幾個基本指標,這些指標是基於二分類的任務,也可以拓展到多分類:
標簽為正樣本,分類為正樣本的數目為True Positive,簡稱TP;
標簽為正樣本,分類為負樣本的數目為False Negative,簡稱FN;
標簽為負樣本,分類為正樣本的數目為False Positive,簡稱FP;
標簽為負樣本,分類為負樣本的數目為True Negative,簡稱TN。
判別是否為正例只需要設一個概率閾值T,預測概率大於閾值T的為正類,小於閾值T的為負類,默認就是0.5。如果我們減小這個閥值T,更多的樣本會被識別為正類,這樣可以提高正類的召回率,但同時也會帶來更多的負類被錯分為正類。如果增加閾值T,則正類的召回率降低,精度增加。如果是多類,比如ImageNet1000分類比賽中的1000類,預測類別就是預測概率最大的那一類。
1. 准確率Accuracy
單標簽分類任務中每一個樣本都只有一個確定的類別,預測到該類別就是分類正確,沒有預測到就是分類錯誤,因此最直觀的指標就是Accuracy,也就是准確率。
Accuracy=(TP+TN)/(TP+FP+TN+FN),表示的就是所有樣本都正確分類的概率,可以使用不同的閾值T。
在ImageNet中使用的Accuracy指標包括Top_1 Accuracy和Top_5 Accuracy,Top_1 Accuracy就是前面計算的Accuracy。
記樣本xi的類別為yi,類別種類為(0,1,…,C),預測類別函數為f,則Top-1的計算方法如下:
如果給出概率最大的5個預測類別,只要包含了真實的類別,則判定預測正確,計算出來的指標就是Top-5。目前在ImageNet上,Top-5的指標已經超過95%,而Top-1的指標還在80%左右。
2. 精確度Precision和召回率Recall
如果只考慮正樣本的指標,有兩個很常用的指標,精確度和召回率。
正樣本精確率為:Precision=TP/(TP+FP),表示的是召回為正樣本的樣本中,到底有多少是真正的正樣本。
正樣本召回率為:Recall=TP/(TP+FN),表示的是有多少樣本被召回類。當然,如果對負樣本感興趣的,也可以計算對應的精確率和召回率,這里記得區分精確率和准確率的分別。
通常召回率越高,精確度越低,根據不同的值可以繪制Recall-Precision曲線,如下圖:
橫軸就是recall,縱軸就是precision,曲線越接近右上角,說明其性能越好,可以用該曲線與坐標軸包圍的面積來定量評估,值在0~1之間。
3. F1 score
有的時候關注的不僅僅是正樣本的准確率,也關心其召回率,但是又不想用Accuracy來進行衡量,一個折中的指標是采用F-score。
F1 score=2·Precision·Recall/(Precision+Recall),只有在召回率Recall和精確率Precision都高的情況下,F1 score才會很高,因此F1 score是一個綜合性能的指標。
4.混淆矩陣
如果對於每一類,若想知道類別之間相互誤分的情況,查看是否有特定的類別之間相互混淆,就可以用混淆矩陣畫出分類的詳細預測結果。對於包含多個類別的任務,混淆矩陣很清晰的反映出各類別之間的錯分概率,如下圖:
上圖表述的是一個包含20個類別的分類任務,混淆矩陣為20*20的矩陣,其中第i行第j列,表示第i類目標被分類為第j類的概率,越好的分類器對角線上的值更大,其他地方應該越小。
5.ROC曲線與AUC指標
以上的准確率Accuracy,精確度Precision,召回率Recall,F1 score,混淆矩陣都只是一個單一的數值指標,如果想觀察分類算法在不同的參數下的表現情況,就可以使用一條曲線,即ROC曲線,全稱為receiver operating characteristic。
ROC曲線可以用於評價一個分類器在不同閾值下的表現情況。在ROC曲線中,每個點的橫坐標是false positive rate(FPR),縱坐標是true positive rate(TPR),描繪了分類器在True Positive和False Positive間的平衡,兩個指標的計算如下:
TPR=TP/(TP+FN),代表分類器預測的正類中實際正實例占所有正實例的比例。
FPR=FP/(FP+TN),代表分類器預測的正類中實際負實例占所有負實例的比例,FPR越大,預測正類中實際負類越多。
ROC曲線通常如下:
其中有4個關鍵的點:
點(0,0):FPR=TPR=0,分類器預測所有的樣本都為負樣本;
點(1,1):FPR=TPR=1,分類器預測所有的樣本都為正樣本;
點(0,1):FPR=0, TPR=1,此時FN=0且FP=0,所有的樣本都正確分類;
點(1,0):FPR=1,TPR=0,此時TP=0且TN=0,最差分類器,避開了所有正確答案。
ROC曲線相對於PR曲線有個很好的特性:
當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變,即對正負樣本不均衡問題不敏感。比如負樣本的數量增加到原來的10倍,TPR不受影響,FPR的各項也是成比例的增加,並不會有太大的變化。所以不均衡樣本問題通常選用ROC作為評價標准。
ROC曲線越接近左上角,該分類器的性能越好,若一個分類器的ROC曲線完全包住另一個分類器,那么可以判斷前者的性能更好。
如果想通過兩條ROC曲線來定量評估兩個分類器的性能,就可以使用AUC指標。
AUC(Area Under Curve)為ROC曲線下的面積,它表示的就是一個概率,這個面積的數值不會大於1。隨機挑選一個正樣本以及一個負樣本,AUC表征的就是有多大的概率,分類器會對正樣本給出的預測值高於負樣本,當然前提是正樣本的預測值的確應該高於負樣本。
6. TAR,FRR,FAR
這幾個指標在人臉驗證中被廣泛使用,人臉驗證即匹配兩個人是否是同一個人,通常用特征向量的相似度進行描述,如果相似度概率大於閾值T,則被認為是同一個人。
TAR(True Accept Rate)表示正確接受的比例,多次取同一個人的兩張圖像,統計該相似度值超過閾值T的比例。FRR(False Reject Rate)就是錯誤拒絕率,把相同的人的圖像當做不同人的了,它等於1-TAR。
與之類似,FAR(False Accept Rate)表示錯誤接受的比例,多次取不同人的兩張圖像,統計該相似度值超過T的比例。
增大相似度閾值T,FAR和TAR都減小,意味着正確接受和錯誤接受的比例都降低,錯誤拒絕率FRR會增加。減小相似度閾值T,FAR和TAR都增大,正確接受的比例和錯誤接受的比例都增加,錯誤拒絕率FRR降低。
2 檢索與回歸指標
1.IoU
IoU全稱Intersection-over-Union,即交並比,在目標檢測領域中,定義為兩個矩形框面積的交集和並集的比值,IoU=A∩B/A∪B。
如果完全重疊,則IoU等於1,是最理想的情況。一般在檢測任務中,IoU大於等於0.5就認為召回,如果設置更高的IoU閾值,則召回率下降,同時定位框也越更加精確。
在圖像分割中也會經常使用IoU,此時就不必限定為兩個矩形框的面積。比如對於二分類的前背景分割,那么IoU=(真實前景像素面積∩預測前景像素面積)/(真實前景像素面積∪預測前景像素面積),這一個指標,通常比直接計算每一個像素的分類正確概率要低,也對錯誤分類更加敏感。
2.AP和mAP
Average Precision簡稱AP,這是一個在檢索任務和回歸任務中經常使用的指標,實際等於Precision-Recall曲線下的面積,這個曲線在上一小節已經說過,下面針對目標檢測中舉出一個例子進行計算,這一個例子在網上也是廣泛流傳。
假如一幅圖像,有10個人臉,檢索出來了20個目標框,每一個目標框的概率以及真實的標簽如下,真實標簽的計算就用檢測框與真實標注框的IoU是否大於0.5來計算。
第一步,就是根據模型得到概率,計算IoU得到下面的表:
第二步,將上面的表按照概率進行排序
Precision的計算如下,以返回的top-5結果為例:
在這個例子中,true positives就是真正的人臉,從Label一欄可以看出,指的是id = 4,2,7,9,16,20的樣本。
前5個概率值最大的id中13,19,6是false positives。所以此時的Precision=2/5=40%,即選定了5個人臉,但是只有兩個是對的。recall=2/6=33.3%,即總共有6個人臉,但是只召回了2個。
在一個實際的目標檢測任務中,目標的數量不一定是5個,所以不能只通過top-5來來衡量一個模型的好壞,選定的id越多,recall就越高,precision整體上則會呈現出下降趨勢,因為排在前面的概率高的,一般更有可能是真實的樣本,而后面概率低的更有可能是負樣本。
令N是所有id,如果從top-1到top-N都統計一遍,得到了對應的precision和recall,以recall為橫坐標,precision為縱坐標,則得到了檢測中使用的precision-recall曲線,雖然整體趨勢和意義與分類任務中的precision-recall曲線相同,計算方法卻有很大差別。
PASCAL VOC 2010年提出了一個更好的指標mAP,對於樣本不均衡的類的計算更加有效。假設有N個id,其中有M個label,則取M個recall節點,從0到1按照1/M的等間距,對於每個recall值,計算出大於該recall值的最大precision,然后對這M個precision值取平均得到最后的AP值,mAP的計算方法不變。
AP衡量的是學出來的模型在一個類別上的好壞,mAP衡量的是學出的模型在所有類別上的好壞。
3 圖像質量評價指標
圖像在獲取,壓縮,存儲,傳輸,解壓縮,顯示,甚至打印的過程中,都有可能受到環境的干擾造成質量下降。圖像的質量,通常跟圖像噪聲,模糊,對比度,美學等有關系。
在圖像質量評估的指標中,根據對原始無損圖像的要求,通常分為三大類,分別是Full Reference Image Quality Assessment(FR-IQA)全參考圖像評價,Reduced Reference Image Quality Assessment(FR-IQA)半參考圖像評價,No Reference Image Quality Assessment(FR-IQA)無參考圖像評價。
Full Reference Image Quality Assessment(FR-IQA)全參考圖像評價,需要原始的高質量的圖像。常見的(FR-IQA)包括峰值信噪比PSNR,結構一致性相似因子structural similarity index measurement(SSIM),視覺信息保真度 (Visual information fidelity, VIF),視覺信噪比 (Visual signal-to-noise ratio, VSPR),最顯著失真 (Most apparent distortion, MAD)等。
Reduced Reference Image Quality Assessment(RR-IQA)半參考圖像評價,不需要原始圖像本身,但是需要一些特征,在衛星和遙感圖像中被使用的較多。RR-IQA類方法常常在不同的特征空間中使用,主要思路是對FR-IQA類評價指標進行近似。
No Reference Image Quality Assessment(NR-IQA)無參考圖像評價,完全基於圖像本身,不再需要原始圖。不過由於沒有原始的圖像,需要對原始的圖像進行統計建模,同時還要兼顧人眼的視覺特征,本來這就有一定的主觀和不確定性。雖然研究人員提出了數十個NR-IQA指標,但是真正廣泛使用的沒有幾個。另外無參考的美學質量評估也是當前比較開放的一個問題,它需要更多考慮攝影學等因素。
質量評價因子非常的多,限於篇幅僅介紹其中4個:
1.信噪比SNR與峰值信噪比PSNR
信噪比,即SNR(SIGNAL-NOISE RATIO),是信號處理領域廣泛使用的定量描述指標。它原是指一個電子設備或者電子系統中信號與噪聲的比例,計量單位是dB,其計算方法是10*lg(Ps/Pn),其中Ps和Pn分別代表信號和噪聲的有效功率,也可以換算成電壓幅值的比率關系:20*lg(Vs/Vn),Vs和Vn分別代表信號和噪聲電壓的“有效值”。
在圖像處理領域,更多的是采用峰值信噪比PSNR (Peak Signal to NoiseRatio),它是原圖像與處理圖像之間均方誤差(Mean Square Error)相對於(2^n-1)^2 的對數值,其中n是每個采樣值的比特數,8位圖像即為256。
PSNR越大表示失真越小,均方誤差的計算如下:
其中M,N為圖像的行與列數,μi,j是像素灰度平均值,fi,j即像素灰度值。
下面展示了JPEG和JPEG2000算法在不同壓縮率下的PSNR,通常PSNR大於35的圖像質量會比較好。
2.結構一致性相似因子SSIM
PSNR從底層信噪的角度來評估圖像的質量,但是人眼對質量的評價關注的層次其實更高。根據Human visual system model,人眼觀察圖像有幾個特點:
(1)低通過濾器特性,即人眼對於過高的頻率難以分辨。(2)人眼對亮度的敏感大於對顏色的敏感。(3)對亮度的響應不是線性變換的,在平均亮度大的區域,人眼對灰度誤差不敏感。(4)邊緣和紋理敏感,有很強的局部觀察能力。
structural similarity index measurement(SSIM)是一種建立在人眼的視覺特征基礎上的用於衡量兩幅圖像相似度的指標,結果在0~1之間。
結構相似性理論認為自然圖像信號是高度結構化的,空域像素間有很強的相關性並蘊含着物體結構的重要信息。它沒有試圖通過累加與心理物理學簡單認知模式有關的誤差來估計圖像質量,而是直接估計兩個復雜結構信號的結構改變,並將失真建模為亮度、對比度和結構三個不同因素的組合。用均值作為亮度的估計,標准差作為對比度的估計,協方差作為結構相似程度的度量。
PSNR忽略了人眼對圖像不同區域的敏感度差異,在不同程度上降低了圖像質量評價結果的可靠性,而SSIM能突顯輪廓和細節等特征信息。
SSIM具體的計算如下:首先結構信息不應該受到照明的影響,因此在計算結構信息時需要去掉亮度信息,即需要減掉圖像的均值;其次結構信息不應該受到圖像對比度的影響,因此計算結構信息時需要歸一化圖像的方差。
通常使用的計算方法如下,其中C1,C2,C3用來增加計算結果的穩定性,光度L,對比度C,結構對比度S計算如下:
ux,uy為圖像的均值
dx,dy為圖像的方差
d(x,y)為圖像x,y的協方差。而圖像質量SSIM = L(x,y)^aC(x,y)^bS(x,y)^c,其中a,b,c分別用來控制三個要素的重要性,為了計算方便可以均選擇為1,C1,C2,C3為比較小的數值,通常C1=(K1×L)^2, C2=(K2×L)^2,C3 = C2/2, K1 << 1, K2 << 1,L為像素的最大值(通常為255)。當a,b,c都等於1,C3=C2/2時,SSIM的定義式就為:
SSIM發展出了許多的改進版本,其中較好的包括Fast SSIM,Multi-scale SSIM。
3.無參考銳化因子CPBD
上面說的這兩個,都是需要參考圖像才能進行評價的,而CPBD即cumulative probability of blur detection (CPBD),是一種無參考的圖像銳化定量指標評價因子。它是基於模糊檢測的累積概率來進行定義,是基於分類的方法。
首先要說Just-noticeable-distortion-model,簡稱JND模型,即恰可察覺失真模型,它建模人眼能夠察覺的圖像底層特征,只有超過一定的閾值才會被察覺為失真圖像。如果在空間域計算,一般會綜合考慮亮度,紋理等因素,比如用像素點處局部平均背景亮度值作為亮度對比度閾值,用各個方向的梯度作為紋理閾值。如果在變換域計算,則可以使用小波系數等,這里對其計算方法就不再詳述。
在給定一個對比度高於JND (Just Noticeable Difference)參考的情況下,定義JNB (Just-noticeable-blue)指標為感知到的模糊像素的最小數目,邊緣處像素的模糊概率定義如下:
其中分子是基於局部對比度的JNB邊緣寬度,而分母是計算出的邊緣寬度。對於每一幅圖像,取子塊大小為64×64,然后將其分為邊緣塊與非邊緣塊,非邊緣塊不做處理。對於每一個邊緣塊,計算出塊內每個邊緣像素的寬度。當pblur<63%,該像素即作為有效的像素,用於計算CPBD指標,定義如下:
CPBD的作者采用了高斯模糊的圖像與JPEG壓縮圖像進行實驗,表明CPBD是符合人類視覺特性的圖像質量指標,值越大,所反映出的細節越清晰,模糊性越弱。因此,可以將此指標用於定量評判濾波后的圖像的銳化質量。
4 圖像生成評價指標
當需要評估一個生成模型的性能的時候,有2個最重要的衡量指標。
(1) 確定性:生成模型生成的樣本一定屬於特定的類別,也就是真實的圖像,而且必須要是所訓練的圖片集,不能用人臉圖像訓練得到了手寫數字。
(2) 多樣性:樣本應該各式各樣,如果用mnist進行訓練,在沒有條件限制的條件下,應該生成0,1,2,3…,而不是都是0,生成的各個數字也應該具有不同的筆觸,大小等。除此之外,還會考慮分辨率等。
1.inception score
inception score是最早的用於GAN生成的圖像多樣性評估的指標,它利用了google的inception模型來進行評估,背后的思想就完美滿足上面的兩個衡量指標。
Inception圖像分類模型預測結果是一個softmax后的向量,即概率分布p(y|x)。一個好的分類模型,該向量分布的熵應該盡可能地小,也就是樣本必須明確符合某一個類,其中的一個值很大,剩下的值很小。另外,如果把softmax后的向量組合並在一起形成另一個概率分布p(y),為了滿足多樣性,這個分布的熵應該是越大越好,也就是各種類別的樣本都有。
具體實現就是讓p(y|x)和p(y)之間的KL散度越大越好,連續形式的表達如下:
實際的計算就是將積分換成求和:
Inception Score是一個非常好的評價指標,它同時評估生成圖像的質量和多樣性,前段時間大火的BigGAN,就是將Inception Score提升為原來最好模型的3倍不止。
不過Inception Score也有缺陷,因為它僅評估圖像生成模型,沒有評估生成的圖像與原始訓練圖像之間的相似度,因此雖然鼓勵模型學習了質量好,多樣性好的圖像,但是卻不能保證是我們想要的圖像。Mode分數對其進行了改進,增加了KL散度來度量真實分布P_r與生成分布P_g之間的差異。
2.Kernel MMD
最大平均差異maximum mean discrepancy Kernel也是一個用於判斷兩個分布p和q是否相同的指標。它的基本假設就是如果兩個樣本分布相似,那么通過尋找在樣本空間上的連續函數f,求不同分布的樣本f函數的均值,計算均值的差作為兩個分布在f函數下的平均差異,選擇其中最大值就是MMD。
對於深度學習任務來說,可以選擇各種預訓練模型的特征空間,比如性能很好的ResNet。MMD方法的樣本復雜度和計算復雜度都比較低,不過是有偏的,關鍵就在於用於選擇的函數空間是否足夠豐富。
除了以上指標外,還有Wasserstein距離,Fréchet Inception距離等。
學習來源 公眾號:有三AI https://mp.weixin.qq.com/s/u-QTHFSA-8rwvL0KBVYXjQ