91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

3種CNN的可視化方法

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2021-01-07 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導讀

神經(jīng)網(wǎng)絡進行可視化分析不管是在學習上還是實際應用上都有很重要的意義,基于此,本文介紹了3種CNN的可視化方法:可視化中間特征圖,可視化卷積核,可視化圖像中類激活的熱力圖。每種方法均附有相關(guān)代碼詳解。

注:本文所有資料均來自Keras之父、Google人工智能研究員Francois Chollet的大作:《Python深度學習》,建議大家直接去看原文,這里只是結(jié)合樓主的理解做點筆記。

引言

有一些同學認為深度學習、神經(jīng)網(wǎng)絡什么的就是一個黑盒子,沒辦法、也不需要分析其內(nèi)部的工作方式。個人認為這種說法“謬之千里”。

首先,站在自動特征提取或表示學習的角度來看,深度學習還是很好理解,即通過一個層級結(jié)構(gòu),由簡單到復雜逐步提取特征,獲得易于處理的高層次抽象表示。其次,現(xiàn)在也已經(jīng)有很多方法對神經(jīng)網(wǎng)絡進行分析了,特別是一些可視化方法,可以很直觀的展示深度模型的特征提取過程。

對神經(jīng)網(wǎng)絡進行可視化分析不管是在學習上還是實際應用上都有很重要的意義,基于此,本文將介紹以下3種CNN的可視化方法:

可視化中間特征圖。

可視化卷積核。

可視化圖像中類激活的熱力圖。

可視化中間特征圖

這種方法很簡單,把網(wǎng)絡中間某層的輸出的特征圖按通道作為圖片進行可視化展示即可,如下述代碼所示:

import matplotlib.pyplot as plt #get feature map of layer_activation plt.matshow(layer_activation[0, :, :, 4], cmap='viridis')

把多個特征圖可視化后堆疊在一起可以得到與下述類似的圖片。

上圖為某CNN 5-8 層輸出的某喵星人的特征圖的可視化結(jié)果(一個卷積核對應一個小圖片)。可以發(fā)現(xiàn)越是低的層,捕捉的底層次像素信息越多,特征圖中貓的輪廓也越清晰。越到高層,圖像越抽象,稀疏程度也越高。這符合我們一直強調(diào)的特征提取概念。

可視化卷積核

想要觀察卷積神經(jīng)網(wǎng)絡學到的過濾器,一種簡單的方法是獲取每個過濾器所響應的視覺模式。我們可以將其視為一個優(yōu)化問題,即從空白輸入圖像開始,將梯度上升應用于卷積神經(jīng)網(wǎng)絡的輸入圖像,讓某個過濾器的響應最大化,最后得到的圖像是選定過濾器具有較大響應的圖像。

核心代碼如下所示(利用Keras框架):

def generate_pattern(layer_name, filter_index, size=150): layer_output = model.get_layer(layer_name).output loss = K.mean(layer_output[:, :, :, filter_index]) grads = K.gradients(loss, model.input)[0] grads /= (K.sqrt(K.mean(K.square(grads))) + 1e-5) iterate = K.function([model.input], [loss, grads]) input_img_data = np.random.random((1, size, size, 3)) * 20 + 128. step = 1. for i in range(40): loss_value, grads_value = iterate([input_img_data]) input_img_data += grads_value * step img = input_img_data[0] return deprocess_image(img)

將輸入圖片張量轉(zhuǎn)換回圖片后進行可視化,可以得到與下述類似的圖片:

block1_conv1 層的過濾器模式

block2_conv1 層的過濾器模式

block3_conv1 層的過濾器模式

block4_conv1 層的過濾器模式

隨著層數(shù)的加深,卷積神經(jīng)網(wǎng)絡中的過濾器變得越來越復雜,越來越精細。模型第一層( block1_conv1 )的過濾器對應簡單的方向邊緣和顏色,高層的過濾器類似于自然圖像中的紋理:羽毛、眼睛、樹葉等。

可視化圖像中類激活的熱力圖

即顯示原始圖片的不同區(qū)域?qū)δ硞€CNN輸出類別的“貢獻”程度,如下面圖片所示:

可以看到,大象頭部對“大象”這個類別的“貢獻”程度較高,而且這種方法似乎可以在一定程度上進行無監(jiān)督的目標檢測。

下面是書中原文,可能有點繞口。

我們將使用的具體實現(xiàn)方式是“Grad-CAM: visual explanations from deep networks via gradient-based localization”這篇論文中描述的方法。這種方法非常簡單:給定一張輸入圖像,對于一個卷積層的輸出特征圖,用類別相對于通道的梯度對這個特征圖中的每個通道進行加權(quán)。直觀上來看,理解這個技巧的一種方法是,你是用“每個通道對類別的重要程度”對“輸入圖像對不同通道的激活強度”的空間圖進行加權(quán),從而得到了“輸入圖像對類別的激活強度”的空間圖。

