丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能學(xué)術(shù) 正文
發(fā)私信給張大倩
發(fā)送

0

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

本文作者: 張大倩 編輯:幸麗娟 2020-02-22 14:56
導(dǎo)語:深度學(xué)習(xí)的黑盒問題一直以來都是機器學(xué)習(xí)領(lǐng)域的一大難題,而直接導(dǎo)致這一難題的便是神經(jīng)網(wǎng)絡(luò)中除輸入層和輸出層以外的隱藏層。隱藏層不直接接受外界的信號,也不直接向外界

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)的黑盒問題一直以來都是機器學(xué)習(xí)領(lǐng)域的一大難題,而直接導(dǎo)致這一難題的便是神經(jīng)網(wǎng)絡(luò)中除輸入層和輸出層以外的隱藏層。

隱藏層不直接接受外界的信號,也不直接向外界發(fā)送信號,因而如何認識隱藏層內(nèi)部的工作原理和運行機制,也成為深度學(xué)習(xí)研究中的一大挑戰(zhàn)。

可視化隱藏層是其中的一個解決方法,那如何做到呢?

對此,來自西蒙弗雷澤大學(xué)的幾位學(xué)生Pallavi Bharadwaj、Inderpartap Cheema、Najeeb Qazi 以及 Mrinal Gosain 合作寫作了一篇文章,不僅指出了了解神經(jīng)網(wǎng)絡(luò)隱藏層的重要性,還詳盡地介紹了如何可視化神經(jīng)網(wǎng)絡(luò)以及隱藏層的過程。

一:神經(jīng)網(wǎng)絡(luò)僅僅變得更智能

大腦皮層中神經(jīng)元之間的連接,啟發(fā)了模仿這些復(fù)雜連接的算法的開發(fā)。簡而言之,可以將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法理解為類似于新生兒通過一段時間的觀察和聆聽來學(xué)習(xí)辨認父母的方式。一旦神經(jīng)網(wǎng)絡(luò)接收到相當(dāng)大的所需數(shù)據(jù)集后,該網(wǎng)絡(luò)就會使用其精確的知識“權(quán)重”來證明或識別未知數(shù)據(jù)樣本上的模式。

讓我們來思考一下關(guān)于面部識別的任務(wù),網(wǎng)絡(luò)開始分析來自輸入層圖像的各個像素。在輸入層之后,“隱藏層”反復(fù)學(xué)習(xí)識別幾何形狀和特征,這些幾何形狀和特征由眼睛、嘴唇、疤痕等特定的特征構(gòu)成。在最終的輸出層中,它根據(jù)計算出的概率信息對人臉進行了充分的猜測,并識別該面孔到底是誰。

顯然,這些隱藏層在最終將輸入分解為有價值的信息方面,起著至關(guān)重要的作用。從輸入到輸出的過程中每一層處理的信息越來越復(fù)雜,而且通常而言,隱藏層,顧名思義,這個名詞籠罩著神秘的色彩,但是它們是這樣嗎?

二:神經(jīng)網(wǎng)絡(luò)坦克城市傳奇

AI 領(lǐng)域流傳了一個關(guān)于神經(jīng)網(wǎng)絡(luò)的故事,以檢測坦克為目標(biāo)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),結(jié)果神經(jīng)網(wǎng)絡(luò)卻學(xué)會了檢測一天的時間。

這個故事的來源是這樣的:

美國陸軍希望使用神經(jīng)網(wǎng)絡(luò)來自動檢測偽裝的敵方坦克。 研究人員用兩組數(shù)據(jù)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),一組是50張?zhí)箍藗窝b在樹林中的照片,另一組是50張沒有坦克的樹林照片。 然后,研究人員又拍攝了另外一組100張的照片,并進行了測試。

神經(jīng)網(wǎng)絡(luò)將剩余的所有照片都進行了正確的分類。并且分類結(jié)果得到成功確認! 研究人員將他們的檢測方式移交給了五角大樓,五角大樓很快將其退還了,他們抱怨在該神經(jīng)網(wǎng)絡(luò)上的測試完全失敗。

事實證明,在用于訓(xùn)練的數(shù)據(jù)集中,偽裝坦克的照片是在陰天拍攝的,而平原森林的圖像是在晴天拍攝的。 神經(jīng)網(wǎng)絡(luò)只不過是學(xué)會了區(qū)分多云和晴天,而不是學(xué)會識別偽裝的坦克。

無論故事是否真實,它都突出了深度學(xué)習(xí)中的“數(shù)據(jù)偏向”這一重要問題,但同時也讓一些人認識到,他們只有在得到最終輸出的結(jié)果后才能知道神經(jīng)網(wǎng)絡(luò)正在學(xué)習(xí)什么。即使結(jié)果對于給定的數(shù)據(jù)而言是正確的,但是更重要的是知道網(wǎng)絡(luò)是如何給出這些結(jié)果的,這就是為什么我們必須要了解隱藏層的工作原理。

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

