筆記-關於神經網絡黑盒模型可解釋性,可視化

原博地址:深度學習黑盒可視化指南,從隱藏層開始

摘:

一旦神經網絡接收到相當大的所需數據集後,該網絡就會使用其精確的知識“權重”來證明或識別未知數據樣本上的模式。

即在經過大量數據集訓練以後,神經網絡就可以學會該數據集的知識,知識表現爲“權重”。知識可以用來判斷與數據集同分布的數據的模式,即pattern。

數據偏向問題的例子

  • 文中關於識別隱匿的tank,卻表現爲識別天氣的模型。

這個故事的來源是這樣的:
美國陸軍希望使用神經網絡來自動檢測僞裝的敵方坦克。研究人員用兩組數據來訓練神經網絡,一組是50張坦克僞裝在樹林中的照片,另一組是50張沒有坦克的樹林照片。然後,研究人員又拍攝了另外一組100張的照片,並進行了測試。
神經網絡將剩餘的所有照片都進行了正確的分類。並且分類結果得到成功確認!研究人員將他們的檢測方式移交給了五角大樓,五角大樓很快將其退還了,他們抱怨在該神經網絡上的測試完全失敗。
事實證明,在用於訓練的數據集中,僞裝坦克的照片是在陰天拍攝的,而平原森林的圖像是在晴天拍攝的。神經網絡只不過是學會了區分多雲和晴天,而不是學會識別僞裝的坦克。
無論故事是否真實,它都突出了深度學習中的“數據偏向”這一重要問題,但同時也讓一些人認識到,他們只有在得到最終輸出的結果後才能知道神經網絡正在學習什麼。即使結果對於給定的數據而言是正確的,但是更重要的是知道網絡是如何給出這些結果的,這就是爲什麼我們必須要了解隱藏層的工作原理。

  • 關於詞向量模型中的性別歧視問題。

可視化的三個層面

前-數據層面的可視化-輸入

  • 顯著圖
    像素級,pixels,輸入圖像的某個像素對輸出的影響的heat-map。

    顯著圖計算每個像素對結果的影響。這涉及到計算輸入圖像上每一個像素的輸出梯度。正梯度表示像素值的變化會增加輸出值。論文《 Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps》(《深度卷積網絡:可視化圖像分類模型和顯著圖》)最早介紹了這項技術,論文地址:https://arxiv.org/pdf/1312.6034v2.pdf

狗狗
heat-map
狗狗識別中的像素級熱力圖,可以看到對輸出影響較大的點分佈在狗狗臉部。

  • 遮擋圖
    區域級,regions,輸入圖像的某個區域對輸出的影響的heat-map。

    遮擋,在英語中的意思是“隱藏或阻擋”某物。這就是遮擋圖的工作原理。圖像的某些部分被遮蓋或“遮擋”,與此同時計算類的概率。如果概率減少,則圖像的這部分很重要,否則就不重要。

貓識別中的遮擋圖
對貓識別重要性大於0.85的區域

中-分層輸出可視化-隱藏層

您可能想知道每個隱藏層是如何對輸出層的最終結果起作用的。對模型進行微調以獲得預期的結果,這一點尤爲重要。那怎麼做呢?瞭解具體每一層最突出的一系列特徵,使我們能夠在需要時,使用跳躍連接( Skip Connection)來略過這些特性。

原博中關於分層可視化的示意圖

要注意的是,初始層正在學習識別形狀和邊緣等低級特徵。這些層瞭解輸入的要點。在隨後的圖層中,網絡會嘗試接觸越來越多的模糊圖案,如腿、耳朵、眼睛、顏色等。這就是爲什麼我們會說,網絡越深,它學得越好。

後-激活最大化圖-輸出端

構造使輸出爲x的概率最大的輸入圖像,即爲pattern-x的激活最大化圖。
原理與GAN,有相似之處,感覺與編碼解碼器更類似。
激活pattern-x,然後反向運算得到輸入圖像。
黑熊和北極熊的激活最大化圖
黑熊和北極熊的輸出最大化圖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章