這里談一下我的理解,給定線性函數(shù),y為類別,等等為輸入。可以看到這里對y的貢獻為,恰好為。當然了,深度模型中有非線性激活函數(shù),不能簡化為一個線性模型,所以這只是啟發(fā)性的理解。

代碼如下所示:

african_elephant_output = model.output[:, 386] last_conv_layer = model.get_layer('block5_conv3') grads = K.gradients(african_elephant_output, last_conv_layer.output)[0] pooled_grads = K.mean(grads, axis=(0, 1, 2)) iterate = K.function([model.input], [pooled_grads, last_conv_layer.output[0]]) pooled_grads_value, conv_layer_output_value = iterate([x]) for i in range(512): conv_layer_output_value[:, :, i] *= pooled_grads_value[i] heatmap = np.mean(conv_layer_output_value, axis=-1) heatmap = np.maximum(heatmap, 0) heatmap /= np.max(heatmap) plt.matshow(heatmap)

得到的熱力圖如下所示:

經(jīng)下述代碼處理后,可以得到本節(jié)開始時的圖片。

import cv2 img = cv2.imread(img_path) heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0])) heatmap = np.uint8(255 * heatmap) heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET) superimposed_img = heatmap * 0.4 + img cv2.imwrite('/Users/fchollet/Downloads/elephant_cam.jpg', superimposed_img)

結(jié)語

本文到這里就結(jié)束了,這里再次推薦一下Francois Chollet大佬的書,寫的很接地氣,建議新手們都看看。

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1264

    瀏覽量

    21868
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122805
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    354

    瀏覽量

    22746

