一位中國博士把整個 CNN 都可視化了,可交互有細節,每次卷積 ReLU 池化都清清楚楚...

郭一璞 發自 雲凹非寺
量子位 報道 | 公衆號 QbitAI

CNN是什麼?美國有線電視新聞網嗎?

每一個對AI抱有憧憬的小白,在開始的時候都會遇到CNN(卷積神經網絡)這個詞。

但每次,當小白們想了解CNN到底是怎麼回事,爲什麼就能聰明的識別人臉、聽辨聲音的時候,就懵了,只好理解爲玄學:

好吧,維基百科解決不了的問題,有人給解決了。

這個名叫CNN解釋器在線交互可視化工具,把CNN拆開了揉碎了,告訴小白們CNN究竟是怎麼一回事,爲什麼可以辨識物品。

它用TensorFlow.js加載了一個10層的預訓練模型,相當於在你的瀏覽器上跑一個CNN模型,只需要打開電腦,就能瞭解CNN究竟是怎麼回事。

而且,這個網頁工具還可以實現交互,只要點擊其中任何一個格子——就是CNN中的“神經元”,就能顯示它的輸入是哪些、經過了怎樣細微的變化。

甚至,連每一次卷積運算都能看得清。

看清卷積

這個CNN解釋器的使用方式也非常簡單:鼠標戳戳戳就好了。

單擊神經元,進入彈性解釋視圖,就可以看到卷積核滑動的過程的動畫模擬:

點擊一個正在卷積的過程圖,就可以看到更具體的過程:

可以看到底層的卷積運算過程,3×3的卷積核是如何經過運算被變成1個數字的。

看清ReLU和最大池化層

點擊一個ReLU層的神經元,可以看具體過程,ReLU函數是這樣工作的:

點擊一個池化神經元,也可以看具體最大池化層是怎樣工作的:

看清CNN是怎麼輸出預測的

點擊最右側的輸出神經元,進入彈性解釋視圖:

可以查看Softmax函數的詳情:

識別「狸克」試試?

CNN解釋器默認有10張圖片,你也可以增加自己的自定義圖片。

比如這個:

芝士焗燈籠椒?燈籠椒披薩?還是什麼鬼?

複製圖片鏈接或者上傳圖片之後,它經過了10層處理,得出結論:

是燈籠椒,但也可能是臭蟲。

但是,只能歸類於右側原有的10個品類裏,比如放一隻狸克:

就會被識別成espresso。

佐治亞理工中國博士出品

最後,這個CNN解釋器的作者是一位中國小哥,佐治亞理工的Zijie Wang,去年剛開始讀機器學習博士,本科畢業於威斯康星大學麥迪遜分校,是一位GPA 3.95/4.00的大學霸。

他也曾經做過一些其他有趣的數據可視化項目,比如威斯康星大學麥迪遜分校的中國本科生都來自哪裏:

傳送門

CNN解釋器
https://poloclub.github.io/cnn-explainer/

GitHub
https://github.com/poloclub/cnn-explainer

論文
https://arxiv.org/abs/2004.15004

作者系網易新聞·網易號“各有態度”簽約作者

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章