MIT提出Matlab插件mNeuron:实现深度模型神经元的可视化
MIT提出Matlab插件mNeuron:實現深度模型神經元的可視化
By?黃小天2017年6月27日 15:49 近日,麻省理工學院(MIT)Antonio Torralba 等人發表了一篇題為《mNeuron: A Matlab Plugin to Visualize Neurons from Deep Models》的文章,介紹了一個可視化深度模型神經元的 Matlab 插件 mNeuron,能夠可視化單個神經元和單個神經元模式;并共享了該插件實現的代碼和 4 個應用演示。項目鏈接:http://vision03.csail.mit.edu/cnn_art/?utm_content=buffer2ff9c&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
內容
- 代碼:通過反向傳播優化可視化從深度學習工具包中訓練的神經元 [支持 Caffe 和 matconvnet]
- 演示:
- 可視化單個神經元
- 可視化單個神經元模式
- 類內變體(Intra-class variation):優化已學習的 fc6 或 fc7 relu mask
- 層級二進制 CNN 代碼(Hierarchical binary CNN code):通過預定義的 relu mask 優化
- CNN 圖像完成(Image completion with CNN):通過邊界條件優化
- 參考
- 可視化方法根據《Mahendran and Vedaldi. Understanding Deep Image Representations by Inverting Them》進行了改良。
- 說明書
演示 1:可視化單一神經元(V_neuronInv.m)
目的:找到一個圖像,可以使單神經元的激活值優化 [Erhan et al., Simonyan et al., Zhou et al.]?
a. 不同連接層(AlexNet):我們使從 ImageNet 數據集進行學習的 Conv 網絡 1、3、5 層的神經元可視化。隨著層的深度的增加,神經元學著去識別簡單的邊沿、斑點和紋理圖案,以及復雜的物體局部和類別(從 Conv 網絡的第 5 層,我們檢索了真實圖像從而與 Zhou et al. 的結果進行對比)。
b. 鑲嵌藝術(Tessellation Art)我們不會在 1x1 的接受域(receptive field)內對單神經元的激活值進行優化,我們把接受域延伸到了全圖范圍(GoogleNet inception4a—14x14)。我們手動整理了一些神經元的可視化結果,從而把物體的局部鑲嵌進藝術墻紙。
c. 不同的數據集:我們可視化了從兩個不同數據集(ImageNet 和 Places)進行學習的 Conv 網絡 4-5 層的神經元。
d. 不同的網絡:(AlexNet、VGG-16、NIN、GoogleNet)給定四個語義片段「狗、火焰、鐘表和車輪」,我們對四個不同網絡的約齊層(roughly aligned layers—在全連層之前)的最活化(top-activated)神經元進行可視化。
演示 2:可視化類內變體
類內變體:在給定一個物體類別的訓練圖像的情況之下,我們集群 Fc 神經元反應以找到一般性的神經元放電模式(神經通路)。對于每個模式,我們選擇 top-k 已激活的神經元,并從數字上找到一個優化這些神經元的全部激活值的圖像。
演示 3:可視化二進制 CNN 代碼
給定一張輸入圖像,我們可以把它的二進制代碼定義為其 relu mask m5-7。[Agrawal et al.(https://arxiv.org/abs/1407.1610)] 指出,這些二進制代碼取得了原始深度特征的相似分類結果。這里我們考慮三個不同的帶有漸增長度的二進制代碼:m7、m6-7、m5-7。
為了可視化一張圖像的二進制代碼,我們為 Fc8 標簽執行相同的「單一神經元可視化」的操作,除卻在優化過程之中原始 relu 層之后應用額外的二進制代碼。通過更多層的二進制代碼,我們可以恢復原始圖像的本質(essence),這部分解釋了它的分類有效性。
演示 4:用卷積神經網絡完成圖像 (V_inpaint.m)
詳見說明書 5.3 章節。主旨是我們可以利用圖像上的邊界約束來進行神經元(單一神經元或者神經元模式)可視化。
總結
以上是生活随笔為你收集整理的MIT提出Matlab插件mNeuron:实现深度模型神经元的可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚂蚁金服发布「定损宝」,推动图像定损技术
- 下一篇: http://hacker.duansh