在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

3種CNN的可視化方法

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2021-01-07 14:36 ? 次閱讀

導讀

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

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

引言

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

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

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

可視化中間特征圖。

可視化卷積核。

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

可視化中間特征圖

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

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

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

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

可視化卷積核

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

核心代碼如下所示(利用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)

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

block1_conv1 層的過濾器模式

block2_conv1 層的過濾器模式

block3_conv1 層的過濾器模式

block4_conv1 層的過濾器模式

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

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

即顯示原始圖片的不同區域對某個CNN輸出類別的“貢獻”程度,如下面圖片所示:

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

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

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

這里談一下我的理解,給定線性函數,y為類別,等等為輸入??梢钥吹竭@里對y的貢獻為,恰好為。當然了,深度模型中有非線性激活函數,不能簡化為一個線性模型,所以這只是啟發性的理解。

代碼如下所示:

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)

得到的熱力圖如下所示:

經下述代碼處理后,可以得到本節開始時的圖片。

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)

結語

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

責任編輯:lq

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

    關注

    1

    文章

    1198

    瀏覽量

    20987
  • 深度學習
    +關注

    關注

    73

    文章

    5510

    瀏覽量

    121332
  • cnn
    cnn
    +關注

    關注

    3

    文章

    353

    瀏覽量

    22265

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

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

收藏 人收藏

    評論

    相關推薦

    光學系統的3D可視化

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

    什么是大屏數據可視化?特點有哪些?

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

    智慧能源可視化監管平臺——助力可視化能源數據管理

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

    智慧樓宇可視化的優點

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

    數字孿生3D大屏可視化技術應用優勢

    數字孿生3D大屏可視化技術是一融合虛擬現實、增強現實和大數據等技術的創新型可視化工具,為用戶提供了沉浸式的交互體驗,同時能夠在大屏幕上展示高保真度的虛擬模型。這項技術在多個領域有著廣
    的頭像 發表于 07-31 15:05 ?548次閱讀

    3D可視化賦能智慧園區安防管理,開啟園區管理新篇章!

    ? ? ? ?3D可視化,主要是研究大規模非數值型信息資源的視覺呈現,以及利用圖形方面的技術與方法,幫助人們理解和分析數據。 ? ? ? ?傳統園區的信息往往數據不互通,業務難融合,
    的頭像 發表于 07-17 10:57 ?365次閱讀

    大屏數據可視化 開源

    在當今信息爆炸的時代,數據已經成為各個行業決策制定和業務發展的關鍵。為了更直觀、準確地理解和利用海量數據, 大屏數據可視化 成為一強大的工具。通過將數據以圖表、圖形等形式展示在大屏幕上,不僅
    的頭像 發表于 06-27 16:06 ?436次閱讀
    大屏數據<b class='flag-5'>可視化</b> 開源

    如何實現園區大屏可視化?

    孿生可視化 構建平臺利用Web三維可視化技術對現實場景進行仿真,實現園區級業務場景 的可視化呈現,助力企業快速完成項目的實施。實現園區場景立體可先,極致可視。那么,今天古河云科技就來給
    的頭像 發表于 06-19 15:39 ?454次閱讀
    如何實現園區大屏<b class='flag-5'>可視化</b>?

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一將數據以圖形、圖像、動畫等視覺形式展現出來的技術,特別是在處理和分析態勢數據時,該技術能夠將復雜的數據轉化為直觀、易于理解的視覺表現。以下是態勢數據可視化技術
    的頭像 發表于 06-11 15:47 ?399次閱讀

    智慧大屏是如何實現數據可視化的?

    智慧大屏,作為數據可視化的重要載體,已在城市管理、交通監控、商業運營等領域廣泛應用。本文旨在闡述智慧大屏實現數據可視化的關鍵技術和方法,包括數據源管理、數據處理、視覺編碼、用戶界面與交互設計等。
    的頭像 發表于 06-04 15:02 ?651次閱讀
    智慧大屏是如何實現數據<b class='flag-5'>可視化</b>的?

    大屏數據可視化的作用和意義

    大屏數據可視化是指利用大屏幕設備展示數據信息,通過圖表、圖像、動畫等視覺手段將數據呈現出來,以便用戶能夠直觀、清晰地理解數據背后的含義和關聯。在信息化時代,數據已經成為企業決策和運營的重要依托,而
    的頭像 發表于 06-03 17:56 ?716次閱讀

    大屏數據可視化是什么?運用了什么技術

    大屏數據可視化 是一利用大屏幕設備展示數據可視化結果的技術,旨在以更生動、直觀的方式呈現數據信息。這種數據展示方式廣泛應用于各種場景,包括會議、展覽、監控中心等,旨在幫助用戶更快速、準確地理
    的頭像 發表于 05-24 15:35 ?897次閱讀

    FUXA基于Web的過程可視化軟件案例

    FUXA——基于Web的過程可視化軟件
    發表于 04-24 18:32 ?2次下載

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一將復雜、動態的態勢數據以直觀、易于理解的方式展現出來的技術手段。以下是幾種主要的態勢數據可視化技術: 網絡安全態勢指標可視化分析系統及
    的頭像 發表于 04-22 15:17 ?435次閱讀

    態勢可視化系統軟件

    智慧華盛恒輝態勢可視化是一對特定環境中一段時間內的持續動作和改變的目標實體的感知、認知和理解,并最終以直觀、靈活、逼真的方式展示總體狀態的技術。 智慧華盛恒輝可視化技術是戰場環境表達的最重要形式
    的頭像 發表于 04-22 14:48 ?346次閱讀
    主站蜘蛛池模板: www五月天com| 久久精品国产99精品最新| 美女黄页在线观看| 综合婷婷丁香| 国产大片黄在线观看| 天天曰夜夜操| brazzersvideosexhd欧美高清| 欧美成人精品一区二区| 午夜爱爱免费视频| 亚洲a成人| 中文字幕第一页在线| 性欧美xxxx乳高跟| 亚洲四虎| 在线你懂的网址| 青青草99热久久| 中国毛茸茸bbxx| 四虎影视大全免费入口| 亚洲一级色| 色网站在线| 久久精品视频免费观看| 欧美在线1| 日韩高清性爽一级毛片免费| 天堂网久久| 亚洲电影一区二区| 日韩美女拍拍免费视频网站| 久久e| 恐怖片大全恐怖片免费观看好看的恐怖片 | 亚洲成人在线播放| 日本黄色免费在线| 日韩欧美黄色| 好爽毛片一区二区三区四| 黄色小视频免费看| 欧美在线观看一区二区三| 激情六月天| 午夜视频久久| 国产高清一级在线观看| 日本高清视频不卡| 色丁香在线| 欧美精品一区视频| 成人欧美一区二区三区黑人3p| 男女啪视频大全1000|