一位中國(guó)博士把整個(gè)CNN都給可視化了,每次卷積池化都清清楚楚
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
CNN是什么?美國(guó)有線電視新聞網(wǎng)嗎?
每一個(gè)對(duì)AI抱有憧憬的小白,在開始的時(shí)候都會(huì)遇到CNN(卷積神經(jīng)網(wǎng)絡(luò))這個(gè)詞。
但每次,當(dāng)小白們想了解CNN到底是怎么回事,為什么就能聰明的識(shí)別人臉、聽辨聲音的時(shí)候,就懵了,只好理解為玄學(xué):
好吧,維基百科解決不了的問題,有人給解決了。
這個(gè)名叫CNN解釋器在線交互可視化工具,把CNN拆開了揉碎了,告訴小白們CNN究竟是怎么一回事,為什么可以辨識(shí)物品。
它用TensorFlow.js加載了一個(gè)10層的預(yù)訓(xùn)練模型,相當(dāng)于在你的瀏覽器上跑一個(gè)CNN模型,只需要打開電腦,就能了解CNN究竟是怎么回事。
而且,這個(gè)網(wǎng)頁工具還可以實(shí)現(xiàn)交互,只要點(diǎn)擊其中任何一個(gè)格子——就是CNN中的“神經(jīng)元”,就能顯示它的輸入是哪些、經(jīng)過了怎樣細(xì)微的變化。
甚至,連每一次卷積運(yùn)算都能看得清。
看清卷積
這個(gè)CNN解釋器的使用方式也非常簡(jiǎn)單:鼠標(biāo)戳戳戳就好了。
單擊神經(jīng)元,進(jìn)入彈性解釋視圖,就可以看到卷積核滑動(dòng)的過程的動(dòng)畫模擬:
點(diǎn)擊一個(gè)正在卷積的過程圖,就可以看到更具體的過程:
可以看到底層的卷積運(yùn)算過程,3×3的卷積核是如何經(jīng)過運(yùn)算被變成1個(gè)數(shù)字的。
看清ReLU和最大池化層
點(diǎn)擊一個(gè)ReLU層的神經(jīng)元,可以看具體過程,ReLU函數(shù)是這樣工作的:
點(diǎn)擊一個(gè)池化神經(jīng)元,也可以看具體最大池化層是怎樣工作的:
看清CNN是怎么輸出預(yù)測(cè)的
點(diǎn)擊最右側(cè)的輸出神經(jīng)元,進(jìn)入彈性解釋視圖:
可以查看Softmax函數(shù)的詳情:
識(shí)別「貍克」試試?
CNN解釋器默認(rèn)有10張圖片,你也可以增加自己的自定義圖片。
比如這個(gè):
芝士焗燈籠椒?燈籠椒披薩?還是什么鬼?
復(fù)制圖片鏈接或者上傳圖片之后,它經(jīng)過了10層處理,得出結(jié)論:
是燈籠椒,但也可能是臭蟲。
但是,只能歸類于右側(cè)原有的10個(gè)品類里,比如放一只貍克:
就會(huì)被識(shí)別成espresso。
佐治亞理工中國(guó)博士出品
最后,這個(gè)CNN解釋器的作者是一位中國(guó)小哥,佐治亞理工的Zijie Wang,去年剛開始讀機(jī)器學(xué)習(xí)博士,本科畢業(yè)于威斯康星大學(xué)麥迪遜分校,是一位GPA 3.95/4.00的大學(xué)霸。
他也曾經(jīng)做過一些其他有趣的數(shù)據(jù)可視化項(xiàng)目,比如威斯康星大學(xué)麥迪遜分校的中國(guó)本科生都來自哪里:
傳送門
CNN解釋器
https://poloclub.github.io/cnn-explainer/
GitHub
https://github.com/poloclub/cnn-explainer
論文
https://arxiv.org/abs/2004.15004