CNN可視化技術總結(一)-特征圖可視化
CNN可視化技術總結(二)--卷積核可視化
CNN可視化技術總結(三)--類可視化
導言:
前面介紹了可視化的三種方法--特征圖可視化,卷積核可視化,類可視化,這三種方法在很多提出新模型或新方法的論文中很常見,其主要作用是提高模型或者新方法的可信度,或者用來增加工作量,或者用來湊字數,還有一些作用是幫助理解模型針對某個具體任務是如何學習,學到了哪些信息,哪些區域對於識別有影響等。
本文將介紹一些可視化的項目,主要有CNN解釋器,特征圖、卷積核、類可視化的一些代碼和項目,結構可視化工具,網絡結構手動畫圖工具。
1. CNN-Explainer
這是一個中國博士發布的名叫CNN解釋器的在線交互可視化工具。主要對於那些初學深度學習的小白們 理解關於神經網絡是如何工作很有幫助,如卷積過程,ReLU過程,平均池化過程,中間每一層的特征圖的樣子,都可以看到,相當於給了一個顯微鏡,可以隨意對任意一層,任何一項操作的前后變化,觀察得清清楚楚。
顯示卷積的過程中前后特征圖的變化,中間的操作。
CNN是如何輸出預測的
還可以在線上傳圖片,看到一張圖片在經過每一層的卷積,池化,激活后的變化,最后輸出預測結果。
項目鏈接:
https://github.com/poloclub/cnn-explainer
2. 一些可視化特征圖、卷積核、熱力圖的代碼。
可視化特征圖
https://github.com/waallf/Viusal-feature-map
可視化卷積核
https://keras.io/examples/vision/visualizing_what_convnets_learn/
https://blog.keras.io/how-convolutional-neural-networks-see-the-world.html
Grad-CAM
https://github.com/ramprs/grad-cam
熱力圖
https://github.com/heuritech/convnets-keras
下面這個項目是同時包含特征圖可視化,卷積核可視化和熱力圖的一個鏈接:
https://github.com/raghakot/keras-vis
3. 結構可視化工具
Netscope
用於可視化模型結構的在線工具,僅支持caffe的prototxt文件可視化。需要自己寫prototxt格式的文件。
此圖來源於網絡,侵刪
項目地址:
https://github.com/ethereon/netscope
ConvNetDraw
這個工具用兩個圖可直接說明,第一個是輸入,第二個是輸出
這兩個圖來源於網絡,侵刪
項目地址:
https://github.com/cbovar/ConvNetDraw
PlotNeuralNet
這個稍微麻煩一點點,效果圖如下:
項目地址:
https://github.com/HarisIqbal88/PlotNeuralNet
4. 網絡結構手動畫圖工具
很多新手會問的一個問題,論文中那些網絡結構圖是如何畫的。
這里解答一下,我所了解的主要是用PPT, VISIO。當然也可以使用上面那幾個。
再補充一個在線工具,NN-SVG
項目地址:http://alexlenail.me/NN-SVG/
總結
這四篇文章基本介紹完了目前CNN可視化的一些方法,即特征圖可視化,卷積核可視化和類可視化,總結了一些可視化工具與項目,當然不免也有個別遺漏的,日后若有一些比較重大突破的一些可視化工具出來,將繼續補充,將放在公眾號(CV技術指南)的技術總結部分。
對於可視化,其實還包括訓練過程的可視化,如Loss值,精度等實時更新,這個比較簡單,就不在這個總結系列里說明了。
本文來源於公眾號《CV技術指南》的技術總結部分,更多相關技術總結請掃描文末二維碼關注公眾號。