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