91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

3種CNN的可視化方法

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

掃碼添加小助手

加入工程師交流群

導(dǎo)讀

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

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

引言

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

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

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

可視化中間特征圖。

可視化卷積核。

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

可視化中間特征圖

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

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

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

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

可視化卷積核

想要觀察卷積神經(jīng)網(wǎng)絡(luò)學(xué)到的過濾器,一種簡(jiǎn)單的方法是獲取每個(gè)過濾器所響應(yīng)的視覺模式。我們可以將其視為一個(gè)優(yōu)化問題,即從空白輸入圖像開始,將梯度上升應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)的輸入圖像,讓某個(gè)過濾器的響應(yīng)最大化,最后得到的圖像是選定過濾器具有較大響應(yī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)換回圖片后進(jìn)行可視化,可以得到與下述類似的圖片:

block1_conv1 層的過濾器模式

block2_conv1 層的過濾器模式

block3_conv1 層的過濾器模式

block4_conv1 層的過濾器模式

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

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

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

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

下面是書中原文,可能有點(diǎn)繞口。

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

這里談一下我的理解,給定線性函數(shù),y為類別,等等為輸入??梢钥吹竭@里對(duì)y的貢獻(xiàn)為,恰好為。當(dāng)然了,深度模型中有非線性激活函數(shù),不能簡(jiǎn)化為一個(gè)線性模型,所以這只是啟發(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é)開始時(shí)的圖片。

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大佬的書,寫的很接地氣,建議新手們都看看。

責(zé)任編輯:lq

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

    關(guān)注

    1

    文章

    1353

    瀏覽量

    22791
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5598

    瀏覽量

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

    關(guān)注

    3

    文章

    355

    瀏覽量

    23417