三:隱藏層內(nèi)層到底是怎樣的?

我們回到網(wǎng)絡(luò)的基本構(gòu)建模塊——神經(jīng)元。 神經(jīng)元的各層構(gòu)成了復(fù)雜、性能最佳的神經(jīng)網(wǎng)絡(luò)。 但問題是,每個神經(jīng)元學(xué)到了什么?是否可以捕獲在任意特定的時間上的網(wǎng)絡(luò)圖像并查看每個神經(jīng)元的行為? 俗話說“一圖勝千言”,現(xiàn)階段所需要的就是可視化。

在最近的項目中,Tensorflow.js的合著者之一Daniel Smilkov和谷歌大腦團隊的Shan Carter共同創(chuàng)建了一個神經(jīng)網(wǎng)絡(luò)訓(xùn)練場(  Playground),旨在通過讓用戶與其進行交互和實驗來可視化隱藏層。

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始                                            The Tensorflow Playground 

有趣的是,我們在給機器學(xué)習(xí)建立更好的模型過程中,得到了關(guān)于大腦運作方式的新信息。 處理和可視化隱藏層是開始此過程的好方法,同時也讓更多的人能夠理解深度學(xué)習(xí)這一概念。

當(dāng)你對Tensorflow Playground的感受從玩的很開心轉(zhuǎn)換到厭煩時,你就可以加入我們,來學(xué)習(xí)如何親自構(gòu)建可視化。

四:深入深度學(xué)習(xí)

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

讓我們先來了解下 Keras可視化工具包(Keras-vis),這是一個用于可視化和調(diào)試訓(xùn)練過的神經(jīng)網(wǎng)絡(luò)的高級開發(fā)庫。

我們使用在ImageNet 數(shù)據(jù)集的子集上經(jīng)過訓(xùn)練的VGG16網(wǎng)絡(luò)的預(yù)訓(xùn)練權(quán)重,ImageNet 數(shù)據(jù)集由120萬張手工標(biāo)注的圖像組成,屬于1/1000的預(yù)定義類。

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

這讓我們可以深入地了解使用的層的類型、過濾器大小、可訓(xùn)練的參數(shù)等。請注意,由于池化層不可訓(xùn)練,因此該層有0個參數(shù)。 最大池化層通過選擇窗口中的最大值來減小輸入的大小,并且此過程不涉及任何權(quán)重更新。

如果我們要將一個“圖像分類問題”的輸出層可視化為一個圖像,那么我們需要將輸出層的激活函數(shù)轉(zhuǎn)換為線性函數(shù)而不是softmax函數(shù)。了解一種檢索與模型各層關(guān)聯(lián)的配置參數(shù)和權(quán)重的方法,會派上用場。

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

這為我們提供了一些有價值的信息,例如每一層使用的激活函數(shù),該層是否可訓(xùn)練,過濾器大小,使用了哪種類型的正則器等等。

1、激活最大化:可視化模型的期望

該實用程序生成的輸入可最大化特定過濾器在給定層上的激活值。在這里,我們嘗試分析模型將輸入的圖像分類為黑熊的期望。

作為人類,我們知道熊的共同特征是身軀大,腿長,鼻子長,耳朵小而圓,毛發(fā)蓬亂,五個不能伸縮的爪子和短尾巴。

這里,神經(jīng)網(wǎng)絡(luò)有多個層次的決定需要做,最后結(jié)合這一類別得出結(jié)論。我們需要知道這是一張動物的圖片,這只動物是熊,然后再根據(jù)熊的顯著特征將其縮小到熊的種類(極地熊/黑色熊/棕色熊等)。

我們知道黑熊生活在森林里,北極熊生活在多雪的地區(qū)。作為人類,即使圖像以白色為背景,我們?nèi)匀荒苷_地識別出黑熊的圖像。因此一個訓(xùn)練有素的網(wǎng)絡(luò)應(yīng)該具備這種跨多層學(xué)習(xí)的能力。

我們不需要網(wǎng)絡(luò)區(qū)分綠色和白色背景,需要的是它們根據(jù)熊的特征來分辨熊的類型。我們都不想重蹈覆轍都市傳奇的故事,不是嗎?

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                                                        黑熊(左)及北極熊(右)圖像

我們嘗試將模型期望的輸入可視化,并將該輸入分類為黑熊。要將一個圖像分類為黑熊,我們需要激活輸出層的第295個索引,因為該索引與“黑熊”相對應(yīng)。所以我們通過激活輸出層的這個節(jié)點來逆向構(gòu)造一個輸入圖像。

