白盒-CNN纹理深度可视化: 使用MIT Place 场景预训练模型
?????? MIT發(fā)文:深度視覺的量化表示................
?????? Places2 是一個(gè)場景圖像數(shù)據(jù)集,包含 1千萬張 圖片,400多個(gè)不同類型的場景環(huán)境,可用于以場景和環(huán)境為應(yīng)用內(nèi)容的視覺認(rèn)知任務(wù)。
?????? GitHub源代碼:https://github.com/CSAILVision/NetDissect
?????? 論文地址:http://netdissect.csail.mit.edu/final-network-dissection.pdf
?????? Place205 Model集結(jié)地;http://places.csail.mit.edu/downloadCNN.html?? ,Place205模型給出了205個(gè)場景的分析。
?????? 一個(gè)在線可視化小工具:http://blog.csdn.net/10km/article/details/52713027?
??????????? ? launch editor之后,把網(wǎng)絡(luò)結(jié)構(gòu)直接copy到editor,shift+enter 可視化。
?????? Caffe Model ZOO:https://github.com/BVLC/caffe/wiki/Model-Zoo#places-cnn-model-from-mit???
關(guān)于可視化
???????? 基于Caffe結(jié)構(gòu)的網(wǎng)絡(luò)連接可視化,理論上你可以自己寫一個(gè).
Scene Recognition Demo: Input a picture of a place or scene and see how our Places-CNN predicts it.
DrawCNN: a visualization of units’ connection for CNNs.
Indoor/Outdoor label: the label of indoor and outdoor for each of the 205 place categories. You could use the labels of the top5 predicted place categories from the Places-CNN to vote if the given image is indoor or outdoor. The indoor and outdoor classification accuracy is more than 95%.
所謂黑箱
?????? ML的傳統(tǒng)方法被稱為“白盒方法”,而神經(jīng)網(wǎng)絡(luò)被稱為“黑箱”。
??????? 關(guān)于黑箱的一個(gè)解釋:題主的『可解釋性』不是指泛化性等理論保證,也不是復(fù)雜模型的理論解釋。而是指『判別過程是否可以轉(zhuǎn)化成具備邏輯關(guān)系的規(guī)則』。更新回答如下:
1. 如果想把決策結(jié)果解釋成規(guī)則,那么建議使用基于決策樹的機(jī)器學(xué)習(xí)模型/算法(包括原始的各種決策樹、一些利用了ensemble的決策樹模型,比如random forest等),這樣得到的結(jié)果可以理解成依據(jù)特征做的一系列選擇,也許就滿足了你們產(chǎn)品經(jīng)理的喜好。但是,實(shí)際中如果決策樹得到的規(guī)則太多的話,其實(shí)也不是有很好的『解釋性』。
2. 關(guān)于題主提到的『選擇權(quán)重大的特征作為白盒規(guī)則,得到的效果一定好嗎?』,實(shí)用中很可能會(huì)有不錯(cuò)的效果,這大概可以看做是最原始的特征選擇方法,也有可能大大降低準(zhǔn)確度。
3. 你為啥這么在乎產(chǎn)品經(jīng)理的感受?是白盒還是黑盒真的有這么重要?畢竟最后的你『選擇用戶』是你的模型和算法策略決定的,不是產(chǎn)品經(jīng)理手工決定的。實(shí)際場景中,產(chǎn)品經(jīng)理關(guān)心的很可能是用戶畫像這些方面,而非你的決策過程。
=====原答案======這要看題主要的可解釋性是指什么?
所謂黑箱
????? 相對于CNN和眾多DNN方法,ML的傳統(tǒng)方法被稱為“白盒方法”,這種由來已久的觀點(diǎn)是從數(shù)學(xué)模型可驗(yàn)證可優(yōu)化性的角度來分析的。在眾多ML方法中,布爾決策樹方法是唯一的白盒方法,即給出了語法又給出了語義闡述,并等價(jià)于專家規(guī)則。??????? 一系列線性和非線性方法之所以被稱為是“白盒方法”,是因?yàn)槠浞匠痰拿鞔_形式化。不管是貝葉斯方法、還是線性判別、以至于各種非線性模型或者生成式模型,都可以明確地歸結(jié)為函數(shù)形式,這意味著ML模型是可顯示優(yōu)化的,即結(jié)果是可進(jìn)行定理論證的。我們看著結(jié)果到最優(yōu)化的方向迭代,便以為我們明了了真實(shí)的意義;我們掌握了語法,便以為解釋了語義。
??????? 眾多NN方法難以從神經(jīng)元模型匯總,抽取出一個(gè)形式化的函數(shù),因此也不能針對函數(shù)進(jìn)行優(yōu)化,給出最優(yōu)解或者最優(yōu)方向的證明,可行的一個(gè)方法即是隨機(jī)初始加通過反向傳播調(diào)參反復(fù)迭代。CNN的特別之處在于卷積核的存在,卷積過程是一個(gè)反向模板匹配的過程,而這個(gè)模板,是可以看見的。在CNN網(wǎng)絡(luò)中,每一層都是可以看見的。CONV層效果占比越多的網(wǎng)絡(luò),可視化表達(dá)能力越強(qiáng)。
???????? 可表示性:ResNet > VGG >GoogLeNet > AlexNet
??????? 借用一張圖:
???????
?????
??????
關(guān)于深度 可視化的解釋
?????? 高層和中層語義可視化,此回答作了一個(gè)(地址):小小的翻譯...
???? CVPR'17 Oral論文Network Dissection: Quantifying Interpretability of Deep Visual Representations(論文:https://arxiv.org/pdf/1704.05796.pdf, 主頁:http://netdissect.csail.mit.edu/)
?????? 神經(jīng)網(wǎng)絡(luò)的可解釋性一直是我比較關(guān)注的問題。從ICLR'15那篇Object Detectors emerge from Deep Scene CNNs (現(xiàn)在的深度學(xué)習(xí)的模型越來越大,有個(gè)結(jié)論是說,大腦的激活是非常稀疏的,對模型參數(shù)有什么好的辦法壓縮嗎? - 知乎), 到CVPR'16的CNN Discriminative Localization and Saliency,再到最新的這篇Network Dissection,算是我PhD階段較完整地探索了這個(gè)問題。我自己是非常喜歡這篇network dissection:)。
?????? 了解我研究工作的朋友都知道,我很少提fancy的模型和跟蹤潮流topic,我更感興趣的是分析問題和現(xiàn)象本身,能用越普適的方法越好。這篇CVPR'17工作是想更好量化分析不同卷積神經(jīng)網(wǎng)絡(luò)內(nèi)部神經(jīng)元的語義特征 (Network Interpretability and Network Explainability)。嘗試回答一些有意思的問題:神經(jīng)網(wǎng)絡(luò)是不是只是個(gè)black box?神經(jīng)網(wǎng)絡(luò)內(nèi)部到底學(xué)習(xí)了些什么東西?為什么需要這么深度的網(wǎng)絡(luò)?等等。之前我ICLR'15論文是用人力來標(biāo)定了AlexNet的每層網(wǎng)絡(luò)內(nèi)神經(jīng)元的語義性,這篇論文我們提出了一個(gè)叫Network Dissection的方法,可以自動(dòng)化地標(biāo)定任意給定的網(wǎng)絡(luò)內(nèi)部的帶有語義的神經(jīng)元。
??????? Network Dissection大致做法如下圖所示,我們準(zhǔn)備了一個(gè)帶有不同語義概念的圖片數(shù)據(jù)庫,里面每張圖都有pixel-wise的標(biāo)定(顏色,紋理,場景,物體部分,物體等),然后我們把每個(gè)神經(jīng)元在圖像上的激活響應(yīng)當(dāng)做對這些概念進(jìn)行語義分割(Semantic segmentation),然后看每個(gè)神經(jīng)元對哪個(gè)語義概念分割得最好,那么這個(gè)神經(jīng)元就是在檢測這個(gè)語義概念。
?????? 卷積為二維反向模板匹配,因此給語義可視化直觀感受。???????
??????? Network Dissection項(xiàng)目網(wǎng)頁上(http://netdissect.csail.mit.edu),有對不同網(wǎng)絡(luò)的詳細(xì)可視化(參見Network Dissection Results),感興趣的同學(xué)可以看看。數(shù)據(jù)庫和代碼已經(jīng)release(CSAILVision/NetDissect)。到時(shí)候在CVPR'17的Tutorial上 (Deep Learning for Objects and Scenes),我也會(huì)把Network Interpretability作為一個(gè)專題來報(bào)告, stay tuned:)
?????? 總結(jié)來說,Network Interpretability & Explainability將是AI里非常重要的研究問題。去年美國政府的軍費(fèi)研究機(jī)構(gòu)DARPA就有個(gè)重要的立項(xiàng)Explainable Artificial Intelligence。隨著AI模型在生活中的廣泛應(yīng)用,性能提升的同時(shí),人們也更關(guān)注AI模型自身的安全性和可解釋性。如果連我們自己都無法理解AI模型是如何運(yùn)作以及內(nèi)部到底學(xué)習(xí)到了什么,還會(huì)放心AI模型在醫(yī)療,國防等一些性命攸關(guān)的方向應(yīng)用么。最近MIT Tech Review上最近有篇文章,也分析了這個(gè)問題:The Dark Secret at the heart of AI(There’s a big problem with AI: even its creators can’t explain how it works)。
結(jié)論:
??????? Place205主要使用AlexNet和VGG-Net用于場景分類,在網(wǎng)絡(luò)結(jié)構(gòu)上沒有大的改進(jìn),暫時(shí)只是使用了專門的數(shù)據(jù)集對這個(gè)專門的模型進(jìn)行了特定的優(yōu)化。論文對語義化的實(shí)驗(yàn)數(shù)據(jù)也是對長久以來CNN模式識(shí)別的一個(gè)通用總結(jié)。
參考:
?????? 主頁:http://netdissect.csail.mit.edu/???????????????????
?????? 代碼:https://github.com/CSAILVision/NetDissect? ??????
?????? 論文:https://arxiv.org/pdf/1704.05796.pdf??
總結(jié)
以上是生活随笔為你收集整理的白盒-CNN纹理深度可视化: 使用MIT Place 场景预训练模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 木瓜不熟切开了怎么办 木瓜没熟怎么催熟
- 下一篇: VS2013支持多字节