在上一節中我們介紹了深度學習可解釋性的三種方法:1. 隱層分析法,2. 敏感性分析法 3. 代理/替代模型法。在這一節中我們主要介紹第一種方法:隱層分析法。
1. 黑箱真的是黑箱嗎?——深度學習的物質組成視角
通過上一節的介紹我們也了解到,深度學習的黑箱性主要來源於其高度非線性性質,每個神經元都是由上一層的線性組合再加上一個非線性函數的得到,我們無法像理解線性回歸的參數那樣通過非常solid的統計學基礎假設來理解神經網絡中的參數含義及其重要程度、波動範圍。但實際上我們是知道這些參數的具體值以及整個訓練過程的,所以神經網絡模型本身其實並不是一個黑箱,其黑箱性在於我們沒辦法用人類可以理解的方式理解模型的具體含義和行為,而神經網絡的一個非常好的性質在於神經元的分層組合形式,這讓我們可以用物質組成的視角來理解神經網絡的運作方式。比如如下圖所示,人體的組成過程是從分子-細胞-組織-器官-係統-人體:
而通過一些對神經網絡隱層的可視化我們也發現:比如下圖的一個人臉識別的例子,神經網絡在這個過程中先學到了邊角的概念,之後學到了五官,最後學到了整個麵部的特征。
如果我們能夠用一些方法來幫助我們理解這個從低級概念到高級概念的生成過程,那麼就離理解神經網絡的具體結構就近了很多。而這也可以逐漸幫助我們完成一個“祛魅”的過程,將調參的魔法真正變成一項可控、可解釋的過程。
要理解這個概念的生成過程很重要的一點就是要研究隱層的概念表示,在接下來的部分中我將給大家介紹業界關於隱層分析方法的幾個研究工作。
2. 模型學到了哪些概念?
要理解神經網絡中每層都學到了哪些概念一個非常直觀的方法就是通過對隱層運用一些可視化方法來將其轉化成人類可以理解的有實際含義的圖像,這方麵一個非常具有代表性的一個工作就是14年ECCV的一篇經典之作:《Visualizing and Understanding Convolutional Networks》,這篇文章主要利用了反卷積的相關思想實現了特征可視化來幫助我們理解CNN的每一層究竟學到了什麼東西。我們都知道典型的CNN模型的一個完整卷積過程是由卷積-激活-池化(pooling)三個步驟組成的。而如果想把一個CNN的中間層轉化成原始輸入空間呢?我們就需要經過反池化-反激活-反卷積這樣的一個逆過程。整個模型的結構如下圖所示:
機器人招商Disinfection Robot機器人公司機器人應用智能醫療物聯網機器人排名機器人企業機器人政策教育機器人迎賓機器人機器人開發獨角獸消毒機器人品牌消毒機器人合理用藥地圖 |