(輸出層的每個節(jié)點都對應(yīng)一類圖像。如果要查看 ImageNet 數(shù)據(jù)集的所有類和索引,可以進行以下操作。)

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                                                黑熊(左)和北極熊(右)的激活最大化圖

從上圖可以看出,在最后一層,模型正在尋找上述提到的熊最重要的特征。 在訓(xùn)練過程中,模型也逐步學(xué)習(xí)各類型特征的微小差異。 現(xiàn)在,我們可以確信網(wǎng)絡(luò)正在學(xué)習(xí)正確的一系列特征,以識別熊!

六:過程:分層輸出可視化

您可能想知道每個隱藏層是如何對輸出層的最終結(jié)果起作用的。對模型進行微調(diào)以獲得預(yù)期的結(jié)果,這一點尤為重要。那怎么做呢?了解具體每一層最突出的一系列特征,使我們能夠在需要時,使用跳躍連接( Skip Connection)來略過這些特性。

讓我們考慮一下前面關(guān)于熊分類的例子?,F(xiàn)在試著了解網(wǎng)絡(luò)在整個分類過程中是如何被引導(dǎo)的。我們嘗試提取網(wǎng)絡(luò)的一組隱藏層(block1_conv1、block2_conv1、block3_conv1、block4_conv1)的輸出,并在每個層中繪制圖像。

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                                                        黑熊(左)和北極熊(右)的分層輸出

要注意的是,初始層正在學(xué)習(xí)識別形狀和邊緣等低級特征。這些層了解輸入的要點。在隨后的圖層中,網(wǎng)絡(luò)會嘗試接觸越來越多的模糊圖案,如腿、耳朵、眼睛、顏色等。這就是為什么我們會說,網(wǎng)絡(luò)越深,它學(xué)得越好。

網(wǎng)絡(luò)中神秘的隱藏層逐漸捕獲了輸入的最復(fù)雜的特征。

2、顯著圖

圖像中的顯著性是指圖像在視覺處理環(huán)境中的獨特特征(像素、分辨率)。它們代表了圖像中最具視覺吸引力的位置。顯著圖是它們的地形表示法。這種可視化技術(shù)使我們能夠認識到每個像素在生成輸出過程中的重要性。 

論文《 Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps》(《深度卷積網(wǎng)絡(luò):可視化圖像分類模型和顯著圖》)最早介紹了這項技術(shù),論文地址:https://arxiv.org/pdf/1312.6034v2.pdf 

顯著圖生成激活類的種子輸入熱力圖。讓我們以下面這個例子來看看這是什么樣的:    

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                                                 這是一只可愛的狗狗,對吧?

您認為上圖中,網(wǎng)絡(luò)應(yīng)該關(guān)注圖像的哪一部分? 當(dāng)然是圖片中右側(cè)的狗。

網(wǎng)絡(luò)將忽略圖像中的其余圖像的像素,將該圖像正確地分類為狗的圖片。 現(xiàn)在,我們?nèi)绾沃谰W(wǎng)絡(luò)是否專注于這一部分呢? 這正是顯著圖發(fā)揮重要作用的地方。

顯著圖計算每個像素對結(jié)果的影響。這涉及到計算輸入圖像上每一個像素的輸出梯度。正梯度表示像素值的變化會增加輸出值。 

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                        顯著圖-像素的熱力圖

正如我們上面所討論的,這個模型把焦點放在了圖中狗的臉上。由于梯度的大小等于圖像的大?。ㄔ诿恳粋€像素計算出來的),因此提供了一種只有狗圖像的直覺。

3、遮擋圖(Occlusion Maps)

顯著圖有助于發(fā)現(xiàn)圖像的獨特特征,而遮擋圖則有助于找出圖像中對模型最重要的部分。

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

遮擋,在英語中的意思是“隱藏或阻擋”某物。 這就是遮擋圖的工作原理。 圖像的某些部分被遮蓋或“遮擋”,與此同時計算類的概率。 如果概率減少,則圖像的這部分很重要,否則就不重要。

通過這個小怪物的圖像可以更好地理解遮擋圖。

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                                                            小怪物

我們首先加載此圖像,然后繪制它。 下一步是通過掩蓋圖像的不同部分來生成概率熱圖。  

  深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

       深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

                    標(biāo)準(zhǔn)化概率的熱圖

現(xiàn)在,使用標(biāo)準(zhǔn)化的概率將遮擋圖轉(zhuǎn)換成灰度掩碼,最后,將其疊加到圖像上。      深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始                                                    遮罩最終圖像(左)和灰度遮罩(右)

這樣我們可以清楚地看到模型進行圖像分類的側(cè)重點。這為了解錯誤分類的原因,提供了更深入的說明。

via: https://medium.com/sfu-big-data/unveiling-the-hidden-layers-of-neural-networks-6269615fb8a9

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

深度學(xué)習(xí)黑盒可視化指南,從隱藏層開始

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說