天天看點

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

作者:NLP與人工智能

本文介紹了2016年提出的CAM激活映射算法,該算法用于可視化卷積神經網絡的特征,并将不同區域的重要性映射到原始圖像。CAM 使用全局平均池化和最後一層 softmax 的參數對特征圖進行線性權重,以獲得模型不同類别的焦點區域。

<h1類"pgc-h-arrow-right-"資料軌道""3">1. 概述</h1>

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

凸輪算法效果

CAM算法在論文"學習深度特征以進行好奇的定位"中提出,作者發現,雖然CNN網絡在訓練過程中可能沒有提供物體的位置,但它仍然具有很強的定位特征的能力,如上圖所示。上圖顯示了CAM操作的效果,可以看到對于刷牙,CNN可以有效地定位牙刷,而對于鋸樹,CNN可以有效地定位電鋸。

但CNN通常後面跟着一個完整的連接配接層,作者認為這會影響CNN的定位能力。是以,提出一種CAM算法,将全連接配接層替換為全局平均池化GAP,進而保持模型的定位特征能力。全局平均池化 GAP 通常充當正則化以防止訓練期間的過度拟合,下圖顯示了 GAP 與其他池化方法之間的差別,其中全局池化方法将池化的範圍擴充到整個特征圖的次元。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

各種池化方法

作者還在ILSVRC資料集上測試了凸輪瞄準能力,使用弱監督目标定位訓練,前5名錯誤率為37.1%,而使用完全監督目标訓練的AlexNet的前5名錯誤率為34.2%。

弱監督目标定位訓練與全監督目标定位訓練的差別如下圖所示,即當弱監督時,僅圖檔類别沒有目标架構,而完全監督的圖檔具有目标架構。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

弱監督目标定位教育訓練

<h1 class="pgc-h-arrow-right" data-track="11">2.CAM</h1>

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

凸輪模型圖

上圖是 CAM 的模型圖,後跟間隙,然後使用 Softmax 層進行分類。圖中最後一個卷積層的通道數為n,是以GAP之後的矢量維數為n,對應于每個通道。圖中的 W1, ..., wn 是指 Softmax 層的重量,它對應于一個類類的權重(圖中的類是 TerrEr Australian 或 Australian Terrier)。

最後一個卷積層的特征圖輸出包含 n 個通道,這些通道的權重将特征圖的 n 個通道與該類的權重相加,然後映射到原始圖檔以獲得不同區域的重要性。此處,由于特征圖與原始圖形大小不同,cam 直接使用調整大小将特征圖縮放到與原始大小相同的大小。接下來,我們将介紹 CAM 的一些公式。

對于圖像,您可以使用以下公式計算類别 c 的分數,其中 k 表示最後一個卷積圖層的通道,xy 表示特征圖的坐标,f 表示特征圖,w 表示 Softmax 的權重:

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

凸輪圖檔屬于c類的評分公式

對于c類,我們可以得到一張圖中每個區域的重要性圖,公式如下,即特征圖權重和得到:

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

CAM 圖檔重要性地圖公式

以下是凸輪可視化,可以更清晰地定位到圖像中更相關的位置。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

凸輪可視化

同時,對于不同類别的類生成熱嘗試,CAM是不同的,如下所示,對于類别圓頂(dome),熱量嘗試集中在建築物的頂部。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

CAM 對不同類别可視化的影響

<>3的實驗效果</h1>

筆者首先驗證了CAM算法的分類效果,如下表所示,其中GAP是指使用全局平均池而不是完全連接配接(即CAM算法),而GMP是指使用全局最大池化而不是完全連接配接。您可以看到,模型的錯誤率随着 CAM 的增加而增加,其中 AlexNet 最為嚴重。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

CAM算法的分類效果

筆者随後驗證了CAM算法在弱監督目标任務中的效果,結果如下表所示,弱是指使用弱監督訓練,而完全是指使用全監督訓練,可以看出CAM具有良好的效果,而完全監督訓練AlexNet效果類似。

CNN 可視化算法 CAM1.概述2.CAM3.實驗效果4.參考文獻

CAM算法的定位效果

< h1 類""pgc-h-right-arrow" data-track""28" > 4</h1>

學習用于區分性本地化的深度功能