原文標題:CNN 的一些可視化方法!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    工業(yè)設備數(shù)據(jù)集中監(jiān)控可視化管理平臺是什么

    工業(yè)設備數(shù)據(jù)集中監(jiān)控可視化管理平臺是一用于整合、監(jiān)控和可視化工業(yè)設備數(shù)據(jù)的綜合性系統(tǒng),旨在幫助企業(yè)實現(xiàn)設備數(shù)據(jù)的集中管理、實時監(jiān)控和可視化展示,從而提升生產(chǎn)效率、優(yōu)化設備運行狀態(tài)并支
    的頭像 發(fā)表于 05-06 11:10 ?238次閱讀

    VirtualLab Fusion應用:3D系統(tǒng)可視化

    描述和F-Theta透鏡的應用示例。 光學系統(tǒng)的3D-可視化 VirtualLab Fusion提供的工具可以實現(xiàn)光學系統(tǒng)的3D可視化,因此可以用于檢查元件的位置,以及快速了解系統(tǒng)內(nèi)
    發(fā)表于 04-30 08:47

    可視化組態(tài)物聯(lián)網(wǎng)平臺是什么

    可視化含義:組態(tài)是一用于構(gòu)建復雜物聯(lián)網(wǎng)系統(tǒng)的工具,它提供了豐富的圖形組件和可視化元素,使得用戶可以通過簡單的拖拽操作來創(chuàng)建自定義的界面。可視化
    的頭像 發(fā)表于 04-21 10:40 ?299次閱讀

    VirtualLab Fusion應用:光學系統(tǒng)的3D可視化

    3D 系統(tǒng)視圖: 無光可視化系統(tǒng) 選項 - 選擇要顯示的元件 右鍵單擊文檔窗口,菜單上將顯示詳細選項。第一個選項 \"Select Elements to Show\"允許對文
    發(fā)表于 04-02 08:42

    VirtualLab Fusion中的可視化設置

    摘要 VirtualLab Fusion中的全局選項對話框可以輕松定制軟件的外觀和感覺。還可以保存和加載全局選項文件,以便可以輕松地將偏好設置從一個設備轉(zhuǎn)移到另一個設備。本文檔說明了與可視化和結(jié)果
    發(fā)表于 02-25 08:51

    VirtualLab Fusion應用:光波導k域布局可視化(“神奇的圓環(huán)”)

    ,光可以在TIR(全反射)作用下傳播,并與光導表面上不同類型的光柵結(jié)構(gòu)相結(jié)合,以耦合光進出。在VirtualLab Fusion中,k-Layout可視化工具提供了一在k域中強大的圖解方法,用于分析
    發(fā)表于 02-21 08:53

    七款經(jīng)久不衰的數(shù)據(jù)可視化工具!

    Sense 是一自助式分析工具,旨在通過內(nèi)存計算和可視化手段使數(shù)據(jù)分析變得簡單直觀。它適合各種規(guī)模的企業(yè),但相比于Tableau和Power BI,其學習曲線稍顯陡峭。 3. 開源數(shù)據(jù)
    發(fā)表于 01-19 15:24

    光學系統(tǒng)的3D可視化

    D視圖 3D 系統(tǒng)視圖: 無光可視化系統(tǒng) 選項 - 選擇要顯示的元件 右鍵單擊文檔窗口,菜單上將顯示詳細選項。第一個選項 \"Select Elements to Show\"
    發(fā)表于 01-06 08:53

    什么是大屏數(shù)據(jù)可視化?特點有哪些?

    大屏數(shù)據(jù)可視化是指通過大屏幕展示大量數(shù)據(jù)和信息,以直觀、可視化的方式幫助用戶理解和分析數(shù)據(jù)。這種展示方式通常用于展示復雜的數(shù)據(jù)集、實時監(jiān)控系統(tǒng)、企業(yè)管理儀表盤等。以下是關(guān)于 大屏數(shù)據(jù)可視化 的詳細
    的頭像 發(fā)表于 12-16 16:59 ?687次閱讀

    如何找到適合的大屏數(shù)據(jù)可視化系統(tǒng)

    選擇合適的大屏數(shù)據(jù)可視化系統(tǒng)是企業(yè)或組織在數(shù)字轉(zhuǎn)型過程中至關(guān)重要的一步。一個優(yōu)秀的大屏數(shù)據(jù)可視化系統(tǒng)能夠?qū)崟r呈現(xiàn)關(guān)鍵業(yè)務數(shù)據(jù),提升決策效率,同時提供直觀、易于理解的視覺呈現(xiàn),助力企業(yè)洞察數(shù)據(jù)背后
    的頭像 發(fā)表于 12-13 15:47 ?493次閱讀

    智慧能源可視化監(jiān)管平臺——助力可視化能源數(shù)據(jù)管理

    博達可視化大屏設計平臺在智慧能源領(lǐng)域的價值體現(xiàn)在實時監(jiān)控、數(shù)據(jù)可視化、決策支持和效率提升等方面。借助該平臺,企業(yè)可以輕松搭建智慧能源類可視化大屏,更加精確和高效地管理生產(chǎn)和生活,實現(xiàn)能源的可持續(xù)發(fā)展。
    的頭像 發(fā)表于 11-29 10:00 ?953次閱讀
    智慧能源<b class='flag-5'>可視化</b>監(jiān)管平臺——助力<b class='flag-5'>可視化</b>能源數(shù)據(jù)管理

    智慧樓宇可視化的優(yōu)點

    智慧樓宇可視化是指通過數(shù)據(jù)可視化技術(shù)來展示和分析樓宇的各種數(shù)據(jù),為樓宇管理者和用戶提供直觀、清晰的信息展示和決策支持。以下是智慧樓宇可視化的優(yōu)點,詳細介紹其在樓宇管理和運營中的重要作用: 1.實時
    的頭像 發(fā)表于 11-19 14:25 ?486次閱讀

    工業(yè)數(shù)據(jù)可視化管理平臺是什么

    數(shù)據(jù)可視化管理平臺應運而生,它以其獨特的功能和優(yōu)勢,正在成為工業(yè)數(shù)字轉(zhuǎn)型的重要工具。 工業(yè)數(shù)據(jù)可視化管理平臺的定義 工業(yè)數(shù)據(jù)可視化管理平臺是一
    的頭像 發(fā)表于 08-28 14:21 ?640次閱讀

    數(shù)字孿生3D大屏可視化技術(shù)應用優(yōu)勢

    數(shù)字孿生3D大屏可視化技術(shù)是一融合虛擬現(xiàn)實、增強現(xiàn)實和大數(shù)據(jù)等技術(shù)的創(chuàng)新型可視化工具,為用戶提供了沉浸式的交互體驗,同時能夠在大屏幕上展示高保真度的虛擬模型。這項技術(shù)在多個領(lǐng)域有著廣
    的頭像 發(fā)表于 07-31 15:05 ?982次閱讀
    主站蜘蛛池模板: 视频一区中文字幕 | 婷婷99视频精品全部在线观看 | 日本在线网址 | 国产特级毛片aaaaaa毛片 | 操人视频网站 | 亚洲成人观看 | 激情天堂| 在线视频免费视频网站 | 国内精品一区二区在线观看 | 91久久人澡人人添人人爽 | 亚洲视频在线一区二区 | 免费看污黄视频软件 | 国产成人99久久亚洲综合精品 | 人人洗澡人人洗澡人人 | 亚洲xxx视频| 一级黄a | 清纯漂亮小美女准备啪啪 | 亚洲成人精品 | 欧美日韩高清一区 | 国产精品久久免费观看 | 夜夜爽夜夜| 亚洲一区二区高清 | 国产成人无精品久久久久国语 | 亚洲午夜一级毛片 | 2017亚洲男人天堂 | 一级毛片视频在线 | 伊人不卡久久大香线蕉综合影院 | 高h 男男| 黄色一级片在线观看 | 日本色图网站 | 4hc44四虎www视频 | 色多多影视| 天天天干 | 99久久国产免费 - 99久久国产免费 | 亚洲久优优色优在线播放 | 欧美性猛交xxx嘿人猛交 | 欧美亚洲网站 | 成年大片免费视频播放手机不卡 | 最新国产你懂的在线网址 | 国产夜夜操 | 日本一区二区视频在线观看 |