華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

機器之心報道

參與:Racoon、蛋醬、張倩

終於等到了這個交互式學習神器,把 CNN 的工作過程畫得明明白白,幫助萌新輕鬆入門。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

什麼是 CNN?Convolutional Neural Network,中文譯為「卷積神經網絡」。

這個常見但有些深奧的詞彙,只可意會,不能言傳。如果打開教材,會看到這樣一些解釋:

卷積層是深度神經網絡在處理圖像時十分常用的一種層。當一個深度神經網絡以卷積層為主體時,我們也稱之為卷積神經網絡。


神經網絡中的卷積層就是用卷積運算對原始圖像或者上一層的特徵進行變換的層……

說得很有道理,但如果將一張圖片作為輸入,這張圖片究竟會在卷積神經網絡中經歷什麼?這可真是太考驗想象力了。

最近,來自佐治亞理工學院與俄勒岡州立大學的研究者們,考慮到初學者和非專業人士的學習痛點,合作開發出了一款卷積神經網絡交互式可視化工具——CNN 解釋器(CNN Explainer)。這個解釋器展示了一個 10 層的神經網絡,包含卷積層、激活函數、池化層等多個 CNN 初學者無論如何也繞不開的概念。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

這個工具到底把 CNN 展示得有多明白?簡單來說,項目作者已經給你做好了一個可以交互的界面,各種層、激活函數都鋪在眼前。你只需要打開瀏覽器加載出這個界面,移動鼠標點來點去就可以了。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器


CNN Explainer 使用 TensorFlow.js 加載預訓練模型進行可視化效果,交互方面則使用 Svelte 作為框架並使用 D3.js 進行可視化。最終的成品即使對於完全不懂的新手來說,也沒有使用門檻。下面我們來看一下具體的效果。

卷積層

既然是卷積網絡,我們就先來看一下卷積層是怎麼工作的。卷積層包含學習的卷積核,可以提取出每張圖像獨有的特徵,因此是 CNN 的基礎。

當你與卷積層進行交互的時候,前面的層與卷積層之間會出現很多連線,其中的每條線都代表一個獨特的卷積核。這些卷積核用於卷積運算,以生成當前卷積神經元的輸出或激活圖。

以交互圖中的 Tiny VGG 架構為例。可以看到,它的第一個卷積層有 10 個神經元,但前一層只有 3 個神經元。聚焦於第一個卷積層頂端卷積神經元的輸出,如果我們將鼠標懸停在激活圖上,就可以看到這裡有 3 個獨特的卷積核。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

圖 1:如果將鼠標懸停在第一個卷積層最前面的激活圖上,就可以看到此處應用了 3 個卷積核來得到此激活圖。點擊此激活圖,可以看到每個卷積核都進行了卷積運算。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

圖 2:用來生成上述激活圖頂端中間結果的卷積核。

激活函數

ReLU

ReLu 是 CNN 中的非常常用的一種非線性激活函數,可以加快 CNN 的訓練速度。它是一種一對一的數學運算:

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

點擊交互圖中的 ReLU 神經元就能觀察到這個激活函數是如何工作的:

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器


Softmax

在卷積神經網絡中,Softmax 函數通常用於分類模型輸出。在這個 CNN 解釋器裡,點擊最後一層,即可顯示網絡中的 Softmax 運算過程:

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器


在 Softmax 的這部分視圖中,用戶可以體驗不同顏色的 logit 和公式交互,從而瞭解在 Flatten 層之後,預測分數是如何歸一化從而產生分類結果的。

池化層

不同的 CNN 架構有很多不同類型的池化層,但它們的目的都是逐漸縮小網絡的空間範圍,從而降低網絡的參數量和整體計算量。

這個交互圖裡使用的池化類型是 Max-Pooling,其過程可以通過點擊圖中的池化神經元來觀察:

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器


Flatten 層

這一層將網絡中一個三維的層轉變為一個一維向量,之後將其輸入到全連接層用於分類。因為用於分類的 softmax 函數需要一維向量作為輸入(此處不包括 batch 維),因此需要用到 Flatten 層。

通過點擊任意一個輸出類別可查看該層是如何工作的。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器


作者簡介

這個貼心的項目出自佐治亞理工和俄勒岡州立大學的研究者之手。其中,一作是該校的機器學習博士生 Zijie Wang。他的研究興趣是機器學習的可解釋性、公平性、安全性和可視化分析。

華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

目前,該項目已經登上了 GitHub 熱榜,感興趣的同學可以點擊文末鏈接瞭解詳情。


華人博士卷積網絡可視化項目火了:點鼠標就能看懂的掃盲神器

  • 項目地址:https://github.com/poloclub/cnn-explainer
  • 網頁地址:https://poloclub.github.io/cnn-explainer/
  • arXiv 地址:https://arxiv.org/abs/2004.15004


分享到:


相關文章: