利用Python實現卷積神經網絡的可視化(附Python代碼)

對於深度學習這種端到端模型來講,如何說明和理解其中的訓練過程是大多數研究者關注熱點之一,這個問題對於那種高風險行業顯得尤其重視,好比醫療、軍事等。在深度學習中,這個問題被稱做「黑匣子(Black Box)」。若是不能解釋模型的工做過程,咱們怎麼可以就輕易相信模型的輸出結果呢?網絡

以深度學習模型檢測癌症腫瘤爲例,該模型告訴你它可以檢測出癌症的準確率高達99%,但它並無告訴你它是如何工做並給出判斷結果的。那麼該模型是在覈磁共振掃描片子中發現了重要線索嗎?或者僅僅是將掃描結果上的污點錯誤地認爲是腫瘤呢?模型的輸出結果關係到病人的生死問題及治療方案,醫生是不能承擔起這種錯誤的。性能

bd72b499782f544d452a2ea2a566e9e1a3cea470

在本文中,將探討如何可視化卷積神經網絡(CNN),該網絡在計算機視覺中使用最爲普遍。首先了解CNN模型可視化的重要性,其次介紹可視化的幾種方法,同時以一個用例幫助讀者更好地理解模型可視化這一律念。學習

1.卷積神經網絡模型可視化的重要性測試

正如上文中介紹的癌症腫瘤診斷案例所看到的,研究人員須要對所設計模型的工做原理及其功能掌握清楚,這點相當重要。通常而言,一名深度學習研究者應該記住如下幾點:spa

1. 理解模型是如何工做的設計

2. 調整模型的參數blog

3. 找出模型失敗的緣由get

4. 向消費者/終端用戶或業務主管解釋模型作出的決定深度學習

如今讓咱們看一個例子,可視化一個神經網絡模型有助於理解其工做原理和提高模型性能。pdf

曾幾什麼時候,美國陸軍但願使用神經網絡自動檢測假裝的敵方坦克。研究人員使用50張迷彩坦克照片及50張樹林照片來訓練一個神經網絡。使用有監督學習方法來訓練模型,當研究人員訓練好網絡的參數後,網絡模型可以對訓練集作出正確的判斷——50張迷彩坦克全都輸出「Yes」,50張樹林照片全都輸出「No」。可是這並不能保證模型對於新的樣本也能正確分類。聰明的是,研究人員最初拍攝了200張照片,其中包含了100張迷彩坦克照片、100張樹木照片。從中分別選取50張照片合計100張照片做爲訓練集,剩餘的100張照片做爲測試集。結果發現,模型對測試集也能正確分類。所以,研究人員以爲模型沒有問題了,就將最終成果交付給軍方。原覺得軍方會很滿意這份研究成果,結果軍方作出的反饋是他們進行測試後發現效果並很差。

相關文章
相關標籤/搜索