原文標(biāo)題:CNN 的一些可視化方法!

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于圖撲 HT 數(shù)字孿生 3D 風(fēng)電場(chǎng)可視化系統(tǒng)實(shí)現(xiàn)解析

    了數(shù)字孿生 3D 風(fēng)電場(chǎng)可視化系統(tǒng),實(shí)現(xiàn)了風(fēng)電場(chǎng)全場(chǎng)景的遠(yuǎn)程監(jiān)測(cè)、智能巡檢與數(shù)字管理。本文從技術(shù)角度出發(fā),結(jié)合系統(tǒng)功能模塊,深入解析各核心功能的實(shí)現(xiàn)邏輯與技術(shù)路徑。 系統(tǒng)以 HT for Web 為核心技術(shù)支撐,該引擎基于 W
    的頭像 發(fā)表于 01-09 15:35 ?324次閱讀
    基于圖撲 HT 數(shù)字孿生 <b class='flag-5'>3</b>D 風(fēng)電場(chǎng)<b class='flag-5'>可視化</b>系統(tǒng)實(shí)現(xiàn)解析

    基于 HT 技術(shù)的園區(qū)元宇宙可視化管理平臺(tái)

    設(shè)計(jì)、核心功能實(shí)現(xiàn)及技術(shù)亮點(diǎn),展現(xiàn)如何通過HT技術(shù)實(shí)現(xiàn)園區(qū)“安環(huán)能”一體管控。 HT 技術(shù)作為平臺(tái)開發(fā)的核心支撐,其基于 HTML5 標(biāo)準(zhǔn)的特性,為園區(qū)可視化管理提供了輕量、高效、跨終端的解決方案。平臺(tái)整體采用“3D場(chǎng)景渲染+
    的頭像 發(fā)表于 11-07 14:54 ?404次閱讀
    基于 HT 技術(shù)的園區(qū)元宇宙<b class='flag-5'>可視化</b>管理平臺(tái)

    工業(yè)可視化平臺(tái)是什么

    工業(yè)可視化平臺(tái)是一基于信息技術(shù)和可視化技術(shù),將工業(yè)生產(chǎn)過程中的數(shù)據(jù)、信息、流程等以直觀、動(dòng)態(tài)的圖形方式呈現(xiàn),并實(shí)現(xiàn)交互式管理與分析的數(shù)字化工具。它通過整合工業(yè)物聯(lián)網(wǎng)(IIoT)、大
    的頭像 發(fā)表于 10-24 18:00 ?1062次閱讀

    光伏電站可視化的實(shí)現(xiàn)

    實(shí)現(xiàn)光伏電站可視化,核心是在于通過直觀的視覺界面,解決傳統(tǒng)運(yùn)維中低效巡檢、數(shù)據(jù)孤島、被動(dòng)響應(yīng)等痛點(diǎn),從而提升運(yùn)營效率并提供決策支持。這是一有效的技術(shù)手段,通過數(shù)字孿生、三維建模、數(shù)據(jù)融合等技術(shù)
    的頭像 發(fā)表于 10-21 17:29 ?1151次閱讀
    光伏電站<b class='flag-5'>可視化</b>的實(shí)現(xiàn)

    數(shù)字孿生可視化系統(tǒng)構(gòu)建行業(yè)數(shù)字智能管理生態(tài)!

    數(shù)字孿生可視化系統(tǒng)具備豐富的模型組件,包括二維平面組件及3D模型組件,可根據(jù)用戶需求進(jìn)行定制。數(shù)字孿生可視化系統(tǒng)在行業(yè)數(shù)字升級(jí)、數(shù)字管理
    的頭像 發(fā)表于 09-19 11:45 ?736次閱讀
    數(shù)字孿生<b class='flag-5'>可視化</b>系統(tǒng)構(gòu)建行業(yè)數(shù)字<b class='flag-5'>化</b>智能管理生態(tài)!

    基于 HT 的 3D 可視化智慧礦山開發(fā)實(shí)現(xiàn)

    圖撲軟件 Hightopo 作為基于 HTML5 標(biāo)準(zhǔn)的 2D/3D 圖形渲染引擎,為 Web 端礦山可視化提供了輕量化、高性能的技術(shù)支撐。其核心價(jià)值在于通過自主研發(fā)的渲染技術(shù),實(shí)現(xiàn)瀏覽器端無需插件
    的頭像 發(fā)表于 07-18 15:49 ?683次閱讀
    基于 HT 的 <b class='flag-5'>3</b>D <b class='flag-5'>可視化</b>智慧礦山開發(fā)實(shí)現(xiàn)

    如何使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化

    使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化,需結(jié)合數(shù)據(jù)捕獲、協(xié)議解碼、統(tǒng)計(jì)分析及可視化工具,將原始數(shù)據(jù)轉(zhuǎn)化為可解讀的圖表和報(bào)告。以下是詳細(xì)步驟及關(guān)鍵方法,涵蓋從數(shù)據(jù)采集到可視化的全流程:一、數(shù)
    發(fā)表于 07-16 14:16

    工業(yè)設(shè)備可視化管理系統(tǒng)是什么

    工業(yè)設(shè)備可視化管理系統(tǒng)是一基于物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、云計(jì)算、數(shù)字孿生等技術(shù),對(duì)工業(yè)設(shè)備的運(yùn)行狀態(tài)、性能參數(shù)、維護(hù)信息等進(jìn)行實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)整合與可視化呈現(xiàn)的智能管理平臺(tái)。它通過將復(fù)雜的設(shè)備數(shù)據(jù)
    的頭像 發(fā)表于 05-27 14:56 ?1122次閱讀
    工業(yè)設(shè)備<b class='flag-5'>可視化</b>管理系統(tǒng)是什么

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

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

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

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

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

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

    可視化組態(tài)數(shù)據(jù)管理平臺(tái)是什么

    可視化組態(tài)數(shù)據(jù)管理平臺(tái)是一用于工業(yè)自動(dòng)、物聯(lián)網(wǎng)、能源管理等領(lǐng)域的軟件平臺(tái),它結(jié)合了可視化和組態(tài)技術(shù),幫助用戶實(shí)現(xiàn)數(shù)據(jù)的采集、管理、展示和分析。以下是其具體介紹: 定義 組態(tài)的含義:
    的頭像 發(fā)表于 04-21 10:00 ?736次閱讀

    光伏電站數(shù)字孿生可視化平臺(tái)涉及哪些技術(shù)?

    光伏電站的數(shù)字孿生可視化是利用數(shù)字技術(shù)構(gòu)建光伏電站的虛擬模型,旨在實(shí)現(xiàn)電站運(yùn)行狀態(tài)、設(shè)備性能、環(huán)境參數(shù)等的實(shí)時(shí)監(jiān)測(cè)、分析和優(yōu)化,為光伏電站的運(yùn)維管理提供更加科學(xué)、高效的技術(shù)方法。光伏電站數(shù)字孿生
    的頭像 發(fā)表于 04-14 14:55 ?772次閱讀
    光伏電站數(shù)字孿生<b class='flag-5'>可視化</b>平臺(tái)涉及哪些技術(shù)?

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

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