這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)瀏覽器上如何實(shí)現(xiàn)CNN可視化,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
十多年的邯鄲網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整邯鄲建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“邯鄲網(wǎng)站設(shè)計(jì)”,“邯鄲網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
本文作用
學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)時,我們只知道輸入一張圖片后,通過一頓操作,便可以提取圖片中的特征,我們對于其內(nèi)部的操作,只有理論了解,并沒有做到眼見為實(shí)。這個CNN解釋器讓我們在瀏覽器上,便可以清楚看到每個神經(jīng)元是如何產(chǎn)生,以及生成的圖片長什么樣
。
什么是卷積神經(jīng)網(wǎng)絡(luò)?
在機(jī)器學(xué)習(xí)中,分類器將類別標(biāo)簽分配給數(shù)據(jù)點(diǎn)。例如,圖像分類器產(chǎn)生圖像中存在哪些對象的類別標(biāo)簽(例如,鳥,飛機(jī))。一個卷積神經(jīng)網(wǎng)絡(luò),或CNN的簡稱,是一種類型的分類,在解決這個問題,其過人之處!
CNN是神經(jīng)網(wǎng)絡(luò):一種用于識別數(shù)據(jù)模式的算法。通常,神經(jīng)網(wǎng)絡(luò)由神經(jīng)元組成,這些神經(jīng)元分層組織,每個神經(jīng)元都有自己可學(xué)習(xí)的權(quán)重和偏見。讓我們將CNN分解為其基本構(gòu)建塊。
甲張量可以被認(rèn)為是一個n維矩陣。在上面的CNN中,張量將是3維的,輸出層除外。
甲神經(jīng)元可以被看作是發(fā)生在多個輸入并且產(chǎn)生一個輸出的功能。神經(jīng)元的輸出在上面表示為紅色 → 藍(lán)色 激活圖。
阿層是簡單地用相同的操作的神經(jīng)元,包括相同超參數(shù)的集合。
內(nèi)核權(quán)重和偏差(雖然每個神經(jīng)元都唯一)在訓(xùn)練階段進(jìn)行了調(diào)整,并允許分類器適應(yīng)所提供的問題和數(shù)據(jù)集。它們在可視化中以黃色 → 綠色發(fā)散色標(biāo)進(jìn)行編碼。通過單擊神經(jīng)元或?qū)⑹髽?biāo)懸停在卷積彈性解釋視圖中的內(nèi)核/偏差上,可以在“ 交互式公式”視圖中查看特定值。
CNN傳達(dá)了一個可微分函數(shù),該函數(shù)在輸出層的可視化中表示為類分?jǐn)?shù)。
如果您以前學(xué)習(xí)過神經(jīng)網(wǎng)絡(luò),那么您可能對這些術(shù)語感到熟悉。那么,什么使CNN與眾不同?CNN利用一種特殊類型的層,恰當(dāng)?shù)胤Q為卷積層,使它們處于適當(dāng)?shù)奈恢靡詮膱D像和類似圖像的數(shù)據(jù)中學(xué)習(xí)。關(guān)于圖像數(shù)據(jù),CNN可以用于許多不同的計(jì)算機(jī)視覺任務(wù),例如圖像處理,分類,分割和對象檢測。
在CNN Explainer中,您可以看到如何使用簡單的CNN進(jìn)行圖像分類。由于網(wǎng)絡(luò)的簡單性,它的性能并不完美,但這沒關(guān)系!CNN Explainer中使用的網(wǎng)絡(luò)架構(gòu)Tiny VGG包含了當(dāng)今最先進(jìn)的CNN所使用的許多相同的層和操作,但是規(guī)模較小。這樣,將更容易理解入門。
網(wǎng)絡(luò)的每一層做什么?
讓我們遍歷網(wǎng)絡(luò)中的每一層。在閱讀時,單擊并懸停在上面的可視化中,即可隨意與上面的可視化進(jìn)行交互。
輸入層
輸入層(最左邊的層)代表輸入到CNN中的圖像。因?yàn)槲覀兪褂肦GB圖像作為輸入,所以輸入層具有三個通道,分別對應(yīng)于該層中顯示的紅色,綠色和藍(lán)色通道。單擊網(wǎng)絡(luò)詳細(xì)信息圖標(biāo)上方的圖標(biāo)以顯示詳細(xì)信息(在此層以及其他層上)時,請使用色標(biāo)。
卷積層
卷積層是CNN的基礎(chǔ),因?yàn)樗鼈儼瑢W(xué)習(xí)的內(nèi)核(權(quán)重),這些內(nèi)核提取出可將不同圖像彼此區(qū)分開的特征-這就是我們想要的分類!與卷積層交互時,您會注意到先前各層與卷積層之間的鏈接。每個鏈接代表一個唯一的內(nèi)核,該內(nèi)核用于卷積操作以生成當(dāng)前卷積神經(jīng)元的輸出或激活圖。
卷積神經(jīng)元執(zhí)行具有唯一內(nèi)核和上一層對應(yīng)神經(jīng)元輸出的元素點(diǎn)積。這將產(chǎn)生與唯一內(nèi)核一樣多的中間結(jié)果。卷積神經(jīng)元是所有中間結(jié)果與學(xué)習(xí)到的偏差相加的結(jié)果。
例如,讓我們看一下上面的Tiny VGG架構(gòu)中的第一個卷積層。請注意,此層中有10個神經(jīng)元,但上一層中只有3個神經(jīng)元。在Tiny VGG架構(gòu)中,卷積層是完全連接的,這意味著每個神經(jīng)元都與上一層中的每個其他神經(jīng)元相連。著眼于第一卷積層最頂層的卷積神經(jīng)元的輸出,當(dāng)我們將鼠標(biāo)懸停在激活圖上時,我們看到有3個唯一的內(nèi)核。
圖1.將鼠標(biāo)懸停在第一個卷積層上最頂層節(jié)點(diǎn)的激活圖上時,您會看到應(yīng)用了3個內(nèi)核來生成此激活圖。單擊此激活圖后,您可以看到每個唯一內(nèi)核都發(fā)生了卷積操作。
這些內(nèi)核的大小是由網(wǎng)絡(luò)體系結(jié)構(gòu)的設(shè)計(jì)人員指定的超參數(shù)。為了產(chǎn)生卷積神經(jīng)元(激活圖)的輸出,我們必須與上一層的輸出以及網(wǎng)絡(luò)學(xué)習(xí)到的唯一內(nèi)核一起執(zhí)行元素逐點(diǎn)積。在TinyVGG中,點(diǎn)積運(yùn)算使用的跨度為1,這意味著內(nèi)核將每個點(diǎn)積移出1個像素,但這是網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)人員可以調(diào)整以使其更適合其數(shù)據(jù)集的超參數(shù)。我們必須對所有3個內(nèi)核執(zhí)行此操作,這將產(chǎn)生3個中間結(jié)果。
然后,執(zhí)行包含所有3個中間結(jié)果以及網(wǎng)絡(luò)已獲學(xué)習(xí)的偏差的元素和。此后,所得的二維張量將是在第一卷積層中最頂層神經(jīng)元的上方界面上可見的激活圖。必須應(yīng)用相同的操作來生成每個神經(jīng)元的激活圖。
通過一些簡單的數(shù)學(xué)運(yùn)算,我們可以推斷出在第一個卷積層中應(yīng)用了3 x 10 = 30個唯一的內(nèi)核,每個內(nèi)核的大小為3x3。卷積層與上一層之間的連通性是構(gòu)建網(wǎng)絡(luò)體系結(jié)構(gòu)時的設(shè)計(jì)決策,它將影響每個卷積層的內(nèi)核數(shù)量。單擊可視化文件以更好地了解卷積層背后的操作??纯词欠窨梢宰裱厦娴氖纠?/p>
了解超參數(shù)
當(dāng)內(nèi)核擴(kuò)展到激活圖之外時,通常需要填充。填充可以在激活圖的邊界處保存數(shù)據(jù),從而獲得更好的性能,并且可以幫助保留輸入的空間大小,從而使體系結(jié)構(gòu)設(shè)計(jì)人員可以構(gòu)建性能更高,更流暢的網(wǎng)絡(luò)。存在許多填充技術(shù),但是最常用的方法是零填充,因?yàn)樗男阅埽唵涡院陀?jì)算效率高。該技術(shù)涉及在輸入的邊緣周圍對稱地添加零。許多高性能的CNN(例如AlexNet)都采用了這種方法。
內(nèi)核大小,通常也稱為過濾器大小,是指輸入上滑動窗口的尺寸。選擇此超參數(shù)會對圖像分類任務(wù)產(chǎn)生重大影響。例如,較小的內(nèi)核大小能夠從輸入中提取大量包含高度局部特征的信息。如您在上面的可視化中所看到的,較小的內(nèi)核尺寸也導(dǎo)致較小的層尺寸減小,這允許更深的體系結(jié)構(gòu)。相反,較大的內(nèi)核會提取較少的信息,這會導(dǎo)致層尺寸的減小更快,從而常常導(dǎo)致性能下降。大內(nèi)核更適合提取更大的特征。最終,選擇合適的內(nèi)核大小將取決于您的任務(wù)和數(shù)據(jù)集,但是通常,越來越多的圖層一起學(xué)習(xí)越來越復(fù)雜的功能!
大步走指示內(nèi)核一次應(yīng)移動多少像素。例如,如上面的卷積層示例所述,Tiny VGG對其卷積層使用步幅為1,這意味著在輸入的3x3窗口上執(zhí)行點(diǎn)積以產(chǎn)生輸出值,然后將其移至每進(jìn)行一次后續(xù)操作,就增加一個像素??缍葘NN的影響類似于內(nèi)核大小。隨著步幅的減小,由于提取了更多的數(shù)據(jù),因此可以了解更多的功能,這也導(dǎo)致了更大的輸出層。相反,隨著步幅的增加,這將導(dǎo)致特征提取更加受限,輸出層尺寸更小。架構(gòu)設(shè)計(jì)人員的職責(zé)之一是在實(shí)現(xiàn)CNN時確保內(nèi)核對稱地跨輸入滑動。
激活功能
ReLU
神經(jīng)網(wǎng)絡(luò)在現(xiàn)代技術(shù)中極為盛行-因?yàn)樗鼈兪侨绱司_!當(dāng)今性能最高的CNN包含大量荒謬的圖層,這些圖層能夠?qū)W習(xí)越來越多的功能。這些突破性的CNN能夠?qū)崿F(xiàn)如此巨大的準(zhǔn)確性的部分原因是因?yàn)樗鼈兊姆蔷€性。ReLU將急需的非線性應(yīng)用到模型中。非線性是產(chǎn)生非線性決策邊界所必需的,因此輸出不能寫為輸入的線性組合。如果不存在非線性激活函數(shù),那么深的CNN架構(gòu)將演變?yōu)橐粋€等效的卷積層,其性能幾乎不一樣。與其他非線性函數(shù)(例如Sigmoid)相反,ReLU激活函數(shù)專門用作非線性激活函數(shù),因?yàn)閺慕?jīng)驗(yàn)上已經(jīng)觀察到,使用ReLU的CNN的訓(xùn)練速度要快于它們的對應(yīng)函數(shù)。
ReLU激活函數(shù)是一對一的數(shù)學(xué)運(yùn)算:
關(guān)系圖
圖3.繪制的ReLU激活函數(shù),忽略了所有負(fù)面數(shù)據(jù)。
此激活函數(shù)逐個應(yīng)用于輸入張量中的每個值。例如,如果將ReLU應(yīng)用于值2.24,則結(jié)果將為2.24,因?yàn)?.24大于0。您可以通過單擊上方網(wǎng)絡(luò)中的ReLU神經(jīng)元來觀察如何應(yīng)用此激活功能。在上面概述的網(wǎng)絡(luò)體系結(jié)構(gòu)中的每個卷積層之后執(zhí)行整流線性激活功能(ReLU)。注意該層對整個網(wǎng)絡(luò)中各種神經(jīng)元的激活圖的影響!
軟最大
softmax操作的主要目的是:確保CNN輸出的總和為1。因此,softmax操作可用于將模型輸出縮放為概率。單擊最后一層將顯示網(wǎng)絡(luò)中的softmax操作。請注意,展平后的對數(shù)如何不在零到一之間縮放。為了直觀顯示每個logit的影響(標(biāo)量值未縮放),使用淺橙色 → 深橙色色標(biāo)對它們進(jìn)行編碼。通過softmax函數(shù)后,每個類現(xiàn)在對應(yīng)一個適當(dāng)?shù)母怕剩?/p>
您可能會想,標(biāo)準(zhǔn)歸一化和softmax之間的區(qū)別是什么-畢竟,兩者都會在0和1之間重新調(diào)整logit。請記住,反向傳播是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的關(guān)鍵方面-我們希望正確的答案具有最大的“信號”。 ” 通過使用softmax,我們可以有效地“逼近” argmax,同時獲得微分。重新縮放不會使max的權(quán)重明顯高于其他logit,而softmax的權(quán)重卻不會。簡而言之,softmax是一個“更軟”的argmax-看看我們在那里做了什么?
匯聚層
在不同的CNN架構(gòu)中,池化層的類型很多,但是它們的目的都是要逐漸減小網(wǎng)絡(luò)的空間范圍,從而減少網(wǎng)絡(luò)的參數(shù)和總體計(jì)算。上面的Tiny VGG架構(gòu)中使用的池類型為Max-Pooling。
最大池操作需要在體系結(jié)構(gòu)設(shè)計(jì)期間選擇內(nèi)核大小和步幅。一旦選定,該操作將以指定的步幅在輸入上滑動內(nèi)核,同時僅從輸入中選擇每個內(nèi)核切片上的最大值以產(chǎn)生輸出值。通過單擊上方網(wǎng)絡(luò)中的合并神經(jīng)元,可以查看此過程。
在上面的Tiny VGG體系結(jié)構(gòu)中,池化層使用2x2內(nèi)核,步幅為2。使用這些規(guī)范進(jìn)行此操作將導(dǎo)致75%的激活被丟棄。通過丟棄如此多的值,Tiny VGG的計(jì)算效率更高,并且避免了過擬合。
展平層
該層將網(wǎng)絡(luò)中的三維層轉(zhuǎn)換為一維向量,以適合全連接層的輸入以進(jìn)行分類。例如,將一個5x5x2張量轉(zhuǎn)換為大小為50的向量。網(wǎng)絡(luò)的先前卷積層從輸入圖像中提取了特征,但是現(xiàn)在該對這些特征進(jìn)行分類了。我們使用softmax函數(shù)對這些功能進(jìn)行分類,這需要一維輸入。這就是為什么需要平坦層的原因??梢酝ㄟ^單擊任何輸出類來查看此層。
互動功能
通過選擇上傳圖片圖標(biāo)以了解您的圖像如何分為10類來上傳自己的圖像。通過分析整個網(wǎng)絡(luò)中的神經(jīng)元,您可以了解激活圖和提取的特征。
更改激活圖色標(biāo),以通過調(diào)整更好地了解不同抽象級別的激活的影響熱圖。
單擊網(wǎng)絡(luò)詳細(xì)信息圖標(biāo)圖標(biāo),了解網(wǎng)絡(luò)詳細(xì)信息,例如圖層尺寸和色標(biāo)。
通過單擊播放圖標(biāo)按鈕來模擬網(wǎng)絡(luò)操作,或者通過將鼠標(biāo)懸停在輸入或輸出的各個部分上來了解映射和基礎(chǔ)操作,從而與Interactive Formula View中的圖層切片進(jìn)行交互。
通過單擊信息圖標(biāo)“ 交互式公式視圖”以了解文章中的圖層詳細(xì)信息,以了解圖層功能。
影片教學(xué)
CNN解釋器簡介 (0:00-0:22)
概述 (0:27-0:37)
卷積彈性解釋視圖 (0:37-0:46)
卷積,ReLU和池化交互式公式視圖 (0:46-1:21)
展平彈性說明視圖 (1:22-1:41)
Softmax 交互式公式視圖 (1:41-2:02)
吸引學(xué)習(xí)經(jīng)驗(yàn):理解分類 (2:06-2:28)
互動教程文章 (2:29-2:54)
CNN解釋器如何實(shí)施?
CNN Explainer使用TensorFlow.js(一個瀏覽器內(nèi)GPU加速的深度學(xué)習(xí)庫)加載經(jīng)過預(yù)訓(xùn)練的模型以進(jìn)行可視化。整個交互式系統(tǒng)使用Svelte作為框架并使用D3.js進(jìn)行可視化,并以Javascript編寫。您只需要一個網(wǎng)絡(luò)瀏覽器就可以立即開始學(xué)習(xí)CNN!
誰開發(fā)了CNN Explainer?
CNN解釋器由 Jay Wang, Robert Turko, Omar Shaikh, Haekyu Park, Nilaksh Das, Fred Hohman, Minsuk Kahng和 Polo Chau創(chuàng)建,這是佐治亞理工學(xué)院與俄勒岡州立大學(xué)進(jìn)行研究合作的結(jié)果。我們感謝Anmol Chhabria,Kaan Sancak,Kantwon Rogers和喬治亞州技術(shù)可視化實(shí)驗(yàn)室的支持和建設(shè)性的反饋。NSF贈款I(lǐng)IS-1563816,CNS-1704701,NASA NSTRF,DARPA GARD以及來自英特爾,NVIDIA,Google和Amazon的禮物均部分支持了這項(xiàng)工作。
該在線網(wǎng)絡(luò)工具提供10多種經(jīng)典網(wǎng)絡(luò)的可視化文件,如AlexNet、GoogLeNet、YOLO、ResNet系列和Inception系列等。可以清楚看到每層的參數(shù)。
https://dgschwend.github.io/netscope/quickstart.html
上述就是小編為大家分享的瀏覽器上如何實(shí)現(xiàn)CNN可視化了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享標(biāo)題:瀏覽器上如何實(shí)現(xiàn)CNN可視化
新聞來源:http://aaarwkj.com/article44/pccgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、Google、關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、商城網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)