谷歌推出神經網路可視化庫Lucid,推進模型的可解釋性工作,附GitHub
近日,谷歌在 distill 上發文《The Building Blocks of Interpretability》探討了如何結合特徵可視化和其他可解釋性技術來理解神經網路如何做出決策,同時谷歌還發布了 Lucid(及其 GitHub),一套研究神經網路可解釋性的基礎架構和工具和 colab notebooks,使得藉助 Lucid 再現文中的可視化變得極其簡單。
2015 年,谷歌可視化神經網路理解圖像方式的早期嘗試導致了迷幻圖像(psychedelic images)的產生。不久之後,谷歌開源了 DeepDream 代碼,從而衍生出一種小型藝術流派,產生的作品令人驚嘆。但是谷歌並未放棄 DeepDream 背後的研究思路,並嘗試解決深度學習中最令人激動的問題之一:神經網路的自身運行方式是什麼?
去年,谷歌在線上期刊 Distill 上介紹了這些技術如何展示神經網路中單個神經元的行為,而不是 DeepDream 中給神經網路帶來有趣的部分。這使我們看到網路中神經元如何檢測所有事物(紐扣、布片、建築),及其如何構建成為更複雜的神經網路層。
GoogLeNet 神經元可視化。更高層中的神經元表示更高級的思想。
儘管可視化神經元令人興奮,但是這項研究遺漏了一些重要的東西:這些神經元與神經網路實際行為之間的關係。
今天,谷歌發布《The Building Blocks of Interpretability》,這篇新的 Distill 文章探討了如何結合特徵可視化和其他可解釋性技術來理解神經網路如何決策。這種結合允許我們稍微「站在神經網路內部」,看到神經網路在某一具體時刻如何決策,及其如何影響最終輸出。例如,我們可以看到神經網路如何檢測耷拉的耳朵,以提高其判斷一張圖像是「拉布拉多犬」還是「比格犬」的概率。
谷歌探索了理解神經網路中哪些神經元處於激活狀態的技術。如果我們詢問哪些神經元被激活,通常會得到一些沒用的答案,如「神經元 538 有一點興奮」,而這對專家來說也沒有什麼幫助。谷歌的技術通過可視化每個神經元,使事情變得更加有意義,能夠看到「耷拉的耳朵檢測器被激活」。這可以說是神經網路的 MRI 了。
GIF
谷歌同樣可以縮小圖像,展示如何按照不同層對圖像進行「觀察」。這允許看到網路從檢測簡單的邊連接到細緻的紋理、三維結構,再到高級結構(如耳朵、鼻子、頭和腿)的轉換。
這些見解本身已經非常令人振奮了,但是當把其與神經網路的最終決策聯繫起來時,事情更加讓人激動。我們不僅看到網路檢測出耷拉的耳朵,還看到這一檢測如何提高圖像被標註為拉布拉多犬的概率。
除了論文之外,谷歌還發布了 Lucid,一個建立在 DeepDream 上的神經網路可視化庫。Lucid 是研究神經網路可解釋性的一套基礎架構和工具。具體來說,它提供頂尖的特徵可視化技術實現和靈活的抽象,使探索新的研究方向變得非常簡單。除了更藝術化的 DeepDream 圖像,Lucid 還允許進行上述的特徵可視化。
谷歌還發行了 colab notebooks,它們使得用 Lucid 再現谷歌文章中的可視化變得極其簡單。只要打開 notebook,點擊按鈕運行代碼即可,無需安裝。
在 colab notebooks 中,你可以點擊按鈕運行代碼,並查看下方結果。
GitHub 地址:https://github.com/tensorflow/lucid
這一工作只是觸及用某些可能的介面幫助理解神經網路的表面。期待社區的下一步動作,並為共同致力於加深對人們對神經網路的理解而感到興奮。
※開放物聯協議,這是阿里AI Labs實現音箱百萬銷量後面對的新挑戰
※用數據玩點花樣!如何構建skim-gram模型來訓練和可視化詞向量
TAG:機器之心 |