天天看點

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

神經網絡所學會的“吸引力”是什麼?

在判斷一張圖檔是否安全時,神經網絡看的是哪些部分?

使用grad-cam,我們探索了模型的預測過程,對于不同類型的圖檔,包括動作/靜态、暴力、吸引力、年齡、種族等等。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

很顯然,在上面展示的圖檔中,吸引力模型關注的是身體而非面部。有趣的是,模型在訓練過程中沒有接觸任何明确定義的邊界框,但即使如此,仍然學會了定位人體。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

這個模型使用200k圖像做訓練,标記由Hive團隊完成,一共分為3個類别:有吸引力(hot)、中立(neutral)、沒有吸引力。

然後,所有得分會綜合在一起,建立一個從0到10的評分等級。分類器位址:https://thehive.ai/demo/attractiveness

舉個例子,如果讓模型來判斷BAT各家掌門人的吸引力得分,将會是這個樣子:

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

關鍵的想法是,在全局池化前将logit層應用到最後一個卷積層。這會建立一個map,顯示網絡決策過程中每個像素的重要性。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

一個穿西裝的人位于圖檔正中(上圖右),表明這是電視節目,而不是商業廣告。電視節目/商業廣告模型,很好地展示了grad-CAM發現的模型決策背後的意外原因。另一方面,模型也能證明了我們的預期,比如左邊那幅單闆滑雪的例子(上圖左)。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

上面是動畫節目分類器的結果。很有意思的是,在Bart & Morty中,最重要的部分是邊緣(上圖左)和背景(上圖右),令人頗為意外。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

CAM & GradCam:分類時,神經網絡正在看什麼

類别激活地圖(CAM)由Zhou[2]首先開發,能夠顯示網絡正在看什麼。對于每個類别,CAM能表明這個類别中最重要的部分。

後來,Ramprasaath對CAM做了擴充,讓它在不需要做任何更改的情況下,能夠适用于更廣泛的架構。具體說,grad-CAM可以處理全連接配接層和更複雜的問題,如問題回答。幸運的是,我們完全不需要修改網絡來計算grad-CAM。

最近,grad-CAM++ Chattopadhyay[4]進一步擴充了這種方法,提高輸出熱圖的精度。Grad-CAM++能夠更好地處理類别的多個執行個體,并突出顯示整個類别,而不僅僅是最顯著的部分。Grad-CAM++使用正偏導數的權重組合來實作這一點。

TensorFlow實作及代碼

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

這隻傳回一個num_classes元素的數組,其中隻有預測類别的logit非零。這定義了損失。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

然後,計算相對于網絡的最後一個卷積層的損失的導數,并對這些梯度進行正則化。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

運作圖,計算我們輸入的最後一個卷積層。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

計算權重作為每個10x10網格的梯度值的均值(假設輸入大小為299x299)。有2048個權重,因為我們使用的網絡在10x10的最終卷積層上有2048個輸出通道。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

建立cam 10x10粗略輸出,作為平均梯度值和最終卷積層的權重和。

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

将cam輸入一個RELU,隻接收這個類别的正向建議。然後,将粗略cam輸出調整為輸入大小并混合顯示。

最後,主要函數擷取TensorFlow Slim模型的定義和預處理函數。用這些算法計算grad-CAM輸出,并将其與輸入照片混合。在下面的代碼中,我們使用softmax機率最大的類别作為grad_cam的輸入。例如:

神經網絡決策過程可視化:AI眼中馬雲、馬化騰、李彥宏誰最有吸引力?

該模型首選預測酒精為99%,賭博隻有0.4%。不過,通過将預測類别從酒類轉為賭博,我們可以看到,盡管類别機率很低,但模型仍然可以清楚地指出圖像中的賭博元素(見右圖)。

原文釋出時間為:2018-01-12

本文作者:費欣欣

本文來自雲栖社群合作夥伴新智元,了解相關資訊可以關注“AI_era”微信公衆号

繼續閱讀