想揭開深度學習隱藏層的神秘面紗?試試Tensor Flow的神經網絡游樂場
谷歌的開源人工智能項目 Tensor Flow 最近創造了一個神經網絡游樂場,其目的是通過讓用戶與隱藏層互動和實驗的方式除去這個隱藏層的神秘面紗。
【編者按】本文作者:Moritz Helmstaedter,由機器之心編譯,參與:吳攀、盛威、亞洲
引言:為計算機構建一個復雜的神經網絡是人工智能的關鍵,但人腦的這一活動卻被「隱藏層」籠罩在神秘的面紗中。谷歌的開源人工智能項目 Tensor Flow 最近創造了一個神經網絡游樂場,其目的是通過讓用戶與隱藏層互動和實驗的方式除去這個隱藏層的神秘面紗。
交互式神經網絡「游樂場」可視化提供了理解機器學習的方式的途徑
在《科學美國人》雜志最近一篇題為「Springtime for AI: TheRise of Deep Learning」(機器之心已有譯文《深度學習崛起帶來人工智能的春天》)的文章中,計算機科學家 Yoshua Bengio 解釋了為什么復雜神經網絡是人們長久以來一直追求的真正人工智能的關鍵。要讓計算機像人類一樣聰明,就應該依照人腦的工作方式給計算機編程——這看起來是合乎邏輯的。但是,鑒于我們對大腦功能的了解太少,這個任務看起來就不僅僅是有點困難了。所以深度學習到底是如何工作的呢?
Jen Christiansen通過可視化的方法解釋了神經網絡的基本結構和功能。
制圖/Jen Christiansen(漢化/原野)
顯然,為了在整體上解碼圖像,所謂的「隱藏層(hidden layers)」在分解視覺成分(visual component)上發揮了關鍵性的作用。而且我們知道這些層是按次序采取行動的:從輸入到輸出,每一層所處理的信息越來越復雜。但除此之外,隱藏層——顧名思義——是被籠罩在神秘的面紗中的。
作為最近的參與的項目 Tensor Flow 的一部分,Daniel Smilkov 和 Shan Carter 創造了一個神經網絡游樂場(neural network playground,請在http://playground.tensorflow.org/ 體驗),其目的是通過讓用戶與隱藏層互動和實驗的方式除去這個隱藏層的神秘面紗。
Daniel Smilkov 和Shan Carter 的隱藏層可視化
最近發生了很多關于這個可視化系統的事情,而我最近非常有幸在 OpenVisConf. 大會上聽到 Fernanda Viégas 和 Martin Wattenberg 在他們的主題演講中對此進行了一些講解。(Fernanda 和 Martin 屬于 Tensor Flow 背后的團隊,而 Tensor Flow 則是一個為在真實世界中使用神經網絡的復雜得多的開源工具。)
這個神經網絡游樂場并未使用復雜如面部的數據,而是使用了分散在一片區域中的藍色和橙色的點來「教」機器學習如何尋找和響應模式。用戶可以選擇具有不同復雜度的不同方式的點分布,并且還可以通過增添新的隱藏層來操作該學習系統以及每一層中的新神經元。然后,每次用戶點擊「play(播放)」按鈕,他就能看到背景顏色的梯度向接近藍點和橙點的分布方式變化。隨著模式變得越來越復雜,新增的神經元和層可以幫助機器更成功地完成這一任務。
機器僅使用了一個帶有兩個神經元的隱藏層就輕松處理了這種直接的點分布
解碼這種更復雜的螺旋模式,機器就更辛苦一點
動圖演示(機器之心制圖)
除了神經元層,機器還有其它有意義的特征,比如神經元之間的連接。這些連接以藍線或橙線的形式表示:藍線表示正(positive)——即每一個神經元的輸出與其內容相同;橙線表示負( negative)——即輸出與每一個神經元的值相反。此外,連接線的厚度和不透明度表示的是每一個神經元所作的預測的置信度,這就像我們通過一個學習過程取得進展時我們大腦中連接的強化。
有趣的是,隨著我們在為機器構建神經元上越做越好,我們可能最終能揭秘關于我們自己大腦的工作方式的新信息。對隱藏層的可視化和操作看起來是促進這一進程的絕佳方式,同時還能讓深度學習的概念接觸到更廣泛的受眾。
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
